fscache: enable multi-threading to process fscache requests

Add command line option "fscache-threads" to nydusd to support
multi-threading for fscache service. There's one thread to receive
fscache request from cachefile fd, and dispatch READ requests to
multiple working threads through a multi-producer, multi-consumer
channel.
We have observed about 40% performance boost when serving some multi
threading container workloads.
Signed-off-by: Jiang Liu<EMAIL_ADDRESS>

@jiangliu , a new test job has been submitted. Please wait in patience.

@jiangliu , The CI test is completed, please check result:

Test CaseTest Result

merge-target-branch:white_check_mark:SUCCESS

build-docker-image:white_check_mark:SUCCESS

compile-nydus:x:FAIL

Sorry, your test job failed. Please get the details in the link.

@jiangliu , your pull request has been updated. A new test job will be submitted. Please wait in patience.

@jiangliu , the test job has been submitted. Please wait in patience.

@jiangliu , The CI test is completed, please check result:

Test CaseTest Result

merge-target-branch:white_check_mark:SUCCESS

build-docker-image:white_check_mark:SUCCESS

compile-nydus:white_check_mark:SUCCESS

compile-ctr-remote:white_check_mark:SUCCESS

compile-nydus-snapshotter:white_check_mark:SUCCESS

start-nydus-snapshotter-config-containerd:white_check_mark:SUCCESS

run-container-with-nydus-image:white_check_mark:SUCCESS

Congratulations, your test job passed!

LGTM,
I have a test for this, and I can see a performance gain for multithreaded reading scenarios.


Add Capistrano completion

@dunn Really? How come this doesn't? It's just pulling from a Gist.

@bfontaine do you allow pinning formulae to commits rather than tags in this repo?

@dunn Yeah; a lot of formulae in this tap are just pulling scripts from gists. Since this one is a GitHub repo and upstream seems reactive we can ask them for a stable release.

I've pushed the suggested change and requested a release from upstream: https://github.com/bashaus/capistrano-autocomplete/issues/4

Thanks @MasterRoot24!

FYI: Upstream has provided a release and I will update the branch for this PR when I get chance this evening.

Ok, I've updated the formula to install v1.0.0 of @bashaus Cap completion script, as requested.
This should be good to go now!

      ==> Fetching cap-completion from homebrew/completions
==> Downloading https://github.com/bashaus/capistrano-autocomplete/archive/v1.0.0.tar.gz
==> Downloading from https://codeload.github.com/bashaus/capistrano-autocomplete/tar.gz/v1.0.0
Downloaded to: /Library/Caches/Homebrew/cap-completion-1.0.0.tar.gz
SHA256: 66a94420be44d82ff18f366778e05decde3f16ad05d35fd8ec7b51860b102c0c
==> Retrying download
==> Downloading https://github.com/bashaus/capistrano-autocomplete/archive/v1.0.0.tar.gz
==> Downloading from https://codeload.github.com/bashaus/capistrano-autocomplete/tar.gz/v1.0.0
Warning: Formula reports different SHA256: 09fbb136979c01c45b0e6a35152d3152174ed43c07ce08832586680ebbcc418e
Downloaded to: /Library/Caches/Homebrew/cap-completion-1.0.0.tar.gz
SHA256: 66a94420be44d82ff18f366778e05decde3f16ad05d35fd8ec7b51860b102c0c

It seems like you need to update the sha256.

@bfontaine Sorry about that. I checked the SHA before I pushed, but it seems that the local cache was confusing me and giving me the old SHA.
Updated the SHA in the formula and pushed.

brew audit --strict cap-completion.rb doesn't report any errors for me locally, but the @BrewTestBot has reported the build failed. Why is that?
The build log shows:
homebrew/completions/cap-completion:
  * GitHub repository not notable enough (<20 forks, <20 watchers and <50 stars)

That seems a bit harsh.

@MasterRoot24 you can get this locally by using --online:
brew audit --strict --online cap-completion.rb

This requirement is for the core repository; we’re not that selective in that one so if it’s the only audit failure this pull-request is good to merge.

Thank you for your contribution to Homebrew, @MasterRoot24; we appreciate it! 🎉


[BUG] create mod V0.5

According to your testing, does the issue occur with ONLY Immersive Portals mod installed?
No
Forge Version
36.2.39
ImmersivePortals Version
1.4.9-mc1.18.2
Latest Log
none
Crash Report (if applicable)
No response
Steps to Reproduce
step 1 create a train portal with create v0.5
step 2 have both create v0.5 and immersive portals on
step 3 try to make a train portal with both on
What You Expected
a train portal which is seamless and doesn't have the portal block
What Happened Instead
just the normal immersive portal
Additional Details
create trains can go through nether portals and continue in the nether but it doesn't work with immersive portals
Please Read and Confirm The Following

[X] I have confirmed this bug can be replicated without the use of Optifine.
[X] I have confirmed the details provided in this report are concise as possible and does not contained vague information (ie. Versions are properly recorded, answers to questions are clear).
[X] I have confirmed this does not happen on the fabric version (If it does please report to here instead).
[X] I have confirmed I'm not using a hybrid server (Magma, Cauldron) or a different (non official) Forge Server release.
[X] I have confirmed this issue is unique and has not been reported already.

