[Bug] Deepseek-V2.5 capture cuda graph failed

Checklist

[X] 1. I have searched related issues but cannot get the expected help.
[X] 2. The bug has not been fixed in the latest version.
[X] 3. Please note that if the bug-related issue you submitted lacks corresponding environment info and a minimal reproducible demo, it will be challenging for us to reproduce and resolve the issue, reducing the likelihood of receiving feedback.
[X] 4. If the issue you raised is not a bug but a question, please raise a discussion at https://github.com/sgl-project/sglang/discussions/new/choose Otherwise, it will be closed.
[X] 5. Please use English, otherwise it will be closed.

Describe the bug
Bug report:
==========
== CUDA ==
==========

CUDA Version 12.4.1

Container image Copyright (c) 2016-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.

This container image and its contents are governed by the NVIDIA Deep Learning Container License.
By pulling and using the container, you accept the terms and conditions of this license:
https://developer.nvidia.com/ngc/nvidia-deep-learning-container-license

A copy of this license is made available in this container at /NGC-DL-CONTAINER-LICENSE for your convenience.

[23:03:24] server_args=ServerArgs(model_path='/data/model-cache/deepseek-ai/DeepSeek-V2___5/', tokenizer_path='/data/model-cache/deepseek-ai/DeepSeek-V2___5/', tokenizer_mode='auto', skip_tokenizer_init=False, load_format='auto', dtype='auto', kv_cache_dtype='auto', trust_remote_code=True, context_length=131072, quantization=None, served_model_name='deepseek-chat', chat_template=None, is_embedding=False, host='<IP_ADDRESS>', port=50521, additional_ports=[50522, 50523, 50524, 50525], mem_fraction_static=0.75, max_running_requests=None, max_total_tokens=None, chunked_prefill_size=131072, max_prefill_tokens=131072, schedule_policy='lpm', schedule_conservativeness=0.1, tp_size=8, stream_interval=1, random_seed=1008230935, constrained_json_whitespace_pattern=None, log_level='info', log_level_http=None, log_requests=False, show_time_cost=False, api_key=None, file_storage_pth='SGLang_storage', dp_size=1, load_balance_method='round_robin', nccl_init_addr=None, nnodes=1, node_rank=None, json_model_override_args='{}', attention_backend='flashinfer', sampling_backend='flashinfer', disable_flashinfer=False, disable_flashinfer_sampling=False, disable_radix_cache=False, disable_regex_jump_forward=False, disable_cuda_graph=False, disable_cuda_graph_padding=False, disable_disk_cache=False, disable_custom_all_reduce=True, disable_mla=False, enable_mixed_chunk=False, enable_torch_compile=False, max_torch_compile_bs=32, torchao_config='', enable_p2p_check=False, triton_attention_reduce_in_fp32=False, lora_paths=None, max_loras_per_batch=8)
[23:03:24 TP1] MLA optimization is tunred on. Use triton backend.
[23:03:24 TP2] MLA optimization is tunred on. Use triton backend.
[23:03:24 TP3] MLA optimization is tunred on. Use triton backend.
[23:03:24 TP4] MLA optimization is tunred on. Use triton backend.
[23:03:24 TP5] MLA optimization is tunred on. Use triton backend.
[23:03:24 TP6] MLA optimization is tunred on. Use triton backend.
[23:03:24 TP0] MLA optimization is tunred on. Use triton backend.
[23:03:24 TP7] MLA optimization is tunred on. Use triton backend.
[23:03:25 TP2] Init nccl begin.
[23:03:25 TP0] Init nccl begin.
[23:03:25 TP5] Init nccl begin.
[23:03:25 TP4] Init nccl begin.
[23:03:25 TP3] Init nccl begin.
[23:03:25 TP7] Init nccl begin.
[23:03:25 TP1] Init nccl begin.
[23:03:25 TP6] Init nccl begin.
[rank4]:[W919 23:03:25.609730308 ProcessGroupGloo.cpp:712] Warning: Unable to resolve hostname to a (local) address. Using the loopback address as fallback. Manually set the network interface to bind to with GLOO_SOCKET_IFNAME. (function operator())
[rank3]:[W919 23:03:25.609923773 ProcessGroupGloo.cpp:712] Warning: Unable to resolve hostname to a (local) address. Using the loopback address as fallback. Manually set the network interface to bind to with GLOO_SOCKET_IFNAME. (function operator())
[rank2]:[W919 23:03:26.191450465 ProcessGroupGloo.cpp:712] Warning: Unable to resolve hostname to a (local) address. Using the loopback address as fallback. Manually set the network interface to bind to with GLOO_SOCKET_IFNAME. (function operator())
[rank0]:[W919 23:03:26.200912535 ProcessGroupGloo.cpp:712] Warning: Unable to resolve hostname to a (local) address. Using the loopback address as fallback. Manually set the network interface to bind to with GLOO_SOCKET_IFNAME. (function operator())
[rank5]:[W919 23:03:30.575735830 ProcessGroupGloo.cpp:712] Warning: Unable to resolve hostname to a (local) address. Using the loopback address as fallback. Manually set the network interface to bind to with GLOO_SOCKET_IFNAME. (function operator())
[rank1]:[W919 23:03:30.617976304 ProcessGroupGloo.cpp:712] Warning: Unable to resolve hostname to a (local) address. Using the loopback address as fallback. Manually set the network interface to bind to with GLOO_SOCKET_IFNAME. (function operator())
[rank6]:[W919 23:03:31.634186928 ProcessGroupGloo.cpp:712] Warning: Unable to resolve hostname to a (local) address. Using the loopback address as fallback. Manually set the network interface to bind to with GLOO_SOCKET_IFNAME. (function operator())
[rank7]:[W919 23:03:31.636653957 ProcessGroupGloo.cpp:712] Warning: Unable to resolve hostname to a (local) address. Using the loopback address as fallback. Manually set the network interface to bind to with GLOO_SOCKET_IFNAME. (function operator())
[23:03:43 TP2] Load weight begin. avail mem=78.42 GB
[23:03:43 TP7] Load weight begin. avail mem=78.47 GB
[23:03:43 TP1] Load weight begin. avail mem=78.42 GB
[23:03:43 TP6] Load weight begin. avail mem=78.42 GB
[23:03:43 TP5] Load weight begin. avail mem=78.42 GB
[23:03:43 TP3] Load weight begin. avail mem=78.47 GB
[23:03:43 TP0] Load weight begin. avail mem=78.47 GB
[23:03:43 TP4] Load weight begin. avail mem=78.47 GB
Cache shape torch.Size([163840, 64])
Loading safetensors checkpoint shards:   0% Completed | 0/55 [00:00<?, ?it/s]
Loading safetensors checkpoint shards:   2% Completed | 1/55 [00:05<05:17,  5.88s/it]
Loading safetensors checkpoint shards:   4% Completed | 2/55 [00:11<05:02,  5.71s/it]
Loading safetensors checkpoint shards:   5% Completed | 3/55 [00:18<05:31,  6.37s/it]
Loading safetensors checkpoint shards:   7% Completed | 4/55 [00:25<05:40,  6.67s/it]
Loading safetensors checkpoint shards:   9% Completed | 5/55 [00:35<06:20,  7.61s/it]
Loading safetensors checkpoint shards:  11% Completed | 6/55 [00:45<06:56,  8.50s/it]
Loading safetensors checkpoint shards:  13% Completed | 7/55 [00:55<07:09,  8.95s/it]
Loading safetensors checkpoint shards:  15% Completed | 8/55 [00:55<04:55,  6.28s/it]
Loading safetensors checkpoint shards:  16% Completed | 9/55 [00:56<03:26,  4.49s/it]
Loading safetensors checkpoint shards:  18% Completed | 10/55 [00:56<02:26,  3.27s/it]
Loading safetensors checkpoint shards:  20% Completed | 11/55 [00:57<01:47,  2.44s/it]
Loading safetensors checkpoint shards:  22% Completed | 12/55 [00:57<01:20,  1.86s/it]
Loading safetensors checkpoint shards:  24% Completed | 13/55 [00:58<01:01,  1.47s/it]
Loading safetensors checkpoint shards:  25% Completed | 14/55 [00:59<00:49,  1.22s/it]
Loading safetensors checkpoint shards:  27% Completed | 15/55 [00:59<00:41,  1.04s/it]
Loading safetensors checkpoint shards:  29% Completed | 16/55 [01:00<00:35,  1.09it/s]
Loading safetensors checkpoint shards:  31% Completed | 17/55 [01:00<00:31,  1.22it/s]
Loading safetensors checkpoint shards:  33% Completed | 18/55 [01:01<00:27,  1.33it/s]
Loading safetensors checkpoint shards:  35% Completed | 19/55 [01:02<00:25,  1.43it/s]
Loading safetensors checkpoint shards:  36% Completed | 20/55 [01:02<00:24,  1.46it/s]
Loading safetensors checkpoint shards:  38% Completed | 21/55 [01:03<00:22,  1.50it/s]
Loading safetensors checkpoint shards:  40% Completed | 22/55 [01:03<00:21,  1.53it/s]
Loading safetensors checkpoint shards:  42% Completed | 23/55 [01:04<00:19,  1.60it/s]
Loading safetensors checkpoint shards:  44% Completed | 24/55 [01:05<00:19,  1.63it/s]
Loading safetensors checkpoint shards:  45% Completed | 25/55 [01:05<00:18,  1.61it/s]
Loading safetensors checkpoint shards:  47% Completed | 26/55 [01:26<03:17,  6.79s/it]
Loading safetensors checkpoint shards:  49% Completed | 27/55 [01:49<05:24, 11.60s/it]
Loading safetensors checkpoint shards:  51% Completed | 28/55 [02:15<07:04, 15.71s/it]
Loading safetensors checkpoint shards:  53% Completed | 29/55 [02:40<08:02, 18.55s/it]
Loading safetensors checkpoint shards:  55% Completed | 30/55 [03:04<08:25, 20.24s/it]
Loading safetensors checkpoint shards:  56% Completed | 31/55 [03:30<08:44, 21.86s/it]
Loading safetensors checkpoint shards:  58% Completed | 32/55 [03:54<08:41, 22.67s/it]
Loading safetensors checkpoint shards:  60% Completed | 33/55 [04:16<08:14, 22.49s/it]
Loading safetensors checkpoint shards:  62% Completed | 34/55 [04:40<07:58, 22.81s/it]
Loading safetensors checkpoint shards:  64% Completed | 35/55 [05:04<07:44, 23.24s/it]
Loading safetensors checkpoint shards:  65% Completed | 36/55 [05:29<07:29, 23.65s/it]
Loading safetensors checkpoint shards:  67% Completed | 37/55 [05:57<07:29, 24.99s/it]
Loading safetensors checkpoint shards:  69% Completed | 38/55 [06:22<07:07, 25.14s/it]
Loading safetensors checkpoint shards:  71% Completed | 39/55 [06:47<06:39, 24.95s/it]
Loading safetensors checkpoint shards:  73% Completed | 40/55 [07:11<06:10, 24.73s/it]
Loading safetensors checkpoint shards:  75% Completed | 41/55 [07:35<05:45, 24.65s/it]
Loading safetensors checkpoint shards:  76% Completed | 42/55 [08:00<05:19, 24.58s/it]
Loading safetensors checkpoint shards:  78% Completed | 43/55 [08:24<04:53, 24.45s/it]
Loading safetensors checkpoint shards:  80% Completed | 44/55 [08:47<04:25, 24.11s/it]
Loading safetensors checkpoint shards:  82% Completed | 45/55 [09:11<03:58, 23.88s/it]
Loading safetensors checkpoint shards:  84% Completed | 46/55 [09:34<03:33, 23.72s/it]
Loading safetensors checkpoint shards:  85% Completed | 47/55 [09:59<03:13, 24.24s/it]
Loading safetensors checkpoint shards:  87% Completed | 48/55 [10:23<02:48, 24.11s/it]
Loading safetensors checkpoint shards:  89% Completed | 49/55 [10:47<02:24, 24.09s/it]
Loading safetensors checkpoint shards:  91% Completed | 50/55 [11:11<02:00, 24.06s/it]
Loading safetensors checkpoint shards:  93% Completed | 51/55 [11:36<01:36, 24.20s/it]
Loading safetensors checkpoint shards:  95% Completed | 52/55 [12:01<01:13, 24.36s/it]
Loading safetensors checkpoint shards:  96% Completed | 53/55 [12:25<00:48, 24.26s/it]
Loading safetensors checkpoint shards:  98% Completed | 54/55 [12:49<00:24, 24.17s/it]
Loading safetensors checkpoint shards: 100% Completed | 55/55 [13:15<00:00, 24.96s/it]
Loading safetensors checkpoint shards: 100% Completed | 55/55 [13:15<00:00, 14.47s/it]

