BUG: unclosed quote updates all records in cluster and deletes field

unclosed quote in update statement does not throw syntax error but updates all records in cluster. Thats dangerous!.
Updated 3 record(s) in 0,003000 sec(s).```

and the field "ip" completely disappeared from the cluster.

full statements:

orientdb> select from cluster:proxies
----+-----+---------+----+------+------------+-------
|@RID |ip       |port|comment     |context
----+-----+---------+----+------+------------+-------
0   |#11:0|<IP_ADDRESS>|8080|test proxy  |null
1   |#11:1|<IP_ADDRESS>|8080|test proxy 2|[3]
2   |#11:2|<IP_ADDRESS>|8080|test proxy 3|[2]
----+-----+---------+----+------+------------+-------
3 item(s) found. Query executed in 0.0020 sec(s).
orientdb> update cluster:proxies set ip="<IP_ADDRESS> where @rid=#11:2;
Updated 3 record(s) in 0,003000 sec(s).
orientdb> select from cluster:proxies
----+-----+----+------+------------+-------
|@RID |port|comment     |context
----+-----+----+------+------------+-------
0   |#11:0|8080|test proxy  |null
1   |#11:1|8080|test proxy 2|[3]
2   |#11:2|8080|test proxy 3|[2]
----+-----+----+------+------------+-------
3 item(s) found. Query executed in 0.0010 sec(s).
orientdb> update cluster:proxies set ip="<IP_ADDRESS>" where @rid=#11:2;
Updated 1 record(s) in 0,002000 sec(s).
orientdb> select from cluster:proxies
----+-----+----+------+------------+-------+---------
|@RID |port|comment     |context|ip
----+-----+----+------+------------+-------+---------
0   |#11:0|8080|test proxy  |null   |null
1   |#11:1|8080|test proxy 2|[3]    |null
2   |#11:2|8080|test proxy 3|[2]    |<IP_ADDRESS>
----+-----+----+------+------------+-------+---------
3 item(s) found. Query executed in 0.0010 sec(s).
This simple mistake of forgetting to put closing quote resulted to data loss.

Sure you can say if i mistype something it can result to data loss.. True. But such obvious case is easy to handle and help to avoid stupid mistakes.

fixed in 2.1 snapshot (develop branch)


Language server didn't start for standalone files

Rust-analyzer has support for standalone files: https://github.com/rust-lang/rust-analyzer/pull/8955, it works in vs-code. There was an issue #61, but it was closed without any info
Error: failed to discover workspace

Apparently this requires extra code on our side that explicitly passes file paths to the server on initialization. Something like https://github.com/SomeoneToIgnore/rust-analyzer/blob/5c0369b1d0c5351672f2a16e9a0d17beee84bcbe/editors/code/src/client.ts#L53-L59
It means that newly opened files would probably not work so it's a bit weird approach...


alert disappear after time

Fixes Issue
Fixes #56

Changes proposed
Hide the Success alert after some seconds.

Check List (Check all the applicable boxes)

[ ] My code follows the code style of this project.
[ ] My change requires changes to the documentation.
[ ] I have updated the documentation accordingly.
[ ] All new and existing tests passed.
[ ] This PR does not contain plagiarized content.
[ ] The title of my pull request is a short description of the requested changes.

Screenshots

Note to reviewers

Summary by CodeRabbit

Refactor

Improved alert display and navigation handling in the Page component using React hooks for state management and side effects.

Added all the removed code

Thank you, please don't marked things as resolved, it makes it difficult to review

Thank you, please don't marked things as resolved, it makes it difficult to review

ok and sorry

Previously, I thought that, its not good to remove all the queries. That's why I only changed alert.


sdxl_train.py Dreambooth - NVML_SUCCESS == r INTERNAL ASSERT FAILED at "../c10/cuda/CUDACachingAllocator.cpp":1154

This is my first time trying to fine tune a stable diffusion model so there's a lot I don't understand yet.
Full stack:
Traceback (most recent call last):
  File "/root/sd-scripts/sdxl_train.py", line 753, in <module>
    train(args)
  File "/root/sd-scripts/sdxl_train.py", line 567, in train
    accelerator.backward(loss)
  File "/usr/local/lib/python3.10/site-packages/accelerate/accelerator.py", line 1983, in backward
    self.scaler.scale(loss).backward(**kwargs)
  File "/usr/local/lib/python3.10/site-packages/torch/_tensor.py", line 492, in backward
    torch.autograd.backward(
  File "/usr/local/lib/python3.10/site-packages/torch/autograd/__init__.py", line 251, in backward
    Variable._execution_engine.run_backward(  # Calls into the C++ engine to run the backward pass
  File "/usr/local/lib/python3.10/site-packages/torch/autograd/function.py", line 288, in apply
    return user_fn(self, *args)
  File "/usr/local/lib/python3.10/site-packages/torch/utils/checkpoint.py", line 271, in backward
    outputs = ctx.run_function(*detached_inputs)
  File "/root/sd-scripts/library/sdxl_original_unet.py", line 643, in custom_forward
    return func(*inputs)
  File "/root/sd-scripts/library/sdxl_original_unet.py", line 633, in forward_body
    hidden_states = self.ff(self.norm3(hidden_states)) + hidden_states
  File "/usr/local/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
    return forward_call(*args, **kwargs)
  File "/root/sd-scripts/library/sdxl_original_unet.py", line 577, in forward
    hidden_states = module(hidden_states)
  File "/usr/local/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
    return forward_call(*args, **kwargs)
  File "/root/sd-scripts/library/sdxl_original_unet.py", line 556, in forward
    return hidden_states * self.gelu(gate)
RuntimeError: NVML_SUCCESS == r INTERNAL ASSERT FAILED at "../c10/cuda/CUDACachingAllocator.cpp":1154, please report a bug to PyTorch.

Running this on modal.com A10G function with this command:
accelerate launch --num_cpu_threads_per_process 1 /root/sd-scripts/sdxl_train.py
--pretrained_model_name_or_path=/vol/sd_xl_base_1.0.safetensors
--dataset_config=/vol/7c4230a4-10ec-4e87-820f-5c7116933590/training_config.toml
--output_dir=/vol/7c4230a4-10ec-4e87-820f-5c7116933590
--output_name=model.safetensors
--save_model_as=safetensors
--learning_rate=4e-7
--optimizer_type=AdaFactor
--xformers
--mixed_precision=fp16
--cache_latents
--cache_text_encoder_outputs
--gradient_checkpointing
--no_half_vae

Docker image setup:
     Image.debian_slim(python_version="3.10")
    .apt_install(["ffmpeg"])
    .pip_install(
        "accelerate==0.23",
        "boto3",
        "opencv-python-headless",
        "pytorch-lightning",
        "tensorboard",
        "safetensors",
        "toml",
        "voluptuous",
        "open-clip-torch",
        "huggingface-hub",
        "datasets~=2.13",
        "diffusers[torch]",
        "einops",
        "ftfy",
        "smart_open",
        "transformers==4.30.2",
        "torch==2.0.1",
        "torchvision",
        "torchaudio",
        "triton",
        "tomli-w",
    )
    .pip_install("xformers", pre=True)

training config is this converted to TOML:
{
        'general': {
            'enable_bucket': True
        },
        'datasets': [
            {
                'resolution': 1024,
                'batch_size': 1,
                'subsets': [
                    {
                        'image_dir': "/vol/d835023a-4ed5-4269-b323-9952930d3786/training_images",
                        'class_tokens': 'shs face',
                        'keep_tokens': 2,
                    },
                ]
            },
        ]
    }

This works when I use a A100 instead of a A10G, but A10G should have enough RAM at 24GB. Is it something to do with CUDA version or a pip library version?

Not gonna pretend I know the details, but seems like you might need to use a different CUDA 11.6 if you are working with the A10G

Hi! Rachel from the Modal team here. Can you try using a this micromamba image instead? If not, there are a couple other tricks we can try.
Image.micromamba()     .micromamba_install(         "cudatoolkit=11.8",         "cudnn=8.1.0",         "cuda-nvcc",         channels=["conda-forge", "nvidia"],     )     .apt_install(...)     .pip_install(...)


Adding a section on static members

Summary
When you have static members, sometimes they mimic module functions. Having capitalization based on implementation details makes for naming inconsistencies when consuming API's in f#.

Thanks @cartermp


Url parser - correct usage for parsing many urls.

Hi,
first i must say, i like your libary very much. Though there is a slight problem with missing documentation. And sometimes it leads to non trivial "research" how to use some stuff correctly. Especially when there is not much examples. One of these is URL parsing feature. This may be my mistake, but i really need an help and maybe example or function documentation could be updated on this matter.
In following examples i will not use result checking, just for making it shorter, in real code i check every return values ofc.
In my usecase i need to use url parser zillion times on various urls.
I thought that i can instantiate one parser and use it to parse all urls and then free it. However it seems that every parse use allocate some memory, that is not free, while destroying url. Short example (without safety checks;also this is only example, in realworld, im parsing many different urls):
void test_url_simple(const std::string &url) {
    auto *parser = lxb_url_parser_create();
    auto status = lxb_url_parser_init(parser, nullptr);

    for (int i = 0; i < TEST_COUNT; i++) {
        lxb_url_parser_clean(parser);
        auto lexbor_url = lxb_url_parse(parser, nullptr, reinterpret_cast<const lxb_char_t *>(url.c_str()), url.length());

        // .... do some stuffs
        (void) lxb_url_destroy(lexbor_url);
    }

    lxb_url_parser_memory_destroy(parser);
    (void) lxb_url_parser_destroy(parser, true);
}

As i read in lexbor source, i need not to destroy url memory, because this would also invalidate parsers allocated memory. However this continuous reuse of parser somehow allocates more and more memory.
The actual finishing lxb_url_parser_memory_destroy(parser); indeed frees all memory, so there is no leak in the end, but the problem is that with millions of parsed urls its allocating more and more memory.
The only solution i came up with is to destroy whole url memory and then create new mraw and pass it to parser:
void test_url_mraw_reset(url) {
    auto *parser = lxb_url_parser_create();
    auto status = lxb_url_parser_init(parser, nullptr);

    for (int i = 0; i < TEST_COUNT; i++) {
        lxb_url_parser_clean(parser);

        auto *lexbor_url = lxb_url_parse(parser, nullptr, reinterpret_cast<const lxb_char_t *>(url.c_str()), url.length());

        // .... do some stuffs
        lxb_url_memory_destroy(lexbor_url);

        auto mraw = lexbor_mraw_create();
        status = lexbor_mraw_init(mraw, 4096);
        lxb_url_mraw_set(parser, mraw);
    }

    lxb_url_parser_memory_destroy(parser);
    (void) lxb_url_parser_destroy(parser, true);
}

When i run both tests with millions of iterations, its visible, that first test will allocate more and more memory until i destroy whole parser, but second will be capped somewhere.
The second solution however seems somehow overkill and actually creating/allocating new mraw is pretty expensive(at least when i measured it).
Probably im missing something? Or is there another way how to reuse the same parser without recreating always mraw?
Ofc i can reset this not every time, but this adds even more complexity.
Id like to know how to use it correctly, and it would be nice, if  there could be some examples added to sources.

Hi @majcl
Thanks to you, we found a memory leak in the lxb_url_destroy() function. I'll try to fix that today.
Parsing urls is not a simple matter, and in order to provide a greater speed of work I assumed the following method of its use:

We have a lot of urls that need to be unparsed, saved, and eventually quickly destroyed.

#include <lexbor/url/url.h>

static lxb_url_parser_t *
create_parser(void);

static void
destroy_parser(lxb_url_parser_t *parser);

void
process(lxb_url_parser_t *parser, lexbor_str_t *data, size_t length);

int
main(int argc, const char *argv[])
{
    lxb_url_t *url;
    lxb_status_t status;
    lxb_url_parser_t *parser;

    parser = create_parser();
    if (parser == NULL) {
        return EXIT_FAILURE;
    }

    /* data, length for example */

    process(parser, data, length);

    destroy_parser(parser);

    return EXIT_SUCCESS;
}

void
process(lxb_url_parser_t *parser, lexbor_str_t *data, size_t length)
{
    lxb_url_t *url;

    for (size_t i = 0; i < length; i++) {
        /* Memory consumption will continually increase. */
        url = lxb_url_parse(parser, NULL, data[i].data, data[i].length);
        /* Do something with url. */

        lxb_url_parser_clean(parser);
    }
}

static lxb_url_parser_t *
create_parser(void)
{
    lxb_status_t status;
    lexbor_mraw_t *mraw;
    lxb_url_parser_t *parser;

    mraw = lexbor_mraw_create();
    status = lexbor_mraw_init(mraw, 4096 * 2);
    if (status != LXB_STATUS_OK) {
        return NULL;
    }

    parser = lxb_url_parser_create();
    status = lxb_url_parser_init(parser, mraw);
    if (status != LXB_STATUS_OK) {
        return NULL;
    }

    return parser;
}

static void
destroy_parser(lxb_url_parser_t *parser)
{
    /* Destroy mraw and all allocated urls. */
    lxb_url_parser_memory_destroy(parser);
    /* Destroy parser. */
    lxb_url_parser_destroy(parser, true);
}

You need to parse a lot of urls, but you don't need to save them. Destroy immediately after use so that memory does not grow.

#include <lexbor/url/url.h>

static lxb_url_parser_t *
create_parser(void);

static void
destroy_parser(lxb_url_parser_t *parser);

static void
process(lxb_url_parser_t *parser, lexbor_str_t *data, size_t length);

static void
process_parts(lxb_url_parser_t *parser, lexbor_str_t *data, size_t length);

int
main(int argc, const char *argv[])
{
    lxb_url_t *url;
    lxb_status_t status;
    lxb_url_parser_t *parser;

    parser = create_parser();
    if (parser == NULL) {
        return EXIT_FAILURE;
    }

    /* data, length for example */

    process(parser, data, length);

    /* or the quickest way */
    /* process_parts(parser, data, length); */

    destroy_parser(parser);

    return EXIT_SUCCESS;
}

static void
process(lxb_url_parser_t *parser, lexbor_str_t *data, size_t length)
{
    lxb_url_t *url;

    for (size_t i = 0; i < length; i++) {
        url = lxb_url_parse(parser, NULL, data[i].data, data[i].length);

        /* Do something with url. */

        /* Release the memory. */
        lxb_url_destroy(url);
        /* or */
        /* lexbor_mraw_clean(parser->mraw); */

        lxb_url_parser_clean(parser);
    }
}

static void
process_parts(lxb_url_parser_t *parser, lexbor_str_t *data, size_t length)
{
    size_t i;
    lxb_url_t *url;

    /* Every 500 urls we clear the memory. */

    i = 0;

    while (i < length) {
        url = lxb_url_parse(parser, NULL, data[i].data, data[i].length);

        /* Do something with url. */

        i += 1;

        if (i % 500 == 0) {
            lexbor_mraw_clean(parser->mraw);
        }

        lxb_url_parser_clean(parser);
    }

    lexbor_mraw_clean(parser->mraw);
}

static lxb_url_parser_t *
create_parser(void)
{
    lxb_status_t status;
    lexbor_mraw_t *mraw;
    lxb_url_parser_t *parser;

    mraw = lexbor_mraw_create();
    status = lexbor_mraw_init(mraw, 4096 * 2);
    if (status != LXB_STATUS_OK) {
        return NULL;
    }

    parser = lxb_url_parser_create();
    status = lxb_url_parser_init(parser, mraw);
    if (status != LXB_STATUS_OK) {
        return NULL;
    }

    return parser;
}

static void
destroy_parser(lxb_url_parser_t *parser)
{
    /* Destroy mraw and all allocated urls. */
    lxb_url_parser_memory_destroy(parser);
    /* Destroy parser. */
    lxb_url_parser_destroy(parser, true);
}

Memory leak in the lxb_url_destroy() function fixed in https://github.com/lexbor/lexbor/commit/795126188f8df25ed1f5fc8ed368bdd5110a8045.

Thank you for an answer!
Can i have more subsequent questions?

So, when you fix lxb_url_destroy(), process() way will not leak, however it will not be as performant, since lxb_url_destroy() is "slow" (relatively :) ).
So lexbor_mraw_clean() "resets" mraw, so that it can be use as new? So after this call i dont need to "free" url in any way?
I know its a big ask, but if you sometime have a time to document whole mraw, stuff, it would be amazing. I was trying to debug it, but i was a little confused, i always thought every alloc will add chunks to memory, etc...
Just nitpicking question, but in your example: status = lexbor_mraw_init(mraw, 4096 * 2); you allocate 4k * 2, but in lexbor sources, default allocation is 4k.. what is "ideal" size? Also lexbor_mraw_init() can take NULL as mraw, and it creates it automatically - it is not preferred?

And once more, THANK YOU for such quick response. the optimized way is very nice!
The example you've showed me here would really deserve to go to examples within source code, or to comments in url.h
Thank you.

@majcl

Depends on what you're comparing it to and what your goals are. If you need to parse a lot of urls, I would use the method as in the process_parts() function. In fact, I have such a flexible API that you can use the code for almost any scenario.
Yes, it is.
I'll try to document it. This is some kind of memory pool implementation.
Take the average url size and multiply it by the expected number of urls that should be in memory and multiply it by two - this is the correct size :). This size indicates how much pre allocation, reserved memory to reserve at once. I'd leave it at 4k * 2 and not worry about it. All the rest is already optimization for a specific task.

The example you've showed me here would really deserve to go to examples within source code, or to comments in url.h

You're right, I think it's to post it in the examples.


Docker issues

Removed "-Xmx" flag from JAVA_OPTS
Change the root path of docker images to "skywalking"
Fixed path typo in docker-compose

Coverage remained the same at 14.298% when pulling 03667e3530784816513841a5ae692591c944e9fa on gao/docker into 73f49ceb9eb37a236b34e0fd4b31f4e0fc6f4ec2 on master.


Intellisense does not appear if there is an error inside lambda

VS 2013, VFPT 3.1.2

the code
let foo (f: unit -> unit) = f()

let foo(): unit =
    foo <| fun _ ->
        ["a"]
        |> List.map (fun x -> x.)

I could reproduce the same problem in Visual Studio 2015 Community Edition. Started to investigate the problem.

I could reproduce the same problem in Visual Studio 2015 Community Edition. Started to investigate the problem.

@mpetruska :+1:

As of now there's a partial fix in PR #848.

Current status (VS 2017 RC):

@liboz do you remember why you did this?


chore(scripts/falco-driver-loader): improve curl resiliency

Fixes #2334
Signed-off-by: Furkan<EMAIL_ADDRESS>
What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind documentation

/kind failing-test

/kind feature

/kind release

If contributing rules or changes to rules, please make sure to also uncomment one of the following line:

/kind rule-update

/kind rule-create

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area build

/area engine

/area rules

/area tests

/area proposals

/area CI

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #2334
Special notes for your reviewer:
I used --connect-timeout 5, --retry 3, --max-time 60 and --retry-max-time 120: curl will retry transient errors up to 3 times, each attempt is capped to 60 second, total time allowed for retries is 120 seconds and maximum time to allow for connecting is 5 seconds. Otherwise, curl could sit for hours waiting for missing packets.
Is there any test script to run some test falco-driver-loader script? I tried to test manually but somehow couldn't run the script:
DRIVERS_REPO="https://download.falco.org/driver" DRIVER_NAME=falco DRIVER_VERSION=foo FALCO_VERSION=0.30.1 ./falco-driver-loader.sh module --download

It seems environments couldn't set correctly: Running falco-driver-loader for: falco version=<EMAIL_ADDRESS>Can you please help me on this if it works?
Does this PR introduce a user-facing change?:

update(scripts/falco-driver-loader): optimize the resiliency of module download script for air-gapped environments

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: Dentrax
Once this PR has been reviewed and has the lgtm label, please assign jasondellaluce for approval by writing /assign @jasondellaluce in a comment. For more information see the Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@developer-guy: changing LGTM is restricted to collaborators

In response to this:

not a maintainer but LGTM

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: Dentrax, developer-guy
Once this PR has been reviewed and has the lgtm label, please assign jasondellaluce for approval by writing /assign @jasondellaluce in a comment. For more information see the Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Hi!

It seems environments couldn't set correctly: Running falco-driver-loader for: falco version=<EMAIL_ADDRESS>Can you please help me on this if it works?

Fact is, this is an automatically configured script by the build process (cmake).
So, to configure it, once you cloned the repo, a mkdir build && cd build && cmake .. is enough; you will find the script inside the build folder (under scripts/ folder).
BTW thank you very much for taking care of this!

/milestone 0.34.0

LGTM label has been added.  Git tree hash: adb63e0bd474371f213d0a190288912ee803acb7

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Dentrax, developer-guy, FedeDP, jasondellaluce
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP,jasondellaluce]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


[spec] ArrayBufferCopyAndDetach: Check for detached ArrayBuffer earlier

We should probably check for IsDetachedBuffer closer to checking for IsSharedArrayBuffer, as this makes more sense chronologically.
This is also more consistent with ArrayBuffer.prototype.slice

This is observable in that the ToIndex can currently throw before the detached check, and with this change would be after. Making a normative change in stage 3 is usually only done with strong implementor feedback, but this also seems minor. @syg, your thoughts?
(if we want to move forward with this, we'd need to bring it to plenary for consensus in July)

Ah sorry, I'm new around the spec and when implementing it just seemed a bit off to me.
I'll leave it up to your decision but I guess this pr should be taken with a pinch of salt. Thanks for your time!

I prefer the current one instead of double checking, so leaving this closed.


revert should work even for finalised blocks

Doesn't seem to want to revert the correct chain.
➜  substrate git:(a456f8f1) ✗ ~/Desktop/substrate.master --name "Not So Fast"
2019-01-09 14:51:03 Substrate Node
2019-01-09 14:51:04   version 0.9.1-5fc4ef6a-x86_64-macos
2019-01-09 14:51:04   by Parity Technologies, 2017, 2018
2019-01-09 14:51:04 Chain specification: Charred Cherry
2019-01-09 14:51:04 Node name: Not So Fast
2019-01-09 14:51:04 Roles: FULL
2019-01-09 14:51:04 Best block: #164712
2019-01-09 14:51:04 Local node address is: /ip4/<IP_ADDRESS>/tcp/30333/p2p/QmZQiepeArd1U1JvuW51jGN96tcLR2FoTREkFXsipsQVqn
2019-01-09 14:51:04 Idle (0 peers), best: #164712 (0x371a…4058)
^C
➜  substrate git:(a456f8f1) ✗ ~/Desktop/substrate.master revert --chain cherry 1
2019-01-09 14:51:07 Reverted 0 blocks. Best: #0 (0x7e22…f3c3)
➜  substrate git:(a456f8f1) ✗ ~/Desktop/substrate.master revert 1
2019-01-09 14:51:12 Reverted 0 blocks. Best: #0 (0x7e22…f3c3)

I'm trying this at latest Polkadot v0.9.22
./polkadot revert --chain kusama --base-path data/polkadot 325000
2022-05-21 08:58:25 Essential task `txpool-background` failed. Shutting down service.
2022-05-21 08:58:25 Essential task `transaction-pool-task-1` failed. Shutting down service.
2022-05-21 08:58:25 Essential task `transaction-pool-task-0` failed. Shutting down service.
2022-05-21 08:58:25 Essential task `basic-block-import-worker` failed. Shutting down service.
2022-05-21 08:58:25 There aren't any non-finalized blocks to revert.

it not revert finalized blocks, does the behavior changed?

Okey  am not an expert on consensus but a the meaning of finalization is irreversible

I'm trying this at latest Polkadot v0.9.22
./polkadot revert --chain kusama --base-path data/polkadot 325000
2022-05-21 08:58:25 Essential task `txpool-background` failed. Shutting down service.
2022-05-21 08:58:25 Essential task `transaction-pool-task-1` failed. Shutting down service.
2022-05-21 08:58:25 Essential task `transaction-pool-task-0` failed. Shutting down service.
2022-05-21 08:58:25 Essential task `basic-block-import-worker` failed. Shutting down service.
2022-05-21 08:58:25 There aren't any non-finalized blocks to revert.

it not revert finalized blocks, does the behavior changed?
UPDATE:
after run revert, the db seems corrupted
2022-05-21 22:18:34 [Relaychain] ⚙  Syncing  0.0 bps, target=#12786636 (11 peers), best: #12778495 (0x2999…9b1f), finalized #12778495 (0x2999…9b1f), ⬇ 44.6kiB/s ⬆ 14.3kiB/s
2022-05-21 22:18:34 [Parachain] 💤 Idle (25 peers), best: #1651718 (0xa80c…b26c), finalized #1648352 (0x228e…848f), ⬇ 8.9kiB/s ⬆ 3.2kiB/s
2022-05-21 22:18:35 [Relaychain] 💔 Error importing block 0xd12a7b1fc2f28b0152797c143d6164ec15ace445047233b64616da9bd92bf181: consensus error: Import failed: Parent block of 0xd12a…f181 has no associated weight
2022-05-21 22:18:37 [Relaychain] 💔 Error importing block 0xd12a7b1fc2f28b0152797c143d6164ec15ace445047233b64616da9bd92bf181: consensus error: Import failed: Parent block of 0xd12a…f181 has no associated weight

It can no longer sync new block

Addressed by https://github.com/paritytech/substrate/pull/11500


List of datasets and alternative sources

[ ] send a list of all datasets and their new sources to Austrade

Done; list available here: https://docs.google.com/document/d/1lOYeisCk6t1qpDkDCl_cX4xfpTZ0_8G7bbde_zLs-mo/edit


Focus is good, but...

I've decide to limit Ziglings to the core language and not attempt coverage of the Standard Library. Perhaps you can change my mind?

I don't necessarily want to change your mind, as it's probably a good idea to keep this repo focused.  But what about starting a new repo for other people to contribute similar ziglings aimed at the standard library.  If everyone who went through your repo contributed one zigling for the standard library, you'd have an extensive collection in short order!

@brandondrew Yeah, I'd be totally down with hosting such a repo. I guess the hard part would be seeding it with some quality content to start with.  Do you feel like there would be an ideal order of learning, or should people just tackle stuff as their fancy strikes them?  For example, we should probably tackle conventions like allocator passing early on...or maybe it doesn't matter. Each exercise could just build on the previous - every contributor would need to make sure they explain any concepts not covered in a previous one.
The biggest challenge will be keeping it up-to-date. That could be entirely community-driven (and the repo could have a big disclaimer). I know that the Standard Library is expected to have lots of breaking changes between now and 1.0.
Thanks for the idea! And, by the way, if you want to create something like that yourself, feel free to copy the infrastructure (such as it is) from Ziglings. Also, I'd be delighted to link to it from Ziglings.

Thanks! I would also love to host it but I don't think I would be the ideal person, given that I just discovered Zig a couple days ago 😄.

@brandondrew Nonsense, what better way to learn. 🤣

@brandondrew Nonsense, what better way to learn. 🤣

hahahha, I guess you have a good point! 😄

Thanks for the idea! And, by the way, if you want to create something like that yourself, feel free to copy the infrastructure (such as it is) from Ziglings. Also, I'd be delighted to link to it from Ziglings.

If someone would be down, they could contact me, i definetly want something to work a bit on, and help (not alone, since i am also not 100% proficient with Zig just yet) would be an amazing learning process as well, i suppose.
I would also be interested in this, given that I also have proposed for the Allocator addition, and i believe this may actually have a better fit in a standard library learning repo

Hi, just discovered this repo, only 1 day with zig ;D
But I want to note something that I've learn when I try to learn new languages.
This is my case, probably you have other needs.
The basic things I need to look for in a library, are things as

strings stuff
inttostr, and all the rest...
some json/xml serializing/loading data
maybe some easy db stuff , as sqlite, useful for logs, admins things, etc
(if supported right now :D  I don't know)
how to open a raw/text file, load data, write back to disk
other file related things, as directories, file searching
I don't usually code things that need to do network things, but as I said, this is are some cases.

Maybe something like this could be an approach to sort/organize the material. Choosing some general/basic user-cases and start there.
It could be great If I can learn enough about zig so I can contribute to that repo.
Regards.

I'm going to go ahead and close this for now. Feel free to re-open if anybody has anything new to add!

Would it be possible to start off with just feature requests? I don't know if it's kosher to have a repo on GitHub with no code but having a tracker to work out what things would need to go in first would be helpful.
I can think of two directions for such suggestions:

Things you always need to know how to do in a new language.
Standard library features that exist that should have questions, especially ones you found tricky to learn.

Maybe 3. could be seeing what Rustlings does for some inspiration.

@hippietrail It is definitely okay to use a GitHub repo to organize a not-yet-extant codebase!  And your numbered topics sound like a great starting point. I've even got a name: "Beyond Ziglings". :-)
If you make one, I'll have the README point to it!


payload not being rendered properly in the debug panel

I am trying to use the node module bignum in a function. In testing all I get in the debug panel is
[msg.payload] : object
 {}
Please see this flow for an example
[{"id":"4559ab0b.848204","type":"function","name":"","func":"var bignum = context.global.bignum;\n\nvar b = bignum('782910138827292261791972728324982')\n    .sub('182373273283402171237474774728373')\n    .div(8);\n\nmsg.payload = b;\n\nconsole.log(\"%j\", msg.payload);\nconsole.log(\"%j\", b);\nconsole.log(b);\nconsole.log(\"%j\", msg);\n\nreturn msg;","outputs":1,"noerr":0,"x":413,"y":186,"z":"6dffe97f.085fd8","wires":[["152e806f.249de8"]]},{"id":"28153711.bd78f","type":"inject","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"x":203,"y":140,"z":"6dffe97f.085fd8","wires":[["4559ab0b.848204"]]},{"id":"62001fd9.03c0c8","type":"debug","name":"","active":true,"console":"false","complete":"false","x":712,"y":191,"z":"6dffe97f.085fd8","wires":[]},{"id":"152e806f.249de8","type":"function","name":"","func":"console.log(\"2\");\nconsole.log(msg.payload);\nreturn msg;","outputs":1,"noerr":0,"x":543,"y":256,"z":"6dffe97f.085fd8","wires":[["62001fd9.03c0c8"]]}]

It looks like I just missed you when I updated the Stackoverflow answer (http://stackoverflow.com/questions/31133144/using-node-module-bignum-in-a-node-red-flow)
This is because bignum doesn't implement toString so Node-RED doesn't know how to render it. The best way to get this fixed would be to actually raise the bug with bignum to add a toString method.

Hi,
We encode anything that reports its type as object to JSON to represent it in the debug panel. Whilst that makes sense for 'normal' objects, in the case of a custom object like bignum, it doesn't make sense.
A bignum object does have a custom toString function that we should be using. So I think we need to check for a custom toString function and use that if it exists, before resorting to JSON.stringify.
Something like:
if (msg.payload.toString !== Object.prototype.toString) {
    // use the object's own toString function
} else {
    // use JSON.stringify
}

Actually, what would be even nicer (and more useful), would be a active widget in the debug log with the ability to inspect objects.
this could be an option on the debug node, i.e. have a check for inspect rather than dump objects.
Also, it would be nice if the debug node could be configured with a max length. Some payloads are long and get truncated before getting to the good part.
Also, a optional Beautify checkbox on debug nodes could prove useful too, IMHO...

@philippe-gregoire thanks for the comments. This issue is for a specific scenario on the debug tab. We have issue #545 to cover a broader set of improvements for the debug node/tab.

Philippe,
there is also the global setting in settings.js that may be useful
// The maximum length, in characters, of any message sent to the debug sidebar tab
debugMaxLength: 1000,

Ok, thanks for the tip.
Would be nice to have some way to change the settings right from the NR UI, though, especially in a bmix setup.
Thanks!


Adding error reference for acr check-health

@ni-reis : Thanks for your contribution! The author(s) have been notified to review your proposed change.

/cc @dlepow

@ni-reis : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@ni-reis : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@ni-reis @sajayantony - Thanks, LGTM
#sign-off

@dlepow: I'm sorry - only the author of this article, @sajayantony, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

@sajayantony - Can you please sign off on this PR to merge (#sign-off), since you are listed as author in the metadata? Many thanks!

LGTM.


05-led-roulette GDB problem.

When I am debugging as the book said and entered "target remote :1337" in the gdb mode, here is the outcome:
Remote debugging using :1337
warning: No executable has been specified and target does not support
determining executable automatically.  Try using the "file" command.
0x00000100 in ?? ()
Have I done something wrong?
Waiting for answers.
Thanks.

My judgment is that your console gdb is not loaded into the device target.
As stated in the book, you should select different devices according to the micro:bit version. In addition, the GDB command of cargo-embed is not very stable, and may not recognize all the commands sent to it by GDB
Is it convenient for you to send the shell command you entered?

Hope I'm not assuming too much, but I may be able to help.
Since I likely came across the same issue using the gdb command from the book, getting exactly the same output.
This happens if GDB doesn't find the executable.
Note that the section in the book is a bit unclear on which directory to switch to in the new shell:

Since cargo-embed is blocking our current shell we can simply open a new one and cd back into our project directory.

I initially assumed the "project directory" would be the same directory I ran cargo-embed in, e.g. 05-led-roulette/target/thumbv7em-none-eabihf/debug/led-roulette.
However for me, the program was compiled into microbit/target/thumbv7em-none-eabihf/debug/led-roulette.
Fixing this is very simple:

In your debugging shell, go to the directory: discovery-master/microbit.
Run the gdb command, e.g. gdb-multiarch target/thumbv7em-none-eabihf/debug/led-roulette
Make sure GDB says something like:
Reading symbols from target/thumbv7em-none-eabihf/debug/led-roulette..., otherwise it doesn't make sense running the next commands.

If you still have issues, you can always just use the absolute path. Cargo embed will tell you where it places the file in the output with "Target: ".

thanks @AlexanderRitter02 it worked!!

Fixed in #520


[ExplicitModule] Change how @testable imports are handled

Always prefer binary module when using @testable imports because the swiftmodule rebuilt from interface cannot be imported as testable.
rdar://123120159

@swift-ci please smoke test

@swift-ci please smoke test linux platform


Clarify Azure properties

When invoking Azure OpenAI with pure LangChain4j, this is the code you need:
AzureOpenAiChatModel model = AzureOpenAiChatModel.builder()
      .apiKey(AZURE_OPENAI_KEY)
      .endpoint(AZURE_OPENAI_ENDPOINT)
      .deploymentName(AZURE_OPENAI_DEPLOYMENT_NAME)
      .temperature(0.9)
      .build();

apiKey, endpoint and deploymentName are mandatory. If you look at the Azure Console, the Deployment Name is random name you can choose and then you deploy a model (gpt-35-turbo)

At the moment, the extension had four mandatory properties instead of three:
quarkus.langchain4j.azure-openai.api-key=
quarkus.langchain4j.azure-openai.endpoint=
quarkus.langchain4j.azure-openai.deployment-id=
quarkus.langchain4j.azure-openai.resource-name=

Could we rename deployment-id with deployment-name so that it fits better with the LangChain4j API (deploymentName) and the Azure naming convention ?
And what is resource-name (I thought it would be the model name, but it does not work) and why it is mandatory ?
cc @edeandrea @geoand

I don't see quarkus.langchain4j.azure-openai.endpoint as a property? That property isn't there in https://github.com/quarkiverse/quarkus-langchain4j/blob/main/openai/azure-openai/runtime/src/main/java/io/quarkiverse/langchain4j/azure/openai/runtime/config/Langchain4jAzureOpenAiConfig.java

base url is computed from resource name & deployment id
https://${quarkus.langchain4j.azure-openai.resource-name}.openai.azure.com/openai/deployments/${quarkus.langchain4j.azure-openai.deployment-id}

we could certainly rename baseUrl to endpoint if that would make things more clear, but at the end of the day having to know the fully-qualified url of where the service is isn't really required. Just knowing the Azure Cognitive service name and the deployment id is enough.
I also agree that deployment name would be better and more consistent.

Maybe the correct logic should be this...
If resource-name and deployment-name (renamed from deployment-id) are set, then automatically construct the endpoint url.
If endpoint (we rename baseUrl to endpoint) is set, then use it, and resource-name and deployment-id are NOT required (because they are never read).
@agoncal / @geoand thoughts?

I'll defer to you guys since you know a lot more about Azure than I do

After some investigation it seems that maybe the nomenclature in Langchain4j is a little misleading.
deploymentName in Langchain4j refers to the model name in the model class and has nothing to do with the name of the model deployed on Azure

Even in the Microsoft docs it refers to the Azure OpenAI deployment as deployment-id. See https://learn.microsoft.com/en-us/azure/ai-services/openai/reference
I have no issues with being more flexible, so this is what I propose:

If endpoint (re-named from base-url) is set, use it. Disregard resource-name and deployment-id.
If resource-name and deployment-id are set, then automatically construct the endpoint url. If either of these 2 properties are missing, and endpoint is missing, then its an error condition

I like that plan

I guess I'll take it upon myself to implement this :D

💪🏼

Maybe this afternoon.

I can wait until next week :)

The beauty of being -7 hours from you :)

So...re-naming something is most definitely a breaking change. Are we ok making a breaking change like that? Or should we deprecate the existing one and introduce a new one?

Well, it's up to all of you, but looking at the rapid pace where everything is evolving and that all the libraries are in 0.x.something... I would just break things.

So...re-naming something is most definitely a breaking change. Are we ok making a breaking change like that? Or should we deprecate the existing one and introduce a new one?

Yeah, it's fine to break

That's what I thought as well, but just wanted to confirm.

Hi :) Just my few cents.
I've started playing with this extension a few days ago, so this is the feedback from the first-time extension user :D
When I was integrating it in my prototype I had some serious thoughts when searching for deployment-id and didn't find it in the Azure. I decided to go with the deployment name, but that was my pure guess, and it just started to work. Good for me. But please believe me, if it didn't run and I would need to investigate, the first thing I would assume is that the deployment name is not an ID and I provided it with a wrong value.

Even in the Microsoft docs it refers to the Azure OpenAI deployment as deployment-id. See https://learn.microsoft.com/en-us/azure/ai-services/openai/reference

They (Microsoft) are very inconclusive in this regard. They sometimes use the "name" phrase and sometimes they use "id".

But I believe that renaming the configuration property from deployment-id to deployment-name would be the best because when you look at it in the Azure OpenAI Studio (this is the place where users configure their deployments) it's called exactly like that.

Thanks for the feedback @sarxos.
@radcortez does @ConfigMapping have any kind of alias support?

Thanks @agoncal.
So if we can't get an automatic alias, we probably want to straight up rename the property @edeandrea

I can do that rename as well as endpoint as part of this pr.

🙏

@radcortez does @ConfigMapping have any kind of alias support?

Not directly, we are considering one in: https://github.com/smallrye/smallrye-config/issues/1077
It is possible to create a relocate / fallback for the property alone (or other properties that require it):
https://smallrye.io/smallrye-config/3.5.2/extensions/relocate/
https://smallrye.io/smallrye-config/3.5.2/extensions/fallback/

Thanks @radcortez


[Storage][DataMovement] Cleanup after recent changes to checkpointer

This change addresses some cleanup items after recent changes to the checkpointer in the past couple of PRs.

Stop cross-compiling checkpointer and Job Plan code into Blobs. This required moving some extension methods around depending on if they were used in Blob or not.
Move a bunch of stuff out of shared folder in base package as it was either public or no longer shared. (I don't think I caught everything but did what I knew I could).
Changes allowed by removing checkpointer from Blobs. Changed some methods back to protected internal and removed some usage of DataTransferStatusInternal.
Remove checkpointer and type ids from DataTransferProperties as they were no longer needed.

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.Storage.DataMovement


ocaml: build defaultentry not bootstrap

Note: this needs to be reviewed by someone who has a clue -- unlike myself.
Building ocaml fails occasionally on aarch64-darwin. Using the defaultentry target to build may rectify this.
https://github.com/NixOS/nixpkgs/issues/350394#issuecomment-2452486668
closes: #350394

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[x] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

this would have to be gated on OCaml version. defaultentry only works as of recently

ok. everything older than 5.2 uses world; bootstrap; world.opt and 5.2 and newer will use defaultentry.
the makefile is generated in generic.nix via builtins.toFile and is a little gross...


Obsolete all the IRazorEngineBuilder APIs.

Now that we've moved to RazorProjectEngineBuilder we should actually obsolete all of the IRazorEngineBuilder APIs

Please refer to breaking change guidelines here: https://github.com/aspnet/Home/wiki/Engineering-guidelines#breaking-changes

@SteveSandersonMS I was going to complete this but I see that you're using the RazorEngine pieces in Blazor. We've replaced RazorEngine with RazorProjectEngine. It's our primary entry point into parsing Razor now.

Blazor is currently building against 2.0 so this won't impact them. If/when we start building against 2.1 we will do the needful as part of that upgrade. So I don't think you need to block on this 😆

@NTaylorMullen / @rynowak - were any of these public APIs before? I'm just wondering if this is really a task or a bug-hancement? (In other words, is it user-observable, or strictly 100% internal cleanup.)

user-observable

There are public APIs

@ajaybhargavb, I'm assigning this to you, as @NTaylorMullen  is going to be out. Please sync up with him regarding what left to be done here.

f8dc5c470234a490d92eda60e1edcdbe29f1b613


mongodb: add avxSupport override

https://www.mongodb.com/docs/v5.0/administration/production-notes/#platform-support-notes
"MongoDB 5.0 requires use of the AVX instruction set, available on select Intel and AMD processors."
While most recent CPUs support this, some lower end CPUs do not which produces an invalid opcode when run. mongodb compiled without the default "sandbridge" experimental-optimization flag runs on such machines. Allow the user to override this at his own risk.
Currently testing with unifi 8.1.113 with mongodb 6 on a Intel N5105.
Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

I've been running this for a few weeks without any obvious issues. Officially upstream doesn't support this, but there will probably be a few users who will run into this upon 24.05's release.


Windows: reexec pkg supported

Signed-off-by: John Howard<EMAIL_ADDRESS>@swernli
This PR is part of the proposal described in issue 10662 to port the docker daemon to Windows. This changes the reexec package to be supported on Windows.

LGTM

LGTM


i18n(fr): Update guides/deploy/* from #9240

Description (required)
Update guides/deploy/* from #9240

Related issues & labels (optional)

Suggested label: i18n

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

File
Note

fr/guides/deploy/aws.mdx
Localization changed, will be marked as complete.

fr/guides/deploy/azion.mdx
Localization changed, will be marked as complete.

fr/guides/deploy/buddy.mdx
Localization changed, will be marked as complete.

fr/guides/deploy/cleavr.mdx
Localization changed, will be marked as complete.

fr/guides/deploy/clever-cloud.mdx
Localization changed, will be marked as complete.

fr/guides/deploy/cloudflare.mdx
Localization changed, will be marked as complete.

fr/guides/deploy/deno.mdx
Localization changed, will be marked as complete.

fr/guides/deploy/edgio.mdx
Localization changed, will be marked as complete.

fr/guides/deploy/fleek.mdx
Localization changed, will be marked as complete.

fr/guides/deploy/flightcontrol.mdx
Localization changed, will be marked as complete.

fr/guides/deploy/flyio.mdx
Localization changed, will be marked as complete.

fr/guides/deploy/github.mdx
Localization changed, will be marked as complete.

fr/guides/deploy/gitlab.mdx
Localization changed, will be marked as complete.

fr/guides/deploy/google-cloud.mdx
Localization changed, will be marked as complete.

fr/guides/deploy/google-firebase.mdx
Localization changed, will be marked as complete.

fr/guides/deploy/heroku.mdx
Localization changed, will be marked as complete.

fr/guides/deploy/index.mdx
Localization changed, will be marked as complete.

fr/guides/deploy/kinsta.mdx
Localization changed, will be marked as complete.

fr/guides/deploy/microsoft-azure.mdx
Localization changed, will be marked as complete.

fr/guides/deploy/netlify.mdx
Localization changed, will be marked as complete.

fr/guides/deploy/render.mdx
Localization changed, will be marked as complete.

fr/guides/deploy/sst.mdx
Localization changed, will be marked as complete.

fr/guides/deploy/stormkit.mdx
Localization changed, will be marked as complete.

fr/guides/deploy/surge.mdx
Localization changed, will be marked as complete.

fr/guides/deploy/vercel.mdx
Localization changed, will be marked as complete.

fr/guides/deploy/zeabur.mdx
Localization changed, will be marked as complete.

fr/guides/deploy/zerops.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


Add new configuration

Add new field to json payload
"Closes: #7"

@Smolevich Thanks for your contribution.


Added Nazareth High

For the record: proof of the domain ownership is here: https://www.lne.nazarethasd.org/faculty-staff
@AlexWitkowski0 Pull request merged. Thank you!


OpenSSLCrypt.php

$encryptedText = openssl_encrypt($plainText, 'aes-128-gcm', $contentEncryptionKey->getRawKeyMaterial(), OPENSSL_RAW_DATA, $nonce->getRawBytes(), $tag);
undefined var $tag

$tag is passed by reference, see openssl_encrypt. It's used so the authentication tag can also be accessed outside of the scope of the method when using AEAD cipher mode as the method already returns the encrypted data and could not also return the tag.
Before passing it to the method, it does not need to be defined. Closing as this is deliberate and not a bug.


Can't compile on Windows 10

🐛 Bug Reports
When reporting a bug, please provide the following information. If this is not a bug report you can just discard this template.
🌍 Environment

Your operating system and version: Windows 10 Pro (v1803)
Your python version: 3.6.5
How did you install python (e.g. apt or pyenv)? Did you use a virtualenv?: Through Windows installer and No.
Your rust version: 1.27 (nightly)

💥 Reproducing
Please provide a minimal working example. This means both the rust code and the python.
Compiling the example on PyO3 main doc page using cargo +nightly build I get a lengthy list of errors complaining about "unresolved external symbols". I'm not sure what environment variable is rquired on windows for PyO3 to finid python36.lib. I've tried adding the path to "PATH" variable.

We'll need some more information to track this down:

Which example did you use? The one with the main function or the one creating an extension module?
Which is the exact rust version your using (The one you get from rustc --version)?
Could you post the errors you got?
What is the content of $PATH?

I'm running into this issue now. I cloned this repo, changed directory to examples\word-count and ran cargo +nightly install --release. Here's a gist with the full output.
cargo +nightly --version: cargo 1.42.0-nightly (9d32b7b01 2020-01-26)
echo %PATH%: C:\Program Files (x86)\Python38-32\Scripts\;C:\Program Files (x86)\Python38-32\;C:\Program Files (x86)\Windows Resource Kits\Tools\;C:\Program Files (x86)\Razer Chroma SDK\bin;C:\Program Files\Razer Chroma SDK\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\WINDOWS\system32\config\systemprofile\AppData\Local\Microsoft\WindowsApps;C:\Program Files (x86)\Skype\Phone\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Git\cmd;C:\Users\Jack\AppData\Local\Programs\Python\Python37-32\Scripts\;C:\Users\Jack\AppData\Local\Programs\Python\Python37-32\;C:\Users\Jack\AppData\Local\Programs\Python\Python36-32\Scripts\;C:\Users\Jack\AppData\Local\Programs\Python\Python36-32\;C:\Users\Jack\.cargo\bin;C:\Users\Jack\AppData\Local\Microsoft\WindowsApps;C:\Program Files (x86)\Minimal ADB and Fastboot;C:\Users\Jack\AppData\Local\Keybase\

@oconnor663 you're running into a different issue - #712 . Follow that thread for instructions how to resolve it.
I plan to add a more friendly error message soon as #752

Woops thank you.


chokidar does not fire events for .swp files.

Describe the bug
chokidar does not fire events for .swp files.
Versions (please complete the following information):

Chokidar version 3.5.3
Node version 16.11.0
OS version: Kubuntu 21.04

To Reproduce:

Create the following .js file:

let chokidar = require('chokidar');
const directory = ".";
const options = {
    depth: 0,
};
let watcher = chokidar.watch(directory, options);
watcher.on('all', handleAll);
function handleAll(event, path) {
    console.log(`${event}: ${path}`);
}
watcher.on("ready", handleReady);
function handleReady() {
    console.log("Ready!");
}

Run that file.

In the same directory, cause a .swp file to be created by opening a file with nano (or, I suspect, vim):

nano test.txt

In the same directory, list all the files that the OS sees:

$ ls -la
total 40
drwxrwxr-x  3 georgehill georgehill  4096 Feb  4 12:31 .
drwxrwxr-x 25 georgehill georgehill  4096 Jan  2 08:28 ..
drwxrwxr-x 16 georgehill georgehill  4096 Feb  4 12:30 node_modules
-rw-rw-r--  1 georgehill georgehill   273 Feb  4 12:30 package.json
-rw-rw-r--  1 georgehill georgehill 10784 Feb  4 12:30 package-lock.json
-rw-rw-r--  1 georgehill georgehill    16 Feb  4 12:21 test.txt
-rw-rw-r--  1 georgehill georgehill  1024 Feb  4 12:31 .test.txt.swp
-rw-rw-r--  1 georgehill georgehill   336 Feb  4 12:22 test-watching-dotfiles.js

Observe the events that chokidar fires:

$ node test-watching-dotfiles.js
addDir: .
add: package-lock.json
add: package.json
add: test-watching-dotfiles.js
add: test.txt
addDir: node_modules
Ready!

Expected behavior
I would expect the file that is running chokidar to show add events for the file ".test.txt.swp", since that file shows up when I use "ls -la".
Additional context
None.

See readme, docs

I have read the README.md file and I don't find anything about .swp files (and I can't find other documentation).
What do I need to know about how chokidar handles .swp files?
Thank you.


v1.0.0 and multi-outputs

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

You saw the solve fail?
Mamba failed to solve:
 - jupytercad_core
 - python >=3.8
 - jupytercad_app
 - jupytercad_lab

with channels:

The reported errors are:
- Encountered problems while solving:
-   - nothing provides requested jupytercad_core
-   - nothing provides requested jupytercad_app
-   - nothing provides requested jupytercad_lab

@dhirschfeld thank you for commenting!
I assumed this could be ignored because those packages are actually in the multi-outputs recipe, I probably assumed wrong? How could I tell it to build those packages first?

I'm not sure - it does seem very weird, especially with the solve error right at the start.
I was just curious, but unfortunately I don't have any great insights to share - it doesn't seem to make much sense!

Are they all python arch packages except jupytercad?
 ['jupytercad_core-1.0.0-py312ha770c72_0.conda', 'jupytercad_lab-1.0.0-py312ha770c72_0.conda', 'jupytercad_app-1.0.0-py312ha770c72_0.conda', 'jupytercad-1.0.0-pyhd8ed1ab_0.conda']

Yeah it's weird!

Are they all python arch packages except jupytercad?

They should all be noarch. Let's see if I force noarch Python for all of them. I assumed noarch: python at the top was enough.

That seemed to work better:
['jupytercad_core-1.0.0-pyhd8ed1ab_0.conda', 'jupytercad_lab-1.0.0-pyhd8ed1ab_0.conda', 'jupytercad_app-1.0.0-pyhd8ed1ab_0.conda', 'jupytercad-1.0.0-pyhd8ed1ab_0.conda']

...but wasn't the root cause. Hopefully the name-shadowing does the job!

Name shadowing was indeed the issue! Thanks for the noarch pointer too.
I can continue debugging this :D

It looks like it's trying to download pip which seems a bit odd:
Successfully installed jupytercad_core-1.0.0
1 location(s) to search for versions of pip:
* https://pypi.org/simple/pip/
Fetching project page and analyzing links: https://pypi.org/simple/pip/
Getting page https://pypi.org/simple/pip/
Found index url https://pypi.org/simple/
Looking up "[https://pypi.org/simple/pip/"](https://pypi.org/simple/pip/%22) in the cache
Request header has "max_age" as 0, cache bypassed
No cache entry available
Starting new HTTPS connection (1): pypi.org:443
[https://pypi.org:443](https://pypi.org/) "GET /simple/pip/ HTTP/1.1" 200 27344
Updating cache with response from "[https://pypi.org/simple/pip/"](https://pypi.org/simple/pip/%22)
etag object cached for 1209600 seconds
Caching due to etag
Fetched page https://pypi.org/simple/pip/ as application/vnd.pypi.simple.v1+json
  Found link https://files.pythonhosted.org/packages/3d/9d/1e313763bdfb6a48977b65829c6ce2a43eaae29ea2f907c8bbef024a7219/pip-0.2.tar.gz (from https://pypi.org/simple/pip/), version: 0.2
  Found link https://files.pythonhosted.org/packages/18/ad/c0fe6cdfe1643a19ef027c7168572dac6283b80a384ddf21b75b921877da/pip-0.2.1.tar.gz
<snip>

You could try also adding --ignore-installed --no-index to the install commands:
https://github.com/conda/conda-build/blob/061063f10c51162707c7c5253daa39b2752fcfcc/conda_build/build.py#L3169-L3189

I can continue debugging this :D

Good luck!

Let's go! Thanks


[shapeMachine.cpp::executeContinuation::905] Error Code 7: Internal Error (Dimensions with name batch_size_beam_width must be equal. Condition '==' violated: 1 != 3. Instruction: CHECK_EQUAL 1 3.)

System Info

GPU Name: NVIDIA GeForce RTX 3080 Ti
System Ram: 65GB

Who can help?
@ncomly-nvidia
@byshiue
Information

[ ] The official example scripts
[X] My own modified scripts

Tasks

[ ] An officially supported task in the examples folder (such as GLUE/SQuAD, ...)
 Please use pynvml>=11.5.0 and cuda driver>=526 to get accurate memory usage.
[TensorRT-LLM] TensorRT-LLM version: 0.11.0.dev2024061100
[06/14/2024-12:27:42] [TRT-LLM] [W] Implicitly setting LLaMAConfig.producer = {'name': 'modelopt', 'version': '0.11.2'}
[06/14/2024-12:27:42] [TRT-LLM] [W] Implicitly setting LLaMAConfig.bias = False
[06/14/2024-12:27:42] [TRT-LLM] [W] Implicitly setting LLaMAConfig.rotary_pct = 1.0
[06/14/2024-12:27:42] [TRT-LLM] [W] Implicitly setting LLaMAConfig.rank = 0
[06/14/2024-12:27:42] [TRT-LLM] [W] Implicitly setting LLaMAConfig.decoder = llama
[06/14/2024-12:27:42] [TRT-LLM] [W] Implicitly setting LLaMAConfig.rmsnorm = True
[06/14/2024-12:27:42] [TRT-LLM] [W] Implicitly setting LLaMAConfig.lm_head_bias = False
[06/14/2024-12:27:42] [TRT-LLM] [W] Implicitly setting LLaMAConfig.mup_width_multiplier = 1.0
[06/14/2024-12:27:42] [TRT-LLM] [I] Set dtype to float16.
[06/14/2024-12:27:42] [TRT-LLM] [I] Set bert_attention_plugin to auto.
[06/14/2024-12:27:42] [TRT-LLM] [I] Set gpt_attention_plugin to auto.
[06/14/2024-12:27:42] [TRT-LLM] [I] Set gemm_plugin to auto.
[06/14/2024-12:27:42] [TRT-LLM] [I] Set gemm_swiglu_plugin to None.
[06/14/2024-12:27:42] [TRT-LLM] [I] Set smooth_quant_gemm_plugin to None.
[06/14/2024-12:27:42] [TRT-LLM] [I] Set identity_plugin to None.
[06/14/2024-12:27:42] [TRT-LLM] [I] Set layernorm_quantization_plugin to None.
[06/14/2024-12:27:42] [TRT-LLM] [I] Set rmsnorm_quantization_plugin to None.
[06/14/2024-12:27:42] [TRT-LLM] [I] Set nccl_plugin to None.
[06/14/2024-12:27:42] [TRT-LLM] [I] Set lookup_plugin to None.
[06/14/2024-12:27:42] [TRT-LLM] [I] Set lora_plugin to auto.
[06/14/2024-12:27:42] [TRT-LLM] [I] Set weight_only_groupwise_quant_matmul_plugin to None.
[06/14/2024-12:27:42] [TRT-LLM] [I] Set weight_only_quant_matmul_plugin to None.
[06/14/2024-12:27:42] [TRT-LLM] [I] Set quantize_per_token_plugin to False.
[06/14/2024-12:27:42] [TRT-LLM] [I] Set quantize_tensor_plugin to False.
[06/14/2024-12:27:42] [TRT-LLM] [I] Set moe_plugin to auto.
[06/14/2024-12:27:42] [TRT-LLM] [I] Set mamba_conv1d_plugin to auto.
[06/14/2024-12:27:42] [TRT-LLM] [I] Set context_fmha to False.
[06/14/2024-12:27:42] [TRT-LLM] [I] Set context_fmha_fp32_acc to False.
[06/14/2024-12:27:42] [TRT-LLM] [I] Set paged_kv_cache to True.
[06/14/2024-12:27:42] [TRT-LLM] [I] Set remove_input_padding to True.
[06/14/2024-12:27:42] [TRT-LLM] [I] Set use_custom_all_reduce to True.
[06/14/2024-12:27:42] [TRT-LLM] [I] Set reduce_fusion to False.
[06/14/2024-12:27:42] [TRT-LLM] [I] Set multi_block_mode to False.
[06/14/2024-12:27:42] [TRT-LLM] [I] Set enable_xqa to True.
[06/14/2024-12:27:42] [TRT-LLM] [I] Set attention_qk_half_accumulation to False.
[06/14/2024-12:27:42] [TRT-LLM] [I] Set tokens_per_block to 64.
[06/14/2024-12:27:42] [TRT-LLM] [I] Set use_paged_context_fmha to False.
[06/14/2024-12:27:42] [TRT-LLM] [I] Set use_fp8_context_fmha to False.
[06/14/2024-12:27:42] [TRT-LLM] [I] Set multiple_profiles to False.
[06/14/2024-12:27:42] [TRT-LLM] [I] Set paged_state to True.
[06/14/2024-12:27:42] [TRT-LLM] [I] Set streamingllm to False.
[06/14/2024-12:27:42] [TRT] [I] Loaded engine size: 7182 MiB
[06/14/2024-12:27:43] [TRT] [I] [MS] Running engine with multi stream info
[06/14/2024-12:27:43] [TRT] [I] [MS] Number of aux streams is 1
[06/14/2024-12:27:43] [TRT] [I] [MS] Number of total worker streams is 2
[06/14/2024-12:27:43] [TRT] [I] [MS] The main stream provided by execute/enqueue calls is the first worker stream
[06/14/2024-12:27:43] [TRT] [I] [MemUsageChange] TensorRT-managed allocation in IExecutionContext creation: CPU +0, GPU +0, now: CPU 0, GPU 7173 (MiB)
[06/14/2024-12:27:43] [TRT] [I] [MS] Running engine with multi stream info
[06/14/2024-12:27:43] [TRT] [I] [MS] Number of aux streams is 1
[06/14/2024-12:27:43] [TRT] [I] [MS] Number of total worker streams is 2
[06/14/2024-12:27:43] [TRT] [I] [MS] The main stream provided by execute/enqueue calls is the first worker stream
[06/14/2024-12:27:43] [TRT] [I] [MemUsageChange] TensorRT-managed allocation in IExecutionContext creation: CPU +0, GPU +0, now: CPU 0, GPU 7173 (MiB)
[06/14/2024-12:27:43] [TRT-LLM] [W] The paged KV cache in Python runtime is experimental. For performance and correctness, please, use C++ runtime.
[06/14/2024-12:27:44] [TRT-LLM] [I] Load engine takes: 4.506639003753662 sec
[06/14/2024-12:27:44] [TRT-LLM] [W] The value of max_attention_window_size should ideally not exceed max_seq_length. Therefore, it has been adjusted to match the value of max_seq_length.
/usr/local/lib/python3.10/dist-packages/torch/nested/init.py:166: UserWarning: The PyTorch API of nested tensors is in prototype stage and will change in the near future. (Triggered internally at /opt/pytorch/pytorch/aten/src/ATen/NestedTensorImpl.cpp:178.)
return _nested.nested_tensor(
[06/14/2024-12:27:45] [TRT] [E] 7: [shapeMachine.cpp::executeContinuation::905] Error Code 7: Internal Error (Dimensions with name batch_size_beam_width must be equal. Condition '==' violated: 1 != 3. Instruction: CHECK_EQUAL 1 3.)
Traceback (most recent call last):
File "/code/tensorrt_llm/examples/llama/../run.py", line 504, in
main(args)
File "/code/tensorrt_llm/examples/llama/../run.py", line 344, in main
outputs = runner.generate(
File "/usr/local/lib/python3.10/dist-packages/tensorrt_llm/runtime/model_runner.py", line 796, in generate
outputs = self.session.decode(
File "/usr/local/lib/python3.10/dist-packages/tensorrt_llm/runtime/generation.py", line 947, in wrapper
ret = func(self, *args, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/tensorrt_llm/runtime/generation.py", line 3463, in decode
return self.decode_regular(
File "/usr/local/lib/python3.10/dist-packages/tensorrt_llm/runtime/generation.py", line 3073, in decode_regular
should_stop, next_step_tensors, tasks, context_lengths, host_context_lengths, attention_mask, context_logits, generation_logits, encoder_input_lengths = self.handle_per_step(
File "/usr/local/lib/python3.10/dist-packages/tensorrt_llm/runtime/generation.py", line 2732, in handle_per_step
raise RuntimeError(f"Executing TRT engine failed step={step}!")
RuntimeError: Executing TRT engine failed step=1!
additional notes

How to configure the batch_size_beam_width parameter?

I reinstalled TensorRT-LLM using the rel branch, and this resolved the issue.


Fix source generation on Windows

buildCommand does not work on Windows seemingly because of an SPM bug. I described the whole thing in https://github.com/apple/swift-package-manager/issues/6962. Using prebuildCommand instead fixes the issue.
After fixing codegen command Windows build fails with You don't have permission error. I suggest it's because generator executable doesn't have write permissions to the temporary directory Foundation implementation uses for atomic writes, since toggling off atomically fixed the issue for me. Not sure what benefit atomic writes can bring in context of code generator, so I disabled it for all platforms.

This should finally make the package buildable on Windows as is.

I used atomically blindly, did not care either way, and I just had to pick a value :-)
Good to know that this causes problems on Windows, I will avoid in the future


Add an automated test for upgrading a Zulip server to current master

Our set of production suite tests is pretty good for overall platform coverage, but we should have a production suite test that installs Zulip with the previous release (or perhaps better would be the oldest supported release?) and then upgrades to the commit being tested.
This should help us avoid introducing bugs that only occur when upgrading from a previous version.
We might be able to optimize this to not be expensive/slow by have the "previous release installation" be pre-built using the tools/ci infrastructure, since that mostly is static with time, and the upgrade script is pretty fast given a release tarball.
Doing this might require some refactoring of tools/ci/production-install to support running the Nagios checks and other verification steps after the upgrade; not sure.
@ligmitz FYI since you did project in a similar code path recently.

@zulipbot claim

@zulipbot working on it.


[HOLD 26590] [$500] Web - After deleting IOUTransaction, clicking on back button in IOUReport does not navigate to chatReport

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Go to any chat report that has IOU
Clicking on IOU action to open IOU report screen
Clicking on any report to open IOU details screen
Clicking on top right button to open menu
Clicking on delete to delete this request, it will redirect to the IOU report screen
Clicking on back button

Expected Result:
It should navigate to the chat report screen
Actual Result:
It does not navigate to the chat report screen. Need to click on back button again to navigate
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[x] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Screencast from 11-09-2023 23_10_00.webm
https://github.com/Expensify/App/assets/93399543/84361aa6-d38d-4d6e-b355-a9b17ee708dc
Expensify/Expensify Issue URL:
Issue reported by: @DylanDylann
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1694448490097079
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01f1d2ea47889edcf4
Upwork Job ID:<PHONE_NUMBER>330889216
Last Price Increase: 2023-09-21

Proposal by: @DylanDylann
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1694448490097079
Proposal
Please re-state the problem that we are trying to solve in this issue.

After deleting IOU Request, clicking on back button in IOUReport does not navigate to chatReport

What is the root cause of that problem?

Currently, after deleting the IOU request, it will do like below:
https://github.com/Expensify/App/blob/00ad8cf0e8ff2012140a4445ff8573a629af8483/src/libs/actions/IOU.js#L1279-L1286
Firstly, Navigation.goBack() will navigate to the previous screen - that is IOUReport.
Then the Navigation.navigate(ROUTES.getReportRoute(iouReport.reportID)) is called, will add the new IOUReportScreen to the stack.
So currently, our stack has 2 IOUReport screen, which leads to the above bug and we need to clicking back buton two times to navigate to chatReport screen

What changes do you think we should make in order to solve the problem?

We need to make sure that there is one IOUReport screen in our stack after deleting IOURequest like below:

 // STEP 7: Navigate the user depending on which page they are on and which resources were deleted
    if (isSingleTransactionView && shouldDeleteTransactionThread && !shouldDeleteIOUReport) {
        // Pop the deleted report screen before navigating. This prevents navigating to the Concierge chat due to the missing report.
        Navigation.goBack();
        Navigation.navigate(ROUTES.getReportRoute(iouReport.reportID), CONST.NAVIGATION.TYPE.FORCED_UP);
        return;
    }

Adding type:  CONST.NAVIGATION.TYPE.FORCED_UP to the Navigation.navigate function to use the REPLACE navigation action rather than PUSH

Result
Screencast from 11-09-2023 23:44:34.webm

Proposal
Please re-state the problem that we are trying to solve in this issue.
After deleting IOUTransaction, clicking on back button in IOUReport does not navigate to chatReport. It navigates to chatReport on second try.
What is the root cause of that problem?
https://github.com/Expensify/App/blob/00ad8cf0e8ff2012140a4445ff8573a629af8483/src/libs/actions/IOU.js#L1280-L1285
After deleting IOUTransaction, the app navigates back to IOUReport and moves to IOUReport again.
So two IOUReports are stacked in navigation history. That's why it navigates to chatReport after clicking Back button twice.
What changes do you think we should make in order to solve the problem?
I think we should only call Navigation.goBack(); for this. It navigates back to IOUReport.
What alternative solutions did you explore? (Optional)
N/A

Proposal
Please re-state the problem that we are trying to solve in this issue.
Clicking back button in IOU report doesn't navigate to chat report after deleting IOU transaction
What is the root cause of that problem?
https://github.com/Expensify/App/blob/95c9e4743f44ca42ece2c6ac56259b911d5feafc/src/libs/actions/IOU.js#L1382-L1394
As you can see, we go back(pop transaction) and again navigate to the iou report. So two iou report would exist in the navigation stack.
We can say the same for the case shouldDeleteIOUReport is true. We pop transaction and go to chat thread. So there would be chat report, iou report, and chat report again in the navigation stack. This causes similar bug
This is the root cause
What changes do you think we should make in order to solve the problem?
We need to consider the case the navigation stack is empty(by refreshing the browser) as well
We can replace the above code(step 7) with the following
    // STEP 7: Navigate the user depending on which page they are on and which resources were deleted
    if (isSingleTransactionView && shouldDeleteTransactionThread) {
        // Pop the deleted report screen before navigating. This prevents navigating to the Concierge chat due to the missing report.
        Navigation.goBack(ROUTES.getReportRoute(iouReport.reportID));
        if (shouldDeleteIOUReport) {
            Navigation.navigate(ROUTES.getReportRoute(iouReport.chatReportID));
        }
    }

This works as expected

Result
https://github.com/Expensify/App/assets/126839717/dba9519c-f162-4268-b369-a0338ff0a51d

What alternative solutions did you explore? (Optional)

Proposal
Please re-state the problem that we are trying to solve in this issue.
Clicking back button in IOU report doesn't navigate to chat report after deleting IOU transaction
What is the root cause of that problem?
So what I noticed is that the route changes when you delete the amount and when clicking on the back button it takes you back to previous route and so on.
What changes do you think we should make in order to solve the problem?
We can control the routing or either clear the stack so that it doesn't take us back to the previous route after deleting the amount.
What alternative solutions did you explore? (Optional)
None

📣 @M-Jawad338211! 📣 Hey, it seems we don’t have your contributor details yet! You'll only have to do this once, and this is how we'll hire you on Upwork. Please follow these steps:

Get the email address used to login to your Expensify account. If you don't already have an Expensify account, create one here. If you have multiple accounts (e.g. one for testing), please use your main account email.
Get the link to your Upwork profile. It's necessary because we only pay via Upwork. You can access it by logging in, and then clicking on your name. It'll look like this. If you don't already have an account, sign up for one here.
Copy the format below and paste it in a comment on this issue. Replace the placeholder text with your actual details.

Format:

Contributor details
Your Expensify account email: <REPLACE EMAIL HERE>
Upwork Profile Link: <REPLACE LINK HERE>

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~0141b79d3870905998

I think, this issue may get resolved with PR #26498

@robertKozik can you confirm ^ 🙇♂

@dylanexpensify Yeah, I think that too. Can we put this issue on hold until #26498 gets merged? After that, we could test this scenario and be sure that it's resolved.

@robertKozik done!

On hold still

same status

holding pattern

same

hold

hold

same

Holing

Cannot reproduce this either, I think we can close this one.
CC. @dylanexpensify


Restoring bookmarks from backup moves all bookmarks to the set default folder

This is a Bug Report
Steps to reproduce the problem

set default folder
create another folder, put some bookmarks in there
back up bookmarks to json file
restore bookmarks from that json file
Bookmarks that were previously in the other folder will now be in the default folder

Expected behavior
Bookmarks should not have changed location or order
Specifications

Version of the add-on: 3.1.0

Firefox edition: Firefox (regular edition)
Firefox version: 85.0 (64-bit)
Firefox language: English

Platform/OS: Windows
Platform/OS Version: 10 (x64)

Additional context
It also puts the bookmarks in a seemingly random order, for instance if you had bookmarks in several folders and then did a backup and restored to that backup, the bookmarks would all be grouped by what folder they were previously in, but the order of those groups would be scrambled. Additionally, though the bookmarks in each individual "group" are not scrambled, they are in reverse order, probably related to #407. See also #404
Folders and folder hierarchy are still there when you restore, but with nothing in them.
My default folder was just the bookmarks toolbar, so I don't know if this bug still occurs if the default folder is set to something else.

I have now spent hours, including deleting my Firefox account, trying to figure out what was causing all 3,000 bookmarks to be pulled out of their folder structure and dumped into my bookmark toolbar, then synced across all eight of my systems.  This is going to take me days to sort out again.
Please fix this, and please disable it until it is safe to use.

A temporary fix is, disable the extension and restore bookmarks from Firefox's most recent bookmarks backup, which it automatically does once a day. Then the extension can be safely re-enabled.

I've been experiencing a similar behavior for the last few weeks, but without using an explicit backup/restore. For me it happens on device sync:

Add bookmark using this add-on into the configured inbox folder
Move the bookmark into a different folder manually
Sync settings
Open a browser on a different device (synced via Firefox account, add-on included as well)
The bookmark is being moved back into the inbox folder

I can just approve all of the mentioned problems.
I also spent too much time to resort it and find the source of the problem.
Please fix it soon!
Thank you.

this also seems to be occurring when Firefox syncs bookmarks

this also seems to be occurring when Firefox syncs bookmarks

I think that's because syncing is essentially just saving bookmarks to, and then importing them from, a cloud backup


Icons won't display properly

Issue Description
Followed the exact instructions in README.md to setup oh-my-nvim,
But all the icons in nvim did not display properly.
Environment

OS : Debian Jessie
NVIM v0.9.1
TERM=tmux-256color

Issue POV

Make sure you install and use nerd font. Refer to https://www.nerdfonts.com/font-downloads.
the icon requires font support.

Make sure you install and use nerd font. Refer to https://www.nerdfonts.com/font-downloads.
the icon requires font support.

Thanks for the reply,
I Have downloaded https://github.com/ryanoasis/nerd-fonts/releases/download/v3.0.2/Hack.zip
And extract the ttf to ~/.local/share/fonts then used fc-cache -f -v to flush caches
But still the same

Hi

Make sure you install and use nerd font. Refer to https://www.nerdfonts.com/font-downloads.
the icon requires font support.

Thanks for the reply,
I Have downloaded https://github.com/ryanoasis/nerd-fonts/releases/download/v3.0.2/Hack.zip
And extract the ttf to ~/.local/share/fonts then used fc-cache -f -v to flush caches
But still the same

Edit:
I found out it works fine in Gnome terminal, it just wont work in tmux


Any possiblity of rest operation?

You know there is a need to deal with pattern of uncertain length, like below
match([ "Hey it's the start" , 114514 , "left is some magic number. the rest are all numbers" , 1 , 42 , 24 , 21 , 42,...])
(when([isString, 114514,isString, rest(isNumber)],(x)=>"Yay"),
otherwise(_=>"I wish it could match but, ")
)
I need it, please
BTW i like this libray :-P

Hey, thanks for the suggestion. Glad to hear you like the library.
I have rest working for arrays locally, but the update will require a major version-bump since I'll have to drop this line:
https://github.com/shuckster/match-iz/blob/4564074e9245cc95557c395cddcf6adb92ce58e1/src/match-iz.mjs#L159

To migrate the matching of exact lengths of arrays, we'll need to change things like this:
let maybeVariableLength = [1, 2, 3];
match(maybeVariableLength)(
  when([1, 2], 2),
  when([1, 2, 3], 3),
  otherwise(false),
);
// 3

To this:
let maybeVariableLength = [1, 2, 3];
match(maybeVariableLength)(
  when(allOf({ length: 2 }, [[1, 2]]), 2),
  when(allOf({ length: 3 }, [[1, 2, 3]]), 3),
  otherwise(false),
);
// 3

To avoid the double [[ ]] syntax, we'd also have to drop the use of .flat in allOf and related helpers.
Perhaps I could update eq to work with arrays?
let maybeVariableLength = [1, 2, 3];
match(maybeVariableLength)(
  when(eq([1, 2]), 2),
  when(eq([1, 2, 3]), 3),
  otherwise(false),
);
// 3

That might be the right thing to do, since it would make arrays consistent with how objects already work.
I'll have a play with it and see what makes sense.

glad to see.
Now I'm trying to use customized needle function to handle, regarding some precision. It works, though not so elegant.

Interesting! Glad you found a workaround.
I think I've found a solution I'm happy with. It will look like this:
// Objects
match(input)(
  when({ one: 1, ...rest(isNumber) }, (haystack, rest) => {
    // ...
  }),
)

// Arrays
match(input)(
  when([1, rest(isNumber)], (haystack, rest) => {
    // ...
  }),
)

You can omit the rest argument to capture everything:
// Objects
match(input)(
  when({ one: 1, ...rest(isNumber) }, (haystack, rest) => {
    // ...
  }),
)

// Arrays
match(input)(
  when([1, rest()], (haystack, rest) => {
    // ...
  }),
)

So for arrays it's rest() and objects ...rest().
I have also tweaked eq as I mentioned above for strict array matching:
match([1, 2, 3])(
  when(eq([1, 2]), 2),
  when(eq([1, 2, 3]), 3),
  otherwise(false),
);
// 3

I'm not sure exactly when the update will land. I need to update some failing tests off the back of the eq update, but there aren't very many.
I'm also not clear on how the TypeScript .d.ts file will need to change, but that needs a bit of attention anyway, and I'm not going to go too deep on it for this release.
Anyway, hopefully v5 will be available in the next few days with rest.

looks nice bro, willing to see the update!

I've pushed rest to the repo, but not published the new version to npm yet. Can you give it a try please? Just download one of the built files and use it directly to test:

https://github.com/shuckster/match-iz/tree/37adc9642eb18ae897a2f13d78a81aeca36e49fe/dist

The CHANGELOG has the info I entered previously:

https://github.com/shuckster/match-iz/blob/37adc9642eb18ae897a2f13d78a81aeca36e49fe/CHANGELOG.md#unreleased

Update: Since eq was updated I needed to apply some fixes.
Here is the updated link to try this out:

https://github.com/shuckster/match-iz/tree/3fe7637eb27481420def7031e379fb7721fb4e6b/dist

I simply ran the test and error occured. Below is console prints.
`Error: AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
9 !== 5
^
| Test case failed in [0]: inTheNext(...)`
Pity I'm occupied now. Maybe after several weeks I could come for more help.

Looks like I was too late with my update! I posted a fix for that just above.
Anyway, thanks for testing. Hopefully by the time you come back this will all be done.

I simply ran the test and error occured. Below is console prints.

9 !== 5

^
| Test case failed in [0]: inTheNext(...)

Pity I'm occupied now. Maybe after several weeks I could come for more help.

It seems not the new feature's vault.
In dates/utc/index.mjs, lines 116-119
The closure here uses "Date.now" as timestamp, and when I ran the test, it's approximately 2024/12/15. A little far away from 2024/12/12 written in test case.

Thanks. Looks like that test needs mocking.
Actually, the whole suite could do with a refactor using a proper test runner. I'll do that before I publish a new version with rest, so let me know if rest works for you in the basic case.

It works fine in my case.
:-)

Good to hear.
I seem to have found a fix for that failing test using the information you gave, but I have no idea why it works:

https://github.com/shuckster/match-iz/blob/27eba9dc5ba9d631ea462e47b598a22003c27efa/dates/utc/index.mjs#L118-L119

At least I've broken the monolithic test-suite up, so it should be a bit easier to debug this kind of thing.

v5 published.


First attempt to open camera/gallery fails

On the first run, when we open camera/photos to send an image:
Expected Behaviour:

Ask for permission
Open Camera or Gallery

Actual Behaviour:

Asks for permission
Nothing happens after that. Need to tap camera again.

Confirmed on Android (API 29).
What OS and version did you see this behavior on?

Android (API 29).

(Aka Android 10, since I had to look that up myself just now :wink: )

It's possible this never worked (it's an easy glitch to gloss over, since it only happens once), and also possible it's a regression in the last couple of years; see #3576 for a change that might have introduced it, on Android.

What OS and version did you see this behavior on?

Os: Android 10
Version: 26.20.143
I'll try to resolve this. :)

I looked into the code and found that Image Picker is being handled by react-native-image-picker library and I think issue is from their side.
The problem is with launchCamera function.
I tried and found that It's not executing our callback function on first try. This is a small glitch but I found we are not getting any alert or callback even if user deny or alhave previously denied permission.
User may deny permission by mistake and then he will be clueless as it seems like nothing happening on tapping camera icon.
None of this happens if we use showImagePicker function instead.
As a workaround, I can think of two solutions:

Use showImagePicker. It combines camera and gallery so we need to hide an icon as well.
Handle permissions by ourselves and call launchCamera only if we have access to it.
Chances are that launchCamera may be made to be used like this only as doc says

Skip the alert dialog and launch the camera directly

Thanks @awasthishubh for that investigation!
The next steps would be:

Let's try to find an issue for this in that library's issue tracker, and link to it from here.
Is this issue still present in the newest version of the library? (If we can find an issue thread, that will help answer this question. If not, then we can answer it by pursuing the kind of investigation @awasthishubh did of the current version.)
If it's fixed, then let's upgrade to fix it.
If it's not fixed, let's file an issue if there isn't one; or if there is one, add any helpful details we've learned that aren't already in that issue thread. Either one of those would be a good contribution to the library.
Then if it's not fixed, we can look for the best way to fix it. It sounds like it may only need a small change in the library; so we might make that fix in the library and send a PR. It potentially might also turn out that the best way is to switch to another library.

The react-native-image-picker library has a new major version, which we plan to upgrade to soon: #5060.
Once we've done that, it'll be good to check if this issue reproduces, and if so then repeat the investigation steps @awasthishubh described at https://github.com/zulip/zulip-mobile/issues/3787#issuecomment-573354061 . Then we can see about getting it fixed, with the approaches described in my last comment above.
One other update is that while reading up for #4284, I learned about one-time permissions (well, I'd been seeing them as a user for a while now, but this caused me to think more closely about them.) When we ask the user for camera permission, if they're on Android 11 they can say "Only this time" instead of simply "Allow" or "Deny". I wonder what the symptom of this issue is in that case -- it seems like it might be that if they choose that option, we won't succeed in showing the camera UI at all.


print progress to csv

summary
this PR adds the ability to write to a csv every time calcprogress.py runs. it prints to a csv called progress.csv
this'll be used for pikmin.dev to consume and display a nice graphic (in the beginning it'll just show the sentence)
please let me know if there are any other columns i should add to this CSV (and if y'all see any potential bugs)
thanks to @HeartPiece44 and @jonathonbrady for helping me with the testing

requesting the changed files have newlines at the end so github stops complaining. otherwise looks fine


How to read the header after decode

To read the 'kid' property?

let decoded = jwtDecode(userToken, {header: true});


Bar Chart - negative values go above

I set the width of my bars.  Some of the bars are shown correctly as negative values going below the 0 line but others, even though they have and display a negative value, show above the 0 line.  If I reduce the width of the bars sometimes they behave correctly.  Any ideas?

(and thank you again for the package, I like the way it is customisable, really good and the only one I could find that does most of what I want to do!)

Do you have rounded corners with 0 radius?

Pleasure that it fits your usage

Do you have rounded corners with 0 radius?

?

Hello, you mean corners on the card like you have in the samples?  I've tried with and without actually and unfortunately it doesn't make a difference to the negative values showing above the line.
    return Card(
      elevation: 0,
      shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(4)),

sorry I was away from my computer all yesterday.

No,
do you set isRounded true, in your BarChartRodData?

I have it set to false but if I do set it to true then the negative values don't look very accurate.

Let it be false, can you please provide me a code to reproduce it?

All it requires is the width to be different for different bars

I need to a reproducible code, please make it, I don't have time to write the reproducible code,
write your scenario and put it here (including the main function), then I can copy-paste and run it, instead of writing them.
Regards!

Implemented support for negative values for the BarChart, in 0.9.0
Check it out:
Sample 5 (Source Code)

Hello! Is there a solution to display negative values with a different color in line chart?


Starts on scroll but not on load

On my site the images are loaded when I scroll but not on load. Can I force trigger Blazy to load visible images on load as well?

Hey @jenstornell
They should out of the box. Do you have a link so I can see?
There is a public function (revalidate) you can call but it shouldn't be needed.

It was probably some wierd image loading delay. A bit strange.
Anyway, I ended up with an own plugin:
https://github.com/jenstornell/img-defer.js
It's not lazy load, but it's loading the images after dom has loaded.


chore(main): release 1.0.5

:robot: I have created a release beep boop
1.0.5 (2024-08-18)
Bug Fixes

cleanup (3a94d83)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v1.0.5
:sunflower:


SmartIR climate 1023 is working for CS-HE9LKE

SmartIR climate 1023 is working for CS-HE9LKE

Thanks for your contribution. I really appreciate it.


Refactor Proto type marshaling

Due to the changes made on #14, the default behavior of the generated GraphQL resolvers is to use the custom MarshalResponse function which makes use of a series of recursive calls to marshal the provided interface into a more generic structure with json_name appropriate keys.
However, It is not ideal to use this because it is one extra thing this package has to deal with and since it is now the default behavior after generation, it leads to a much greater dependency on this custom marshaling.
A more ideal solution would be to of course not introduce an intermediate marshaling step at all, but due to the protobuf compiler not generating the json tag with appropriate json_name from the .proto spec file, it leads to naming conventions of fields not matching and thus not being returned correctly from GraphQL.
The following code change shows a possible solution that simply uses the jsonpb package (that is also being used for MarshalRequest.

Example jsonpb marshaling

Console logging both the above code changes as well as the output of the current custom marshaling shows that they are near identical. The only difference being that in the starwars.proto example the returned id field in the jsonpb functions returns as a string instead of int64. However, this has shown to be an oddity with int64 in general and after it goes through the graphql resolver it is outputted as an integer regardless.
However, after running through the graphql resolver, all enum values are null. The output for these enums is the same after either custom marshaling steps, but after the graphql resolver, the jsonpb version only returns nulls. If this can be overcome, this would be the much preferred solution to this problem as it would result in much less custom code and rely on a more battle hardened solution.

Figured this problem out. After re-reading the docs for the standard encoding/json packages Marshal and Unmarshal libraries, it reminded me that JSON numbers get unmarshaled as float64. The current template.go will generate the enum values as int32(0) which causes the graphql resolver to not equate the values for deciding which enum string to return.
Changing the generated enum values to instead cast as float64(0) does resolve the issue of enums returning from the graphql-gateway as null.
However, after further thought I'm releasing that this shorter, simpler solution may actually be less performant. The reasoning is due to first marshaling the proto message into a bytes.Buffer as encoded JSON. Then decoding the JSON buffer into a Go interface{} that will be returned from the function. This requires both of those steps before it hits the graphql resolver which undoubtedly also does some kind of encoding.
The current custom solution in place, while more complex, and and extra thing to manage for this code base, does lend itself to not having this marshal/unmarshal step. It simply takes a raw interface{} and uses reflection to transform the entire provided object into a new one that uses the protobuf tag to extract the key for each variable in the object.
Before I close this issue, I am going to give this some more thought and potentially try and test some larger datasets to check performance.


📃: Add Tic-Tac-Toe game using JS

:red_circle: Title :  Tic-Tac-Toe
:red_circle: Aim : To add the game
:red_circle: Tech Stack Used : HTML, CSS, JS
Screenshots 📷

N/A

:white_check_mark: To be Mentioned while taking the issue :

Full name :
What is your participant role? (Mention the Open Source Program name. Eg. GSSOC, SSOC, JWOC, etc.)

Happy Contributing 🚀
All the best. Enjoy your open source journey ahead. 😎

No games allowed.


Repo missing file src/data_utils/masking

doc_reader.py imports split_span_masking from non-existent file src/data_utils/masking.
This file is not included in this repo.

Hi~ Thank you for your interest. The split_span_mask function is not used in this repo if you are trying to reproduce our results. Please feel free to comment this line out.