Yeah...
This is going to be difficult. Create (or better let's say Flywheel) is doing some stuff, so the rendering will most likely be bugged for a very long time. About other issues with create: there is a mod for fabric allowing create trains to go through the portals. I'll have a look at it and see what's possible. 😃
I'm going to mark this as a feature request, as this feels more like a feature for me and I currently have some higher priority issues.

Flywheel has a lot of places of single-client-dimension assumption. It's very hard to fix.

ok thx for at least noticing this also keep doing your best


Wondering

Joff or anyone else really, could you tell me how much of the trainer is working for version 1.1.2?

As of 3.8.6, it is working wonderfully for 1.1.2.
Haven't had a chance to update to 3.8.7 yet; so, I can't speak for that version.

Awesome, thanks for letting me know.


Migrate Component documentation from Storybook to the Site

https://github.com/jpmorganchase/salt-ds/issues/1044#tasklist-block-d06f224f-b3fd-42ac-80e1-178877d3c3fc

Moved this to Q3, since we'll be using the first week of that quarter to tackle this

Is the intent to add all of the individual component documentation issues linked in this epic?


Update to use Weston 7

This PR includes necessary changes to support Weston 7.0.

I tested the pull request with list test cases. All has passed.


SDG is broken with AssertionError

Describe the bug

I have updated to the latest HEAD, and now when using data generate, the served model reports an AssertionError. I get the same error on different models.
To Reproduce
Steps to reproduce the behavior:

Serve the model

$ ilab model serve
INFO 2024-07-16 17:11:17,594 instructlab.model.serve:136: Using model '/Users/hargrave/Library/Application Support/instructlab/models/merlinite-7b-lab-Q4_K_M.gguf' with -1 gpu-layers and 4096 max context size.
INFO 2024-07-16 17:11:17,594 instructlab.model.serve:140: Serving model '/Users/hargrave/Library/Application Support/instructlab/models/merlinite-7b-lab-Q4_K_M.gguf' with llama-cpp
INFO 2024-07-16 17:11:27,578 instructlab.model.backends.llama_cpp:242: Replacing chat template:
 {% for message in messages %}
{% if message['role'] == 'user' %}
{{ '<|user|>
' + message['content'] }}
{% elif message['role'] == 'system' %}
{{ '<|system|>
' + message['content'] }}
{% elif message['role'] == 'assistant' %}
{{ '<|assistant|>
' + message['content'] + eos_token }}
{% endif %}
{% if loop.last and add_generation_prompt %}
{{ '<|assistant|>' }}
{% endif %}
{% endfor %}
INFO 2024-07-16 17:11:27,579 instructlab.model.backends.llama_cpp:185: Starting server process, press CTRL+C to shutdown server...
INFO 2024-07-16 17:11:27,579 instructlab.model.backends.llama_cpp:186: After application startup complete see http://<IP_ADDRESS>:8000/docs for API.

ilab data generate

ilab data generate
INFO 2024-07-16 17:07:40,387 numexpr.utils:161: NumExpr defaulting to 16 threads.
INFO 2024-07-16 17:07:40,497 datasets:58: PyTorch version 2.3.1 available.
INFO 2024-07-16 17:07:40,747 instructlab.model.backends.llama_cpp:99: Trying to connect to model server at http://<IP_ADDRESS>:8000/v1
Generating synthetic data using '/Users/hargrave/Library/Application Support/instructlab/models/merlinite-7b-lab-Q4_K_M.gguf' model, taxonomy:'/Users/hargrave/git/instructlab/taxonomy' against http://<IP_ADDRESS>:8000/v1 server
INFO 2024-07-16 17:07:40,927 instructlab.sdg:302: Synthesizing new instructions. If you aren't satisfied with the generated instructions, interrupt training (Ctrl-C) and try adjusting your YAML files. Adding more examples may help.
INFO 2024-07-16 17:07:43,718 instructlab.sdg.llmblock:32: LLM server supports batched inputs: False
INFO 2024-07-16 17:07:43,718 instructlab.sdg.pipeline:41: Running block: gen_skill_freeform
INFO 2024-07-16 17:07:43,718 instructlab.sdg.pipeline:42: Dataset({
    features: ['task_description', 'seed_question', 'seed_response'],
    num_rows: 10
})

See error in model serve window

ERROR 2024-07-16 17:14:09,498 instructlab.model.serve:0: Exception:
ERROR 2024-07-16 17:14:10,481 instructlab.model.serve:0: Traceback (most recent call last):
  File "/opt/homebrew/Caskroom/miniforge/base/envs/instructlab/lib/python3.11/site-packages/llama_cpp/server/errors.py", line 171, in custom_route_handler
    response = await original_route_handler(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniforge/base/envs/instructlab/lib/python3.11/site-packages/fastapi/routing.py", line 278, in app
    raw_response = await run_endpoint_function(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniforge/base/envs/instructlab/lib/python3.11/site-packages/fastapi/routing.py", line 191, in run_endpoint_function
    return await dependant.call(**values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniforge/base/envs/instructlab/lib/python3.11/site-packages/llama_cpp/server/app.py", line 264, in create_completion
    assert len(body.prompt) <= 1
           ^^^^^^^^^^^^^^^^^^^^^
AssertionError

Expected behavior

SDG should complete successfully.
Screenshots

Device Info (please complete the following information):

Hardware Specs: M3 Max, 64GB

$ ilab system info
sys.version: 3.11.9 | packaged by conda-forge | (main, Apr 19 2024, 18:34:54) [Clang 16.0.6 ]
sys.platform: darwin
os.name: posix
platform.release: 23.5.0
platform.machine: arm64
instructlab.version: 0.17.1.dev494
instructlab-dolomite.version: 0.0.1
instructlab-eval.version: 0.0.9
instructlab-quantize.version: 0.1.0
instructlab-schema.version: 0.2.0
instructlab-sdg.version: 0.1.2
instructlab-training.version: <IP_ADDRESS>
torch.version: 2.3.1
torch.backends.cpu.capability: NO AVX
torch.version.cuda: None
torch.version.hip: None
torch.cuda.available: False
torch.backends.cuda.is_built: False
torch.backends.mps.is_built: True
torch.backends.mps.is_available: True
llama_cpp_python.version: 0.2.79
llama_cpp_python.supports_gpu_offload: True

Additional context

I'm seeing the exact same thing with 0.18.1. Any guidance on how to fix this or work around it so I can do some sort of SDG?
$ ilab system info
sys.version: 3.11.9 (main, Apr 19 2024, 16:48:06) [GCC 11.2.0]
sys.platform: linux
os.name: posix
platform.release: <IP_ADDRESS>-microsoft-standard-WSL2
platform.machine: x86_64
platform.python_version: 3.11.9
os-release.ID: ubuntu
os-release.VERSION_ID: 22.04
os-release.PRETTY_NAME: Ubuntu 22.04.4 LTS
instructlab.version: 0.18.1
instructlab-dolomite.version: 0.1.1
instructlab-eval.version: 0.1.1
instructlab-quantize.version: 0.1.0
instructlab-schema.version: 0.4.0
instructlab-sdg.version: 0.2.6
instructlab-training.version: 0.4.2
torch.version: 2.3.1+cu121
torch.backends.cpu.capability: AVX2
torch.version.cuda: 12.1
torch.version.hip: None
torch.cuda.available: True
torch.backends.cuda.is_built: True
torch.backends.mps.is_built: False
torch.backends.mps.is_available: False
torch.cuda.bf16: True
torch.cuda.current.device: 0
torch.cuda.0.name: NVIDIA GeForce RTX 3070
torch.cuda.0.free: 6.9 GB
torch.cuda.0.total: 8.0 GB
torch.cuda.0.capability: 8.6 (see https://developer.nvidia.com/cuda-gpus#compute)
llama_cpp_python.version: 0.2.79
llama_cpp_python.supports_gpu_offload: False

So this appears to be related to the batching check that's done here:
https://github.com/instructlab/sdg/blob/ca30d98bac7922a095bfb661cef1851ffc2df373/src/instructlab/sdg/llmblock.py#L36-L52
def server_supports_batched(client, model_id: str) -> bool:
    supported = getattr(client, "server_supports_batched", None)
    if supported is not None:
        return supported
    try:
        # Make a test call to the server to determine whether it supports
        # multiple input prompts per request and also the n parameter
        response = client.completions.create(
            model=model_id, prompt=["test1", "test2"], max_tokens=1, n=3
        )
        # Number outputs should be 2 * 3 = 6
        supported = len(response.choices) == 6
    except openai.InternalServerError:
        supported = False
    client.server_supports_batched = supported
    logger.info(f"LLM server supports batched inputs: {client.server_supports_batched}")
    return supported

I'm not familiar enough with this to know where/how to set server_supports_batched but if I just override and set supported to false this issue goes away.  Any pointers on where to set server_supports_batched? I've tried setting --batch-size=0 on the call to generate but that didn't do anything. Also tried adding to config.yaml in various places but nothing worked there either.

llamacpp does not support batched requests. Ideally that server_supports_batched function should have returned false and it should have done non-batched generations
cc: @aakankshaduggal @bbrowning @danmcp @markmc

Before we get this far, there is a check over at https://github.com/instructlab/instructlab/blob/b297f85c356609d1024ff63798d02b8493a56f3a/src/instructlab/data/generate.py#L289-L295 that should avoid this issue when running against the local llama.cpp. In fact, on my local machine, when I do ilab model serve followed by ilab data generate I don't get this error. Instead, I see:
INFO 2024-08-19 17:42:50,294 instructlab.model.backends.llama_cpp:104: Trying to connect to model server at http://<IP_ADDRESS>:8000/v1
WARNING 2024-08-19 17:42:50,305 instructlab.data.generate:291: Disabling SDG batching - unsupported with llama.cpp serving
...

So, I think the issue is figuring out why the check to see if we're using llama.cpp is failing on some systems?

So, I think the issue is figuring out why the check to see if we're using llama.cpp is failing on some systems?

I think this is the difference between running serve separate and passing --endpoint-url vs having generate launch lama-cpp.

I think this is the difference between running serve separate and passing --endpoint-url vs having generate launch llama-cpp.

I'm not so sure - I tested locally by running serving separately and it correctly detected llama-cpp instead of vllm, although I am on Linux and not a Mac.
@chrismarth Do you have a log snippet like the one @bjhargrave provided from your llama.cpp/ilab model serve terminal? This issue was originally reported on a 0.17.x dev build but you're reporting it on 0.18.1, so I'm curious to see if it's failing in the exact same way or not.

@danmcp Sorry, I misread your comment - you said passing --endpoint-url but I assumed running llama.cpp separately without passing --endpoint-url - you may be right there. The exact commands used for ilab model serve and ilab data generate would be useful to confirm that theory.

I am running serve separately (I am running in WSL2). Here is my log:
$ ilab model serve
INFO 2024-08-19 23:03:33,606 instructlab.model.serve:145: Using model '/home/racerx/.cache/instructlab/models/merlinite-7b-lab-Q4_K_M.gguf' with -1 gpu-layers and 4096 max context size.
INFO 2024-08-19 23:03:33,606 instructlab.model.serve:149: Serving model '/home/racerx/.cache/instructlab/models/merlinite-7b-lab-Q4_K_M.gguf' with llama-cpp
INFO 2024-08-19 23:03:34,115 instructlab.model.backends.llama_cpp:249: Replacing chat template:
 {% for message in messages %}
{% if message['role'] == 'user' %}
{{ '<|user|>
' + message['content'] }}
{% elif message['role'] == 'system' %}
{{ '<|system|>
' + message['content'] }}
{% elif message['role'] == 'assistant' %}
{{ '<|assistant|>
' + message['content'] + eos_token }}
{% endif %}
{% if loop.last and add_generation_prompt %}
{{ '<|assistant|>' }}
{% endif %}
{% endfor %}
INFO 2024-08-19 23:03:34,118 instructlab.model.backends.llama_cpp:192: Starting server process, press CTRL+C to shutdown server...
INFO 2024-08-19 23:03:34,118 instructlab.model.backends.llama_cpp:193: After application startup complete see http://<IP_ADDRESS>:8000/docs for API.
ERROR 2024-08-19 23:03:40,569 instructlab.model.serve:0: Exception:
ERROR 2024-08-19 23:03:41,373 instructlab.model.serve:0: Traceback (most recent call last):
  File "/opt/miniconda/envs/instructLab/lib/python3.11/site-packages/llama_cpp/server/errors.py", line 171, in custom_route_handler
    response = await original_route_handler(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/miniconda/envs/instructLab/lib/python3.11/site-packages/fastapi/routing.py", line 278, in app
    raw_response = await run_endpoint_function(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/miniconda/envs/instructLab/lib/python3.11/site-packages/fastapi/routing.py", line 191, in run_endpoint_function
    return await dependant.call(**values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/miniconda/envs/instructLab/lib/python3.11/site-packages/llama_cpp/server/app.py", line 264, in create_completion
    assert len(body.prompt) <= 1
           ^^^^^^^^^^^^^^^^^^^^^
AssertionError
Exception:
ERROR 2024-08-19 23:03:43,113 instructlab.model.serve:0: Traceback (most recent call last):
  File "/opt/miniconda/envs/instructLab/lib/python3.11/site-packages/llama_cpp/server/errors.py", line 171, in custom_route_handler
    response = await original_route_handler(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/miniconda/envs/instructLab/lib/python3.11/site-packages/fastapi/routing.py", line 278, in app
    raw_response = await run_endpoint_function(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/miniconda/envs/instructLab/lib/python3.11/site-packages/fastapi/routing.py", line 191, in run_endpoint_function
    return await dependant.call(**values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/miniconda/envs/instructLab/lib/python3.11/site-packages/llama_cpp/server/app.py", line 264, in create_completion
    assert len(body.prompt) <= 1
           ^^^^^^^^^^^^^^^^^^^^^
AssertionError
Exception:

And I am running the gen seperately as follows:
$ ilab data generate --pipeline full --gpus 1

Debugging this a bit more, it does appear that SDG does, in fact, run and complete despite the exceptions logged above.  It just took a lot longer than anticipated (simplifying what I was trying to generate and turning on logging to verify something was actually happening also helped). So, perhaps there is no real issue here - maybe just an unnecessary batch check and potentially confusing log output.

@chrismarth Thanks for the update! Let's leave this open in case there's something we can do to reduce the confusing log output, as I've run across another user that was tripped up by this.

I am wondering if
https://github.com/abetlen/llama-cpp-python/pull/1796/files#diff-e1c54c405558e9e0e504c401e409eade1e55b9c360436eb8d5d1ccc05b20e2e9
will fix the display of the error.

Any updates on this? I'm hitting the same issue and it doesn't seem that my ilab recovers or continues after the error. I'm running ilab model serve in one window and ilab data generate with the --model and --model-family parameters in a separate window

I think I am hitting this same error
(venv) [ec2-user@ip-172-17-199-246 instructlab]$ ilab data generate
INFO 2024-10-28 19:59:39,402 numexpr.utils:161: NumExpr defaulting to 4 threads.
INFO 2024-10-28 19:59:39,662 datasets:59: PyTorch version 2.3.1 available.
INFO 2024-10-28 19:59:40,462 instructlab.model.backends.llama_cpp:100: Trying to connect to model server at http://<IP_ADDRESS>:8000/v1
WARNING 2024-10-28 19:59:44,003 instructlab.data.generate:270: Disabling SDG batching - unsupported with llama.cpp serving
Generating synthetic data using 'full' pipeline, '/home/ec2-user/.cache/instructlab/models/mistral-7b-instruct-v0.2.Q4_K_M.gguf' model, '/home/ec2-user/.local/share/instructlab/taxonomy' taxonomy, against http://<IP_ADDRESS>:48105/v1 server
INFO 2024-10-28 19:59:44,241 instructlab.sdg.generate_data:356: Synthesizing new instructions. If you aren't satisfied with the generated instructions, interrupt training (Ctrl-C) and try adjusting your YAML files. Adding more examples may help.
INFO 2024-10-28 19:59:44,251 instructlab.sdg.pipeline:153: Running pipeline single-threaded
INFO 2024-10-28 19:59:44,252 instructlab.sdg.pipeline:197: Running block: duplicate_document_col
INFO 2024-10-28 19:59:44,252 instructlab.sdg.pipeline:198: Dataset({
    features: ['icl_document', 'document', 'document_outline', 'domain', 'icl_query_1', 'icl_query_2', 'icl_query_3', 'icl_response_1', 'icl_response_2', 'icl_response_3'],
    num_rows: 20
})
Exception:
Traceback (most recent call last):
  File "/home/ec2-user/instructlab/venv/lib64/python3.11/site-packages/llama_cpp/server/errors.py", line 171, in custom_route_handler
    response = await original_route_handler(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ec2-user/instructlab/venv/lib64/python3.11/site-packages/fastapi/routing.py", line 301, in app
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ec2-user/instructlab/venv/lib64/python3.11/site-packages/fastapi/routing.py", line 212, in run_endpoint_function
    return await dependant.call(**values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ec2-user/instructlab/venv/lib64/python3.11/site-packages/llama_cpp/server/app.py", line 264, in create_completion
    assert len(body.prompt) <= 1
           ^^^^^^^^^^^^^^^^^^^^^
AssertionError
Exception:
Traceback (most recent call last):
  File "/home/ec2-user/instructlab/venv/lib64/python3.11/site-packages/llama_cpp/server/errors.py", line 171, in custom_route_handler
    response = await original_route_handler(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ec2-user/instructlab/venv/lib64/python3.11/site-packages/fastapi/routing.py", line 301, in app
    raw_response = await run_endpoint_function(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ec2-user/instructlab/venv/lib64/python3.11/site-packages/fastapi/routing.py", line 212, in run_endpoint_function
    return await dependant.call(**values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ec2-user/instructlab/venv/lib64/python3.11/site-packages/llama_cpp/server/app.py", line 264, in create_completion
    assert len(body.prompt) <= 1
           ^^^^^^^^^^^^^^^^^^^^^
AssertionError
Exception:
Traceback (most recent call last):
  File "/home/ec2-user/instructlab/venv/lib64/python3.11/site-packages/llama_cpp/server/errors.py", line 171, in custom_route_handler
    response = await original_route_handler(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ec2-user/instructlab/venv/lib64/python3.11/site-packages/fastapi/routing.py", line 301, in app
    raw_response = await run_endpoint_function(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ec2-user/instructlab/venv/lib64/python3.11/site-packages/fastapi/routing.py", line 212, in run_endpoint_function
    return await dependant.call(**values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ec2-user/instructlab/venv/lib64/python3.11/site-packages/llama_cpp/server/app.py", line 264, in create_completion
    assert len(body.prompt) <= 1
           ^^^^^^^^^^^^^^^^^^^^^
AssertionError
INFO 2024-10-28 19:59:45,576 instructlab.sdg.llmblock:51: LLM server supports batched inputs: False
INFO 2024-10-28 19:59:45,576 instructlab.sdg.pipeline:197: Running block: gen_spellcheck
INFO 2024-10-28 19:59:45,577 instructlab.sdg.pipeline:198: Dataset({
    features: ['icl_document', 'document', 'document_outline', 'domain', 'icl_query_1', 'icl_query_2', 'icl_query_3', 'icl_response_1', 'icl_response_2', 'icl_response_3', 'base_document'],
    num_rows: 20
})
/home/ec2-user/instructlab/venv/lib64/python3.11/site-packages/llama_cpp/llama.py:1054: RuntimeWarning: Detected duplicate leading "<s>" in prompt, this will likely reduce response quality, consider removing it...
  warnings.warn(

^C

ç^C
Aborted!

Is there any known workaround for this error?
What was the last version that is know to work correctly?

The immediate workaround for this error is to use the vllm backend (ilab model serve --backend vllm) but that's only an option for Linux machines. I've personally experienced this error but my data generation still completed, and there's at least one more user report of data generation finishing despite the error. However, I'm also working on a fix to better identify llama-cpp-python at least in the most common cases so we can hopefully avoid it giving the big assertion errors at all. I hope to have that fix merged within a couple days to the instructlab/sdg repository, and then we'll see how quickly we can get it in a release of SDG and then a version bump in this repo to pull in the fixed version.


Auto-scale runs into weird issues if there is extra vertical space

See https://www.boardgamegeek.com/thread/1578460/how-rotate-text-and-make-it-play-nicely-help-pleas for some background.
The Element height seems to affect the wrapping of words.

Closing out old bugs/issues.


ByteBufferAllocator is not available through HBApplication

Currently there's no way to access the channel's ByteBufferAllocator through the application instance.
It'd be really nice to have a property on HBAppication, to return the shared allocator.
Thanks,
Tib.

Looking at the code you can access it via HBApplication.server.channel?.allocator. The allocator is only setup once the server is running.

Oh, thanks, I was not aware of this, but would be so nice to get a shorthand, this way we could simply reach the shared allocator just like the eventLoopGroup property, in other words: app.allocator.
(maybe introduce an application context, just like the request context to get back the ELG, EL & allocator?)
HBApplicationContext {

var eventLoop: EventLoop
    /// returns the elg
    var eventLoopGroup: EventLoopGroup

    /// returns the next event loop using the group?
    var eventLoop: EventLoop

    /// returns the shared allocator (or creates a new one if the server is not running)?
    var allocator: ByteBufferAllocator
}

app.context: HBApplicationContext

I'm just sharing some ideas... but what do you think? 🤔

Providing a shorthand for the byte buffer allocator would be possible but it would have to return an optional value which is not ideal.
The request context is there to support multiple sources of requests. It is needed by hummingbird-lambda. So I don't think an application context makes sense here.

@tib I don't think this makes sense in the end. The allocator is only available once running code from a Channel. The application code can be run from anywhere


Request for Esp32 compatibility.

Could you please explore the possibility of making your project compatible with ESP32?
Note that, Deauther doesn't work directly on ESP32, but you can refer to the following projects for potential solutions:

Esp32-wifi-penetration-tool
ESP32Marauder

Thank you for considering this enhancement.

Will look into it ;)

@The-Robin-Hood I also have a suggestion,
Could you please consider adding support for hccapx files alongside pcap/cap handshake files?

Would review it if you can make a pull request  @MDRafi08642


Make number of "Search" configurable by user

Each Search button have an index in lower right corner , and each search result is independently.
label:new function

In this the search inside an editor, e.g. one document or inside the workspace?

Closing because this issue is without actionable information.


localization to late origin

decreased protein localization to chromatin at late replication origin
normal protein localization to chromatin at late replication origin
cf. fypo:3950,4962; so:2141
PMID:24656819

decreased protein localization to chromatin at late replication origin FYPO:0005937
normal protein localization to chromatin at late replication origin FYPO:0005938
edit file: 62fd042ca65ac53d543a679a4d42bdedce18b28c
release: 3f1297b6351d47660373cd73597ad3470c37d008


FEATURE - Add Rate App Button

Describe the feature you want the app to have that it currently doesn't
Add a new button in the SettingsView that says "Rate the App" when tapped it opens the popup in the App Store to rate the app
Add this under the "Report a bug" row
Describe alternatives you've considered

N/A, there's an API to do this, more info here https://www.avanderlee.com/swift/skstorereviewcontroller-app-ratings/

Additional context
N/A

Hey @mikaelacaron would like to work on this could you please assign this to me!!


feat(Order/Interval/Set/Monotone): strictMono_of_lt_succ

Prove strictMono_of_lt_succ and strictAnti_of_pred_lt for archimedean orders.

Since your initial PR on club sets, I made #16041 which adds the function toNat : Ordinal → ℕ. I just added omegaIso to that PR, defined in terms of toNat instead.

Is strictMonoOn_Iic_of_lt_succ exactly what you're looking for? I understand what's wrong with it. Or do you want a version for Iio instead? Should be easy to prove from there.

Is strictMonoOn_Iic_of_lt_succ not exactly what you're looking for? I understand what's wrong with it. Or do you want a version for Iio instead? Should be easy to prove from there.

If #15950 will give us IsSuccArchimedean (Iio ω) then we just need strictMono_of_lt_succ with the preorder assumption replaced with a linear order, right? It's trivial from strictMonoOn_Iic_of_lt_succ but doesn't seem to exist. I can just prove it here and then strictMono_of_succ_lt_omega follows from IsSuccArchimedean (Iio ω).

Thanks!
maintainer merge

Thanks!
bors merge


Remove support for POSIXLY_CORRECT

The environment variable is meant for C programs that were originally written to use the POSIX getopt function, but are now linked with GNU's version, which adds additional features, such as argument permutation. That is, the program's argument interpretation might be changed just by using a different shared library, without recompiling anything. Sometimes, that could break a program that not only expected all arguments to be included after option flags on the command line, but assigned different meaning to options that appeared after other arguments. The environment variable is there to "undo" that new injected behavior.
Here in this project, though, there's no backward compatibility to maintain. A program can be written to assume that arguments get permuted, but unless it explicitly unsets the environment variable, it might end up with POSIX behavior anyway. We should remove support for that. (Still support both modes of operation, just not controlled by environment variable.) Include an explanation in the documentation.

Besides the philosophical argument for why this module shouldn't deal with environment variables, there's a practical matter, which is that the unit tests don't currently set and unset environment variables correctly. They set them, but don't unset them afterward. This was because of an apparently mistaken notion that each test runs in a separate process. If that were true, then it wouldn't be necessary to undo changes to the environment because it would get reset in each new process anyway.
Instead, it seems that the tests are divvied up among a set number of processes, and then run sequentially within their respective processes. With that model, changes made to the environment in one test can bleed through to a later test.


fix: Defend against  non-KCL files

When the client renames a file, if the file suffix is changed, some requests will also be sent. However, it is considered not a valid kcl file during compilation, which will cause lsp panic.

1. Does this PR affect any open issues?(Y/N) and add issue references (e.g. "fix #123", "re #123".):

[ ] N
[x] Y fix #795

2. What is the scope of this PR (e.g. component or file name):
tools/lsp

3. Provide a description of the PR(e.g. more details, effects, motivations or doc link):
When the client renames a file, if the file suffix is changed, some requests will also be sent. However, it is considered not a valid kcl file during compilation, which will cause lsp panic.

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[x] Other

4. Are there any breaking changes?(Y/N) and describe the breaking changes(e.g. more details, motivations or doc link):

[x] N
[ ] Y

5. Are there test cases for these changes?(Y/N) select and add more details, references or doc links:

[x] Unit test
[ ] Integration test
[ ] Benchmark (add benchmark stats below)
[ ] Manual test (add detailed scripts or steps below)
[ ] Other

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 87.82%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2300

Relevant Lines:
2619

💛  - Coveralls


check and fix possible dependencies security vulnerability

I got mail from GitHub to check our lib dependencies:
https://github.com/konfetti-app/konfetti-backend/network/dependencies

fixed in c4882fd7d1cb2f45460bf6232cf0aaa4c3e441ce


add guards just to fix vcs issue if this file is loaded multiple times

Hi
Adding a ifdef guard to the package.

Why would the package get compiled multiple times? This sounds like an issue with your compile setup.

File containing top level constructs (e.g. package, module, interface), which generally have the .sv extension, should be compiled standalone and not be included in other files.


Doesnt do more then one run

So i try to use Saddam.py and i have pinject. I can benchmark and in my unbound i see that the request. This all works fine. But now i have a problem that when i do an "Attack" i only see all the "domains" requested one time.
This makes that is doesn/t push any "real" load. Anyone here who got it working with his own unbound server?

Can you send screenshots of what you are talking about. So I can better understand

I solved the problem. I Did a TCP-Dump on both sides. It seems the local network that is used was  AlIP-SPOOFING-Protected. So only 1 packet got to the DNS-Server. Al the others got dropped at the switch.
Thank u for reacting.
At this moment i got it running on 8 nodes and are able to push some real load. This script works :dancer:


Custom Pod Annotations

I see in the docs (https://docs.authzed.com/spicedb/operator) that there is an option for extraPodLabels, but I couldn't find if passing custom annotations was supported via the operator. In our stack, we use custom annotations to be able to do things such as collect prometheus metrics for specific pods, etc. Given that the metrics are exposed on the SpiceDB cluster pods at :9090/metrics, we would like to be able to configure the pod to have a few custom annotations that would direct our collector to pick up the OpenMetrics output.
For extra context, we are using Datadog and this is how their Kubernetes collector works. Would it be possible to allow passing through custom annotations to the pods if its not already a capability?
Thanks!

There's a tracking issue for this and similar problems here: https://github.com/authzed/spicedb-operator/issues/61
There are a few options that work today that are outlined in that issue, but there's currently not a simple extraPodAnnotations field. That would be a relatively small change, and in line with what extraPodLabels are for (we use them for integration with the prometheus operator, which uses labels to know what to scrape).

@ecordell yea, I would like to avoid modifying the CRDs manually - we are pretty heavy on GitOps and want to avoid any manual touching of K8s CRDs (we rely pretty heavily on Helm). I think we can wait for the extraPodAnnotations which should be enough of a customization for our needs - do you think that is something that could be prioritized?
Thanks for the fast reply btw!

@ecordell I went ahead and created a PR (https://github.com/authzed/spicedb-operator/pull/107) to get the annotations working. Mind taking a look when you have time?

Hi all, what is the status of this issue?
We also need this functionality to disable istio-proxy sidecar on authzed migrator pod 🙏

@mstrYoda The feature is in main but not yet in a release, that should come very soon

Fixed by https://github.com/authzed/spicedb-operator/pull/107


Vite Plugin: emitted files don't show up in the build output

Describe the bug
I am currently writing a plugin that is supposed to generate the manifest and images needed for a pwa, and the user can bring their own service worker, in order to be as customisable as possible. The icons are resized into a bunch of different variants and then emitted using emitFiles. Prior function doesn't give any errors and returns an resolveId that resolves to a valid URL. Everything seems to work, but in the end, nothing turns up in the build output, and when requesting _app/manifest.webmanifest or any of the images the server responds with the 404 page.
I have also tested this using a plain vue3 app, and it works flawlessly.
Reproduction
Since I don't have the plugin published, you will have to also clone https://github.com/leonhma/vite-plugin-webmanifest.git and use yarn link. Here is the original relevant plugin code:
import { Plugin } from 'vite'
import { PluginOptions } from './types.js'
import { readFileSync, existsSync } from 'fs'
import { generateIcon } from './utils.js';
import sharp from 'sharp'

export default (options: PluginOptions): Plugin => {
  const purposes: ('any' | 'maskable')[] = ['maskable', 'any']
  const formats: ('webp' | 'png')[] = ['webp', 'png']

  let manifestUrl: string = ''

  return {
    name: 'vite-plugin-webmanifest',
    async buildStart() {
      const imageSrc = options.image?.src || './icon.png'

      const icon = sharp(readFileSync(imageSrc))

      let icons: object[] = []

      for (const resolution of (options.image?.resolutions || [180, 192, 270, 512])) {
        for (const purpose of purposes) {
          for (const format of formats) {
            icons.push({
              // <-------- snip -------->
            })
          }
        }
      }

      const manifest = {
        // <-------- snip --------->
        ...options.manifest || {},
        icons
      };

      manifestUrl = this.getFileName(
        this.emitFile({
          type: 'asset',
          fileName: 'manifest.webmanifest',
          source: Buffer.from(JSON.stringify(manifest))
        })
      )
    },
    async transformIndexHtml() {
      return [
        {
          tag: 'link',
          attrs: {
            rel: 'manifest',
            href: manifestUrl
          },
          injectTo: 'head'
        }
      ]
    }
  }
}

Here's a URL to the repo for reproduction: https://github.com/leonhma/repro-sveltekit-vite-emitfiles.git
Logs
leonhardmasche@penguin:~/imani$ yarn build && yarn start
yarn run v1.22.19
$ svelte-kit build
vite v2.9.12 building for production...
✓ 17 modules transformed.
  Client build completed. Wrote 6 chunks and 2 assets
  Building server
.svelte-kit/output/client/_app/immutable/manifest.json                               1.45 KiB
.svelte-kit/output/client/_app/immutable/pages/__layout.svelte-3c05abc6.js           1.07 KiB / gzip: 0.65 KiB
.svelte-kit/output/client/_app/immutable/error.svelte-9fc3965b.js                    1.56 KiB / gzip: 0.75 KiB
.svelte-kit/output/client/_app/immutable/pages/dashboard/index.svelte-3d01a1bf.js    0.84 KiB / gzip: 0.52 KiB
.svelte-kit/output/client/_app/immutable/pages/index.svelte-b547958d.js              0.68 KiB / gzip: 0.45 KiB
.svelte-kit/output/client/_app/immutable/chunks/index-69850b26.js                    6.92 KiB / gzip: 2.82 KiB
.svelte-kit/output/client/_app/immutable/assets/pages/__layout.svelte-2ccc8da3.css   0.13 KiB / gzip: 0.13 KiB
.svelte-kit/output/client/_app/immutable/start-61eed66d.js                           23.26 KiB / gzip: 8.79 KiB
vite v2.9.12 building SSR bundle for production...
✓ 15 modules transformed.
Generated an empty chunk: "hooks"
.svelte-kit/output/server/manifest.json                             1.48 KiB
.svelte-kit/output/server/index.js                                  73.21 KiB
.svelte-kit/output/server/entries/endpoints/index.ts.js             0.31 KiB
.svelte-kit/output/server/entries/pages/__layout.svelte.js          0.70 KiB
.svelte-kit/output/server/entries/fallbacks/error.svelte.js         0.72 KiB
.svelte-kit/output/server/entries/pages/dashboard/index.svelte.js   0.42 KiB
.svelte-kit/output/server/entries/pages/index.svelte.js             0.38 KiB
.svelte-kit/output/server/chunks/index-5f038599.js                  2.31 KiB
.svelte-kit/output/server/chunks/hooks-1c45ba0b.js                  0.00 KiB
  Prerendering
(node:6457) ExperimentalWarning: buffer.Blob is an experimental feature. This feature could change at any time
(Use `node --trace-warnings ...` to show where the warning was created)

Run npm run preview to preview your production build locally.

> Using @sveltejs/adapter-cloudflare
  ✔ done
Done in 5.47s.
yarn run v1.22.19

System Info
System:
    OS: Linux 5.10 Debian GNU/Linux 11 (bullseye) 11 (bullseye)
    CPU: (8) arm64 unknown
    Memory: 3.09 GB / 3.10 GB
    Container: Yes
    Shell: 5.1.4 - /bin/bash
  Binaries:
    Node: 16.14.2 - ~/.config/versions/node/v16.14.2/bin/node
    Yarn: 1.22.19 - ~/.yarn/bin/yarn
    npm: 8.5.0 - ~/.config/versions/node/v16.14.2/bin/npm
  npmPackages:
    @sveltejs/adapter-cloudflare: next => 1.0.0-next.24
    @sveltejs/kit: next => 1.0.0-next.357
    svelte: ^3.46.0 => 3.48.0

Severity
blocking an upgrade
Additional Information
No response

@userquin has been working to make https://github.com/antfu/vite-plugin-pwa work with SvelteKit and has it pretty well figured out. There are two known issues: https://github.com/sveltejs/kit/issues/5308 and https://github.com/sveltejs/kit/issues/5306. I have a PR out to fix the first one already
Is there a reason you don't just contribute to vite-plugin-pwa instead of writing your own plugin?

Thank you. I'll take a look at vite-plugin-pwa.
Originally, when looking for how to make my project into a pwa, if found this too, but as far as I understand, this generates a service worker for you. I want to have a bit more control over the service worker, so my idea was to handle the manifest and the icons and apple splash screens via the plugin, and use sveltekit's sw.ts as the service worker.

I just took some time to look at antfu's repo, and the strategy they are using, is just copying the service worker and manifest into the build output. IMO it would be much better to make use of vite's/rollup's emitFile in order to somewhat reliably inject those files (for different adapters).
As I see it, vite plugins at the moment are kinda broken, which #5036 seeks to fix.

@leonhma we've changed it since the sveltekit plugin was setting the webmanifest file into the immutable folder, originally we had the output pointing to the .sveltekit folder, check the hostory

@leonhma I'm digging into why UnoCSS doesn't scan app.html in a SvelteKit project but it does just fine in a vite-svelte project. I've made minimal repros of the transformIndexHtml vite plugin hook working in a vite-svelte project and not working in SvelteKit project.
Somehow vite-pwa is using this hook in SvelteKit though so it looks like there is some way to get a Vite plugin to recognize app.html as the file for transformIndexHtml. I suspect this is happening somewhere in the
@vite-pwa/sveltekit config.ts file but haven't had a chance to fully understand that code.
Is there a maintainer who can help explain how to point Vite's transformIndexHtml to process SvelteKit's app.html file?

@leonhma I have the exact same issue with you, and trying this.emitFile in buildStart now seems to work


Event Propagation in onPointerDrag

Hi there,
I'm encountering an issue with event propagation while using the onPointerDrag event in a RFeature component. I'm following an example from the documentation, but it seems that the example code includes a method called disablePropagation() on the RFeatureUIEvent object, which doesn't actually exist in the library. Consequently, I'm unable to prevent event propagation as intended.
onPointerDrag={useCallback((e) => {     const coords = e.map.getCoordinateFromPixel(e.pixel);     e.target.setGeometry(new Point(coords));     // This method doesn't exist on RFeatureUIEvent     e.disablePropagation();     return false; }, [])}
I've tried using stopPropagation() which is available in RFeatureUIEvent  and also preventDefault() as an alternative, but it doesn't fully address the issue. Could you please provide guidance on how to properly prevent event propagation in this context? I'd greatly appreciate any help or suggestions you can offer.
Thanks in advance!

Do you really need it or do I have to waste my time only because someone has been checking my projects and looking for eventual bugs to try to convince me something?

Don't try to make it look like you didn't notice that the line was underlined red.
As far as I am concerned, everyone in the GIS sector seems to be a retarded criminal, I don't see any other explanation of how we got here.

Thank you for your quick response and for providing a resolution to the problem. Your efforts are appreciated. Given that the fix has been implemented successfully, I wanted to kindly ask if you could consider publishing this update in the library.
Cheers


Build error on aarch64 with Buildroot

Hello,
First of all, I just want to say thank you for making this fantastic tool available for everyone!
I am working on integrating libpostal into my project, which compiles on QNX aarch64, by using Buildroot system. I am running into a build error that I couldn't workaround. It is a assembler error, looks like this:

/tmp/ccUKP72R.s: Assembler messages:
/tmp/ccUKP72R.s:251509: Error: conditional branch out of range
/tmp/ccUKP72R.s:251516: Error: conditional branch out of range
/tmp/ccUKP72R.s:251520: Error: conditional branch out of range
/tmp/ccUKP72R.s:531638: Error: conditional branch out of range
/tmp/ccUKP72R.s:531662: Error: conditional branch out of range
....
Makefile:1474: recipe for target 'libscanner_la-scanner.lo' failed
make[4]: *** [libscanner_la-scanner.lo] Error 1
make[4]: Leaving directory '/home/dev/repo/buildroot/output/build/libpostal-1.0.0/src'
Makefile:451: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory '/home/dev/repo/buildroot/output/build/libpostal-1.0.0'
Makefile:360: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/home/dev/repo/buildroot/output/build/libpostal-1.0.0'
package/pkg-generic.mk:230: recipe for target '/home/dev/repo/buildroot/output/build/libpostal-1.0.0/.stamp_built' failed
make[1]: *** [/home/dev/repo/buildroot/output/build/libpostal-1.0.0/.stamp_built] Error 2
Makefile:79: recipe for target '_all' failed
make: *** [_all] Error 2

By looking at the error, is seems like the compiler is having issue with the huge "jump" statements in the auto generated scanner.c file. I have tried few things to fix it, like using 0 optimiztion, disable-sse2, etc, but had no luck. Is anyone else having this issue? Any suggestion to workaround this? Any help is appropriated.
FYI, I have tried the latest v1.1 alpha, and other old versions, the problem persisted.

Not super familiar with that architecture, but there was a contribution a while back to get scanner.c to compile on ARM. See https://github.com/openvenues/libpostal/pull/152.
Might try something like --with-cflags-scanner-extra="-maarch64" during configure and compile from there.

Thanks @albarrentine. the build flag is not supported by QNX7's ntoaarch64-gcc:

ntoaarch64-gcc: error: unrecognized command line option '-maarch64'

I will investigate if the similar flag is available on QNX7. In the meanwhile, would you know what re2c arguments were used when generating the scanner file? I want to see if I can workaround this by tweaking the file.
Thanks!

The version of re2c used is generated as a comment at the top of the scanner.c file. The lexer directive in src/Makefile.am contains the command for building scanner.c:
lexer: scanner.re
    re2c -F -s -b -8 -o scanner.c scanner.re

Since the file is generated, I would not recommend tweaking it directly, as it may affect tokenization, and thus the parser results.

Thanks for pointing out the lexer directive. I am planning to tweak the options of the re2c command, see I can generate a scanner.c that can workaround the error.

@mrhyzhou  Were you able to resolve the issue for qnx platform?

@roadrunner20 It worked for me after added this flag"-Wc,-mmarch64"to with-cflags-scanner-extra. -Wc flag passes build options to gcc through qcc. Hope this hopes.


patching multiple properties on a jsonb field only sets last property

Entity       .query()       .patch({"data:field1":1, "data:field2":2})       .where("id", 5)       .returning("*")
Only one of the fields on the jsonb is updated.
I would expect it to have translated to
set data = data || jsonb '{field1:1, field2:2}'
Is there anyway to tell objection.js to use concat?

How would that work with deeply nested fields like:
Entity.query() .patch({"data:field1.field2.field3":1, "data:field2":2}) .where("id", 5) .returning("*")

We could probaly implement this using nested jsonb_set calls:
jsonb_set(jsonb_set("data", '{field1}, ?, true), '{field2}', ?, true))

@thejuan This is now fixed in 1.1.1. Just run npm install.


Spelling mistake

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
There is a mistake in the spelling of sowing in Sowing Techniques. It is written sowning but it should be sowing.

Please assign this to me and please label it as gssoc and the level
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

Assign me this under gssoc'24

I want to work on this project. Please assign it to me.

Issue is resolved.


[FEAT] tag group in tag system

In wecom, tag can be classified into groups. This is a wired design and I don't like this either. However a tag system with group can easily compatible with the system without it (with a default group id or and name), but it won't work the opposite way. So the ideal solution is to add tag group in wechaty.
In my idea, methods to be implemented includes:

const tagMixin = <MixinBase extends CacheMixin & typeof PuppetSkeleton>(mixinBase: MixinBase) => {

  abstract class TagMixin extends mixinBase {

    constructor (...args: any[]) {
      super(...args)
      log.verbose('PuppetTagMixin', 'constructor()')
    }

    /**
     *
     * Tag - in groups
     *  tagContactTagAdd - add a tag for a Contact. Tag must exist.
     *  tagContactTagRemove - remove a tag from a Contact
     *  tagGroupAdd - add a tag group from IM
     *  tagGroupDelete - delete a tag group from IM
     *  tagTagAdd - add a tag in a group from IM
     *  tagTagDelete - delete a tag in a group from IM
     *  tagGroupList - get a list of tag groups
     *  tagGroupTagList - get a list of tags in a group
     *  tagTagList - get a list of all tags
     *  tagContactTagList - get tags from a specific Contact
     *  tagTagContactList - get contact list of a specific tag
     *
     */

    abstract tagContactTagAdd(tagIds: string[], contactIds: string[]): Promise<void>
    abstract tagContactTagRemove(tagIds: string[], contactIds: string[]): Promise<void>
    abstract tagContactTagList(contactId: string): Promise<string[]>

    abstract tagGroupAdd(groupName: string): Promise<string | void>
    abstract tagGroupDelete(groupId: string): Promise<void>
    abstract tagGroupList(): Promise<string[]>
    abstract tagGroupTagList(groupId?: string): Promise<string[]>
    abstract tagGroupPayloadPuppet(groupId: string): Promise<TagGroupPayload>

    abstract tagTagAdd(tagName: string, groupId?: string): Promise<string | void>
    abstract tagTagDelete(tagId: string): Promise<void>
    abstract tagTagList(): Promise<string[]>
    abstract tagTagContactList(tagId: string): Promise<string[]>
    abstract tagPayloadPuppet(tagId: string): Promise<TagPayload>

    tagPayloadCache (id: string): undefined | TagPayload {
      const cachedPayload = this.cache.tag.get(id)
      if (!cachedPayload) {
        log.silly('PuppetTagMixin', 'tagPayloadCache(%s) cache MISS', id)
      }

      return cachedPayload
    }

    async tagPayload (id: string): Promise<TagPayload> {
      const cachedPayload = this.tagPayloadCache(id)
      if (cachedPayload) {
        return cachedPayload
      }

      const payload = await this.tagPayloadPuppet(id)
      this.cache.tag.set(id, payload)
      log.silly('PuppetTagMixin', 'tagPayload(%s) cache SET', id)
      return payload
    }

    tagGroupPayloadCache (id: string): undefined | TagGroupPayload {

      const cachedPayload = this.cache.tagGroup.get(id)
      if (!cachedPayload) {
        log.silly('PuppetTagMixin', 'tagGroupPayloadCache(%s) cache MISS', id)
      }

      return cachedPayload
    }

    async tagGroupPayload (id: string): Promise<TagGroupPayload> {
      const cachedPayload = this.tagGroupPayloadCache(id)
      if (cachedPayload) {
        return cachedPayload
      }

      const payload = await this.tagGroupPayloadPuppet(id)
      this.cache.tagGroup.set(id, payload)
      log.silly('PuppetTagMixin', 'tagGroupPayload(%s) cache SET', id)
      return payload
    }

    async tagPayloadDirty (
      id: string,
    ): Promise<void> {
      log.verbose('PuppetTagMixin', 'tagPayloadDirty(%s)', id)
      await this.__dirtyPayloadAwait(
        DirtyType.Tag,
        id,
      )
    }

    async tagGroupPayloadDirty (
      id: string,
    ): Promise<void> {
      log.verbose('PuppetTagMixin', 'tagGroupPayloadDirty(%s)', id)
      await this.__dirtyPayloadAwait(
        DirtyType.TagGroup,
        id,
      )
    }

  }

  return TagMixin
}

After discussion in Wechaty Community Meeting (brief here)
We agree to add a tag group system, but we haven't come to conclusion on how to implement it.
Personally I vote on add a new tag group class, like what we did in @juzi/wechaty.


Author repo count stale

It seems like the http://isaacs.iriscouch.com/ call is returning stale data these days. I wonder if there is a new way to get this count?

Looks like you should be calling https://skimdb.npmjs.com/ instead these days, as that fixes the issue.


License

Add a license to the research-graph repository.

Uh, which one do we want? MIT maybe?

Uh, which one do we want? MIT maybe?

Or maybe Apache 2.0?

MIT is a bit more permissive and because this is more a "do all good" research project, I personally favor MIT over Apache :D

Then let's do MIT :-D


installation script doesn't stop when requirement check failed

Log:

The environment checker failed and output an error message: "Failed: please blah blah", but the installation script continues with "setup k8s cluster".
The code is in:
https://github.com/microsoft/pai/blame/pai-0.18.y/contrib/kubespray/quick-start-kubespray.sh#L51

https://github.com/microsoft/pai/pull/4537/files


Added public method for verification of API keys.

Any progress with this PR for merge? :+1: for merge to me

sorry for late merge @shakaran @ufik


Self hosting SST Console

Hello,
I just discovered this project and I'm pretty excited to give it a try with a project of mine!
The SST Console seems like a great admin tool to get out of the box, similar to Django's admin dashboard. The dev loop seems pretty dependent on having that console available, but it's hosted on console.sst.dev rather than something I own/control. Since it's just an SPA, I'm wondering if it's possible to host the SST console ourselves somehow? There's not any docs about how that might be done.
I realize that asking about self hosting the console of a serverless, and therefore vendor-dependent, framework might be a little silly, but I am curious.
If this is something the maintainers would like to provide I'd be happy to contribute to code changes or new docs to support it!

As of today self hosting should be pretty easy. If you go into the console directory and do pnpm dev it'll run locally and should just work - it's how we test it.


WIP: modified docs to adhere to schema_2nd PR

For Jira #2557.
See related GitHub issues:

fixes  #250
fixes #311
fixes #314

Tagging @rkratky, for your awareness.

@jc-berger LGTM language-wise

@maysunfaisal, thanks for the review. Please let me know if you think it's ready for the LGTM label. Doc review thought so!


First steps to making this work with vanilla node

WIP

is this so we can use tsc?

No @n3op2 this removes bun completely and is primarily to show that this is completely possible. When we remove bun we need to bring in a whole set of other dependencies including:

node
npm
mocha
chai
tsc
tsimp
sinon

That said it means we aren't switching runtime which has benefits from a maintainability PoV.


Gateway: Clear the balances state when network switches.

Issue Type

[x] bug report
[ ] feature request

Current Behavior

Currently the balances of token is not getting reset on changing the network on gateway.
Expected Behavior

On switch the network token balances & tokens should be reset and loaded again.
Steps to Reproduce

Suggested Fix

Issues has been fixed in PR https://github.com/bobanetwork/gateway/pull/27


--ignoreCache=true doesn't work for pygments

It appears that calling hugo server -w --buildDrafts --ignoreCache=true doesn't actually ignore the cache when it comes to styling via pygments. Perhaps I'm misunderstanding how that argument is supposed to work, but I was editing a custom pygment style and couldn't seem to get it to take. Turns out it was due to the caching feature. Deleting the hugo cache dir gave me back the changes.
I would expect --ignoreCache=true to also refresh pygments. Apologies if I'm missing how this is supposed to work.

I would expect --ignoreCache=true to also refresh pygments. Apologies if I'm missing how this is supposed to work.

No, that makes perfectly sense, but I notice that that flag isn't used for Pygments. It should.

Also re. the description of the flag:
"Ignores the cache directory for reading but still writes to it"

Ignore that ... ignore is ignore both for write and read.


'Improper alphabetic constant' under unicode-math and hyperref

When creating a \newcommand using the unicode-math (2017/08/02 v0.8f) and hyperref packages, LuaLaTeX or XeLaTeX fail when parsing the command:
\documentclass{article}
\usepackage{unicode-math}
\newcommand{\euro}{€}

\usepackage[unicode=true]{hyperref}

\begin{document}

\hypertarget{section}{
\section{2\euro{}}\label{section}
}

\end{document}

Error:
! Improper alphabetic constant.
<to be read again>
\euro
l.11 }

This came up via https://github.com/jgm/pandoc/issues/3801. It works if one writes € directly instead of \euro, but Pandoc wasn't doing that in the past for compatibility with pdfLaTeX.
Oddly, one can avoid the problem under LuaLaTeX but not XeLaTeX by using the bookmark package instead of hyperref.

Yuck. I'm not sure what I can do here. I could just take the euro sign out of unicode-math, but it sounds like people may be relying on it.
At the moment the machinery that defines \euro is pretty deep but it's not set in concrete — I've had thoughts to change it around for quite some time now.
The way to fix this particular problem is just to write
\AtBeginDocument{\renewcommand{\euro}{€}}

instead — is that enough to overcome the problem for the time being?

Thanks for the suggestion! We solved the problem by switching to writing the Unicode euro symbol directly and using the textcomp package to allow compilation with pdfLaTeX, but the alternate approach is good to know about in case it comes up again.

(Sorry for the slow reply, by the way!)

Not at all! Thanks for looking at it!


feat: add C implementation for math/base/special/spence

Resolves #894.
Description

What is the purpose of this pull request?

This pull request:

adds C implementation for math/base/special/spence.

Related Issues

Does this pull request have any related issues?

This pull request:

resolves a part of #649
fixes #894

Questions

Any questions for reviewers of this pull request?

No.
Other

Any other information relevant to this pull request? This may include screenshots, references, and/or implementation notes.

No.
Checklist

Please ensure the following tasks are completed before submitting this pull request.

[x] Read, understood, and followed the contributing guidelines.

@stdlib-js/reviewers

While implementing this, a bit higher tolerance was required in the tests. I checked the implementation with that of cephes, but it was the same.

This PR also supersedes https://github.com/stdlib-js/stdlib/pull/968. Thus, once this PR is merged, the other PR should be closed.


Mining pool Idcray lost funds after updating

From their announcement on homepage (http://xvg-mg.idcray.com/) dated yesterday, they claim to have lost 2.6M xvg from "wrong blockchain and wallet bug".
From the screen shot of mining pool wallet config, version is <IP_ADDRESS>-1c418be-beta.  1c418be is the last commit to master.  One or more transactions were made with no change address, so instead of 620xvg sent from a 1M of unspent outputs with 999.4k returned to a change address, the miner of the next block was awarded the balance as a transaction fee.

that's a lot of coins. I wonder why they don't force users to mine with their address. pools that hold balances are just time bombs


Access "valid until"

If metadata is cached in a local database, it's convenient to have the validity date of the data so it can be updated when necessary.
Currently ruby-saml offers no public method to access the validUntil attribute.
I could put up a PR to add that functionality. Is that okay?

Sure.


Custom actions

Fix for Bug 1699598: [Smart assist documentation] : Is the code for actions ’send KB’ and ‘Open KB’ included in the sample- if not can we do so?

Uploaded Sample Custom actions for send and open KB search

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: Har1pr1ya sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Data Refresh

Is there documentation on how to refresh the data?  I see it in the cache, but it appears to be a few years old.

The cache is only used when an Internet connection isn't available. There is a rake task rake cache:update for updating the cache, but that won't solve the problem, since it uses the same data source as when an Internet connection is available: Freebase.
Freebase is kind of like Wikipedia for data (it was bought by Google in 2010). Anyone can submit updates to data that is inaccurate or outdated. Here is a link to the Freebase importer tool for MLB roster data: http://www.freebase.com/importer/list/baseball/baseball_roster_position
If you update the data in Freebase, that update will be reflected in the MLB gem.
Unfortunately, the data in Freebase is not as well maintained today as when I first wrote this library in 2009.
If you have any suggestions for an alternative free, queryable source of MLB data, I'd be happy to rewrite the gem to use that instead.


hrnet34_unet64

I cannot find definition of model "hrnet34_unet64". So I made it as follows in unet.py:
def hrnet34_unet64(input_channels=3, num_classes=1, dropout=0.0, pretrained=True):
    encoder = E.HRNetV2Encoder34(pretrained=pretrained, layers=[0, 1, 2, 3, 4])
    if input_channels != 3:
        encoder.change_input_channels(input_channels)

    return UnetSegmentationModel(encoder, num_classes=num_classes, unet_channels=[64, 128, 256, 512], dropout=dropout)``

I also tried "hrnet18_unet32" and "hrnet34_unet32", and none of them works correctly.

``RuntimeError: Sizes of tensors must match except in dimension 2. Got 128 and 256 (The offending index is 0)```

Could you please let me know what is wrong? Thanks!

I think my question is how hrnet is used as an encoder and connected with an unet decoder, and how those layers correspond to stages in hrnet. Thanks!


Weekly PR

@borisspektor @refaelos, it's ready to merge.
With @vedi's fixes for safe calls, which already was in vedi/dev branch.


Some tiles missing when camera is moving

Some tiles in Cesium World Terrain are missing when the camera is moving. As soon as camera motion is stopped, the tiles appear.
https://github.com/CesiumGS/cesium-omniverse/assets/1040194/6b3f2f5b-f308-4e0c-8c70-29b4791f34de

Duplicate of https://github.com/CesiumGS/cesium-omniverse/issues/255. This will be fixed in Kit 105 without any changes on our end.


Focus style on image links

Describe the bug
I haven't tested this extensively, but I had an img inside a link and there was no focus style when tabbing to the link. We should include that case here in the link styles and see what needs to be adjusted.

Essentially a dupe of https://github.com/cfpb/design-system/issues/427


in HTML other Font and in rendered Screenshot other

Hi,
I have in HTML as font-family: " Helvetica Neue",Helvetica,Arial,sans-serif " , but rendered Font-Family ist not the same, also Text in Screenshot is a bit blurry. IMG hier to compare both:
This is very important for me and thanks in advance.
P.S. Language is German and I have the latest Version of html2canvas.

Remove the  Helvetica Neue from the font-family and try it.  html2canvas gets tripped around the double quotes around "Helvetica Neue"

I can reproduce this on 0.5.0b4. What's more, the fonts seems to work properly on version 0.4.x.
My font-family: "Ubuntu", "Helvetica Neue", "Helvetica", "Arial", "Heiti SC", "WenQuanYi Micro Hei", "Microsoft YaHei", "Droid Sans Fallback", sans-serif

@svanskivar Was this a custom font-face? I'm experiencing issues with font-faces on safari.

Should be fixed with https://github.com/niklasvh/html2canvas/commit/77d258f1d8eeccf7e38235463a293b512c1ca3d0


Doesn't show values from scoreboard when using tellraw with other text

When using tellraw command:

/tellraw @a [{"score":{"name":"test","objective":"test"}},{"text":" some text"}]
Should be: 10 some text
Real: some text

Using the same command without additional text:

/tellraw @a [{"score":{"name":"test","objective":"test"}}]
Should be: 10
Real: 10

Same command on vanilla:


Includes/libcpp does not expose std::vector::emplace_back(...)

See http://en.cppreference.com/w/cpp/container/vector/emplace_back

Requires #1611 to do properly


[icu] Fix osx release only builds

We don't necessarily build "debug", in case it's not built, avoid looping over this config in https://github.com/microsoft/vcpkg/pull/34539/files#diff-ea2b03d0dcb43b39cfac7b4f96e0ba52a5e4f15c1df6986850e0d52d56229430R94

Compile test pass with following triplets:
x64-osx

I think I'm missing some context. Can you explain what these changes do?

If we only build -rel but do not build -dbg, we currently get a build failure, as this port tries to access (inexistant) files of the -dbg build in the abovementioned loop.


Read API is not returning the latest resource

Moving discussion of https://github.com/ewoutkramer/fhir-net-api/issues/764 here

Ken -
In your previous comment you mentioned that,"my impression is that you are posting a Bundle with Patient, Document, DiagnosticReport effectively using the Transaction operation on the API?"
Do you have an example API call to post the bundle as transaction? I don't think that I used Transactions on my end.

Yes, would like to know how you interact with the API. Some examples of your code when you create a Patient, DiagnosticReport etc would be helpful.
Also post the version number of Spark you are using.

@santoshjami I have contacted you over at chat.fhir.org sharing some scripts that could help us further investigate the issue.


feat: :sparkles: Added wrappid-app version details

Added wrappid-app version in the footer of the page.
#17

Pull Request into main branch from issue branch not allowed.


[QUERY] KeyVault libraries - data cryptography

Library name and version
Microsoft.Azure.KeyVault.* 4.x.x
Query/Question
Hi all!
Do KeyVault libraries (Microsoft.Azure.KeyVault.* or Azure.Security.KeyVault.*) support data cryptography? When my application gets or sets keys (and values), inside library, are data stored in memory with cryptography or clear text?
Scenario: I am evaluating best practices to keep secrets secure to avoid leaks in Kubernetes Pods. My application runs on AKS.
Thanks.
Environment
.NET Core 3.1 and 5, AKS Linux Containers (Alpine Linux)
IDE version: not applicable

Thank you @heaths


HARP-11013: Support GeoJson feature ids

So far feature ids were expected to be numbers, therefore original feature ids coming from geojson data were ignored.

@harpgl-bot retest this please


Do children and ready really have to be required props?

For my use case, I am using this (awesome) component for purposes that don't relate to content loading: https://codesandbox.io/s/zz6o1ok56l
I am using this component in a small example project. I just have the component sitting there. It works perfectly well and does what I want. But I get console errors because I'm not passing children or the ready prop.
What does the author think of the above props being made optional?

v4 doesn't include prop-types checking anymore, with types being specified with TypeScript. It looks like your example runs fine with no console errors when using the latest react/react-dom and react-placeholder versions.


Remove unnecessary complexity

Apologies -- this was intended as a PR on a fork of this project, and I just created the PR too quickly without looking closely at the details. Thanks for the great example to work from!

Apologies -- this was intended as a PR on a fork of this project, and I just created the PR too quickly without looking closely at the details. Thanks for the great example to work from!

No problem at all @saraemoore! I'm delighted to see this project being used and expanded upon. Best of luck.


regex match of clang-format --version output hanging

on rznevada, some users noticed their cmake process hanging. I was able to track this down to the regex match in https://github.com/LLNL/blt/blob/develop/cmake/SetupCodeChecks.cmake trying to parse the output of clang-format --version. I think the issue is that the Cray version of clang-format adds some unexpected strings. Compare the vanilla output:
[lee218@rzgenie2:build]$ /usr/tce/packages/clang/clang-11.0.1/bin/clang-format --version
clang-format version 11.0.1
versus the Cray version on rznevada:
[lee218@rznevada15:build]$ /opt/cray/pe/cce/12.0.0/cce-clang/x86_64/bin/clang-format --version
Cray clang-format version 12.0.0  (59041842ced75ac192c0f1331989ae45f58d7caf)
Would it be possible to modify the regex match to properly parse this output?

Thanks for looking into this @lee218llnl
Looks like the issue is here:
https://github.com/LLNL/blt/blob/9e4931c3c6d6635de0b216cfc998d28dfa7ba5dd/cmake/SetupCodeChecks.cmake#L681-L698

Is there a known case that the much simpler regex (\d+\.\d+\.?\d?) does not match?


Update guide to avoid a OOB error

Closes #59
Closes #62
Next:

[x] Update screenshots
[ ] Actually test the new token

I think the step listed here will produce just the OAuth code to exchange for a token, but it itself is not a refreshToken. You can audit gcp-refresh-token source for the token exchange process, where I used https://www.npmjs.com/package/google-auth-library to redeem the code for the refresh_token

Ah you're right, I had to restore the last step. I have not tested that part but I assume it needs the same oob->localhost replacement


Container apps oss labs

I was unclear what commands to include for azure login so I know that needs to be included before merging into main.
Runs successfully in my tests from beginning to end

This is an OSS Labs document, we should not be forking it into our repo. It should go into the upstream repo. Lets review it here first, but not merge here.

Currently stuck on avoiding hardcoding the users GitHub username in the .json file. I've read that .json files dont accept variables. Example below.
"GITHUB_USER_OR_OR": "colinmixonn",
"CONTAINER_IMAGE":"ghcr.io/colinmixonn/serverless-python:release",


replaced while loop condition with an equivalent efficient condition

in parser function,
The condition
while ( (token.type !== 'paren') ||
(token.type === 'paren' && token.value !== ')')
is equivalent to
while (token.value !== ')')

The point is to demonstrate the process, not to be efficient


ENH: Speedup fftconvolve

Reference issue
See https://github.com/scipy/scipy/pull/10507#issuecomment-514593823
What does this implement/fix?
This applies the same principle from #10490 to fftconvolve. Axes and shape are usually very small so numpy arrays are much slower than using normal python list comprehensions.
This also goes further than #10490 and removes numpy arrays from _init_nd_shape_and_axes completely. Even when shape and axes are given, which is always the case in fftconvolve. I left this out of #10490 because I'm not 100% confident that it will accept the same range of inputs but for "normal" cases like tuples, lists and numpy arrays this will definitely work.
~Note: Please wait until after #10507 has been merged, these do conflict~
Additional information
Performance results from the following code
setup = '''
from scipy.fft import rfft, irfft, next_fast_len
from scipy.fft import fft, fftn
from scipy.signal import fftconvolve
import numpy as np

x = np.random.random(1000)
N = next_fast_len(2 * 1000 - 1)
'''
n=1000000
print('fft            :', time('fft(x, N, -1)', setup, n))
print('fftn           :', time('fftn(x, N, -1)', setup, n))
print('fftconvolve    :', time('fftconvolve(x, x)', setup, n))
print('manual convolve:', time('irfft(rfft(x, N) * rfft(x, N), N)[:x.shape[0]].copy()', setup, n))

Before:
fft            : (24.44, 25.42) us
fftn           : (43.84, 45.51) us
fftconvolve    : (187.89, 189.99) us
manual convolve: (69.57, 72.25) us

After:
fft            : (23.41, 24.09) us
fftn           : (28.28, 29.15) us
fftconvolve    : (92.73, 94.34) us
manual convolve: (65.77, 68.52) us

So fftn is now closer to fft and fftconvolve is almost as fast as a manual fft convolution.

I've rebased onto #10507.

Azure failure is unrelated, due to #10500

@peterbell10 looks like merging #10517 created another merge conflict :(
At least once you rebase the CIs will be green! Then I'll go ahead and merge (it looks like you took care of @ilayn's concerns)

@peterbell10 you mentioned rebasing this one already, but I think it needs another one now that #10517 is in

Yes, I didn't see that #10517 had been merged when I said that. I'll do that now.

Rebased and force-pushed.

Thanks @peterbell10

@larsoner Sorry about the late reply. Somehow I missed this one but yes all looks good.


After selecting Linter, do not prompt to install Linter until Reload Window.

Environment data

Steps to reproduce:

Run Python: Select Linter command
Select "mypy" from the dropdown list

Expected behaviour
It should prompt to install mypy.
Actual behaviour
Do not prompt to install mypy until Reload Window.

Hi @linette-zyy, does it happen only with mypy, or can you reproduce the issue with any linter?
What is the content of the Python output channel?

Hi @linette-zyy, does it happen only with mypy, or can you reproduce the issue with any linter?
What is the content of the Python output channel?

@kimadeline , this issue also can reproduce on todays environment.

This issue reproduced with all the linter.
After choose one linter, the output show

After reload window,

Hi @linette-zyy,
I cannot reproduce the issue with the following configuration:

VS Code 1.54.0-insider commit 192c817fd350
Python extension version 2021.3.575443817-dev

When I  ran the Python: Select Linter command and picked mypy, the Linter mypy is not installed notification showed up. Is it still happening?
What is the content at the beginning of the Python output channel, when the extension activates?

Because we have not heard back with the information we requested, we are closing this issue for now. If you are able to provide the info later on then we will be happy to re-open this issue to pick up where we left off.
Thank you!


jQuery listed as a dependency, but ngInfiniteScroll is working without it...

No idea why, but my site doesn't include jQuery and it's working. Perhaps angular has added support on element enough for this to work?

angular is using jquery mobile internally, so this maybe working. I'm not sure anyway

Doesn't work without jquery for me.
Angular uses jqlite - own lightweight implementation of jquery. It's not enough for infinite-scroll.

Honestly, why does this need jQuery? What could possibly be worth the enormity of $?

It didn't worked for me too without jquery @shawn-simon .


LED notifications not working?

On a Huawei Y6 (2017) with Android version 6.0 (patch level: August 5, 2018), the LED notifications don't seem to work: the LED doesn't light up when the time ends. I'm running with Vibration: None and Notification sound: off. Even with Vibration active, the LED doesn't light up.

@afita Does this reproduce on other phones? I don't have any phones with LEDs at hand.

I only have this Huawei Y6 at the moment. I'll test with other phones when I get the chance.

This should be fixed with 4de9054d2b906c151f2a722f00aace01a0c9ddce.
Version 2.1.5 will be shortly available for beta testing on Google Play.

I installed version 2.1.12 from F-droid and notifications are not working.

You mean LED notifications, right?
Unfortunately I don't own a device with a notification LED.
Can someone else test this?

I wanted to let you know that I installed Goodtime version 2.2.5 from F-Droid repository and the LED notifications work now (when the screen is closed).
I also noticed that when the screen is active there is the possibility to "Flash the screen" to get the humans' attention, which is very nice!
Thank you.


Pointer to pointer **

This change is

Ready for review

Reviewed 4 of 4 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved, some commit checks failed.

Comments from Reviewable


bridge relayer did not pick up a message

Describe the bug
I sent two messages from L1 to L2, the first one got picked up by the relayer so it shows up in the UI, but the second one did not.
tx1: https://etherscan.io/tx/0x77c61b3dfb0d226181e5a69ff0d611a4bec832b6e08fda691f6765ad25fcf163
tx2: https://etherscan.io/tx/0x12c12ef08bdf7ee87bf6c10fa3cefd32ad132590682dd3ca636badb34907bd08
Steps to reproduce
The message's to address is 0x08c82ab90f86BF8d98440b96754a67411D656130, which is not a vault.
Spam policy

[X] I verify that this issue is NOT SPAM and understand SPAM issues will be closed and reported to GitHub, resulting in ACCOUNT TERMINATION.

Will take a look.


Banners do not show their custom names in-game

The raid banners in the default raids show as "White banner" in game, even though they are translated in the files.
Creating a custom raid has the same banner issue.

Fixed on 1.19.2 in version 1.3.5. Not important enough for a backport, I feel.


Update README.md

Adding Incl EIPs
What was wrong?
Missing EIPs
How was it fixed?
Added
Cute Animal Picture

Codecov Report
Patch and project coverage have no change.

Comparison is base (9de8978) 74.05% compared to head (ebba4c6) 74.05%.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #836   +/-   ##
=======================================
  Coverage   74.05%   74.05%
=======================================
  Files         571      571
  Lines       31741    31741
=======================================
  Hits        23507    23507
  Misses       8234     8234

Flag
Coverage Δ

unittests
74.05% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Logging and Monitoring Kubernetes cluster

Using in-built Graphana + Prometheus, explained at http://blog.arungupta.me/kubernetes-monitoring-heapster-influxdb-grafana/
EFK (Elasticsearch + Fluentd + Kibana)
Fluentd -> CloudWatch logs and ElasticSearch
Statsd
Which partners should be highlighted?

assign to @omalari

pulled and merged.


V6 examples update

Goal
Updates the swift example app to use import Bugsnag as stated in the integration guide.
In addition it upgrades the minimum supported iOS version of the objective-c-ios example app to 9.3,

I've updated the app, removing the Custom-keyboard target and associated files.
I've also updated the Swift version to Swift 4, so it shouldn't complain upon opening.
@tomlongridge would you be able to re-review and quickly run the objective-c-ios to make sure it still builds by following the readme?

I've updated based on the feedback, removing tests where necessary.
Regarding the other issues, I can't see any duplicate targets/schemes when opening the app, and the debug executable setting is disabled by default when I open the app fresh.
If this still isn't the case, it may mean settings aren't being saved correctly.


more Float or double

put USE_DOUBLE in soundpipe.h, it is no more in CFLAGS
put the content of spfloat.h in it also
all math function now prefixed with sp_, so they use good type.
Let faust module untouched for now, but they would need to be generated with -double when compiling with double

Like I said before, I don't like these lowercase macros. Also, this PR adds
way too much unnecessary code and touches way too many files.
On Nov 3, 2016 09:51, "Jérémie Astor"<EMAIL_ADDRESS>wrote:

put USE_DOUBLE in soundpipe.h, it is no more in CFLAGS
put the content of spfloat.h in it also
all math function now prefixed with sp_, so they use good type.
Let faust module untouched for now, but they would need to be generated
with -double when compiling with double
You can view, comment on, or merge this pull request online at:
https://github.com/PaulBatchelor/Soundpipe/pull/84
Commit Summary

start
spfloat.h
spfloat.h
clean
clean
clean

File Changes

M Makefile
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-0 (6)
A h/spfloat.h
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-1
(105)
M modules/adsr.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-2 (2)
M modules/allpass.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-3 (2)
M modules/atone.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-4 (8)
M modules/bal.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-5 (8)
M modules/bar.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-6 (20)
M modules/base.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-7 (2)
M modules/biquad.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-8 (14)
M modules/bitcrush.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-9 (4)
M modules/blsaw.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-10 (4)
M modules/blsquare.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-11 (4)
M modules/bltriangle.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-12 (4)
M modules/butbp.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-13 (4)
M modules/butbr.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-14 (4)
M modules/buthp.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-15 (2)
M modules/butlp.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-16 (2)
M modules/clip.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-17 (2)
M modules/comb.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-18 (4)
M modules/conv.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-19 (2)
M modules/delay.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-20 (2)
M modules/dist.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-21 (4)
M modules/drip.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-22
(26)
M modules/eqfil.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-23 (8)
M modules/expon.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-24 (2)
M modules/fof.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-25 (6)
M modules/fofilt.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-26
(10)
M modules/fog.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-27
(10)
M modules/ftbl.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-28
(22)
M modules/gbuzz.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-29 (4)
M modules/lpf18.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-30 (4)
M modules/mincer.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-31 (6)
M modules/moogladder.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-32
(16)
M modules/nsmp.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-33 (2)
M modules/osc.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-34 (2)
M modules/oscmorph.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-35 (4)
M modules/padsynth.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-36
(12)
M modules/pan2.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-37
(12)
M modules/panst.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-38
(12)
M modules/pareq.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-39
(10)
M modules/paulstretch.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-40
(14)
M modules/peaklim.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-41
(14)
M modules/pitchamdf.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-42 (2)
M modules/port.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-43 (2)
M modules/prop.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-44 (2)
M modules/pshift.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-45 (4)
M modules/ptrack.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-46
(12)
M modules/reson.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-47 (6)
M modules/revsc.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-48 (4)
M modules/rms.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-49 (6)
M modules/saturator.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-50 (2)
M modules/scrambler.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-51 (8)
M modules/tabread.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-52 (2)
M modules/tbvcf.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-53
(10)
M modules/tenvx.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-54 (4)
M modules/tone.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-55 (8)
M modules/tseg.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-56 (4)
M modules/wpkorg35.c
https://github.com/PaulBatchelor/Soundpipe/pull/84/files#diff-57 (4)

Patch Links:

https://github.com/PaulBatchelor/Soundpipe/pull/84.patch
https://github.com/PaulBatchelor/Soundpipe/pull/84.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/PaulBatchelor/Soundpipe/pull/84, or mute the thread
https://github.com/notifications/unsubscribe-auth/AHwyfcCSBNfe4vBtS43tXcfMPogfQxKTks5q6hECgaJpZM4KopNj
.

I see.
Would it be OK to UPPERCASE those macros, and split the PR so that it hits only a few files each time?

No, because this would make soundpipe more centralized. Also, this adds a
degree of complication that I find unnecessary. Perceptually, the change in
precision doesn't make much of a difference. Most of the DSP algorithms
here don't really benefit from the extra numerical precision.
On Nov 3, 2016 10:31, "Jérémie Astor"<EMAIL_ADDRESS>wrote:
I see.
Would it be OK to UPPERCASE those macros, and split the PR so that it hits
only a few files each time?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/PaulBatchelor/Soundpipe/pull/84#issuecomment-258215388,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHwyfSIQu-nbUirQcY0m9wlkKLmp-w3Nks5q6hp4gaJpZM4KopNj
.

If you're going to be anything to soundpipe, please make a GitHub issue or
a trello card before doing anything major like this. Otherwise, I'm
probably going to close your PR requests.
On Nov 3, 2016 10:37, "Paul Batchelor"<EMAIL_ADDRESS>wrote:

No, because this would make soundpipe more centralized. Also, this adds a
degree of complication that I find unnecessary. Perceptually, the change in
precision doesn't make much of a difference. Most of the DSP algorithms
here don't really benefit from the extra numerical precision.
On Nov 3, 2016 10:31, "Jérémie Astor"<EMAIL_ADDRESS>wrote:
I see.
Would it be OK to UPPERCASE those macros, and split the PR so that it hits
only a few files each time?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/PaulBatchelor/Soundpipe/pull/84#issuecomment-258215388,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHwyfSIQu-nbUirQcY0m9wlkKLmp-w3Nks5q6hp4gaJpZM4KopNj
.


ACM-2666 Reflect CP upgrade in UI right away

Issue: https://issues.redhat.com/browse/ACM-2666
Depends on https://github.com/stolostron/console/pull/2494

/cc @chenz4027
I checked the security hotspot, shouldn't be an issue since it doesn't take user input
Also, I made this PR with changes from https://github.com/stolostron/console/pull/2494 so not sure how merging it would work. Should I create another PR for this one when that one is merged?

/retest

https://github.com/stolostron/console/pull/2510


Setting the focus source

Hi,
if I read http://allyjs.io/api/style/focus-source.html correctly there is only lock but no set.
My use case would be the following:
The script redirects the focus to a certain element and for this one time it should behave like a keyboard focus. After that ally.js should detect the real source just like before.
dream code:
var currentSource = handle.current();
document.getElementId('demo').focus();
handle.set(currentSource);

Is this already possible?

This used to be possible but was removed in 318848f. This became obsolete (to me) with 378ed5e extending the duration of handle.current() returning the identified state. If you look at the example and click on the "focus" button, you'll notice the element getting the pointer style. However, if you Tab to the button and press Space the element will get the keyboard style.
So this the following will simply "forward" focus with the correct style for the given user input:
element.addEventListener('click', function() {
  otherElement.focus();
});

This will fail for async forwarding of focus. The following will interpret the focus to be given by script:
element.addEventListener('click', function() {
  setTimeout(function() {
    otherElement.focus();
  });
});

The removed .next() function was a special case of .lock(), that basically did the following async compatible thing:
var handle = ally.style.focusSource();

element.addEventListener('click', function() {
  handle.lock(handle.current());
  setTimeout(function() {
    otherElement.focus();
    handle.lock(false);
  });
});

If you feel any of this is important to know, the documentation and example are editable. Also there's a doc for docs.

@jantimon did this solve your problem or do we need to take some action?

@rodneyrehm yeah thanks - I am quite impressed how easy it works as the synchronous focus redirect keeps the original source.
Still I don't get why there is handle.used(<string>) it seems to me as it would be a useless abstraction:
if (handle.current() === 'key') { ... }
if (handle.used('key')) { ... }

I didn't saw the "unlock" part because the docs say handle.lock(<String>) so I didn't read the description saying false will unloack.. maybe handle.unlock() is a cleaner API than handle.lock(false)`
But it works pretty well 👍

Still I don't get why there is handle.used(<string>) it seems to me as it would be a useless abstraction

Firefox (I think, and possibly other browsers) may not apply focus style on buttons when clicked, unless at some point the user pressed Tab at least once before. The .used() is there to easily identify if the user has ever used the keyboard to shift focus. I've not used this myself, but it seemed like a simple thing to provide.

I didn't saw the "unlock" part because the docs say handle.lock(<String>) so I didn't read the description saying false will unlock.. maybe handle.unlock() is a cleaner API than handle.lock(false)

First of all the docs should probably show handle.lock(false) in the usage block, instead of only mentioning it in a comment. Secondly I agree, .unlock() would be cleaner.
Would you like to send a PR for this?

Done #151


2.12 Prefab and Preview bug

Describe the bug
It is now impossible to use the UMA characters as part of a nested prefab. With the "Editor Time Generation" enabled it unpacks all parent prefabs in the scene, and with "Editor Time Generation" disabled the character is not compiled at runtime but instead a preview of the character is left in the T-pose at the position where the character started.
Environment (please complete the following information):

Unity Version: 2021.1.0f1
UMA Version: 2.12
Rendering Pipeline: Built-in
Platform Build (if not editor):

To Reproduce
Steps to reproduce the behavior:

Make a prefab
Put the getting started DCA prefab into your new prefab as a nested prefab.
Drag that prefab into the scene and notice the prefab unpack.
Remove Prefab from the scene.
Edit the DCA prefab so that it doesn't render a preview.
Drag the prefab into the scene and now it likely won't unpack the parent, but if you mess around in the scene and play and stop and save eventually it will still unpack it.
Hit play and see that the character is never compiled and that a T-pose preview is left in it's place.

Expected behavior
At the very least for the no-preview version to work properly. At best a way to set up the preview so that it's friendly to being a nested prefab, or at least so that it throws an error rather than unpacking the prefab.
Additional context
I rolled back to 2.11.6 release. And nested the DCA prefab with "Editor Time Generation" disabled. And everything works perfectly.

Follow-up, in case bugs haven't presented themselves. Nested prefab, have turned off and on editor spawning, tried spawning the prefab with DCA disabled and then enabling, tried spawning an un-nested UMA prefab to the nested location - UMAData DNA sets to 'UMADnaBase' and this error churns without spawning a renderer object until I manually change the race in the editor.
InvalidCastException: Specified cast is not valid.
UMA.UMAData+UMARecipe.EnsureAllDNAPresent () (at Assets/UMA/Core/StandardAssets/UMA/Scripts/UMAData.cs:1261)
UMA.UMAData+UMARecipe.PreApplyDNA (UMA.UMAData umaData, System.Boolean fixUpUMADnaToDynamicUMADna) (at Assets/UMA/Core/StandardAssets/UMA/Scripts/UMAData.cs:1175)
UMA.UMAData.PreApplyDNA () (at Assets/UMA/Core/StandardAssets/UMA/Scripts/UMAData.cs:1547)
UMA.UMAGeneratorBuiltin.PreApply (UMA.UMAData umaData) (at Assets/UMA/Core/StandardAssets/UMA/Scripts/UMAGeneratorBuiltin.cs:573)
UMA.UMAGeneratorBuiltin.GenerateSingleUMA (UMA.UMAData data, System.Boolean fireEvents) (at Assets/UMA/Core/StandardAssets/UMA/Scripts/UMAGeneratorBuiltin.cs:300)
UMA.UMAGeneratorBuiltin.OnDirtyUpdate () (at Assets/UMA/Core/StandardAssets/UMA/Scripts/UMAGeneratorBuiltin.cs:454)
UnityEngine.Debug:LogException(Exception)
UMA.UMAGeneratorBuiltin:OnDirtyUpdate() (at Assets/UMA/Core/StandardAssets/UMA/Scripts/UMAGeneratorBuiltin.cs:476)
UMA.UMAGeneratorBuiltin:Work() (at Assets/UMA/Core/StandardAssets/UMA/Scripts/UMAGeneratorBuiltin.cs:160)
UMA.UMAGeneratorBuiltin:Update() (at Assets/UMA/Core/StandardAssets/UMA/Scripts/UMAGeneratorBuiltin.cs:112)

Unity Version:  2020.1.9.f1
Pipeline: URP
Uma Version: 2.12
I am also experienceing this bug with prefabs varients.
All prefab varient instances in the scene with uma on it become unpacked when Uma 2.10 is removed and replaced with 2.12.
Additionaly, the master prefab inside of each of these prefab varients also becomes unpacked.
Stucture:  Master Prefab > Many prefab variants

Master Prefab: Dynamic Character Avatar and additional components that will be shared across all characters, such as Nav Agent and NPC scripts.
Prefab varients: link to unique text recipies that defiene the look of each character

With "Edit time generation" enabled, we have to generate a skinned mesh renderer and all the bones. This causes an error unless the prefab is unpacked. If there is another way to do this so it doesn't need to be unpacked, I would be happy to look into it:
The unpacking happens here, in GenerateSingleUMA in DynamicCharacterAvatar.cs
                if (UnityEditor.PrefabUtility.IsPartOfPrefabInstance(gameObject.transform))
                {
                    // Unfortunately we must unpack the prefab or it will blow up.
                    GameObject go = PrefabUtility.GetOutermostPrefabInstanceRoot(this.gameObject);
                    UnityEditor.PrefabUtility.UnpackPrefabInstance(go, UnityEditor.PrefabUnpackMode.Completely, UnityEditor.InteractionMode.AutomatedAction);
                }

Perhaps this can be changed to PrefabUnpackMode.OutermostRoot?

@McGunn  - there was a bug in 2.12 that was building (and unpacking) the DCA on scene save (to save scene space, all UMA's with edit time generation are cleaned up before the save, and regenerated after the save, otherwise the scene itself contains all the mesh data). This will be fixed in the next release.

In 2.13, The packing/unpacking is now a little less severe, and the scene save issue is fixed.