[23:17:00 TP2] Load weight end. type=DeepseekV2ForCausalLM, dtype=torch.bfloat16, avail mem=21.96 GB
[23:17:00 TP3] Load weight end. type=DeepseekV2ForCausalLM, dtype=torch.bfloat16, avail mem=22.01 GB
[23:17:00 TP0] Load weight end. type=DeepseekV2ForCausalLM, dtype=torch.bfloat16, avail mem=22.01 GB
[23:17:01 TP5] Load weight end. type=DeepseekV2ForCausalLM, dtype=torch.bfloat16, avail mem=21.96 GB
[23:17:01 TP6] Load weight end. type=DeepseekV2ForCausalLM, dtype=torch.bfloat16, avail mem=21.96 GB
[23:17:01 TP1] Load weight end. type=DeepseekV2ForCausalLM, dtype=torch.bfloat16, avail mem=21.96 GB
[23:17:01 TP4] Load weight end. type=DeepseekV2ForCausalLM, dtype=torch.bfloat16, avail mem=22.01 GB
[23:17:01 TP7] Load weight end. type=DeepseekV2ForCausalLM, dtype=torch.bfloat16, avail mem=22.01 GB
[23:17:01 TP6] Memory pool end. avail mem=18.61 GB
[23:17:01 TP5] Memory pool end. avail mem=18.61 GB
[23:17:01 TP1] Memory pool end. avail mem=18.61 GB
[23:17:01 TP4] Memory pool end. avail mem=18.66 GB
[23:17:01 TP3] Memory pool end. avail mem=18.66 GB
[23:17:01 TP7] Memory pool end. avail mem=18.66 GB
[23:17:01 TP0] Memory pool end. avail mem=18.66 GB
[23:17:01 TP2] Memory pool end. avail mem=18.61 GB
[23:17:01 TP3] Capture cuda graph begin. This can take up to several minutes.
[23:17:01 TP1] Capture cuda graph begin. This can take up to several minutes.
[23:17:01 TP6] Capture cuda graph begin. This can take up to several minutes.
[23:17:01 TP4] Capture cuda graph begin. This can take up to several minutes.
[23:17:01 TP5] Capture cuda graph begin. This can take up to several minutes.
[23:17:01 TP2] Capture cuda graph begin. This can take up to several minutes.
[23:17:01 TP7] Capture cuda graph begin. This can take up to several minutes.
[23:17:01 TP0] Capture cuda graph begin. This can take up to several minutes.
[23:17:08 TP4] Exception in run_tp_server:
Traceback (most recent call last):
  File "/sgl-workspace/sglang/python/sglang/srt/model_executor/cuda_graph_runner.py", line 147, in __init__
    self.capture()
  File "/sgl-workspace/sglang/python/sglang/srt/model_executor/cuda_graph_runner.py", line 176, in capture
    ) = self.capture_one_batch_size(bs, forward)
  File "/sgl-workspace/sglang/python/sglang/srt/model_executor/cuda_graph_runner.py", line 217, in capture_one_batch_size
    run_once()
  File "/sgl-workspace/sglang/python/sglang/srt/model_executor/cuda_graph_runner.py", line 211, in run_once
    return forward(input_ids, input_metadata.positions, input_metadata)
  File "/usr/local/lib/python3.10/dist-packages/torch/utils/_contextlib.py", line 116, in decorate_context
    return func(*args, **kwargs)
  File "/sgl-workspace/sglang/python/sglang/srt/models/deepseek_v2.py", line 663, in forward
    hidden_states = self.model(input_ids, positions, input_metadata)
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1553, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1562, in _call_impl
    return forward_call(*args, **kwargs)
  File "/sgl-workspace/sglang/python/sglang/srt/models/deepseek_v2.py", line 632, in forward
    hidden_states, residual = layer(
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1553, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1562, in _call_impl
    return forward_call(*args, **kwargs)
  File "/sgl-workspace/sglang/python/sglang/srt/models/deepseek_v2.py", line 587, in forward
    hidden_states = self.mlp(hidden_states)
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1553, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1562, in _call_impl
    return forward_call(*args, **kwargs)
  File "/sgl-workspace/sglang/python/sglang/srt/models/deepseek_v2.py", line 85, in forward
    gate_up, _ = self.gate_up_proj(x)
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1553, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1562, in _call_impl
    return forward_call(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/vllm/model_executor/layers/linear.py", line 365, in forward
    output_parallel = self.quant_method.apply(self, input_, bias)
  File "/usr/local/lib/python3.10/dist-packages/vllm/model_executor/layers/linear.py", line 131, in apply
    return F.linear(x, layer.weight, bias)
RuntimeError: CUDA error: CUBLAS_STATUS_EXECUTION_FAILED when calling `cublasGemmEx( handle, opa, opb, m, n, k, &falpha, a, CUDA_R_16BF, lda, b, CUDA_R_16BF, ldb, &fbeta, c, CUDA_R_16BF, ldc, compute_type, CUBLAS_GEMM_DEFAULT_TENSOR_OP)`

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/sgl-workspace/sglang/python/sglang/srt/managers/tp_worker.py", line 959, in run_tp_server
    model_server = ModelTpServer(
  File "/sgl-workspace/sglang/python/sglang/srt/managers/tp_worker.py", line 100, in __init__
    self.model_runner = ModelRunner(
  File "/sgl-workspace/sglang/python/sglang/srt/model_executor/model_runner.py", line 128, in __init__
    self.init_cuda_graphs()
  File "/sgl-workspace/sglang/python/sglang/srt/model_executor/model_runner.py", line 468, in init_cuda_graphs
    self.cuda_graph_runner = CudaGraphRunner(self)
  File "/sgl-workspace/sglang/python/sglang/srt/model_executor/cuda_graph_runner.py", line 149, in __init__
    raise Exception(
Exception: Capture cuda graph failed: CUDA error: CUBLAS_STATUS_EXECUTION_FAILED when calling `cublasGemmEx( handle, opa, opb, m, n, k, &falpha, a, CUDA_R_16BF, lda, b, CUDA_R_16BF, ldb, &fbeta, c, CUDA_R_16BF, ldc, compute_type, CUBLAS_GEMM_DEFAULT_TENSOR_OP)`
Possible solutions:
1. disable cuda graph by --disable-cuda-graph
2. set --mem-fraction-static to a smaller value
3. disable torch compile by not using --enable-torch-compile
Open an issue on GitHub https://github.com/sgl-project/sglang/issues/new/choose

Reproduction
python3 -m sglang.launch_server \
    --model-path /data/model-cache/deepseek-ai/DeepSeek-V2___5/ \
    --served-model-name deepseek-chat \
    --tp 8 \
    --mem-fraction-static 0.75 \
    --schedule-conservativeness 0.1 \
    --disable-custom-all-reduce \
    --trust-remote-code \
    --host <IP_ADDRESS> \
    --port 50521

Environment
docker image lmsysorg/sglang:v0.3.1.post2-cu124

Thanks for reporting this. It has been fixed by https://github.com/sgl-project/sglang/commit/a68cb201dd5f4ae6155b324d22054bbb0de15fba.
We also released a new version for this fix. Can you try v0.3.1.post3?

Maybe try to update vllm version, there has been like 10 releases. It is crashing for me also and I just wasted 4 hours on 4xL40S paid GPUs. Basic software like this https://github.com/oobabooga/text-generation-webui/ can utilize GPUs better than vllm plus vllm still does not have optimization for AWQ, GGUF, GPTQ - nothing. They recommend loading unquantized model only. I don't know why is everyone recommending vllm.


v2 doc updates & PurgeCSS plugin resource

v2 Doc Updates
The onboarding documentation has a few issues items that need to be adjusted:

[x] The onboarding instructions for the Tailwind config should favor .ts | .js | .cjs in that tab order
[x] The onboarding instructions for the Tailwind config need to recommend .ts for Typescript and .js for JS
[x] When using Typescript, users will need to install default node types via: npm add -D @types/node

Purge CSS plugin
Additionally, @AdrianGonz97 has given the thumbs up to document and point out his new PurgeCSS plugin for tree shaking Tailwind styles:
https://github.com/AdrianGonz97/vite-plugin-tailwind-purgecss
Let's go ahead and document this under Docs > Resources

This is live in the v2 RC docs


New Jitsi SRTP library

This is the new Jitsi SRTP library.  It is structured as a pull request based on copying the relevant files from libjitsi.

Looks good to me. Minor nits:
These files don't have license headers: UtSim.java, SRTPReplayTest.java, SRTPPerfTest.java, SRTPCipherCTRTest.java, SRTPKeyDerivationTest.java, SRTPValidationTest.java
The convention for is to use star imports instead of individual class imports (unless it's to disambiguate).


Lint for deny_unknown_fields

I suspect the answer is a custom macro or smart tests, but I'm hoping someone has a smarter idea.
We have a large set of serde types which should in 99% of cases implement deny_unknown_fields. We've run into several "bugs" where the type, or one of its fields did not have this derive implemented, often due to refactoring or adding a new field which doesn't have the derive.
I have two questions:

How can I enforce that these types should have this? Ideal would be a crate wide lint which one could opt out for the 1% of times it isn't required. And field types should also have this, unless explicitly opt-out.
How does one implement the equivalent without using derive? i.e. when manually implementing deserialize..

Current thoughts for 1
Test it
Have all such types implement Default and then create tests which serialize, add another unknown field, and assert that deserialization fails.
Issues:

type must be Default which isn't always easy
type must now be Serialize which is also not always easy
test is opt-in instead of opt-out

Macro
Create a macro which wraps does the derive and auto-includes #serde(deny_unknown_fields).
Issues:

opt-in instead of opt-out (but probably easier to review)
looks weird?

New trait
A new trait or wrapper which essentially wraps Deserialize. Just a vague thought so far, but maybe its possible to have a trait or type which somehow magically enforces this at compile time. Not sure if that's possible.
Thoughts for 2
I tried to understand the macro expansion for serde but I found it hard to follow. I imagine one can achieve something similar by removing all the fields, and then asserting that the remainder is empty?

There is deserialize_ignored_any

It can be used to skip some data ( https://serde.rs/ignored-any.html ). And if want to be sure that there is no data left -- you can return errors in all visitor methods (maybe except visit_unit(), but it depends).

You can try to wrap Deserializer implementation which you are using and proxy calls to all methods to the original implementation except deserialize_ignored_any, where you can extract value by deserialize_ignored_any() of original impl and your own visitor, than return error about value you had received. Then when you will use this wrapped version of deserializer -- it will return error any time when will see some extra data which is not covered by your derives.

clippy already has serde-specific lints, maybe it could be a restriction lint?


Non Promises/A+ standard API expected

Hello,
I'm working on an opensource viewer using Orthanc for Osimis at the moment.
Your library is of huge help indeed.
Just a slight note as I can't use the cache mechanism with my $q angular promises.
In the method imageCache#decache(), the .reject() method is called. It is non-standard.
https://github.com/chafey/cornerstone/blob/master/src/imageCache.js#L174
Here are some proposals :

If you want to invalidate your own image callback (the .then imageCache#putImagePromise), ignoring the processing using a if instead of rejecting the callback could do it.
https://github.com/chafey/cornerstone/blob/master/src/imageCache.js#L89

If you want to make sure the user's promise is invalidated, in imageCache#putImagePromise, storing an intermediary .then inside which you throw an exception would work.
https://github.com/chafey/cornerstone/blob/master/src/imageCache.js#L80

Are you interested in changing this ? Would you like me to submit a patch ?
Thibault Piront.

Cornerstone should be promises a+ compliant, I didn't realize that reject() was not part of the standard!  I did some quick looking and am not exactly sure how to do what I want in a compliant way.  I basically need to propagate an error back to the code that has the promise - maybe you can submit a PR showing how you think it would be best to do this so I can see it in action?  If there are in fact multiple ways to do this, help me guide you :)

Glad to help :-)
The only A+ compliant method is the .then,
so if you want to reject a promise and stay compatible, there is two way to do this :

wrap your promise using a standard promise lib. Using its non-standard methods will still keep the promise standard. This requires indeed to add the promise lib as a dependency.
throw an exception inside a then. The exception will be catched by any standard promise library and be converted into a promise reject.

I'll submit a pull request with the second solution today.

This should have the same behavior as now :
https://github.com/nuKs/cornerstone/commit/47924689dcfb3de9647b0a2eacbcf9d567b3ed96
I still have to test it.
Not sure about it, but I think it is only usefull when the promise is resolved after the cache has cleaned though. I don't think there is a concrete use case for this as long as the end user doesn't store its promises. Is your intent is to prevent this ?


Switched to Chocolatey to install Miniconda

Closes #46.

Not waiting for the builds to finish: merging.


Support cost struct unit conversions

CostCurve and FuelCurve keep track of power_units::UnitSystem. Also, FuelCurve has a fuel_cost, which is sometimes a scalar. It would be useful to have built-in support for

Conversion of CostCurves and FuelCurves from one UnitSystem to another
Conversion from FuelCurve to CostCurve if the fuel_cost is scalar

as we are currently doing both of these things manually ad hoc.
For 1, an easy approach would involve a function that takes the CostCurve/FuelCurve, the desired units, and a component reference or some other way to look up the relevant conversion factors. That might be a good first issue. Depending on how https://github.com/NREL-Sienna/PowerSystems.jl/issues/1134 is resolved, a cleaner solution might be possible later.
For 2, the converter function (or overloaded constructor — CostCurve(fuel_curve)) is trivial, also a good first issue.

To do this maximally flexibly, we want an interface to "multiply" any ValueCurve by a scalar. I'm tempted to implement scalar multiplication on FunctionData and bubble that up through the layers of abstraction.


doc: add doc about yutto configuration

Fixes #none

Proposed Changes

doc: add doc about yutto configuration

Release Note

/flows review


Figure out where to store our schemas

[x] (P0) can be queried via HTTP request (REST is fine, but whatever)
[x] (P0) query-able by schema name (retrieves latest) and also by version
[x] (P1) browsable in a web page

Specs are put here: https://alleninstitute.sharepoint.com/:w:/s/NeuralDynamics/EYuvcyb9IwpIpr4zQx3CD2QBwz-0ZPSSEh7dXkwKQzGHeQ?e=eYGAWk


Use DEVELOCITY_ACCESS_KEY env var on CLI

Fixes a deprecation warning:
WARNING: The following functionality has been deprecated and will be removed in the next major release of the Develocity Gradle plugin:
- The deprecated "GRADLE_ENTERPRISE_ACCESS_KEY" environment variable has been replaced by "DEVELOCITY_ACCESS_KEY"

Warnings

:warning:
This PR is approved with no milestone set. If merged, it won't appear in the detekt release notes.

  Generated by :no_entry_sign: dangerJS against 993c0b785e874df97daaf60c4233e543e5924ae2


Use Application Insights without Xamarin Forms

Hi,
I wanted to use Application Insights in an iOS project without Xamarin Forms. It seems like this is currently not possible, is there a valid workaround?

We are currently working on that. This is going to be part of the Alpha 3 release.

I´m trying to use Applications INsigths in an Xamarin.Android Project but i´m getting this exception:
You MUST call Xamarin.Forms.Init(); prior to using it.

When i tun this line (OnStart) in the Main Activity:
ApplicationInsights.Setup ("999999-99999-999999-99999-9999");

Here is the version used in the project:
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="21" />

I´m using Xamarin Studio 5.9.4
Any ideia?
Guys, thanks a lot for this project.

For now just add Xamarin.Forms.Forms.Init();before calling ApplicationInsights.Setup(). We are currently working on a version, which does not need the Xamarin.Forms dependency.

First, thanks so much for the attention.
In this method
Xamarin.Forms.Forms.Init(Activity,Bundle);

I have to pass two args, any sugestions about the bundle?

No i´m facing a trouble with this code, when i call Setup: the variable target is null
		public static void Setup (string instrumentationKey)
		{
			target.Setup (instrumentationKey);
		}

The args should be Xamarin.Forms.Forms.Init(this,bundle);. Can you please check your linker settings in the project options? If the linker behaviour is not set to "Don't link", then the linker may strip away the assembly. If so, we need to provide a way to prevent the assembly from being stripped away.

The linker is just like you sad: "Don´t link"
But about the arg bundle, on the OnStart event i dont have access to no bundle variable:
protected override void OnStart ()
		{
			Xamarin.Forms.Forms.Init(this,????);
			ApplicationInsights.Setup ("9999-999-99-99999996-9999999");
			ApplicationInsights.Start ();
			ApplicationInsights.SetDebugLogEnabled(false);
		}

This line i dont get anymore exception
 Xamarin.Forms.Forms.Init(this,null);

But int this line:
ApplicationInsights.Setup ("9999-999-99-99999996-9999999");

I get, insite Setup method, there is a variable called "target" witch is null.

Please put the following code into the MainActivity.cs of your android platform project after adding the SDK NuGet.
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using AI.XamarinSDK.Abstractions;

namespace TestApp
{
	[Activity (Label = "TestApp", MainLauncher = true, Icon = "@drawable/icon")]
	public class MainActivity : Activity
	{

		protected override void OnCreate (Bundle bundle)
		{
			base.OnCreate (bundle);

			// Set our view from the "main" layout resource
			SetContentView (Resource.Layout.Main);

			Xamarin.Forms.Forms.Init (this, bundle);
			ApplicationInsights.Setup ("<INSTRUMENTATION_KEY");
			ApplicationInsights.Start ();
		}
	}
}```

Thanks, man.
Also i was forgetting to add a reference to
AI.XamarinSDK.Abstractions;

Cheers

I'm going to get back to you once the Xamarin.Forms dependency has been removed.
Thank you

@chrwend do you have any updates on this issue?

I commit a pull request for remove Xamarin Forms reference. See my branch if you want it.

Hi,
Thank you for the pull request. The team is already evaluating this one. I’m going to get back to you, once the PR has been merged.
Best,
Christoph
From: xvare
Reply-To: Microsoft/ApplicationInsights-Xamarin
Date: Tuesday 1 December 2015 at 07:08
To: Microsoft/ApplicationInsights-Xamarin
Cc: Christoph Wendt
Subject: Re: [ApplicationInsights-Xamarin] Use Application Insights without Xamarin Forms (#2)
I commit a pull request for remove Xamarin Forms reference. See my branch if you want it.
—
Reply to this email directly or view it on GitHubhttps://github.com/Microsoft/ApplicationInsights-Xamarin/issues/2#issuecomment-160995386.


Expand menu items after 'click', not 'touchend'

The problem with using 'touchend' is that if you scroll with your finger on a touch screen, like an an iPhone or on a PC laptop with a touch screen, the menu items will be expanded when you let go, even if you wanted to just scroll.
Fixes #1128

Thanks, @Enselic !


WIP: Fix default directories (fixes #574)

When I installed lbry today I noticed it created a Downloads folder in my Linux home directory. As I've modified the default xdg-user-dirs, I assumed lbry doesn't comply to the freedesktop standards. I checked the source code and found #574, so I wrote a fix.
Most importantly, this pull request moves the lbry directories out of the home directory, and into where they should be on Linux.
In #574 a fix was suggested that included the use of GLib. It works, but it requires you to have that installed, and since lbry seemingly only supports python2, I couldn't get it to work. Instead I chose to write a couple lines more and not use a library.
For Linux, the new default locations are as follows (using the appdirs library):
default_data_dir = ~/.local/share/LBRY
default_lbryum_dir = ~/.config/LBRY

To determine the correct downloads folder, we first look for XDG_DOWNLOAD_DIR in the user_dirs.dirs file which most likely exists, as it's created by default on pretty much every Linux distribution as part of the XDG standard. If this fails, the environment variable is checked, and if that's empty we simply default to ~/Downloads.
I've also deleted some old seeming redundant code for creating some directories, they even had TODO comments about being duplicates. I did a tiny bit of linting, renamed the default_downloads_directory variable for consistency and readability, and a few other minor changes that should make some parts more readable.
I've tested the changes on two Linux machines, a macOS VM and a Windows machine, everything seems to work just fine.
I'm fully aware this is sort of a "breaking" change, since the folders wouldn't be moved automatically, leaving Linux users with a seemingly blank state after updating. I'd like to hear what you think about that, I'm open to any suggestions.
LBRY is an amazing project and this is likely not the last pull request you'll see from me, keep up the good work!

          1 Error

:no_entry_sign:
Please include a CHANGELOG entry.

          1 Message

:book:
See http://keepachangelog.com/en/0.3.0/ for details on good changelog guidelines

  Generated by :no_entry_sign: Danger

This is quite a game breaking bug for people that already have the app installed. Otherwise it seems good.

I somewhat agree, I also touched on that in the description. However, people can simple move the folders to their new locations, as I wrote in the changelog.
I agree because not everyone will check the changelog and such, so there needs to be a way to get it out there. I wouldn't mind creating something that checks if the old folders exist and the new ones doesn't, and then copying over the old folders to the new location, but I'm not sure that's a good way to do it.

That sounds like a good idea, waiting on some input from the core team :)

I support this as a change, but agree we're going to need to cleanly handle this for existing installs. Since the download directory is a setting value, wouldn't it be possible to only use the new logic when first setting value is empty/new?
Also, we should add a comparable check in Windows (and macOS?).

Not sure what you mean by when the value is empty/new. The download directory setting can be left unchanged, and it seems like it acts as a configuration setting just like the other two, with the difference being that you can modify it.
I didn't change the Windows or macOS locations, so I don't think a check for them would do anything. I changed lbry to LBRY for consistency, but NTFS is case-insensitive, at least by default on Windows.

This needs to be accompanied with one of the three options
a) UI warnings that tells users to migrate their folder and instructions on how to do so.
b) Automatic migration that moves the files to the new location
c) If it detects that it was using the previous default folder configuration (basically it is not a fresh install with this PR) it uses the previous default folder configuration. Otherwise (its a fresh install with this PR) it uses the new configuration.
In b) and c), it needs to know about the previous default folder configuration. Thus, we need a function like old_default_dir() that resolves to ~/Downloads etc... and new_default_dir() for this PR.
In a) we need a detailed summary for users on what to do for each platform.

C is by far the preferred solution IMO.

Alright, I believe I've implemented option C, though not the functions @kaykurokawa mentioned. If those are still wanted I can implement that, but everything appears to work fine.
I've tested multiple configurations, both with a clean state, and using the old locations, and the new locations.

Will gladly merge this if you fix the above. Thanks for the detailed discussion/PR :-)

Alright, that should be about it. Thanks :)

Its worth consider if we really want to move our data directories to
default_data_dir = ~/.local/share/lbry/lbrynet
default_lbryum_dir = ~/.local/share/lbry/lbryum
The standard practice in cryptocurrency related project is to have them in ~/.cryptocurrency_name

That would be breaking an important standard, and littering people's home directories with folders that belong elsewhere.
Sia puts its things under ~/.config/Sia-UI, which isn't correct either

@zestyr
I think you should split up the migration into two PRs: the one here (for migrating only the lbrynet data folder), and another in lbryio/lbryum. The migration would have to handle cases where it is canceled midway through or where it otherwise fails, since it could otherwise lead to a lbryum wallet being lost, which would be no good.

There is no migration @jackrobison, so I'm not sure what you mean. If it's not a fresh install, or the user hasn't moved the folders manually, it simply falls back to the old folder locations.

The standard for most crypto project is what Kay describes! (For every crypto I've tried)

I understand, but in my opinion open standards for a given operating system are more important than following the mistakes made by similar projects. If you all disagree, fair enough, but then I'd like to turn it into a configurable option like the downloads directory.

@kaykurokawa @filipnyquist you have a good point that we should consider how other crypto projects do it. In this case, I think we're better off doing what's right rather than following the mistake that many projects make, so I'd like to merge this.
@zestyr did you test this on windows and mac?

@lyoshenka yep, all works as expected :)

great. could you please fix the merge conflicts and I'll merge it

Done @lyoshenka


Feat: Extension methods for CollectionBuilder{byte} structure

Close #37
What I did

Add extension methods for CollectionBuilder<byte> structure.

ToSystemString(in this CollectionBuilder<byte>)
AppendLiteral(ref this CollectionBuilder<byte>, string?)
AppendLiteral(ref this CollectionBuilder<byte>, scoped ReadOnlySpan<char>)
AppendUtf8Formatted<T>(ref this CollcetionBuilder<byte>, T value)

CollectionBuilder<T> structure provides enumerators that enumerate segments (as ReadOnlySpan<T>) in a collection builder.
New structure type CollectionBuilderConstants.Segments<T> that hides difference between dotnet runtime version.

In this PR, all changes are made to CollectionBuilder<T> structure and CollectionBuilderExtensions class, and testing classes for those types.
Tests for those types were successful (with command below), so it is safe to merge this PR.
dotnet test --filter "CollectionBuilder"


Run a subset of test-wpt with the --multiprocess option.

This is to check for regressions in multi-process. DO NOT MERGE THIS until after https://github.com/servo/servo/pull/10824 has landed, since it fixes https://github.com/servo/servo/issues/10853.

This change is

servo/servo#10824 has landed, so this should be good to go.
@bors-servo r+

:pushpin: Commit f52dcdb has been approved by aneeshusa

:hourglass: Testing commit f52dcdb with merge f97e08c...

:sunny: Test successful - travis


💡[FEATURE] : Expand Existing Sections

Description
Add more items or subcategories to the existing sections like "Support" or "Career building". For example, under "Support", you could add "FAQ", "Contact Us", or "Community Support".
Add New Sections: Introduce new sections that provide additional value to users. Possible options could include:
Partners: Information about your partners or sponsors.
Resources: Links to ebooks, whitepapers, or other downloadable content.
Newsletter: Sign-up form for a newsletter.
Testimonials: User feedback or success stories.
Social Media Feeds: Embedded feeds or links to your latest social media posts.
Screenshots

Checklist

[X] I have checked the existing issues.
[X] I have read the Contributing Guidelines
[X] I have read the Code Of Conduct
[X] The changes don't break the code

please assign this task to me


The search field on the inventory page does not search both JP and GL names.

If I am looking at the Inventory tab for the JP server, there is a search box that filters items/materia on the page.  The search behavior is inconsistent, and depends on what languages are set for an item's name.  If the item has only a Japanese name, that name is searched.  However, if the item has both an English and Japanese name, only the English name is searched.
Example: I just finished the FFIII rerun event, and that gave a "水属性耐性+15%" materia ("Water Resistance +15%").  When I enter "水" into the materia subpage's search field, I only get two results, "水底の悪魔" and "英雄の誓い・水".  Both of these materia do not have an English translation.  When I do a normal browser Ctrl+F search on the page, I get eight results.  The other six matches have English translations.
Similarly, searching for "オニオ" in the search box on the equipment subtab only shows Onion Knight's STMR, "オニオンブレード", which does not have an English translation.  The other four Onion Knight items do not show up. (Searching for "Onion" gives all of these plus Lulu's TMR, which uses "タマネギ" in the Japanese item name (the Japanese word for "onion"), instead of the transliteration "オニオン".

Corrected ! Thanks for reporting !


Create tests for Augur State

We will add new scenarios to this list as we think of them.
Current scenarios to test include:

[ ] Process crashes in middle of syncing
[ ] Process crashes in middle of adding new block from blockstream
[ ] Process crashes in middle of rollback

Closing as a dupe of #964


Break out array logic into separate reusable hook

What does this PR do and why?
Provide a description of what this PR does. Link to any relevant GitHub issues, Notion tasks or Discord discussions.
Screenshots or screen recordings
If applicable, provide screenshots or screen recordings to demonstrate the changes.
Acceptance checklist

[ ] I have evaluated the Approval Guidelines for this PR.
[ ] I have tested this PR in all supported browsers.
[ ] I have tested this PR in dark mode and light mode (if applicable).

Current dependencies on/for this PR:

main

PR #2156

PR #2169

PR #2170

PR #2171   👈

This comment was auto-generated by Graphite.

Graphite Merge Job
Current status: ⏳ Queued to merge
This pull request is currently queued to be merged as part of a stack.
This comment was auto-generated by Graphite.

Job Reference: vtVBnYDD1aIW70DZJ1cT


reduce the number of build targets in the travis matrix

https://travis-ci.org/pallets/flask/builds/236168998?utm_source=github_status&utm_medium=notification
there are currently 22 targets. There's no way those are all needed.

@davidism detox is awesome btw


⚠ 2 Minutes de génie (gitlab page) has degraded performance

In cd24c80, 2 Minutes de génie (gitlab page) (https://2mdg.gitlab.io/) experienced degraded performance:

HTTP code: 502
Response time: 3192 ms

Resolved: 2 Minutes de génie (gitlab page) performance has improved in a85e492.


Add --tolerations option to kots cli

What this PR does / why we need it:

see https://github.com/replicatedhq/kots/pull/5074
Which issue(s) this PR fixes:

Does this PR require a test?

Does this PR require a release note?

Does this PR require documentation?

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: laverya:x: Jim FalgoutJim Falgout seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


annotation missing?

I can't see why this isn't on the page?
It isn't in the logs and it's more specific than the 2 NAS (child of both)
/GO="aspect=P; term=iron import into the mitochondrion; GOid=GO:0048250; evidence=ISS; db_xref=GO_REF:0000024; with=SGD:S000003669; date=20160228"
SPAC4G8.08

also
/GO="aspect=P; term=iron import into the mitochondrion; GOid=GO:0048250; evidence=IC; db_xref=GO_REF:0000111; from=GO:0005381|GO:0005739; date=20171122"
this was present last week. The number of genes annotated to "mitochindrial transport" has dropped by 3. this is no longer annotated to mitochondrial transport.

these are the other 2
/GO="aspect=P; term=mitochondrial citrate transmembrane transport; GOid=GO:0006843; evidence=ISS; db_xref=GO_REF:0000024; with=SGD:S000000495; date=20040629"
/GO="aspect=P; term=iron import into the mitochondrion; GOid=GO:0048250; evidence=ISS; db_xref=GO_REF:0000024; with=UniProtKB:Q03218; date=20040507"

Short answer: wait a day or two and it will sort itself.
Gory details: I thought I saw log messages about GO:0048250 yesterday, but now I don't see a set of logs from the 15th or 16th. (If there was a build that didn't get saved, then I wasn't dreaming and all is well, as what I saw would mean the log checks were working.) But anyway, I don't think this is due to a bug on our end. Last week, the GO:0048250 annotations used GO:1990925, but the terms have since been merged. On Wednesday, I ran checks before committing a GAF update to GO, and the owltools checks flagged GO:1990925 because of the merge. That, in turn, got confusing because the checks used the latest editors' version of GO, and the merge was only in that version of GO; it hadn't propagated to other GO files, presumably including the one Kim loads into Chado.
I updated GO:1990925 to GO:0048250 in Artemis on Wednesday anyway, on the assumption that everything would wend its way through the various update pipelines and self-resolve.  The GO merge is now "live" in various released GO files, so the annotations should load and reach the web in due course.

OK thanks!

/GO="aspect=P; term=iron import into the mitochondrion; ...

Looks like that one is there now: https://www.pombase.org/gene/SPAC4G8.08


markdownlint should look for .markdownlint.jsonc until found

From what I understand currently markdownlint looks for .markdownlint.jsonc up until Visual Studio Code workspace folder or until current directory (if run via CLI). In my opinion it should not stop there, but instead look for the file in every parent directory, and stop on first found or when there is no more parent folder.
This is how in my opinion all linters/formatters work, e.g. ESLint, Prettier, EditorConfig. Some, like EditorConfig or .gitignore\.gitattributes read all the config files along the way and merge all settings , and some, like Prettier and ESLint just stop on first found  (from what I understand ESLint originally used so called "cascaded" approach, but now they do not). IMO the latter is the right approach for markdownlint. Prettier implements it via lilconfig.
Here is an example where it is useful behaviour (and exactly the one where I would use it):
Assume a repository with multiple projects in subfolders, like:
\repo\
    project1\
        .gitignore
        .markdownlint.jsonc <-- I do not want to repeat that file in every project!
        ...
    project2\
        .gitignore
        .markdownlint.jsonc <-- I do not want to repeat that file in every project!
        ....
    .gitignore
    .prettierrc

I can put multiple config files in the repository root, so that all projects inherit them, e.g. I can just open vscode in the project1 folder, but still settings from repo will apply. This works e.g. for .gitignore (but here I want additional per-project .gitignore files) or .prettierrc (just single one in my case, but if I want to I could add .prettierrc in project folder and then explicitely import settings from parent). Sadly currently I have to copy .markdownlint.jsonc in every project folder, or otherwise the settings are not picked up!

(I transferred this issue from the markdownlint project because that library does not implement the behavior you describe.)
This is a duplicate of https://github.com/DavidAnson/markdownlint-cli2/issues/53. You can read about why I have not implemented this behavior and follow the link to ESLint documentation for all the complexity/uncertainty this behavior causes for them.
I think that what you want to do is already supported by the --config parameter which can be used to point to your non-project shared options file.

Thanks for moving it to proper place and the reply and not closing it on-the-spot:)
I believe that originally ESLint used so called "cascaded" approach, in which settings from all parent folder are merged in. In the current approach, they just search for the first config, up to the root folder, which is exactly what I propose for markdownlint.

My reply above is similarly relevant for both approaches you describe. If you are using a single configuration file, the "config" parameter is even easier to use. I will close this issue now as a confirmed duplicate.


Add create scalar index to sdk

LGTM nice work!
I think you have a few linter errors:
cd ./node
npm run lint

><EMAIL_ADDRESS>lint
> eslint native.js src --ext .js,.ts

/Users/albertlockett/Development/lancedb/node/src/index.ts
  919:31  error  Trailing spaces not allowed      no-trailing-spaces
  920:7   error  Expected { after 'if' condition  curly

/Users/albertlockett/Development/lancedb/node/src/remote/index.ts
  400:31  error  Trailing spaces not allowed  no-trailing-spaces
  424:31  error  Trailing spaces not allowed  no-trailing-spaces

✖ 4 problems (4 errors, 0 warnings)
  4 errors and 0 warnings potentially fixable with the `--fix` option.

LGTM nice work!
I think you have a few linter errors:
cd ./node
npm run lint

><EMAIL_ADDRESS>lint
> eslint native.js src --ext .js,.ts

/Users/albertlockett/Development/lancedb/node/src/index.ts
  919:31  error  Trailing spaces not allowed      no-trailing-spaces
  920:7   error  Expected { after 'if' condition  curly

/Users/albertlockett/Development/lancedb/node/src/remote/index.ts
  400:31  error  Trailing spaces not allowed  no-trailing-spaces
  424:31  error  Trailing spaces not allowed  no-trailing-spaces

✖ 4 problems (4 errors, 0 warnings)
  4 errors and 0 warnings potentially fixable with the `--fix` option.

Thank you so much! Fixed!


Bazel 6 xlr

Builds off of #44 to include support for XLR generation in JS rules.

:rocket: PR was released in v1.0.0 :rocket:


Hornet Delete secondary not working

Describe the bug
After deleting active atsign from registrar, secondary not deleting
To Reproduce
Steps to reproduce the behavior:
Use any secondary created before February.
Delete the same
Atsign is deleting from registrar but secondary is still active
Expected behavior
Delete secondary

[ ] Handle create secondary with multiple clusters
[ ] Handle delete secondary with multiple clusters
[ ] Handle create SSL with multiple clusters

@cpswan @gkc @cconstab @athandle - Earlier I pointed IP of swarm0001 in Node API shell script to create/delete secondaries and when we were trying to delete hornet secondaries it was trying to delete on swarm0001 that's why it was failing. So I modified the shell script to handle both hornet and swarm0001 secondaries creation/deletion.
Below scripts -
infrastructure-create-sec.sh
`#/bin/bash
set +x
NAME=$1
PORT=$2
UUID=$3
DIR=$4
ATSECRET=$5
SWARM=$6
echo $NAME
echo $PORT
echo $UUID
echo $DIR
echo $ATSECRET
echo $SWARM
if [[ "$(echo "$SWARM")" == "hornet" ]]; then
echo "Creating secondaries on hornet"
ssh -i /home/swarm/.ssh/id_rsa -o "StrictHostKeyChecking=no"<EMAIL_ADDRESS>"cd /gluster/@/api && ./create_sec.sh $NAME $PORT $UUID $DIR $ATSECRET $SWARM"
elif [[ "$(echo "$SWARM")" == "swarm0001" ]]; then
echo "Creating secondaries on swarm0001"
ssh -i /home/swarm/.ssh/id_rsa -o "StrictHostKeyChecking=no"<EMAIL_ADDRESS>"cd /gluster/@/api && ./create_sec.sh $NAME $PORT $UUID $DIR $ATSECRET $SWARM"
else
echo "Swarm Cluster doesn't exist"
fi`
infrastructure-delshell.sh
`#/bin/bash
set +x
NAME=$1
PORT=$2
UUID=$3
DIR=$4
ATSECRET=$5
SWARM=$6
echo $NAME
echo $PORT
echo $UUID
echo $DIR
echo $ATSECRET
echo $SWARM
if [[ "$(echo "$SWARM")" == 'hornet' ]]; then
echo "Deleting secondaries on hornet"
ssh -i /home/swarm/.ssh/id_rsa -o "StrictHostKeyChecking=no"<EMAIL_ADDRESS>"cd /gluster/@/api && ./delete $NAME $PORT $UUID $DIR $ATSECRET $SWARM"
elif [[ "$(echo "$SWARM")" == 'swarm0001' ]]; then
echo "Deleting secondaries on swarm0001"
ssh -i /home/swarm/.ssh/id_rsa -o "StrictHostKeyChecking=no"<EMAIL_ADDRESS>"cd /gluster/@/api && ./delete $NAME $PORT $UUID $DIR $ATSECRET $SWARM"
else
echo "Swarm Cluster doesn't exist."
fi`

Thanks Narendra
Which GitHub repo are these scripts in?
Cheers

Gary

Message ID: @.***>

The delete script should be modified to make use of .env along similar lines to the other multi domain scripts.
It's then just a question of invoking the script on the correct host, which should probably be done by name rather than if ... elif .... In the migrate_secondary.sh script this just does:
# remove old service
gcloud compute ssh --zone "us-central1-a" --project "secondaries" "$SRC_DOMAIN"-01 \
  --command="${TURNDOWN_CMD}" -- -n

@cpswan - Made all changes and raised PR for review.
Below changes -

@cpswan - Deployed to prod and now we can close this.


Hung beam.smp sitting at 100% CPU

Description
13:56 <+davisp> 1) I've seen some test cases sit idle for 40-50m+. SSH'ing to the node
                holding that job shows beam.smp spinning at ~100% CPU on the node.
                Unfortunately using `kill -SIGUSR1 $pid` to try and generate a crash dump
                does not work.

Steps to Reproduce
Unsure so far. Perhaps an EUnit soak test would work.
Expected Behaviour
beam should not hang.
Your Environment
This has occured on IBM Cloud (x86_64, docker) workers as well as our FreeBSD (12.1, iocage, no docker) workers during various builds.
Additional Context
Unclear if this is specific to Jenkins, to the version of Erlang we're using, or if this is genuinely a release blocking issue.

One note, the FreeBSD variant of this that was seen was during an eunit test of couchjs, though the error was:
couch_js_tests: couch_js_test_...out of memory

Output of top on the affected FreeBSD node:
  PID USERNAME    THR PRI NICE   SIZE    RES STATE    C   TIME    WCPU COMMAND
 1895 jenkins      24  52    0  1185M    71M select   1 663:13  99.73% beam.smp
27828 jenkins      24  52    0  1173M    63M select   3 521:32  99.57% beam.smp
31174 jenkins      24  52    0  1156M    68M select   1 503:54  98.30% beam.smp

So, not from the run that ran out of memory itself. Looking back farther for builds on this node, I see we're going out to lunch during eunit pretty badly (pay close attention to the timestamp)
[2020-01-09T16:20:45.493Z] [os_mon] cpu supervisor port (cpu_sup): Erlang has closed
[2020-01-09T16:20:45.493Z]     [done in 0.200 s]
[2020-01-09T16:20:45.493Z]   Check index files cleanup
[2020-01-09T16:20:45.493Z]     clustered
[2020-01-09T16:20:45.848Z]       couchdb_mrview_tests:155: should_cleanup_index_files...[0.084 s] ok
[2020-01-09T16:20:45.848Z]       [done in 0.102 s]
[2020-01-09T17:38:30.777Z] Sending interrupt signal to process
[2020-01-09T17:38:50.777Z] After 20s process did not stop

Another run that failed similarly:
[2020-01-09T18:38:50.214Z] module 'couch_mrview_purge_docs_tests'
[2020-01-09T18:38:50.214Z]   Map views
[2020-01-09T20:00:12.530Z] Sending interrupt signal to process
[2020-01-09T20:00:32.530Z] After 20s process did not stop

Version of Erlang on that node:
Erlang/OTP 21 [erts-<IP_ADDRESS>] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [dtrace]

Our FreeBSD workers still have SpiderMonkey 1.8.5, though SM60 is now available.
@davisp @jiangphcn I'm worried that all of these failures seem to be mrview related. With the couchjs SM60 changes recently, could the bug be in both the 1.8.5 and 60 versions, or how we handle the view process?

This is 100% repeatable now on FreeBSD when a build is aborted. The Jenkins termination process leaves beam.smp jobs lying around.
This may be related to how Jenkins kills jobs on FreeBSD, or it could be something else.
I can try and force a core or something on the hung beam.smp if someone can help diagnose this.

https://ci-couchdb.apache.org/blue/organizations/jenkins/jenkins-cm1%2FPullRequests/detail/PR-2452/6/pipeline appears to have stalled - I'll restart it in the UK morning in case there's anything useful to be gleaned from it today.

14:20 <vatamane> i had managed to lock beam on a mac when it was running eunit tests and I
                 was compiling fdb from scratch, so all cpus were busy and memory usage
                 was high
14:20 <+Wohali> what version of beam
14:20 <+Wohali> fbsd is currently on 21.something, i have to check
14:21 <vatamane> backtraces showed only one scheduler (#1) spinning and most other waiting
                 on a condition variable
14:21 <vatamane> <IP_ADDRESS>
14:21 <+Wohali> looks like fbsd is <IP_ADDRESS>,4 so that lines up
14:22 <+Wohali> could this be another scheduler collapse?
14:23 <vatamane> since I saw the child_setup_failed which deals with forking ports
                 (processes) like couchjs and cleaning them up and so on
14:24 <+Wohali> i guess we'll have to go spelunk into recent erlang changes in all that
14:25 <+davisp> Wohali: Probably that yeah. Specifically I'd go look at the commit history
                to that child_setup helper
14:26 <+davisp> https://github.com/erlang/otp/commits/master/erts/emulator/sys/unix/erl_ch
ild_setup.c
14:26 <+Wohali> ok, at least there's a direction. i'll paste this convo into the bug
14:26 <+Wohali> ty for the pointer

I have a backtrace I had saved
vm_stuck_bt.txt


Change p5 dependency version to minimum 1.4.1

Discussed in https://github.com/P5-wrapper/react/discussions/317

Originally posted by taliacotton February 15, 2024
I've noticed the component depends on a specific version of p5 (as of right now I see 1.9.0). I was wondering if there's a way to control which version of p5 it uses. The reason for this is that there are certain features of p5 in prior versions, so I'm wondering if it's possible to downgrade the version. Thanks!
// package-lock.json
    "node_modules/@p5-wrapper/react": {
      "version": "4.3.2",
      "resolved"<EMAIL_ADDRESS>      "integrity": "sha512-m7MoL63grVVyu39czEi3V3tz29VM4zzd4K9MjNWZ5t7jb4itgHpw6FCiSG2JzU1SqElKgo9ny8NliavPWYYdrw==",
      "dependencies": {
        "microdiff": "^1.3.2",
        "p5": "^1.9.0"
      },
      "peerDependencies": {
        "react": ">= 18.2.0",
        "react-dom": ">= 18.2.0"
      }
    },
```</div>

What specifically is 1.9 missing that you need from 1.4? The main point is security updates, lowering the version would open the package and consumers of the package up to CVEs which are patched in the latest versions.

Makes total sense. There are a couple bugs in the current p5 version that you can see here and here, which they've flagged. As a temporary fix since I'm working on a time-sensitive project that depends on that update, I was hoping to revert back to an older version of p5... but I'm unable to do that too 😅 Hence my request.
Thank you!

I see your comments in those threads, indeed these are issues but do the workarounds suggested such as pixel density not work for your needs? If not, I'll consider making p5 a peer dependency but that would entail a new major release since it would disrupt existing user installs and also the other aforementioned topics would need documented and so on too.

Give me this evening (it's 8pm in Germany right now) to think about it, you'll know my decision by the morning 😜

omg💖

@jamesrweb I left some suggestions in the Discussions thread on how to avoid using a peer dependency

Version 4.3.3 is now released and you should be able to request that version of p5 now @taliacotton. Let us know if it works for you or not and we can either close this issue or work on a fix then.
CC @yevdyko

Closing issue due to inactivity, @taliacotton - please comment here again if you have any issues with the latest deployed version and I can reopen this issue again. Otherwise I hope your problem is solved and good luck with your project 🍀😊


Warn: command 'macros.commentDown' not found

Giving this extension a whirl, but I am unable to get it working even with the basic example supplied.  I have added to the User settings (and you can see it also has the same error reported )

Well, as usual, when in doubt reboot.  In this case, quit VSCode and relaunched and now all works as expected.  Sorry for the noise


fix: read a large range without error and add test

I hereby agree to the terms of the CLA available at: https://databend.rs/dev/policies/cla/
Summary
Summary about this PR
Close #943 fix error if block range read with a large range and add test for it.

[2022-12-12T09:54:23Z DEBUG opendal::services] service=s3 operation=read path=ffbd8eab-4916-4b12-b302-a4a4387b7ada.gz range=0- -> got reader
[2022-12-12T09:54:23Z DEBUG opendal::services] service=s3 operation=read path=d2fba631-9198-49c6-b55f-f64bcfd468c8 range=1139367-18446744073709551614 -> got reader
[2022-12-12T09:54:23Z DEBUG opendal::services] service=s3 operation=read path=d2fba631-9198-49c6-b55f-f64bcfd468c8 has_read=2034952 -> dropped reader
thread 'services_s3_write::test_read_large_range' panicked at 'assertion failed: `(left == right)`
  left: `2034952`,
 right: `895585`: read size with large range', tests/behavior/write.rs:425:5

Interestingly, minio failed this test case. But minio should support range requests. We need more invetisgating.

minio will parse range into int64:
https://github.com/minio/minio/blob/444ff20bc5268d61b329c1d1bc7eb22aeb5f96de/cmd/httprange.go#L106-L164

Okay, let me try.

It seems that tests on hdfs are not stable

It's a known issue about hdfs's test: https://github.com/datafuselabs/opendal/issues/465
And I have no idea on this, let's just retry it.


feat(DepartureTimes): Show certain formats based of mode type

Summary of changes
Cancelled and Delayed formatting should only happen on the Commuter Rail, Ferry, and Bus.
For subway if it is cancelled or delayed only show the next time.

Asana Ticket: Departure Cards Cancelled and Delayed Times

General checks

[ ] Are the changes organized into self-contained commits with descriptive and well-formatted commit messages? This is a good practice that can facilitate easier reviews.
[ ] Testing. Do the changes include relevant passing updates to tests? This includes updating screenshots. Preferably tests are run locally to verify that there are no test failures created by these changes, before opening a PR.
[ ] Tech debt. Have you checked for tech debt you can address in the area you're working in? This can be a good time to address small issues, or create Asana tickets for larger issues.

New UI, or substantial UI changes

[ ] Cross-browser compatibility is less of an issue now that we're no longer supporting IE, but changes still need to work as expected in Safari, Chrome, and Firefox.
[ ] Are interactive elements accessible? This includes at minimum having relevant keyboard interactions and visible focus, but can also include verification with screen reader testing.
[ ] Other accessibility checks such as sufficient color constrast, or whether the layout holds up at 200% zoom level.

New endpoints, or non-trivial changes to current endpoints

[ ] Have we load-tested any new pages or internal API endpoints that will receive significant traffic? See load testing docs
[ ] If this change involves routes, does it work correctly with pertinent "unusual" routes such as the combined Green Line, Silver Line, Foxboro commuter rail, and single-direction bus routes like the 170?

To see the specific tasks where the Asana app for GitHub is being used, see below:

https://app.asana.com/0/0/1204554128687100

I am starting to feel like the goal posts of these requirements are constantly moving and becoming impossible to nail down

Was just citing a bullet from the linked ticket.


respect tappable prop on android

Does any other open PR do the same thing?
No.
What issue is this PR fixing?
https://github.com/react-community/react-native-maps/issues/1002
How did you test this PR?

Create a Polygon and tap on it on Android.
Observe onPress event from Map.
Add tappable prop to polygon.
Observe lack of onPress event from Map.

LGTM @alvelig 🐽

Can you add 'tappable' prop to Polyline too?
Because i have the same issue with Polyline OnPress


add OpenMP acceleration?

There is huge discrepancy between speed of GPU and CPU code (>100x), which is a bit unfair because modern multi-core vectorized CPUs are able to provide much higher performance than what we are currently using.
Adding vectorized version of forcefield evaluation and probe-particle relaxation should be rather staightforward. Although it is a question if there is considerable motivation to do that when we have already super vast OpenCL implementation?

@yakutovicha @NikoOinonen
I see something about that continuous integration has failed
https://github.com/Probe-Particle/ppafm/actions/runs/6744438095/job/18334286134
but the problem is in parts of code I did not touched (OpenCL, Reikna etc.)

@ProkopHapala Thank you! It seems to be working fine even on my crazy Windows laptop!


Pass in multiple schemas validation

Allow clients to validate data against multiple schemas
Provide results categorised by the individual schema definition to support client's handling errors in different way depending on the schema
This will support SharePoint functionality where both system and additional metadata will be loaded and validated

Closing for now


Getting transactions bug

Operation System
Windows 10 - Latest Build
Expected Behavior
dApp should have functioned properly.
Current Behavior
Installed the latest version of the dApp. Entered my seed key in and there was nothing on the dApp screen, no $TKL balance nor NFTs. Then the dApp screen turned into 'getting transactions' but it has been more than 17 hours and the process is still ongoing.
Steps to Reproduce

Opening the dApp

Entering seed key

dApp stands idle for a few minutes -it also doesn't show any $TKL balance nor NFTs at this stage-

Then turns into 'Getting transactions' screen and it keep doing so

Possible Solution (Not obligatory)
Maybe some internal problems with the nodes?

I believe this has been fixed in the latest release and with updated blockchain nodes. @GingerDesigne please confirm whether you're still getting this issue?

Hello @NutellaLicka
Just checked it with the latest build of the dApp and it looks perfectly smooth now. No lagging, no getting transactions error ever. My thanks.


signal-hook-async-std: Switch to using async-io + futures-lite

Switch to async-std's underlying async-io and futures-lite crates for
better compatibility with smol and using fewer dependencies in general.
Doing this also does not substantially changing the code, which is a
plus.

It shouldn't be a breaking change, however it may not work with every version of async-std, I'd have to test it. I think it will work, just with extra dependencies, but I'm not sure. As an alternative, we could maintain a separate crate with these changes.

It shouldn't be a breaking change, however it may not work with every version of async-std, I'd have to test it. I think it will work, just with extra dependencies, but I'm not sure. As an alternative, we could maintain a separate crate with these changes.

I don't think this is a breaking change but it probably should be tested against older versions of async-std to make sure it works. Alternatively, this patch could be a separate crate.

I don't think this is a breaking change but it probably should be tested against older versions of async-std to make sure it works. Alternatively, this patch could be a separate crate.

Thinking about it again, let's not complicate things too much :-). It's still 0.* crate without any explicit stability guarantees and if it works on the new version, it's probably fine ‒ if one updates one library, they should also update the others at the same time if possible anyway.
Adding another very similar crate would probably only confuse users and increase the maintenance burden. So let's keep the name as it is.

Thinking about it again, let's not complicate things too much :-). It's still 0.* crate without any explicit stability guarantees and if it works on the new version, it's probably fine ‒ if one updates one library, they should also update the others at the same time if possible anyway.
Adding another very similar crate would probably only confuse users and increase the maintenance burden. So let's keep the name as it is.


BC Promise until 1.0

As per discussion in #225

What kind of promise should we make?

BC preserved when possible (like in case of #225), but 1.0 will be released without any deprecations introduced during the development phase.


Feature request: Async with filtering

Hi,
We have 2 sliders on the same configuration as the "Slider as Nav For / sync" example.
When you try to filter those sliders, an issue is encountered, see example :
http://jsfiddle.net/dk0nsf9s/2/
At the click the thumbnail 3, it's the big image 5 that appears.
Thanks you a lot your help

I've updated stivon's jsfiddle for 1.5.0: http://jsfiddle.net/vpa60kt9/2/
The interesting thing is that the dots work correctly, but it's when you click on a slide in the carousel nav that things get all funky.

Yeah, I'm having this issue as well. We have 2 sliders, using the nav syncing. It seems that after using slickFilter, the two sliders don't quite work.

So, it appears currentSlide and nextSlide are no longer accurate after a slickFilter. They are still 0-incremented, but they are no longer a reliable way to get the current and next slides by data-slick-index.

Any fixes? Looks similar to https://github.com/kenwheeler/slick/issues/2500, but I can't get anything to work via slickFilter.

On a current project, we've done something like this:
    $('#asNavForElement .slide').each( function(i) {
        $(this).attr('data-slick-index', i);  // .data() does NOT work
    })

after we apply the filtering to set the slick-index as the code seems to expect.

While japherwocky is more efficient when things are filtered once but clicked on repeatedly, fixing the library might be in
Slick.prototype.asNavFor = function(index) {
this:
         asNavFor.each(function() {
             var target = $(this).slick('getSlick');
             if(!target.unslicked) {

                if (_.$slidesCache !== null) {

                     var filteredIndex = index;

                     target.$slides.each(function(slideIndex,slideElement) {

                          if (filteredIndex == $(slideElement).data('slick-index')) {

                               index = slideIndex;

                          }

                     )

                }
               target.slideHandler(index, true);
           }
       });


Cache locality

Using boxed arrays leads to fragmented addresses, reducing cache performance.
I could:

Ignore the problem until it really hurts
Implement some kind of jank compaction scheme (probably using compact)
Force almost everything to be Unboxed or Storable
Use a serialization library? How bad could serializing/deserializing be?

Question: how do other ECSes in GCed languages deal with boxing?

The only way to control boxed memory layout (AFAICT) is to use compact, which is immutable. Maybe provide a Compacted component storage type for long-lived [mostly] read-only data?


chore(main): release 1.5.4

:robot: I have created a release beep boop
1.5.4 (2024-11-27)
Bug Fixes

chart style & home bg (827f9df)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v1.5.4
:sunflower:


Module ctc.evm has not attribute(s)

Hi,
Attempting run some basic queries (these directly are from the doc example pages):
e.g.
from ctc import evm
  contract_address = '0xd8da6bf26964af9d7eed9e03e53415d37aa96045'
  transactions = await evm.async_get_transactions_from_address(address)
  len(transactions)

results in:
> ---------------------------------------------------------------------------
> AttributeError                            Traceback (most recent call last)
> /tmp/ipykernel_3288/4106459712.py in async-def-wrapper()
>       4 len(transactions)
>       5
> ----> 6
>
> AttributeError: module 'ctc.evm' has no attribute 'async_get_transactions_from_address'

While calling other evm.async_X methods work absolutely fine, is something wrong with the namespace?
e.g.
from ctc import evm

dao_address = '0x0bef27feb58e857046d630b2c03dfb7bae567494'

proposals = await evm.async_get_events(
    contract_address=dao_address,
    event_name='ProposalCreated',
)

returns as expected
Any ideas here? I have tried installing via pip and building directly from source (at current repo state) - same odd result for both routes.
Thanks - I love the tooling here.

the function async_get_transactions_from_address is in the upcoming 0.3.0 release
the version of ctc on pypi is only 0.2.10, so it doesnt have it yet
which commit did you build from? building from latest commit should have it. maybe make sure the older pypi version is totally removed?

Kindly open this live chat link to talk to the customer service directly on your issue  https://direct.lc.chat/14334663/

now resolved with ctc 0.3.0


decl_storage: storage the key alongside the value to be able to iterate on key/value

as follow up of https://github.com/paritytech/substrate/pull/4185#issuecomment-562122935
It would be interesting to introduce a way in decl_storage to tell to store the key alongside the value.
at the end the storage will have the data: (value, key).
This way when iterating on prefix we could actually iterate on (key, value) instead of just value.
This could be just a new attribute.
Implementing the StorageMap and other trait is not straightforward, here are some difficultyies:

StorageMap::append is implementing to work on the raw not decoded value. If the raw value is (value, key) we can't call scale_codec::EncodeAppend::append on it because we need to give only the raw data for the value.
multiple solution here:

store actually (key, value), decode the key, the remaining byte are the raw value.
not very good because get function will also have to decode the key.
store (value, key, key_length), so we can use key_length to split the raw data.
(key_length is encoded on 4 byte or in a compact encoding but reversed so we can decode from the end)
implement a new EncodeAppendPreserving which does append on a raw data while preserving the suffix.
store (value, key) and just decode the value, thus there won't be any optimisation anymore, it will be same as using mutate.

StorageMap::swap: we can't swap the raw data anymore, solutions:

if we store (key, value) then we have to decode the key only and then we can swap split and swap the raw values
if we store (value, key) we have to decode the value and then we can split and swap the raw value
if we store (value, key, key_length) then we decode key_length and then we can split and swap the raw value.

for encode_append, we can't append on the raw data anymore as encode_append support only having the data as input.
we could extend encode_append to be able to append on some value while keeping the data in suffix.

I don't understand this. Could you explain it better? Why can we not append (key, value)?

indeed I updated the message for more clarity, the initial idea was to store (value, key) so we don't have to decode the key on operation such as get and mutate.
If we store indeed (key, value) then append operation can work easily just decoding key and working the raw value.

Ahh, yeah, now I understand :) We could maybe thing of a skip() method for skipping data in the encoded blob. So, we could use (key, data), skip the key and use data to append the stuff. Or we just prepend the length of the key.

I think this should be close as we are now storing keys in hash


PersistedGrants not being used

I've implemented IPersistedGrantStore, and defined a Client that has properties RequireConsent and AllowRememberConsent set to true. I've also removed offline access scope from that client as I've read somewhere that you always force Consent if offline access scope is requested, as per specification.
When I go to the login screen the first time, I'm presented with consent view, click allow and remember my decision, I can see the record in DB table PersistedGrants being added with type user_consent. Next time I try to login, that record is fetched from database by my implementation of IPersistedGrantStore, but the consent view is still presented. If I then click allow again, DB throw an exception because IS is trying to insert another PersistedGrant record with the same key.
Did I overlook certain setting that would make it behave as expected?
PS. I've implemented all major stores and everything is kept in SQL Server db, not using any of those InMemory stores.

After substantial amount of debugging, here's what the problem was:
_ScopeListItem.cshtml from 6_AspNetIdentity sample, has this section of code
@if (Model.Required)
{
input type="hidden" name="ScopesConsented"<EMAIL_ADDRESS>/>
}
This is evidently rendered only if the scope is marked as required. Those scopes that are marked as Required are only ones that get posted to controller action.
In my case I had a Client requesting OpenId and Profile as standard scopes, and also three scopes defined by my ApiResource. Admittedly I didn't mark the Api scopes as required, but the problem was also that the Profile scope wasn't required by default.
So when saving the Consent, the Data property didn't contain Profile scope, and there was a mismatch of requested and consented scopes on all following login attempts, which triggered the Consent process.


Custom data with many floating objects

In the practical process, I found that using sample data for training resulted in perfect training results. However, the data I captured with my phone had many floating objects in the training results. Is this related to filming? Before doing data preprocessing, I need to perform special operations on the raw data to make it better match the standards of model training. Look forward to your reply

maybe this url could help you：https://medium.com/@heyulei/capture-images-for-gaussian-splatting-81d081bbc826


In-page tables, URL Bookmarks not rendered

Hello and a big thumbs up to all involved in this project!
I could get my blog set up in minutes, however faced some issues with:

In-page tables
Notion

Rendered

URL Bookmarks
Notion

Rendered

So, as shown, these elements are simply going missing. Would love to have some discussion, this would help me to reframe the elements other ways, or if this's expected I could also work on a PR to fix this, thanks! :)

I worked
https://github.com/ijjk/notion-blog/pull/64


SNMPv3 parameters in config.yaml

Hey! First thing first, thanks for thola!
% ./thola --version
v0.3.5

I would like to set my SNMPv3 parameters in the config.yaml file, I tried:
device:
  snmp-communities:
  - mycommunity
  snmp-versions:
  - 2c
  - 3
  snmp-v3-auth-key: <redacted>
  snmp-v3-auth-proto: MD5
  snmp-v3-level: "authPriv"
  snmp-v3-priv-key: <redacted>
  snmp-v3-priv-proto: DES
  snmp-v3-user: <redacted>

but it didn't work: Error: invalid request: no SNMP v3 level provided.
As I'm not very familiar with Golang code, I didn't succeed to spot where the config parsing happen...
Is what I'm trying to do possible? Thanks!

Hey, there was indeed a bug with the SNMP v3 data readout from the config. Your config is valid, the bug should be fixed in the next version.
Thanks for reporting!


SlashCommandBuilder.toJSON() report error from zod

Issue description
When creating a SlashCommandBuilder and doing toJSON() zod thrown about an recived undefined and expect a string.
Step to reproduce:

Import SlashCommandBuilder from @discordjs/builders
Create a new Builder and call toJSON()
zod should throw an error from node_modules/zod/lib/index.mjs:1

zodError.log
Code sample
import { SlashCommandBuilder } from "@discordjs/builders";
new SlashCommandBuilder().setName("test").toJSON();

@discordjs/builders version
0.9.0
Node.js version
node.js v17.2.0 | Typescript 4.5.4
Operating system
Windows 11
Priority this issue should have
High (immediate attention needed)

Is your code..minified/bundled at all? Because it definitely throws an error, as seen at the end, but a really, REALLY not helpful one

The issue is you didn't provide a description but the description is required.

Is your code..minified/bundled at all? Because it definitely throws an error, as seen at the end, but a really, REALLY not helpful one

No, i having this issue from typescript (and tsc) but i tried directly from nodejs and still throw error

The issue is you didn't provide a description but the description is required.

Sorry, i added it.

That's not what @Khasms meant haha. You need to call .setDescription on the builder you created! For further questions, feel free to ask in our Discord server

That's not what @Khasms meant haha. You need to call .setDescription on the builder you created! For further questions, feel free to ask in our Discord server

I known that is not he mean but really, i don't known what to write, the errore is useless.
Anyway, thanks for help.

Hrmm, true true, the errors could be better.. I'll be reopening this but with a different title 👍

Hrmm, true true, the errors could be better.. I'll be reopening this but with a different title 👍

I updated the description to made that more consistent with title

Hi there, the only alternative as I can see it is to wrap parsing with a custom error that sets this.stack = undefined, resulting in the below:

import { z, ZodIssue } from 'zod';

export class ValidationError extends Error {
	public constructor(public readonly issues: ZodIssue[]) {
		super('A validation error has occurred.');
		this.name = 'ValidationError';
		this.stack = undefined;
	}
}

export function parseZodSchema<T extends z.ZodType<any>>(schema: T, data: unknown) {
	try {
		schema.parse(data);
	} catch (error) {
		if (error instanceof z.ZodError) {
			throw new ValidationError(error.issues);
		}
	}
}

If this seems like a good tradeoff to you I'm willing to PR it. If consumers would expect a validation error for some reason the ValidationError class can be exported so it can be caught.
Kind regards,
Hampus Kraft.

I can't reproduce the code dump at the beginning of the error, it outputs as it should on my end. But, as far as the error not being helpful, I opened #61 a week ago to improve them, so give some feedback on that if you see any other messages that need to be improved.

Not a good tradeoff since that makes parsing +2x slower, which adds up to how slow Zod's validation alreaady is, see https://github.com/discordjs/discord.js/pull/7067#issuecomment-989502034


Updated internal  URL links

Thanks for suggesting changes to keep our links up to date! Are the http://support-policy.farm.bot and http://vulnerabilities.farm.bot links not working for you? We prefer to use *.farm.bot link redirects where possible to avoid hard-coding URLs with pages and versions that may change.
If the *.farm.bot link redirects are not working for you we can investigate updating the redirect records, but we would need more information since they appear to be working correctly as is.


Add Dong Nai University Of Technology

Add Dong Nai University Of Technology in Vietnam

@TrieuVo165 uni.txt I am sorry, I have to close the request without merging, because you made a mistake in a request and did not specify any filepath. Please ensure that you are familiar with this repository rules located at the bottom of this page and make a new correct request. Thank you for your understanding!


python311Packages.contexttimer: mark as unsopported on python 3.12

Description of changes
This package has not seen a commit since 2019. It is currently broken on python 3.12:
AttributeError: 'ContextTimerTest' object has no attribute 'assertRegexpMatches'
I propose to mark it as unsupported on this interpreter.
cc @AtilaSaraiva
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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


Updated zenodo links and added additional information to tools

I added some information to the tools and updated the zenodo links

Thanks @Matthias313 for updating the tutorial!!!


How to construct a complex Object from Record?

I can't seem to construct a multi-field argument without several errors: Here's what I have so far:
type QuoteGQL = GQLAPI.Object "QuoteGQL" '[]
  '[ GQLAPI.Argument "symbol" Text :> GQLAPI.Field "globalQuote" QuoteR ]

type QuoteR =  GQLAPI.Object "QuoteR" '[]
  '[ GQLAPI.Field  "symbol"           Text
   , GQLAPI.Field  "open"             Text
   , GQLAPI.Field  "high"             Text
   , GQLAPI.Field  "low"              Text
   , GQLAPI.Field  "price"            Text
   , GQLAPI.Field  "volume"           Text
   , GQLAPI.Field  "latestTradingDay" Text
   , GQLAPI.Field  "previousClose"    Text
   , GQLAPI.Field  "change"           Text
   , GQLAPI.Field  "changePercent"    Text
  ]

data QuoteRecord = QuoteRecord  { symbol              :: Text
                                , open                :: Text
                                , high                :: Text
                                , low                 :: Text
                                , price               :: Text
                                , volume              :: Text
                                , latestTradingDay    :: Text
                                , previousClose       :: Text
                                , change              :: Text
                                , changePercent       :: Text
                                } deriving (Eq, Show, Generic)

makeQuoteR :: QuoteRecord -> Maybe QuoteR
makeQuoteR qr = GQLV.objectFromList
  [ ( "symbol",           TV.toValue $ symbol qr)
  , ( "open",             TV.toValue $ open qr)
  , ( "high",             TV.toValue $ high qr)
  , ( "low",              TV.toValue $ low qr)
  , ( "price",            TV.toValue $ price qr)
  , ( "volume",           TV.toValue $ volume qr)
  , ( "latestTradingDay", TV.toValue $ latestTradingDay qr)
  , ( "previousClose",    TV.toValue $ previousClose qr)
  , ( "change",           TV.toValue $ change qr)
  , ( "changePercent",    TV.toValue $ changePercent qr)
  ]

makeQuoteGQL is failing to typeCheck with
Expected type: Maybe QuoteR
Actual type: Maybe (GQLV.Object' GQLV.ConstScalar)
How on Earth can I construct a QuoteR  - I need to use the record type as an intermediary because GQLAPI.Object does not implement FromJSON
what am I missing for these more complex types?

So this is where I think something is wrong with how we do things in graphql-api, we don't have a way to automatically derive haskell records from/to graphql ASTs (hence my issue there: https://github.com/haskell-graphql/graphql-api/issues/211)
To answer your question, you can't create a QuoteR, it's a simple "alias" to a GQLV.Object' GQLV.ConstScalar, this means in particular that this type is never embodied in your graphql server, it's just resolved in a its handler but that's it.

The reason why it works this way is, as far as I understand it, that subtyping in haskell is hard and subtyping is very much the idea of graphql, the AST (graphql Values in this project) way of doing it is a way to solve the problem, but as of today it creates A. a lot of boilerplate to create a schema in the GQL DSL and with the classical haskell way and B. a weird understanding for the layperson beginning with the lib (as opposed to something like Deriving GQL automatically like aeson does it for json)...
I wish we could define our schemas juste with plain haskell objects like:
data QuoteRecord = QuoteRecord  { symbol              :: Text
                                , open                :: Text
                                , high                :: Text
                                , low                 :: Text
                                , price               :: Text
                                , volume              :: Text
                                , latestTradingDay    :: Text
                                , previousClose       :: Text
                                , change              :: Text
                                , changePercent       :: Text
                                } deriving (Eq, Show, Generic, GQL)

But it's not possible in this lib (and seemingly won't be possible in the near future, but I might be missing something).

@theobat - I understand that it's a simple alias,  however I can't even seem to construct the alias above - shouldn't I be able to build a GQLV.Object' GQLV.ConstScalar that IS a QuoteR using the makeQuoteR function?, and likewise to wrap it with a GQLV.Object' that is a QuoteGQL?   I feel like I'm missing something in the construction

Well it's not even an alias, I was wrong (but it's the same problem for me, it's just worse than I thought) it's a schema definition, it's completely unrelated to the Object value that you constructed (which I tried to explain with my own words):

GQLV.Object' GQLV.ConstScalar is on the Value module
QuoteR is an instance of Object in the Schema

-- this is for what you built
data Value' scalar
  = ValueScalar' scalar
  | ValueList' (List' scalar)
  | ValueObject' (Object' scalar)
  deriving (Eq, Ord, Show, Functor)

-- this is for QuoteR
data Object (name :: Symbol) (interfaces :: [Type]) (fields :: [Type])

And by the way it seems like there's no constructor at all for the data Object of the schema. Which would very much align with what I said above, you cannot build a value for QuoteR. I don't think this is the right approach, but it's the one in this lib (and any alternative with a more intuitive embedding int the haskell type system brings its own set of problems).
@jml @teh if you care to comment, I'd be curious about what you think of all that :)

@theobat  - thanks for confirming my suspicions,   that there is no way to actually construct my type

You are right @theobat - the only way to construct a result is via a handler.
The idea at the time IIRC was that we only wanted to execute a resolver when required, e.g. imagine change in QuoteRecord being more expensive than the other fields so you only want to compute change when the client requests that field.
If you mostly care about convenience I think it'd be possible to write a generic resolver for records because we already have one for sum types to enum here: https://github.com/haskell-graphql/graphql-api/blob/master/src/GraphQL/Internal/API/Enum.hs#L113


updating padding values across chat message types

Fixes #1675
I'm taking some time to comb through a number of components that have been overdue for some tweaking of minor values.
Some edits include:

Increase the space between chat message authors in order to match design spec
Updating padding values for DateDivider to match design spec
Minor padding adjustments to various reference components: NoteReference, ReferenceBar, WritBaseReference

Assigning myself to unblock @urcades


kbdownload1-a.akamaihd.net is down

I just noticed that all links from kfw.db.js to kbdownload1-a.akamaihd.net have been down for a week or more.
Is this a temporary problem, or is there a changeover to a new CDN? I see that the website now always refers to cdn.kobo.com.

They switched to Cloudflare. I've updated the old links.


Equation solving

As a user, I want to directly see the result of an equation I entered in order to minimize my interactions with Algernon.

Just curious: Why restrict this feature to mathematical expressions only? I would find it very exciting if we could see the preview of any other Smalltalk expression (Float pi i exp, 'foo' capitalized, ...) as well. :-)

Probably related: https://github.com/hpi-swa-teaching/Algernon-Launcher/issues/173

@LinqLover

Just curious: Why restrict this feature to mathematical expressions only? I would find it very exciting if we could see the preview of any other Smalltalk expression (Float pi i exp, 'foo' capitalized, ...) as well. :-)

The initial idea came by looking at Spotlight which directly gives you the solution for an equation. We did not implement anything else yet because Algernon would have to execute the command after every key input and would therefore need to catch a lot of errors. But we might think about adding this functionality in a future issue.

Thanks for the explanation! Error handling should be pretty straightforward using a generic exception handler ([self doSomething] on: Error do: [:ex | ex messageText]) and you could eliminate all unexpected side effects by using Sandbox. I'm looking forward to your future plans! :D


TASK 6

Write a bash script to print "WELCOME TO OPENCODE" 15 times.
Submission Format: Code with Screenshot

claim


Update resource SPTrustedIdentityTokenIssuer to support OIDC

Pull Request (PR) description
Update resource SPTrustedIdentityTokenIssuer to support OIDC trust parameters, introduced with SharePoint Subscription
This Pull Request (PR) fixes the following issues
None
Task list

[ ] Added an entry to the change log under the Unreleased section of the file CHANGELOG.md.
Entry should say what was changed and how that affects users (if applicable), and
reference the issue being resolved (if applicable).
[ ] Resource documentation added/updated in README.md.
[ ] Resource parameter descriptions added/updated in README.md, schema.mof and comment-based
help.
[ ] Comment-based help added/updated.
[ ] Localization strings added/updated in all localization files as appropriate.
[ ] Examples appropriately added/updated.
[ ] Unit tests added/updated. See DSC Community Testing Guidelines.
[ ] Integration tests added/updated (where possible). See DSC Community Testing Guidelines.
[ ] New/changed code adheres to DSC Community Style Guidelines.

This change is

Could you also update the Pester tests to test for these new scenarios?

@ykuijs I fixed all the errors except this one, which occurs 2 times:
Context A OIDC SPTrustedLoginProvider is desired, but not all required OIDC properties are set
[-] should fail validation of parameters 46ms
ParameterBindingException: Parameter 'Throw' cannot be specified in parameter set 'Legacy'.
at <ScriptBlock>, D:\a\1\s\Tests\Unit\SharePointDsc\SharePointDsc.SPTrustedIdentityTokenIssuer.Tests.ps1: line 477

The code that fails is the following (in MSFT_SPTrustedIdentityTokenIssuer.psm1):
It "should fail validation of parameters" {
	{ Set-TargetResource @testParams } | Should -Throw "Parameter DefaultClientIdentifier was set but AuthorizationEndPointUri, RegisteredIssuerName or SignOutUrl are not set." + `
		"Parameters AuthorizationEndPointUri, RegisteredIssuerName, DefaultClientIdentifier and SignOutUrl are required when DefaultClientIdentifier is set"
}

I copied this from existing tests, how should it be done?

@ykuijs is the pipeline stuck?


Error in importing pandas

Following is the error I get when I execute import pandas
Python 3.7.3 (default, Apr 24 2019, 15:29:51) [MSC v.1915 64 bit (AMD64)]
Type "copyright", "credits" or "license" for more information.
IPython 7.12.0 -- An enhanced Interactive Python.
import numpy as np
import pandas
Traceback (most recent call last):
File "", line 1, in
import pandas
File "C:\Users\tjash\Anaconda3\lib\site-packages\pandas_init_.py", line 54, in
from pandas.core.api import (
File "C:\Users\tjash\Anaconda3\lib\site-packages\pandas\core\api.py", line 29, in
from pandas.core.groupby import Grouper, NamedAgg
File "C:\Users\tjash\Anaconda3\lib\site-packages\pandas\core\groupby_init_.py", line 1, in
from pandas.core.groupby.generic import DataFrameGroupBy, NamedAgg, SeriesGroupBy
File "C:\Users\tjash\Anaconda3\lib\site-packages\pandas\core\groupby\generic.py", line 63, in
from pandas.core.groupby.groupby import (
File "C:\Users\tjash\Anaconda3\lib\site-packages\pandas\core\groupby\groupby.py", line 61, in
from pandas.core.groupby import base, ops
File "C:\Users\tjash\Anaconda3\lib\site-packages\pandas\core\groupby\ops.py", line 16, in
import pandas._libs.reduction as libreduction
File "pandas_libs\reduction.pyx", line 30, in init pandas._libs.reduction
AttributeError: type object 'pandas._libs.reduction.Reducer' has no attribute 'reduce_cython'

Some one please  help me out

You have reached the cython issue tracker for issues having to do with cython. You might have more luck on something related to pandas or on stack overflow. When you go there, you will want to help them help you by telling them what you have done to try to solve your problem already: where and how you installed python and pandas, what other things you tried.

I believe this is a bug that was fixed nearly 2 years ago https://github.com/cython/cython/issues/1953. You can need a version of Pandas/whatever that was built using a recent version of Cython. Most likely you can do that just by updating it in Anaconda.
I suspect the most useful place to ask would be somewhere related to Anaconda since at this point it's a packaging error if they haven't built a new version.

thanks ,will check that out