CUDA error: out of memory

I successfully installed vLLM in WSL2, when I was trying to run the sample code, I got error info like this:
from vllm import LLM, SamplingParams

prompts = [
    "Hello, my name is",
    "The president of the United States is",
    "The capital of France is",
    "The future of AI is",
]
sampling_params = SamplingParams(temperature=0.8, top_p=0.95)
llm = LLM(model="/mnt/d/github/text-generation-webui/models/facebook_opt-125m")

outputs = llm.generate(prompts, sampling_params)

# Print the outputs.
for output in outputs:
    prompt = output.prompt
    generated_text = output.outputs[0].text
    print(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")

INFO 06-21 21:40:02 llm_engine.py:59] Initializing an LLM engine with config: model='/mnt/d/github/text-generation-webui/models/facebook_opt-125m', dtype=torch.float16, use_dummy_weights=False, download_dir=None, use_np_weights=False, tensor_parallel_size=1, seed=0)
INFO 06-21 21:40:12 llm_engine.py:128] # GPU blocks: 37375, # CPU blocks: 7281
Traceback (most recent call last):
File "/mnt/d/01Projects/vllm/prac_1.py", line 11, in
llm = LLM(model="/mnt/d/github/text-generation-webui/models/facebook_opt-125m")
File "/mnt/d/github/vllm/vllm/entrypoints/llm.py", line 55, in init
self.llm_engine = LLMEngine.from_engine_args(engine_args)
File "/mnt/d/github/vllm/vllm/engine/llm_engine.py", line 145, in from_engine_args
engine = cls(*engine_configs, distributed_init_method, devices,
File "/mnt/d/github/vllm/vllm/engine/llm_engine.py", line 102, in init
self._init_cache()
File "/mnt/d/github/vllm/vllm/engine/llm_engine.py", line 134, in _init_cache
self._run_workers("init_cache_engine", cache_config=self.cache_config)
File "/mnt/d/github/vllm/vllm/engine/llm_engine.py", line 307, in _run_workers
output = executor(*args, **kwargs)
File "/mnt/d/github/vllm/vllm/worker/worker.py", line 126, in init_cache_engine
self.cache_engine = CacheEngine(
File "/mnt/d/github/vllm/vllm/worker/cache_engine.py", line 41, in init
self.cpu_cache = self.allocate_cpu_cache()
File "/mnt/d/github/vllm/vllm/worker/cache_engine.py", line 89, in allocate_cpu_cache
key_blocks = torch.empty(
RuntimeError: CUDA error: out of memory
CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
Compile with TORCH_USE_CUDA_DSA to enable device-side assertions.
Python: 3.10.11
GPU: RTX 3090 24G
Linux: WSL2, Ubuntu 20.04.6 LTS
Can anyone help to answer this?

The OPT-125M is very small and this cannot happen. While I cannot reproduce the exact error on my side, when you initialize the LLM class, can you try to add the following argument: gpu_memory_utilization=0.98? The default utilization upper bound is 0.90.

I added two lines:
import os
os.environ ['CUDA_LAUNCH_BLOCKING'] ='1'

and this gpu_memory_utilization=0.50 .
but it seems the error info is the same:
INFO 06-21 22:53:33 llm_engine.py:59] Initializing an LLM engine with config: model='/mnt/d/github/text-generation-webui/models/facebook_opt-125m', dtype=torch.float16, use_dummy_weights=False, download_dir=None, use_np_weights=False, tensor_parallel_size=1, seed=0)
INFO 06-21 22:53:41 llm_engine.py:128] # GPU blocks: 19899, # CPU blocks: 7281
Traceback (most recent call last):
File "/mnt/d/01Projects/vllm/prac_1.py", line 14, in
llm = LLM(model="/mnt/d/github/text-generation-webui/models/facebook_opt-125m",gpu_memory_utilization=0.50)
File "/mnt/d/github/vllm/vllm/entrypoints/llm.py", line 55, in init
self.llm_engine = LLMEngine.from_engine_args(engine_args)
File "/mnt/d/github/vllm/vllm/engine/llm_engine.py", line 145, in from_engine_args
engine = cls(*engine_configs, distributed_init_method, devices,
File "/mnt/d/github/vllm/vllm/engine/llm_engine.py", line 102, in init
self._init_cache()
File "/mnt/d/github/vllm/vllm/engine/llm_engine.py", line 134, in _init_cache
self._run_workers("init_cache_engine", cache_config=self.cache_config)
File "/mnt/d/github/vllm/vllm/engine/llm_engine.py", line 307, in _run_workers
output = executor(*args, **kwargs)
File "/mnt/d/github/vllm/vllm/worker/worker.py", line 126, in init_cache_engine
self.cache_engine = CacheEngine(
File "/mnt/d/github/vllm/vllm/worker/cache_engine.py", line 41, in init
self.cpu_cache = self.allocate_cpu_cache()
File "/mnt/d/github/vllm/vllm/worker/cache_engine.py", line 89, in allocate_cpu_cache
key_blocks = torch.empty(
RuntimeError: CUDA error: out of memory
Compile with TORCH_USE_CUDA_DSA to enable device-side assertions.

Just to make sure it's not the model's issue, can you run facebook/opt-125m model?

I'm running into the same issue. I'm on Ubuntu WSL2, CUDA 11.8, and RTX 2080Ti, which should easily be able to accommodate opt-125m. I've tried other small models, such as cerebras/Cerebras-GPT-111M and distilgpt2, but those give different errors (probably due to architecture incompatibility?).
I've confirmed I can run opt-125m via standard transformers library...any other ideas what might be causing the issue @zhuohan123  @WoosukKwon ?

Just to make sure it's not the model's issue, can you run facebook/opt-125m model?

Yes, I can use text-generation-webui to load facebook/opt-125m and get it work.

Currently having this issue as well. The CUDA_VISIBLE_DEVICES environment variable has no effect either, and it only loads the models to GPU 0. I'm running on A100s but still get OOM with 125m OPT. There's something fatally wrong with this repo.

@dcruiz01 @SunixLiu @AlpinDale vLLM is designed to take almost all of your GPU memory. Could you double-check your GPU is not used by other processes when using vLLM?

@dcruiz01 @SunixLiu @AlpinDale vLLM is designed to take almost all of your GPU memory. Could you double-check your GPU is not used by other processes when using vLLM?

Thanks, I think I understand now. A somewhat related question - how is multi-GPU handled?  Also, if I want more memory to accommodate more users on a single, smaller model, can I have the process use multiple GPUs at once?

@AlpinDale Good question. You can use the tensor_parallel_size argument for multi-GPU inference.
First, initialize your Ray cluster by executing
$ ray start --head

Then, use the tensor_parallel_size argument in the LLM class:
llm = LLM(model=<your model>, tensor_parallel_size=2)  # Inference with 2 GPUs

@dcruiz01 @SunixLiu @AlpinDale vLLM is designed to take almost all of your GPU memory. Could you double-check your GPU is not used by other processes when using vLLM?

I'm pretty sure there's no other process was using my GPU, and here's the screenshot, you can find a burst in both GPU 3D and VRAM, that happended when the code was trying to load the model.

I'm seeing the same as @SunixLiu. Nothing else is happening on my GPU. Running the code at the top of this issue spikes the GPU and then crashes.

Any new developments here? @zhuohan123

@SunixLiu @dcruiz01 We believe this is actually a bug. We are not sure whether this is caused by WSL or vLLM. We don't have a Windows environment with GPUs. How about we set up a 30-min meeting to pair-debug on your environments? Please check your emails.

Just pair-debugged with @SunixLiu and we successfully locate the issue. As a temporary fix, please comment out pin_memory=True in vLLM code when allocating CPU cache:
https://github.com/vllm-project/vllm/blob/4026a049d3ad510bea8e177bf71722bd510fbb46/vllm/worker/cache_engine.py#L89-L97
It seems like pin_memory does not work properly on WSL. After commenting out this, vLLM should work properly.

Thank you @zhuohan123 for helping this.
Issue closed.

Just pair-debugged with @SunixLiu and we successfully locate the issue. As a temporary fix, please comment out pin_memory=True in vLLM code when allocating CPU cache:
https://github.com/vllm-project/vllm/blob/4026a049d3ad510bea8e177bf71722bd510fbb46/vllm/worker/cache_engine.py#L89-L97
pin_memory has a limit in WSL (official doc) and the limit seems to be 2GB. After commenting out this, vLLM should work properly.

Hey thank you so much for getting to the bottom of this! Never saw an email, but I'm glad you were able to figure it out with @SunixLiu. Looking forward to testing out the fix.

Got OOM too as well, on 32GB v100 and using 7B llama model, it shouldn't OOM, why?

, tensor_parallel_size=2

I don't understand how will i do that? do u want me to fork vLLM, change the source code and then re-run?

Just pair-debugged with @SunixLiu and we successfully locate the issue. As a temporary fix, please comment out pin_memory=True in vLLM code when allocating CPU cache:
https://github.com/vllm-project/vllm/blob/4026a049d3ad510bea8e177bf71722bd510fbb46/vllm/worker/cache_engine.py#L89-L97
pin_memory has a limit in WSL (official doc) and the limit seems to be 2GB. After commenting out this, vLLM should work properly.

@zhuohan123 i don't understand how to do that. Do u want us to fork vLLM, change the source code and then re-run.
Or is there any simpler way?

I run into the same error, I tried to run Baichuan2-7B-Chat-4bits alone, and it worked.
But with vllm, it went to oom.
No WSL, RTX 3060, 12G

@allanwakes @prashantskit have you come across a solution?
I'm seeing same with Mistral 7B on RTX 3090 24GB

Mistral 7b on RTX4060 16GB fails. With ollama for example it doesn't

After setting --max-model-len 8192 the OOM went away. @nosolosoft, what if you try using --max-model-len 4096? I also use an AWQ quant with --quantization awq parameter. Works amazing!

I'm hitting this same issue on Ubuntu, 48GB of VRAM (2xRTX3090), using OPT-125M model.
I'm comfortably using large ML systems on my rig in general.
the pin memory hack works for ubuntu as well, I've just set it to False as a tmp workaround.

Ok, I've done some debugging, this function is literally designed to allocate GPU memory as max as possible (up to what's set in the gpu_memory_utilization). What's the reasoning behind this design decision?

With Mistral as well on Ubuntu, I'm getting the CUDA out of memory error, and playing with --gpu-memory-utilization doesn't seem to make a difference.
python -u -m vllm.entrypoints.openai.api_server --host <IP_ADDRESS> --model mistralai/Mistral-7B-v0.1 --dtype half --gpu-memory-utilization 0.8  --max-model-len 4096

results in:

torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 224.00 MiB (GPU 0; 10.73 GiB total capacity; 9.85 GiB already allocated; 46.44 MiB free; 9.86 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.

I tried to follow the AWQ advice above and this works:
python -u -m vllm.entrypoints.openai.api_server --host <IP_ADDRESS> --model TheBloke/Mistral-7B-OpenOrca-AWQ --dtype half --gpu-memory-utilization 0.7  --max-model-len 4096 --quantization awq

(Ubuntu 22.04, RTX 2080 Ti, 32GB RAM)
But I'm not sure how to get the original Mistral running. Anything I'm missing?

In my case (pure Linux with A100(80GB)),
decreasing swap_space (perhaps under the corresponding value of GPU memory * gpu_memory_utilization) helps.

Ok, I've done some debugging, this function is literally designed to allocate GPU memory as max as possible (up to what's set in the gpu_memory_utilization). What's the reasoning behind this design decision?
Edit: I know see that this is by design, you occupy all available GPU memory in case new instances are spawned? So then it must be some other bug. I stepped into the code and OPT-125M by itself only occupied a small amount of memory until this GPU allocation happened. I'll limit the gpu_memory_utilization as a tmp workaround.

Note in the latest code, vllm allocating blocks with pin_memory. The problems that also try utilize all the memory, so when you load a small model like lllama 7b with A100, it will go out of memory by default. Hope this message helps.

您好，邮箱主人会认真阅读！谢谢关注/

[rank0]:   File "/home/pmasior/miniconda3/envs/vllm2/lib/python3.10/site-packages/vllm/worker/cache_engine.py", line 64, in _allocate_kv_cache
[rank0]:     torch.empty(kv_cache_shape,
[rank0]: torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 1.70 GiB. GPU

1,7gb my ass :D
same issue as @LGLG42
not working on python 3.9 nor 3.10
nvidia-smi
Sat May 25 23:52:09 2024
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 545.23.08              Driver Version: 545.23.08    CUDA Version: 12.3     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 4090        On  | 00000000:01:00.0  On |                  Off |
|  0%   58C    P8              21W / 450W |   2539MiB / 24564MiB |      7%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

this works:
python -m vllm.entrypoints.openai.api_server --model facebook/opt-125m --gpu-memory-utilization 0.8

but memory being reserved... is funny

I do not know if it will help someone, but it looks like you need to fine tune manually --gpu-memory-utilization
for instance that works:
python -m vllm.entrypoints.openai.api_server --model facebook/opt-125m --gpu-memory-utilization 0.05

but 0.04 throws:
ValueError: The model's max seq len (2048) is larger than the maximum number of tokens that can be stored in KV cache (1344). Try increasing `gpu_memory_utilization` or decreasing `max_model_len` when initializing the engine.

so in my case manipulating both parameters manually set you up...
cheers

lower the gpu-memory-utilization works for me(8*A800 80GB).
python -m vllm.entrypoints.openai.api_server --model /Qwen-7B-Chat --dtype bfloat16 --api-key token-abc123 --trust-remote-code --gpu-memory-utilization 0.3 --max-model-len 4096

I’m from the future, December of the year 2024. And I’m still getting this CUDA Out of Memory error. I’m using 5 RTX 3090s with 24 GB each. When I a small model that loads easily in my other work flows I’m running into this error. I’ve tried decreasing gpu-memory-allocation and using awq but still getting the error

Same here, with 2 RTX 3090s (24GB) loading Qwen1.5 7B model.
No matter what I tried to tune, gpu_memory_utilization, awq, enforce_eager, max_model_len, ...... nothing works.
The model itself took 14.3919 GB, then vLLM tries to grab more memory until it reached the limit set by gpu_memory_utilization, then throws a torch.cuda.OutOfMemoryError.

Anyways to use only the model itself without extra more memory. I want to use vLLM but need to minimize the gpu mem as much as possible. Thank you!

same error here :-1:

Same error running vllm on a docker container. My setup runs 8B models just fine. But goes OOM with just 125M on vllm :(


Update remaining references to old tag

Type of change

Bugfix

Description
I had trouble starting up the topicencryption example on minikube since it built and pushed an 0.5.0-SNAPSHOT tagged image but the deployments refer to 0.4.0-SNAPSHOT
Checklist
Please go through this checklist and make sure all applicable tasks have been done

[ ] Write tests
[ ] Make sure all tests pass
[ ] Review performance test results. Ensure that any degradations to performance numbers are understood and justified.
[ ] Make sure all Sonar-Lint warnings are addressed or are justifiably ignored.
[ ] Update documentation
[ ] Reference relevant issue(s) and close them after merging
[ ] For user facing changes, update CHANGELOG.md (remember to include changes affecting the API of the test artefacts too).

Yes, I'm noticing this too whilst thinking about a recorded demi. The tagged release should have references to snapshot images replaced with released images.  Not for this PR


Version 1.4.3 has a breaking change for GHC 8.0.2

Would it make sense to release a patch release fixing this problem, and deprecating 1.4.3 on Hackage?
src/Control/Monad/Plus.hs:270:15: error:
    Ambiguous occurrence ‘<>’
    It could refer to either ‘Sem.<>’,
                             imported from ‘Data.Semigroup’ at src/Control/Monad/Plus.hs:67:1-28
                          or ‘Data.Monoid.<>’,
                             imported from ‘Data.Monoid’ at src/Control/Monad/Plus.hs:68:1-18

See https://github.com/agda/agda/issues/6436

Actually, it is not a breaking change (in the sense of the Haskell PVP), it is just a change breaking compilation with GHC <= 8.2:

#8

I think this issue can be closed in favor of #8.

I believe this is fixed in https://github.com/hanshoglund/monadplus/commit/592f52f614f9e815de3214525ef2d3ebd4d20d01


Latency in AgentExecutor

Hi there!
Recently, I started using LangSmith to better understand how my LangChain code works.
In the past days, I have been paying attention to the latency that the users of my system are experiencing, as it seems to be too high. By inspecting some traces in LangSmith, I noticed that much of the time is spent in side tasks. Hereby an example:

In this trace, I see that the three steps marked with the red box took, in total, 10.67 seconds. These steps correspond with the model deciding what tool to use, the execution of the tool and the model generating the final answer. However, the total trace time is 16.34 seconds, that is 53% higher than the expected time. By the way, the total time of the AgentExecutor does not match the individual times of each step, not sure why.
By reviewing the rest of the trace, I can see that the 5.67 seconds difference with respect to the total must be due to other side tasks such as RunnableMaps, Prompts and Parsing.
Are these normal execution times? Am I misreading these numbers? Is there any way in which I can improve the total time to get as close as possible to the 10.67 seconds mark?
Some complementary information:
I am using langchain 0.1.11, node 18.13.0 and GPT4-1106. I stream the final answer to my users, so they get a response as soon as the model starts generating it.
Thanks in advance!

The previous reply does not seem to address my issue.

Max concurrency would be helpful to parallelize requests to OpenAI, but those side tasks that I mentioned earlier would still take part of the whole time.
Optimizing documents would be useful, indeed, but it does not address the problem that I posed. The trace that I attached in my first message does not use documents. The only thing that resembles of documents would be the prompt that the tool is returning. In any case, I understand that this would mainly affect the processing of my request to OpenAI. And yet, OpenAI says this in a post on how to address latencies:

Intuition: Prompt tokens add very little latency to completion calls. Time to generate completion tokens is much longer, as tokens are generated one at a time. Longer generation lengths will accumulate latency due to generation required for each token.

Using a more powerful machine would definitively improve the execution time. However, I am running my experiments on a M2 Pro chip, which I think is powerful enough.

We block on callback execution by default to allow trace requests finishing serverless environments - you may find this helpful if that does not apply to you or you would prefer to just get the fastest possible output:
https://js.langchain.com/docs/modules/callbacks/how_to/background_callbacks
I know the LangSmith team is working hard to keep latency low in the future as well 👍


[BUG/ISSUE] Update number of downloads in the README

Before submitting the issue

[x] I have checked that the bug is not a duplicate or, if it is, it needs to be reopened
[x] I have checked that I am running the latest version of WingetUI
[x] I have tried resetting and reinstalling WingetUI and the issue persisted or happened again
[x] I have checked the FAQ section for solutions
[x] I have read the contributing guidelines and I agree with the Code of Conduct

Describe the bug
Just a very minor thing: The download number in the README should be updated to either show the downloads of the newest version or the total downloads.

Before submitting the issue

[x]  I have checked that the bug is not a duplicate or, if it is, it needs to be reopened
[x]  I have checked that I am running the latest version of WingetUI
[x]  I have tried resetting and reinstalling WingetUI and the issue persisted or happened again
[x]  I have checked the FAQ section for solutions
[x]  I have read the contributing guidelines and I agree with the Code of Conduct

Describe the bug
Just a very minor thing: The download number in the README should be updated to either show the downloads of the newest version or the total downloads.

Total downloads are a lie, since they count every time an user upgrades to a new version. This is why I opted to put the most downloaded release

I see, thanks


to do

fcgr real time
hide info in computing modmap
fix samples
add samplewith diff dna origin
add mtdna maps

ontouch event rotate
cross browser compatibility
mds error notify user (all 0's)


Bug: derive_var_last_dose_date() does not work on anonymized data

What happened?
I tried to run derive_var_last_dose_date() on anonymized data for ADCM. On original data the function is working fine.
I'm using by_vars = var_key, with var_key <- vars(STUDYID, UNI_ID, SCND_ID).
In theory this should work, but the problem is that internally the function is calling derive_vars_last_dose() which calls
dataset <- dataset %>% derive_var_obs_number(order = vars(USUBJID) (lines 230 to 233).
The by_vars should be used instead in my opinion.
Session Information
R version 4.0.3 (2020-10-10)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Red Hat Enterprise Linux
Matrix products: default
BLAS/LAPACK: /usr/lib64/libopenblas-r0.3.3.so
locale:
[1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8       LC_NAME=C
[9] LC_ADDRESS=C               LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods
[7] base
other attached packages:
[1] xportr_0.1.0       arsenal_3.6.3      haven_2.5.1
[4] lubridate_1.7.9    dplyr_1.1.0        admiralroche_0.0.1
[7] admiral_0.10.0     metatools_0.1.3    metacore_0.1.0
loaded via a namespace (and not attached):
[1] tidyselect_1.2.0    shinyjs_2.0.0       slam_0.1-47
[4] janitor_2.1.0       NLP_0.2-1           purrr_1.0.1
[7] snakecase_0.11.0    vctrs_0.5.2         generics_0.1.0
[10] htmltools_0.5.4     rice_2.0            yaml_2.2.1
[13] utf8_1.1.4          rlang_1.0.6         pillar_1.8.1
[16] later_<IP_ADDRESS>       withr_2.3.0         glue_1.6.1
[19] DBI_1.1.3           admiraldev_0.3.0    readxl_1.3.1
[22] ROracle_1.3-1.1     lifecycle_1.0.3     stringr_1.4.0
[25] cellranger_1.1.0    htmlwidgets_1.6.1   memoise_1.1.0
[28] forcats_0.5.0       fastmap_1.1.0       httpuv_1.5.4
[31] tm_0.7-7            parallel_4.0.3      fansi_0.4.1
[34] CDSE_2.0.0          Rcpp_1.0.5          xtable_1.8-4
[37] readr_1.4.0         googlesheets4_0.2.0 promises_1.1.1
[40] DT_0.16             jsonlite_1.8.2      mime_0.9
[43] hms_0.5.3           digest_0.6.27       stringi_1.5.3
[46] shiny_1.5.0         compare_0.2-6       cli_3.4.1
[49] tools_4.0.3         magrittr_2.0.1      tibble_3.1.8
[52] tidyr_1.1.2         pkgconfig_2.0.3     data.table_1.13.2
[55] xml2_1.3.2          googledrive_1.0.1   assertthat_0.2.1
[58] httr_1.4.2          rstudioapi_0.14     R6_2.5.0
[61] compiler_4.0.3
Reproducible Example
No response

@bms63 , I think we just need to remove order = vars(USUBJID). Should we include the fix in admiral 0.10.0?

@otts5 , thanks for reporting the issue. The bug will be fixed in admiral 0.10.0, which will be released this week.


Generic actions

Hello, I have a set of actions and reducers which I want to reuse in several places in my app. I want to store similar data which generates with those actions and reducers in different places of redux store, so I need to parametrize somehow actions and reducers, for example, to add some prefix to all actions names in a set. Is it a good and possible idea? Or should I use some data in action's payload to differentiate actions?

Hi, I would need more context to understand your solution. Could you please provide code examples with brief explanation for each of them

https://codesandbox.io/s/ympvlp0qnz
see src/features/test1 folder
I have 2 use cases:

actions1, reducer1
async actions, shape of actions the same, but request and result types are different (number, Data1[] and string Data[2]).
reducers logic identical, store only differentiates in types of data
set of actions (actions2, reducer2)
I want to store data with identical shape in several parts of my app's store. To achive this. i have to duplicate actions (with different prefixes in action types) and duplicate logic in reducers.

How can I improve my code in order to avoid so many duplications
P.S. sory for my English)

Ad 1) Seems like a parametrized factory function that will generate an action creators and generic reducer could work for such case. I don't have an example for that but you can find some examples for JS and use typesafe-actions inside factory use type inference and return typesafe results.
Ad 2) If actions payload is the same and reducer logic is the same, I would probably use meta data to differentiate when to update state in each part.

I was trying to do it this way, but string concat results to incorect actions type (string instead of 'something/action1', 'something/action2'). I'm very new to typescript

You always have to provide entire string literal, it's "static-types" so they are static by definition, and you're trying to make them dynamic, which is impossible

Not actionable, closing.

Given the recent huge TypeScript update, I guess dynamic action types have become very possible now.


Add ci with python formatters and linters

Need to run

isort
black
pylint

Working on push/pull_request

Closed as pre-commit added and dev dependencies


permission request for yorammi

Description
I @hagzag Want to allow Yoram Michaeli @yorammi  which is a long time contributor release permissions.
The repo url -> https://github.com/jenkinsci/tikal-multijob-plugin
Submitter checklist for changing permissions

Always

[x] Add link to plugin/component Git repository in description above

For a newly hosted plugin only

[ ] Add link to resolved HOSTING issue in description above

For a new permissions file only

[x] Make sure the file is created in permissions/ directory
[x] artifactId (pom.xml) is used for name (permissions YAML file).
[x] groupId / artifactId (pom.xml) are correctly represented in path (permissions YAML file)
[x] Check that the file is named plugin-${artifactId}.yml for plugins

When adding new uploaders (this includes newly created permissions files)

[x] Make sure to @mention an existing maintainer to confirm the permissions request, if applicable
[x] Use the Jenkins community (LDAP) account name in the YAML file, not the GitHub account name
[x] All newly added users have logged in to Artifactory at least once

Build failed; the context from the latest run is:
Expand to view
Checking out Revision 6c89b0d74a6ecd3c8a728b018242a9cf6c4cea9a (master)
Commit message: "Merge pull request #83 from MRamonLeon/add-shm"
First time build. Skipping changelog.
[Pipeline] properties
[Pipeline] node
Running on ubuntu-jenkinsinfrae85be0 in /home/jenkins/workspace/itory-permissions-updater_PR-967
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Clean)
[Pipeline] deleteDir
[Pipeline] sh
+ ls -lah
total 8.0K
drwxrwxr-x  2 jenkins jenkins 4.0K Dec 24 20:03 .
drwxrwxr-x 10 jenkins jenkins 4.0K Dec 24 20:03 ..
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Checkout)
[Pipeline] checkout
Cloning the remote Git repository
Cloning with configured refspecs honoured and without tags
remote: Enumerating objects
remote: Counting objects
remote: Compressing objects
Receiving objects
Resolving deltas
Fetching without tags
Merging remotes/origin/master commit 98d0c1cd7642e4ba149916b5a32b382ce5155c2f into PR head commit d11523ea494b15dbe0c96ceceebede0e39f6a22b
Updating references
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Archive)
[Pipeline] archiveArtifacts
Archiving artifacts
[Pipeline] archiveArtifacts
Archiving artifacts
‘json/*.json’ doesn’t match anything: even ‘json’ doesn’t exist
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline

GitHub has been notified of this commit’s build result

ERROR: No artifacts found that match the file pattern "json/*.json". Configuration error?
Finished: FAILURE

Powered by the Comment Logger

Build failed; the context from the latest run is:
Expand to view
Commit message: "Merge pull request #83 from MRamonLeon/add-shm"
[Pipeline] properties
[Pipeline] node
Still waiting to schedule task
Waiting for next available executor on ‘ubuntu-jenkinsinfrae85be0’
Running on ubuntu-jenkinsinfrae85be0 in /home/jenkins/workspace/itory-permissions-updater_PR-967
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Clean)
[Pipeline] deleteDir
[Pipeline] sh
+ ls -lah
total 8.0K
drwxrwxr-x  2 jenkins jenkins 4.0K Dec 24 20:14 .
drwxrwxr-x 18 jenkins jenkins 4.0K Dec 24 20:14 ..
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Checkout)
[Pipeline] checkout
Cloning the remote Git repository
Cloning with configured refspecs honoured and without tags
remote: Enumerating objects
remote: Counting objects
remote: Compressing objects
Receiving objects
Resolving deltas
Fetching without tags
Merging remotes/origin/master commit 98d0c1cd7642e4ba149916b5a32b382ce5155c2f into PR head commit a87395c291781971d12c1ef443f7d4091c321f12
Updating references
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Archive)
[Pipeline] archiveArtifacts
Archiving artifacts
[Pipeline] archiveArtifacts
Archiving artifacts
‘json/*.json’ doesn’t match anything: even ‘json’ doesn’t exist
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline

GitHub has been notified of this commit’s build result

ERROR: No artifacts found that match the file pattern "json/*.json". Configuration error?
Finished: FAILURE

Powered by the Comment Logger

@batmat, I'm still failing to upload to the Artifactory. Is it a permission issue?
I'm running mvn release:prepare release:perform and getting:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy (default-deploy) on project jenkins-multijob-plugin: Failed to deploy artifacts: Could not transfer artifact org.jenkins-ci.plugins:jenkins-multijob-plugin:hpi:1.32 from/to maven.jenkins-ci.org (https://repo.jenkins-ci.org/releases/): Failed to transfer file https://repo.jenkins-ci.org/releases/org/jenkins-ci/plugins/jenkins-multijob-plugin/1.32/jenkins-multijob-plugin-1.32.hpi with status code 401 -> [Help 1]

@batmat the link you've send leads to an empty page. Anyway, I'll check my settings.xml. Is there a way to run the maven command with the user/password in the command line instead?

<server>
      <id>maven.jenkins-ci.org</id>
      <username>yorammi</username>
      <password>{****}</password>
    </server>

The password is encrypted. Maybe it won't work because of that?

Indeed! Changing the password to a clear-text solved the issue

when trying to install the new version (I needed to uninstall it for seeing the new version), I;m failing for this:
java.io.FileNotFoundException: http://archives.jenkins-ci.org/plugins/jenkins-multijob-plugin/1.32/jenkins-multijob-plugin.hpi
What I need to do to fix this???


Creating Certificates as Secrets

This pull request introduces the capability to create certificates as part of the secrets of our cluster. It pulls the CRN from the Certificate Manager created by the user and uses that as well as the ID of the necessary cluster to import the certificate into the cluster as a secret in preparation for IKS integration.

Although we've added the certificate to IKS as a secret, it seems as though we should be ordering a certificate for our client (if it doesn't exist). We may assume that the client has already provisioned a Certificate Manager instance (as creating an IKS cluster instance auto-provisions that); we simply have to access that manager and order a certificate, and then proceed with linking it to the IKS cluster.

I've written pretty much all of the code for ordering a certificate (issued by Let's Encrypt) and creating a secret in the IKS cluster using that certificate. All of this is done without going through the CIS (and without ordering a certificate there).
There is one caveat though: I cannot change the expiration time through only the Certificate Manager, so it will remain at 90 days. I have turned "auto-renewal" on, but if we want a 15-year expiration time like the certificates we ordered manually, we have to go through CIS, which I can definitely code up, but it seems like a little more hassle for our client.

I've written pretty much all of the code for ordering a certificate (issued by Let's Encrypt) and creating a secret in the IKS cluster using that certificate. All of this is done without going through the CIS (and without ordering a certificate there).
There is one caveat though: I cannot change the expiration time through only the Certificate Manager, so it will remain at 90 days. I have turned "auto-renewal" on, but if we want a 15-year expiration time like the certificates we ordered manually, we have to go through CIS, which I can definitely code up, but it seems like a little more hassle for our client.
Thoughts on which method to use?

The certificate auto-renews at no cost to the user so I don't think it should be a problem

Lucas and I have resolved the 500 error that arose when trying to import a certificate that had just been ordered by the certificate manager. If we tried right away, like I had done previously, the import resulted in a 500 error; however, after Lucas introduced a loop to ensure that the certificate was no longer pending, the certificate was imported correctly as a secret.

Daroush mentioned that we should provide an option for the user to specify their namespace; this functionality shouldn't be too difficult to add (just another argument in the CLI tool).

Looks good. One thing that we could maybe look into is a different CA to provide the certificate if the rate limiting does become a bigger problem in the future. However, when looking at the certificate order screen it seems like Lets Encrypt is the only option... so we might be limited there.

Yep, unfortunately, we can't add functionality for other certificate providers unless the SDK is changed so that it allows for those providers. However, as of now, I feel like the rate-limiting shouldn't be too big of a problem for clients; the only reason we were getting rate-limited was that we were ordering certificates over and over again, which is something our client would not have to do.


More stable builder script

https://github.com/RPi-Distro/pi-gen/blob/master/export-noobs/prerun.sh
Get offset and limit dynamically instead of hardcoded
Make multistage with touch (see rpi gen)

Thank you! And no, it creates a single image for use with all rPi's.
And yes, the final step is still missing, i'm so used to copying the step 4 IMAGE now that i haven't gotten around to implementing it. Will do so, hopefully later today.


Backport STM32 flash fixes

@zehortigoza -
Nice!
I will bring these in as a backport patch in the the correct place once https://github.com/PX4/Firmware/pull/6878 come in.

Thanks, nice that you had add a readme here so other people do not get confused like I did.

Yes Sorry About that. The week we cut over there was a Serial DMA issue a few days before I took time off for my wedding....I wonder what else I forgot to do :)

I was thinking about the the changes you made and what the use case is. I believe I explained the flash params came in from a non threaded very static use. There was an expectation the parm code was locking and serialising access to the flash.
But since then we had some changes to several parts of the system. I think that there is a potential for some breakage because of the direct use of the up_progmem interface.
flash param
datman - flash backend

@zehortigoza - hit  <CTRL> <CR> to soon. See edited post above

@davids5 sorry I did not fully understand you... are you saying that in theory PX4 would not have a concurrent access to FLASH when using dataman and parameters?

I have not diagramed out the code paths but this the concern i have:
I think the api is not transactional:
thread A ------S(L)Flash Unlock S(U)-----------------S(L)Flash Operations - fais flash is lockedS(U)
thread B --...------------------------S(L)Flash LockS(U)----S(w)wwwwwwwwww
If it was transactional:
thread A ------S(L)Flash Unlock ----------------Flash Operations Flash UnlockS(u)
thread B ------------S(w)wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwFlash UnlockS(L).....


Request for the model

Hi Dr. Yuan,
Could you please provide the model trained with the random initialization (Table 3 in your paper). Since this version is fully unsupervised, so I am interested with it.
Regards

send me email

Thanks a lot<EMAIL_ADDRESS>for the siamfc evaluation, could you also provide the evaluation code? since thedifferent tracking parameters maybe get various result.


Adding Time series forecasting covid 19 case #115

Related Issuse

Info about Issue or bug
Addition of notebook that uses covid 19 cases data of over one year for a country , here India, to graphically forecast the number of fresh active and death cases daily for next 21 days.
Closes: #115

Describe the changes you've made
I've added a new notebook dealing with time series forecasting of covid 19 for next 3 weeks using the covid 19 data till now . Arima model has been used .
Checklist:

[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[ ] I have made corresponding changes to the documentation.
[x] My changes generates no errors.

Screenshots

@ayush-raj8 Create the pull request again. Please follow the steps:

Fork our repository again and create a local repository of only dev branch using the command mentioned on README.md file.
Add your file there and then create a pr.

OR
If you only have a few files then, fork our repository again. Upload the files in the specific folder and then create a pr.
This pr has 91 file changes. Please close the pr and please do it again.

@ayush-raj8 Create the pull request again. Please follow the steps:

Fork our repository again and create a local repository of only dev branch using the command mentioned on README.md file.
Add your file there and then create a pr.

OR
If you only have a few files then, fork our repository again. Upload the files in the specific folder and then create a pr.
This pr has 91 file changes. Please close the pr and please do it again.

I have followed method only , I did fork the dev repo. For second method , I need to fork dev branch or main branch ?

I have followed method only , I did fork the dev repo. For second method , I need to fork dev branch or main branch ?

You cannot fork just a branch. You fork a complete repository and it contain all the branches.  You can clone a particular branch. As I can see you have only a single file. So do this:

Delete the previous forked repository you have and fork it again.
Go to dev branch and upload the file there.
Create the pr.


How can i use toolchain

I need to add -DCMAKE_TOOLCHAIN_FIL=/path/to/toolchain/ E to command but I couldn't add. Can someone help.

g:cmake_generate_options is answer


How to train keras model use tensorflow？

I want to train keras model,
model.fit_generator(train_generator,
                                epochs=200,
                                validation_data=valid_generator,
                                callbacks=[checkpoint,TensorBoard(log_dir='./log/')])

The above code work well，the model will converge.
But when i use the following code，the model will not converge.
  input = model.input
  y = model.output

  y_ = tf.placeholder(tf.float32, [None,6], name='y_')

  loss = tf.reduce_mean(categorical_crossentropy(y_, y))
  train_step = tf.train.AdamOptimizer(0.01).minimize(loss)
  correct_prediction = tf.equal(tf.argmax(y_,1), tf.argmax(y,1))
  accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))
  sess.run(tf.global_variables_initializer())

  i = 0
  for image, label in train_generator:
      sess.run([train_step],feed_dict={ input:image, y_:label })
      if i%100 == 0:
        train_accuracy =  sess.run([accuracy],feed_dict={ input:image, y_:label })
        print(train_accuracy)
      i = i+1

How can i train keras model use tensorflow？

@gftd  Please refer below link which helps to understand how to train a model using tf.keras
Training and Serving with tf.keras


Screen Capture Prompt Flicker/Freeze

Preparation

[X] I tested the latest release
[X] I looked at other issues (even the closed ones)
[X] I read the Troubleshooting Guide

FGO server
NA
FGA build number
1597
Describe the bug
I tried to move FGO and FGA stuff to Bluestacks 5. So, I redownloaded FGA onto Bluestacks 5. I gave it the permissions it asked for, and when I tried to press the 'Start Service' button, the prompt kinda freezes/flickers, at which point pressing any button just makes the prompt flicker more.
I'm not sure which version of Android I'm running on here. It's the 32-bit Nougat one, which I think is 7.
Video
Before:

After:

Device model
Bluestacks <IP_ADDRESS>1
Android version
7
Screen size
1920x1080
RAM
4GB

Read the Bluestacks part of the troubleshooting guide.

Trying portrait mode doesn't work, either.

Issue fixed, needed to change graphics settings.


Fix "Use of '@import' when modules are disabled"

Modules are enabled by default in new projects since Xcode 5.

Thanks @xfally

Hello @guyromb , can you fix problem with ios10 ? i can't access to native settings with ios10 but android work well. Thanks

@jedofus In progress

Thank you 👍 , I try to do in my side but I do not understand alot objective-c language

Hello @guyromb , are you finish to update your plugin ? thank you

@jedofus after investigation, seems like apple disabled the option to open native settings programmatically. you can only open the app settings.


Wrap sourcecode in Word

In Word, spaces are rendered as non-breaking in sourcecode. But that results in lines not wrapping, and therefore having lines not visible if they keep going past the right margin. Either CSS to force wrapping, or no non-breaking space in sourcecode in Word.

Fixed in isodoc. This was applied universally to sourcecode in Word, but it does not serve a real purpose, since monospace space is still the right width.

If there is an exceedingly long line with no space in sourcecode, it will still end up not wrapping if enclosed within an example. Setting the table width in Word CSS may address this, and I may come back to it.


Feature: Fetch OVMF and kernel command line arguments

Is your feature request related to a problem? Please describe.
This feature will enable the client (the member of the consortium) to fetch the missing information to calculate the measurement. The OVMF version, the kernel command line arguments, and the number of vcpus and vcpu-type.
Describe the feature you are requesting, as well as the possible use case(s) for it.
The idea is to enable the users to calculate the expected measurement that is needed during the aTLS verification and validation process.
Indicate the importance of this feature to you.
Must-have
Anything else?
No response

This potentially opens an attack vector because now we need to trust the manager-bakcend communication. We need to discuss about this one @drasko @danko-miladinovic.

@dborovcanin this is OK, because these measurements are signed with AMD firmware and SEV-SNP keys in the HW.
I would like to have more detailed explication how this approach maps to IETF RATS spec.

This is resolved in #245 by adding a measurement directly to the backend.


heatmap not working on IE9

nothing is displayed, dunno if it's due performance:
https://team.cartodb.com/u/javi/viz/d08278f8-b063-11e4-bac3-0e853d047bba/public_map

So... after a bit of research, I found out that IE9's "special" way of handling cross-domain requests means that only text/plain content can be requested using CORS. Which means that unless we keep the marker image file on the same domain, we're not able to support heatmaps on Internet Explorer 9 and below.


Add hooks for custom.css

I'm quite the hugo noob, but I love your theme and I'm using it to build my site. As with any site there's small tweaks I want to make, and it seems like these tweaks are kind of outside the scope of what hugo themes in general are trying to do. I got as far as https://discourse.gohugo.io/t/how-to-override-css-classes-with-hugo/3033/4, which seems to say that customizing css from themes is not that easy unless the theme developer specifically adds a hook for it. Is there something that I'm missing or is that what would be required for what I'm asking?

One option is to copy themes/hugo-hero-theme/assets/scss/* into your base project at assets/scss/*. From there you can customize the stylesheets to your hearts content and your generated site will use these overridden styles.
This is what I did to achieve the same thing in my site that uses this theme.

See https://github.com/zerostaticthemes/hugo-hero-theme/pull/38

You can just edit the scripts.js or the scss files. What's the issue?

@RobertAlbus, to clarify, the project folder structure should be like this?
MyAwesomeWebsite
    archetypes
    assets
        scss
            components
                _filetoedit.scss
    config.toml
    content
    data
    layouts
    public
    resources
    static
    themes

Or do all the folders and files need to be copied into my project? Something like:
MyAwesomeWebsite
    archetypes
    assets
        scss
            components
                _<bunch of files>.scss
            libraries
            pages
    config.toml
    content
    data
    layouts
    public
    resources
    static
    themes


auto differentiation function

I want to run auto differentiation function of Pytorch (C++) in C.  How to do it with your code.

You can contribute


ara.traineddata init failed

I can't init TessBaseAPI with ara.traineddata. Other traineddata is ok. Is there anyone have the same issue?

@Xugter it's ok for me, i'm using tesseract 3.05 with android, but i have a problem using the ara.traindata, the traindata for arabic can't read the digit number (123456789)

@Xugter  I have the same issue.  Have you found solution?

Arabic in 3.0x uses the Cube engine. You need to download the cube files and move them to the same folder where the ara.traineddata is located.
https://github.com/tesseract-ocr/tesseract/wiki/Data-Files#cube-data-files-for-version-304305

Ok, now it works fine. Thanks @amitdo

@zdenop, please close this issue.

this is the same part of the code for the english one . the only difference is that i change the eng.traindata to ara.triandata.
the image is in textImg variable.
ic.SetImage((uchar*)textImg.data, textImg.size().width, textImg.size().height, textImg.channels(), textImg.step1());
result = ic.GetUTF8Text();
ic.Clear();

Hi guys , I'm facing the exact same problem for tesseract 3.04 but i couldn't download the cube files . any body knows from to download . the like above also can't download.
also please what are the cube files i should download , all of them or what .
thank you guys in advance

okay it take around 15 min just to initialize  the ara.traineddata with the cube files as well ,any idea or suggestion


[K-Bug] missing hook of LIST.range?

What component is the issue in?
haskell-backend
Which command

[ ] kompile
[ ] kast
[X] krun
[ ] kprove
[ ] kprovex
[ ] ksearch

What K Version?
K version:    v5.6.22 Build date:   Mon Apr 03 19:17:44 CST 2023
Operating System
Linux
K Definitions (If Possible)
module TEST
    imports LIST
    imports INT
    syntax List ::= prefixOfList(List, Int) [function]
    rule prefixOfList(Src:List, EndIdx:Int) => range(Src, 0, size(Src) -Int EndIdx) requires size(Src) >Int EndIdx
endmodule

github does not support uploading .k file
Steps to Reproduce

kompile test.k --backend haskell
krun -cPGM='prefixOfList(ListItem(0), 0)'
get such error information

kore-exec: [145843] Error (ErrorException):
    Error: missing hook
    Symbol
        LblList'Coln'range{}
    declared with attribute
        hook{}("LIST.range")
    We don't recognize that hook and it was not given any rules.
    Please open a feature request at
        https://github.com/runtimeverification/haskell-backend/issues
    and include the text of this message.
    Workaround: Give rules for LblList'Coln'range{}
    CallStack (from HasCallStack):
      error, called at src/Kore/Rewrite/Function/Evaluator.hs:371:6 in kore-<IP_ADDRESS>-J3wx87sugwq89e8bV2p6uj:Kore.Rewrite.Function.Evaluator
Created bug report: kore-exec.tar.gz
[Error] krun: kore-exec ./test-kompiled/haskellDefinition.bin --module TEST
--pattern .krun-2023-04-23-15-46-46-Q3iDbrARTI/tmp.in.3niuLFHfua --output
.krun-2023-04-23-15-46-46-Q3iDbrARTI/result.kore
[Error] krun: Backend crashed during rewriting with exit code 1

the generated .tar.gz file kore-exec.tar.gz
Expected Results
ListItem(0) .List

This function could be implemented using rules that define range (recursively)  . Maybe that should be tried first, although we can also implement range for lists (with caveats for symbolic ones).


URL protocols would benifit from autogenerated page

See title, probably it would be useful to collect al URL configs on a page like we do for plugins

Do you mean the protocols or the configs?

ah sorry - yes I mean the protocols :)

yeah agreed :)


Test transfer of the oracle token to a new operator

Make sure the new oracle is running and publishing datapoints.

I launched the third node instance and transfer the oracle token from the second oracle to the new (third) one. I launched the third oracle, and the pool continued to run fine, publishing datapoints and posting refresh txs.


Notifications

Notifications stuffs

wdym? where? the variable name stayed the same

Oh nvm I don't see that u did this before
const botId = req.params

wdym? where? the variable name stayed the same

Oh nvm I don't see that u did this before
const botId = req.params.id

why can i edit your comment wtf
Idk it's a GitHub thing

tbh i have no idea how to reply

🤷

This is done and everything works now.


Update deprecated packages

This PR is to remove deprecated packages like typemoq and replace them with sinon.js and chai for expects statements instead of assert statements, rearranged the existing UT's.
Now deprecation warning has come down to two from several and for telemetry it is taken care in another PR. It is just uudi deprecated warning which needs attention.

Codecov Report

Merging #68 (0ed2e10) into main (ed1104e) will increase coverage by 1.31%.
The diff coverage is 99.33%.

@@            Coverage Diff             @@
##             main      #68      +/-   ##
==========================================
+ Coverage   63.37%   64.69%   +1.31%
==========================================
  Files          23       30       +7
  Lines        1977     2396     +419
  Branches       72       88      +16
==========================================
+ Hits         1253     1550     +297
- Misses        724      846     +122

Flag
Coverage Δ

unittests
64.69% <99.33%> (+1.41%)
:arrow_up:

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

Files Changed
Coverage Δ

src/tests/suites/AccountContextManager-Test.ts
88.88% <88.88%> (ø)

src/tests/CommonTestObjects.ts
100.00% <100.00%> (ø)

src/tests/suites/BridgeClientProvider-Test.ts
100.00% <100.00%> (+6.25%)
:arrow_up:

src/tests/suites/ExpectedCLIVersion-Test.ts
100.00% <100.00%> (ø)

src/tests/suites/KubectlClient-Test.ts
100.00% <100.00%> (ø)

src/tests/suites/Logger-Test.ts
100.00% <100.00%> (ø)

src/tests/suites/RedactUtility-Test.ts
96.49% <100.00%> (+0.06%)
:arrow_up:

src/tests/suites/StringUtility-Test.ts
100.00% <100.00%> (ø)

... and 7 files with indirect coverage changes


Clean up setup.py

Drop problematic pip version check that can break pants/pex lockfile generation. Also, update python classifiers to 3.6-3.8 and bump the version.
And update circle config to skip python 2.7 and just use 3.6 for now.

This is a lot better. CI is still broken, but less so. I'm merging this, then someone else can work on fixing CI from this point


OnceLock-like type

I'm looking for a type like std's OnceLock. In an async world it would have an API like

pub const fn new() -> Self
pub async fn get(&self) -> &T
pub fn set(&self, T) -> Result<(), T>

That is, it can be placed in a static, everyone waits for someone to put a value value in, and then everyone gets a shared reference. Any further calls to get resolve immediately, any further calls to set fail.
Does this exist? I found Signal, but its wait returns T by value, so it must remove the value  (the doc explanation is cyclic but the type is pretty clear). Can this be trivially assembled from existing types in embassy? Is this impossible to do?

I think this is completed as of #2651.


SAAS-24870 adding open-jdk17 to java-releases

``-----> Wed Oct 12 12:44:50 UTC 2022: Run test errand
Using environment '<IP_ADDRESS>' as client 'admin'
Using deployment 'test'
Task 4
Task 4 | 12:44:51 | Preparing deployment: Preparing deployment
Task 4 | 12:44:51 | Preparing package compilation: Finding packages to compile (00:00:00)
Task 4 | 12:44:51 | Preparing deployment: Preparing deployment (00:00:00)
Task 4 | 12:44:51 | Creating missing vms: openjdk-test/c7694c05-b840-4cab-92f0-117ea589e8d2 (0) (00:00:05)
Task 4 | 12:44:56 | Updating instance openjdk-test: openjdk-test/c7694c05-b840-4cab-92f0-117ea589e8d2 (0) (canary)
Task 4 | 12:44:59 | L executing pre-stop: openjdk-test/c7694c05-b840-4cab-92f0-117ea589e8d2 (0) (canary)
Task 4 | 12:44:59 | L executing drain: openjdk-test/c7694c05-b840-4cab-92f0-117ea589e8d2 (0) (canary)
Task 4 | 12:45:00 | L stopping jobs: openjdk-test/c7694c05-b840-4cab-92f0-117ea589e8d2 (0) (canary)
Task 4 | 12:45:01 | L executing post-stop: openjdk-test/c7694c05-b840-4cab-92f0-117ea589e8d2 (0) (canary)
Task 4 | 12:45:02 | L installing packages: openjdk-test/c7694c05-b840-4cab-92f0-117ea589e8d2 (0) (canary)
Task 4 | 12:45:03 | L configuring jobs: openjdk-test/c7694c05-b840-4cab-92f0-117ea589e8d2 (0) (canary)
Task 4 | 12:45:03 | L executing pre-start: openjdk-test/c7694c05-b840-4cab-92f0-117ea589e8d2 (0) (canary)
Task 4 | 12:45:03 | L starting jobs: openjdk-test/c7694c05-b840-4cab-92f0-117ea589e8d2 (0) (canary)
Task 4 | 12:45:09 | L executing post-start: openjdk-test/c7694c05-b840-4cab-92f0-117ea589e8d2 (0) (canary) (00:00:13)
Task 4 | 12:45:09 | Running errand: openjdk-test/c7694c05-b840-4cab-92f0-117ea589e8d2 (0) (00:00:01)
Task 4 | 12:45:10 | Fetching logs for openjdk-test/c7694c05-b840-4cab-92f0-117ea589e8d2 (0): Finding and packing log files (00:00:01)
Task 4 Started  Wed Oct 12 12:44:51 UTC 2022
Task 4 Finished Wed Oct 12 12:45:11 UTC 2022
Task 4 Duration 00:00:20
Task 4 done
Instance   openjdk-test/c7694c05-b840-4cab-92f0-117ea589e8d2
Exit Code  0
Stdout     javac <IP_ADDRESS>
Stderr     + source /var/vcap/packages/openjdk-17/bosh/compile.env
++ export JAVA_HOME=/var/vcap/packages/openjdk-17
++ JAVA_HOME=/var/vcap/packages/openjdk-17
++ export PATH=/var/vcap/packages/openjdk-17/bin:/usr/sbin:/usr/bin:/sbin:/bin
++ PATH=/var/vcap/packages/openjdk-17/bin:/usr/sbin:/usr/bin:/sbin:/bin
+ javac -version
+ source /var/vcap/packages/openjdk-17/bosh/runtime.env
++ export JAVA_HOME=/var/vcap/packages/openjdk-17
++ JAVA_HOME=/var/vcap/packages/openjdk-17
++ export PATH=/var/vcap/packages/openjdk-17/bin:/usr/sbin:/usr/bin:/sbin:/bin
++ PATH=/var/vcap/packages/openjdk-17/bin:/usr/sbin:/usr/bin:/sbin:/bin
+ java -version
openjdk version "<IP_ADDRESS>" 2022-08-12
OpenJDK Runtime Environment Temurin-<IP_ADDRESS>+1 (build <IP_ADDRESS>+1)
OpenJDK 64-Bit Server VM Temurin-<IP_ADDRESS>+1 (build <IP_ADDRESS>+1, mixed mode, sharing)
1 errand(s)
Succeeded``
Running a test errand is successful in my local setup.

The final changes look good. The four commits should be squashed into one.
Thought: is the manifest change you made, and then reverted an indication that the CI for this repo is missing another dimension of testing?
Phrased another way:

Should this release be tested across a set of different stemcells?

@aramprice Thanks for taking a look into PR.
Ideally, JDK should work on both xenial and bionic, as Our system son bionic I just want to be double sure about it.
Regarding the CI for this repo, it can be enhanced with the below ones

Pipeline setting itself based on the commit to pipeline config.
There are a lot of duplicate lines of code, which can be removed.
We can enhance to test on both xenial and bionic and have the flexibility to include new ones in the future when they appear.
If required I can create a separate PR for the above ones once this is merged.

Let me try to squash the 4 commits and re-submit the PR.

Thanks for taking a look at squashing the commits, I think doing a git push --force-with-lease should update this PR, without needing to create a new one.
Thank you for the background info on the state of CI. For this PR it probably doesn't make sense to address the CI difficulties.

@aramprice I have squashed all 4 commits to 1.

Thanks for taking a look at squashing the commits, I think doing a git push --force-with-lease should update this PR, without needing to create a new one.
I meant a separate PR for CI enhancements, not for the squash :)
Thank you for the background info on the state of CI. For this PR it probably doesn't make sense to address the CI difficulties.

Looks good, thank you!
I think it would be good to update the commit message to remove the squashed comments. That will be less confusing for folks in the future.

Done.

@aramprice can we get this merged?
Once merged who sets the pipeline so that the new pipeline configuration is applied?

@niharbabu99 I'm unsure about the process for updating pipelines. Tagging @rkoster who likely knows if there is a particular process for that.
As for merging, I'm less familiar with this area of the BOSH ecosystem so I'd like to have @rkoster (or someone he designates) do the final merge. This might happen on Monday though because today is a company holiday for VMware.

@rkoster can we get this PR merged and set the new CI pipeline config to get JDK17 available

Pipeline has been migrated to Cloudfoundry Foundation owned concourse: https://github.com/bosh-packages/java-release/pull/17


How can I automatically scroll pages?

I want to go to the next page when one page finishes when I play it automatically.
I can use the 'Interactor::new_viewport()' function to display the next page, but I do not know when the current page will end.
When the current page finishes playing, it will be good if the next page jump event occurs.
It would also be nice if there was a way to get the coordinates of the currently highlighted notes.
Please let me know if I do not know how.

Interactor::new_viewport() function is the right method for changing the displayed page or section. But I have not thought on how to automate scrolling the music in sync. with the playback. So the API for this has to be designed and implemented. Any help, ideas and comments on how the API should be designed and on how is this implemented in other software would be of great help. As to your suggestions:

When the current page finishes playing, it will be good if the next page jump event occurs.

My first impression is that this can be useful and it is not complex to implement. But the behaviour for the end user will not be very comfortable as the score will advance in 'jumps'. Perhaps, additional 'next system' events should be implemented, to smooth the movement.

It would also be nice if there was a way to get the coordinates of the currently highlighted notes.

Perhaps the coordinates could be included in the highlight event, and this will save time and code and avoid having to ask for the coordinates.
In addition to all this, perhaps an additional view type could be implemented: a single system view. In this view the score will not be paginated but will flow from left to right in a single line. And for playback it will be automatically scrolled so that notes being played are always located near the left side of the screen.
Well, I have to think in detail on all this. Currently I'm implementing all necessary support for solving #79. Hope to finish it in two-three weeks.

The best way I think of scrolling is in the link below.
https://www.soundslice.com/musicxml-viewer/
But it is not too bad to jump page by page or line by line.

Closed by pull-request #108


Create goals for starting and downloading projects

As a PM,
I want to track the number of editor visitors who have 1) started a HTML/CSS and/or Python project and 2) downloaded a project
So that I can better understand core usage
ACs
Implement 3 custom event goals in Plausible

‘Start coding Python’ button clicks (homepage)
'Start coding HTML/CSS’ button clicks (homepage)
'Download' button clicks

well create-issue-branch[bot] that's new and completely useless... thanks

Not sure why this isn't linking, but here's the PR: https://github.com/RaspberryPiFoundation/editor-ui/pull/607


Ci lint and test fixes

Sets the version of the Python client library to test
Adds public/downloads as test data
Dockerfile cleanup
Adds Husky and lint-staged pre-commit hooks that run linting and tests (still local env only for now)
Fixes directory-specific Vale configs and custom vocabs.

If this looks OK then I'll add documentation to CONTRIBUTING.md, or I can do that before you review it if it helps.


Added Curve.Division (WIP)

-corrected formating
-Contour : Complete
-Divide Curve : Complete

Looking pretty good @v-xup6 :)

@garciadelcastillo all finished except contour and contour(ex) outputs to wrong path if input is more than one item.
code has been cleaned up to better match the code style standard for GH#

Very nice work @v-xup6 ! Code looks great to me, let's merge!
A couple minor things to fix:

When I open Math_Operators.ghx the file is zoomed somewhere far out. Try to save files with zoom centered around the file header.
Rename Curve.Division.ghx to Curve_Division.ghx. I agree the first is nicer to read, but let's keep it this way for consistency with the rest of the project. We can change all files before release if we feel like.

Thanks! 🥳 👍


cardano-node service: make genesis file optional

genesisFile is only used by chairman test now. This allows it to not be set in envConfig (as it's been removed).

bors r+


Minor code fixes to mars / response_file

Pretty trivial code changes

Updated:

Reverted for -> foreach in root.response;
Nested all declarations in extern (C++) {...} in gluelayer (module-wise)

Auto-merge toggled on

Nice, those statics should never have gone in.


Laravel 9

Please,
This package is great, If you could make it compatible with Laravel 9.
Coming soon...

Fixed in v1.5.0: https://github.com/protonemedia/laravel-verify-new-email/releases/tag/v1.5.0

Fixed in v1.5.0: https://github.com/protonemedia/laravel-verify-new-email/releases/tag/v1.5.0

Great to see this heppening


Incorrect property comment on ec2/Instance

Problem description
The property comment for the iamInstanceProfile also has the comment for ipv6AddressCount .

Affected product version(s)
N/A
Suggestions for a fix
N/A

Here's the API doc link for the TS API showing the same problem: https://www.pulumi.com/docs/reference/pkg/nodejs/pulumi/aws/ec2/#Instance-iamInstanceProfile.

This is happening bc the markdown doesnt have a space where is normally does


SPDY sonarqube syncronization error reports

SonarQube reports a few synchronization issues related to SPDY code.  We should investigate these issues and either mark them as false positives or address the issues.
Example:

@jpinner - FYI.

@Scottmitch I think these are bogus given the new threading model in 4.x

@normanmaurer @trustin - Is there a way to mark false positives in our SonarQube?  If so who has access to this sort of thing?

@trustin - Marked these as false positives.  Closing.


fix: fixed the overflow issue

Description

Fixed the overflow issue.

Before :
https://user-images.githubusercontent.com/91362589/229181507-66bbd7f3-97e4-403b-9dbe-f56fac0fa54d.mp4
After :
https://user-images.githubusercontent.com/91362589/229184235-27dac4ff-ac73-490d-a72b-56323376d314.mp4
Related issue(s)
Resolves #167

@ivangsa can you have a look please


Add clipboard function to context menu

This adds a context menu which copies selected nodes and relationships to the clipboard.
Only tested in Firefox.
It would be nice in future to add a copy path to clipboard maybe.

Test with Chromium too.
This feature work great :+1:
thank you again for your interest in OVALI


perf(db): reduce different repeated allocations

open_db() was being called way too many times in some stages (which makes a couple allocations that can add up). Now it's only called once per table per transaction. Since only the dbi u32 value is being used, I think it reduces the complexity instead of carrying around lifetimes with Database<..>
Compress::compress_to_buf requires AsMut<[u8]>, so that it can write directly to the buf instead of a temporary buffer when dealing with Vec<T> and Option<T>.
Each cursor has a reusable buffer that can be used when compressing many values of the same type. This reduces the need for reallocation of buffers everytime we append/insert something

Codecov Report

Merging #2103 (eb7a119) into main (2b27aa9) will decrease coverage by 0.09%.
The diff coverage is 89.09%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main    #2103      +/-   ##
==========================================
- Coverage   72.05%   71.97%   -0.09%
==========================================
  Files         435      436       +1
  Lines       53255    53391     +136
==========================================
+ Hits        38372    38427      +55
- Misses      14883    14964      +81

Flag
Coverage Δ

integration-tests
19.29% <15.45%> (-0.03%)
:arrow_down:

unit-tests
66.14% <87.27%> (-0.08%)
:arrow_down:

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

Impacted Files
Coverage Δ

crates/primitives/src/integer_list.rs
52.17% <0.00%> (-4.97%)
:arrow_down:

crates/storage/db/src/tables/mod.rs
0.00% <ø> (ø)

...rates/storage/db/src/tables/models/integer_list.rs
66.66% <0.00%> (-33.34%)
:arrow_down:

crates/storage/codecs/src/lib.rs
94.11% <90.90%> (+0.11%)
:arrow_up:

crates/storage/db/src/implementation/mdbx/tx.rs
90.47% <96.00%> (-0.55%)
:arrow_down:

crates/primitives/src/hex_bytes.rs
93.47% <100.00%> (ø)

crates/primitives/src/storage.rs
100.00% <100.00%> (ø)

...tes/storage/codecs/derive/src/compact/generator.rs
98.34% <100.00%> (ø)

crates/storage/codecs/derive/src/compact/mod.rs
94.78% <100.00%> (ø)

crates/storage/db/src/abstraction/table.rs
18.60% <100.00%> (+18.60%)
:arrow_up:

... and 7 more

... and 30 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

What's the flamegraph before / after? Do we have any rough % on how much faster you expect things to go with this? Awesome work. cc @onbjerg

@joshieDo nit if you can pls add the comment I mention above + resolve conflict. good to merge otherwise, nice work.


Feature Request: handleTransaction

Do you want to request a feature or report a bug?
Feature request.
Currently, there is handleBlock, which allows us to trigger on all incoming blocks in subgraphs, but is it possible to add a trigger for all transactions? (like handleTransaction) In this way, all blocks, transactions and addresses on the network can be indexed, so it will be possible to create explorers (like etherscan) on evm-based chains (if it is not possible to add them as a cli command as mentioned in #297). In addition, if the feature mentioned in #1211 is added, transaction information can be retrieved from the block and this feature may not be needed.

Hi! Yes this is a good request - transaction information is non trivial to fetch from the RPC, but with the addition of an Ethereum Firehose as a data source, this should become much more immediately feasible @maoueh

@azf20  is there any update on this Feature-handleTransaction , so that all transactions can be indexed, if not is there a workaround we can do in subgraph to acheive this?

hey @kumar8317 - we have made significant progress with the Firehose integration, but this data is also available directly using https://substreams.streamingfast.io/. What is your use case?

@azf20  Our use case is to index all transactions (including native coin transfers) on the chain and then do further processing. If this can be done, could you direct me to a doc/tutorial on how to achieve this


Set Websocket Text Size

Hi,
I need to increase the default Websocket Text Message size but the documentation on Javalin's website seems to be incorrect.  After a while of looking I was able to glean a bit of info from release notes as well as from the provided documentation on the main site but the suggested config seems to have no effect. For example:
config.wsFactoryConfig { wsFactory ->
            wsFactory.policy.maxTextMessageSize = 1
            wsFactory.policy.maxTextMessageBufferSize = 1
        }

Just to verify that it's working properly I set the max message size to 1. It had no effect. Could someone please suggest a different approach?
Thanks

There is a test case confirming that this does work, so I'm a bit surprised to see the issue. I'll have a look tomorrow.

After some more testing it does seem to work though I found it odd that it would reset if I simply tried to access the value of the field.

That would be Jettys responsibility, if you can't figure it out I recommend making an issue in their project. Happy it works!


Remove the removed watermark configure key

Ⅰ. Describe what this PR does
The high low water mark has been removed from alluxio from 2.0.
Ⅴ. Special notes for reviews
User will be confused by the removed watermark configure keys.

LGTM. Thanks, @maobaolong . @TrafalgarZZZ any comments?

@maobaolong @ssz1997 I notice the configuration is still kept in https://github.com/Alluxio/alluxio/blob/master/integration/kubernetes/helm-chart/alluxio/values.yaml#L377-L378. May I know the reason?
Further more, I'm wondering how to configure the watermark of tiered store in Alluxio? Does it still support in Alluxio?

@RongGu @TrafalgarZZZ @cheyang Thanks for your review!
Now the high/low water mark space reserver has been removed from Alluxio from 2.0, so alluxio never support it from then now. for the helm chart in Alluxio repo, thank you for remind us, we should remove it also.

They are deprecated. Alluxio helm chart should also remove them.


Failures with Chrome 44 (but not Chrome 43 or lower)

I don't know exactly whose bug this is - whether it's Chrome, chromedriver, Selenium, or MinkSelenium2Driver - but let's start here. :-)
So, we have a Behat and Selenium test suite that works perfectly with Chrome 43 and below, but fails with Chrome 44.
Specifically, what appears to be happening is that a Behat step is calling $element->fillField('name', 'username'); but what is getting filled in in the browser is "username   " (with what appears to be a tab character at the end, but it could just be a bunch of spaces).
Here is a minimalist .feature file for Behat that shows the problem:
Feature: Testing Chrome 43
  In order to use Chrome 43
  As a user
  I need to be able to fill in fields

  @api @javascript @chrome
  Scenario: I fill in a field on the login page
    Given I visit "/user/login"
    When I fill in "name" with "username"
    Then the "name" field should contain "username"

And here's what I get as output when I run it:
Feature: Testing Chrome 43
  In order to use Chrome 43
  As a user
  I need to be able to fill in fields

  @api @javascript @chrome
  Scenario: I fill in a field on the login page     # features/chrome43.feature:7
    Given I visit "/user/login"                     # Drupal\DrupalExtension\Context\MinkContext::assertAtPath()
    When I fill in "name" with "username"           # Drupal\DrupalExtension\Context\MinkContext::fillField()
    Then the "name" field should contain "username" # Drupal\DrupalExtension\Context\MinkContext::assertFieldContains()
      The field "name" value is "username       ", but "username" expected. (Behat\Mink\Exception\ExpectationException)

--- Failed scenarios:

    features/chrome43.feature:7

1 scenario (1 failed)
3 steps (2 passed, 1 failed)
0m2.15s (56.94Mb)

And this test passes when I downgrade to Chrome 43 or use Goutte instead of Selenium.
For completeness, here's the versions of stuff I'm using:

Chrome 44.0.2403.89 (64-bit) under Linux
chromdriver 2.16
Selenium 2.46
Behat 3.0.15
behat/mink 1.6.1
behat/mink-extension 2.0.1
behat/mink-selenium2-driver 1.2.0

Please let me know what you think! If you think this should be moved down the chain to other issue queues, like Chrome or Selenium, I can do that! However, it'll be a little harder for me to describe the problem to them since I don't know exactly how their APIs are being used, since I'm using them through Behat and Mink. :-)
Thanks in advance for your help!

Can you please create & run PHP code snippet, that would just fo the fillField by directly calling Mink?

Sure! Here's a gist with PHP code using Mink directly that demonstrates the failure in my testing:
https://gist.github.com/dsnopek/58a621ece44ca624a702

Looking at the code in Selenium2Driver, it does appear to be adding a tab at the end of the value:
https://github.com/minkphp/MinkSelenium2Driver/blob/master/src/Selenium2Driver.php#L662
If I remove the . Key::TAB bit on that line, then it actually works for me! So, I think this is actually a bug in this project...

Hrm, or maybe the bug is with Chrome starting to incorrectly put tab characters into the field? I'm not exactly sure how to articulate this to the Chrome project, but looking at the WebDriver wire protocol:
https://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/element/:id/value
It seems pretty clear that this is about keypresses, not string values, so sending the value for TAB should be like pressing the TAB key not injecting the value...

I created an issue in the Chrome queue just in case:
https://code.google.com/p/chromium/issues/detail?id=513728&thanks=513728&ts=1437753911
Hopefully that's the right place and not chromedriver? I guess we'll see depending on how they respond. :-)

I can reproduce this without Selenium by pointing Behat directly at Chromedriver.

The above mentioned Chrome issue been merged into this other Chrome issue:
https://code.google.com/p/chromium/issues/detail?id=513768
It sounds like the place in the code where this is messed up has been located!
So, I think this squarely seems like "not a bug in MinkSelenium2Driver" so closing. :-) Thanks everyone for responding and following!


Sometimes pods are created without init container copy-vault-env

Preflight Checklist

[X] I have searched the issue tracker for an issue that matches the one I want to file, without success.
[X] I am not looking for support or already pursued the available support channels without success.
[X] I agree to follow the Code of Conduct.

Vault Secrets Webhook Version
1.19.0
Installation Type
Official Helm chart
Bank-Vaults Version
1.6.2
Kubernetes Version
1.23
Kubernetes Distribution/Provisioner
MSK
Expected Behavior
Running the init container copy_vault_env always together with the pod
Actual Behavior
recently got a k8s cluster at my disposal, it has vault v1.6.2 installed, as well as vault-operator and vault-secrets-webhook v1.19.0 from banzaicloud.
The support team began to notice that sometimes pods and jobs start without copy-vault-env init container. Because of this, they do not have access to the vault secrets, and use only the paths in their configuration (secrets are mapped from the config map to ENV, if this is important). The only solution to the problem is deleting the pod and creating it again (with the same configuration and annotations). At the same time, I don’t find any errors in the vault-operator and vault-secrets-webhook logs, the logs are in debug mode.
Please tell me what can be done in this situation, are there any options for analyzing this problem?
Steps To Reproduce
No response
Configuration
No response
Logs
No response
Additional Information
No response

We observe this as well (version 1.21.0) and found this issue to be the closest to our problem: #254
Sadly there's no reliable workaround right now.
It's currently blocking us from deploying the secrets webhook to production.

We observe the same problem in version 1.19.0

Closing in favor of the same issue: https://github.com/bank-vaults/vault-secrets-webhook/issues/254


should subresource FetchEvents trigger an update if 24-hours since last check?

Currently the spec indicates we should trigger a soft update in these conditions:

After a non-subresource FetchEvent is handle regardless of last check time.  This is done in Handle Fetch.
After a functional event is handled if its been more than 24 hours since last check time.  This is done in Handle Functional Event.

FetchEvents extend ExtendableEvent like other functional events.
Should subresource FetchEvents be treated like other ExtendableEvents with the 24-hour-checked update?  It seems like they should.

Are you suggesting the SW shouldn't update after each navigate? If so, I disagree. If I shipped a SW that served broken pages, users would be stuck with it for 24 hours? We added the 24hr max-age limit because the longer the max-age, the more trouble you're getting yourself into.
If you're saying that we should perform an update after a fetch event if it's >24hr since an update, even if the fetch is for a subresource, then yeah, that makes sense.

If you're saying that we should perform an update after a fetch event if it's >24hr since an update, even if the fetch is for a subresource, then yeah, that makes sense.

Yea, this one.  All FetchEvents might trigger an update.  Navigations bypass the 24-hour check for starting the update (although http cache might still be in effect), while sub-resources only actually start the update if its >24 hours.

Sounds good. How about postMessage, should that also trigger 24-hour-checked update? (Chrome does a 24-hour-checked Soft Update whenever the worker stops or has been running for a while, which I guess falls more into "The user agent may call this as often as it likes to check for updates." than the Handle Functional Event algorithm.)

Alright. So we agree to invoking Soft Update for a subresource request when it's >24hr since an update. I'll add it.

How about postMessage, should that also trigger 24-hour-checked update?

I don't think a message event is a functional event. Devs already have registration.update() if they want to trigger update at certain point.

Addressed: 1413c06cc42156f58d06d6de2ca077f369169883


Add choose command to Utilities plugin

Your code doesn't account for an empty option (eg. $choose foo \ \ bar). You need to account for this to avoid the bot responding with I choose: .
I'll accept either:

The bot sees one or more options are blank and fails quietly
The bot removes blank options from the list before it makes its choice

Be aware that if you choose the 2nd option, that you revert to the bot failing quietly if all options are blank (eg. $choose \ \ \)


Support custom emoji at mastodon 2.0

Mastodon2.0のAPIが返すStatusに、カスタム絵文字が含まれるようになったので、Emojiクラスと、Status#emojisを追加して、mastodon4jで絵文字を扱えるようにしました

Codecov Report

Merging #55 into master will decrease coverage by 0.39%.
The diff coverage is 0%.

@@             Coverage Diff             @@
##             master      #55     +/-   ##
===========================================
- Coverage     58.64%   58.25%   -0.4%
  Complexity      147      147
===========================================
  Files            43       44      +1
  Lines           740      745      +5
  Branches         60       60
===========================================
  Hits            434      434
- Misses          292      297      +5
  Partials         14       14

Impacted Files
Coverage Δ
Complexity Δ

...n/java/com/sys1yagi/mastodon4j/api/entity/Emoji.kt
0% <0%> (ø)
0 <0> (?)

.../java/com/sys1yagi/mastodon4j/api/entity/Status.kt
40.74% <0%> (-1.57%)
6 <0> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2704d4e...3e9e006. Read the comment docs.

thanks~
document PR : https://github.com/tootsuite/documentation/pull/432 👀

publish 1.3.0 https://github.com/sys1yagi/mastodon4j/releases/tag/1.3.0


TC Selected option from dropdown is preserved after page reload.

Description: Verify if the "Personale Nr. joburi nepublicate" option from dropdown is preserved after page reload.
Preconditions: Navigate to the "Companii" page.

Step 2: Reload the page.
Expected result: The reload button can be accessed.

The page is reset.


Supporting specific dbname at query statment.

e.g:
select * from aa.bb;
specific dbname is higher priority than db session by use.

Supported already.


how can I modify this to upload wav files as well

I change the upload.rb and add below
 "audio/wav"

also I change the upload.js.coffee
types = /(\.|\/)(gif|jpe?g|png|mov|mpeg|mpeg4|avi|wav)$/i

but is seems still can not work
seems the Paperclip is not for audio, am i right?

Hi @hakehuang
Thanks for your question. I'll need to take a look at it.

Do you see any error messages in your log when the upload record should be created?
Did you take a look at the paperclip docs if wav files are possible?
What did Google say about it?


Use voluptuous for D-Link Switch

Description:
Migration of the configuration check to voluptuous.
Related issue (if applicable): fixes 127528299
Pull request in home-assistant.io with documentation (if applicable): home-assistant/home-assistant.io#
Example entry for configuration.yaml (if applicable):
switch:
  platform: dlink
  host: IP_ADRRESS
  name: D-Link plug
  username: YOUR_USERNAME
  password: YOUR_PASSWORD

@LinuxChristian, would be nice if you could take a look at the changes.

You guys are really quick to merge :)
Everything also looks good to me.


Release without Open Collective

Hi!
My company uses this library in production. We experienced issues with OpenCollective; to work around this, we installed node-cron directly from Github. We are now no-longer able to do so, so we'll be unable to use this library until a new release is cut without OpenCollective, since the latest published version still has OpenCollective.
I noticed OpenCollective has already been removed, just not published as such. As a stop-gap, I cloned the repo and published whatever was current to: https://www.npmjs.com/package/node-cron-no-open-collective. I would love to delete this and just use this package =)
Thanks!

@icbat Hi, Just asking out of curiosity, how is OpenCollective stopping your Organization from using this project? Are there any legal issues that I should be aware of?

I presume it is failing the CI build.  Lots of reports about it on OpenCollective page.

It was indeed failing CI builds. I'm no longer with that organization, so I'm unable to pull the exact error we were seeing.

We ended up using node-schedule instead.

hello @bozzmob, for me the normal package isn't working, because heroku always throws:
sh: 1: opencollective-postinstall: Permission denied
npm ERR! code ELIFECYCLE


Conflict of Renderer2 typing extension with Angular 9

There is a small conflict with the Renderer2 extension with Angular 9 animations.
    ERROR in node_modules/@angular/platform-browser/animations/animations.d.ts:71:22 - error TS2720: Class 'ɵangular_packages_platform_browser_animations_animations_f' incorrectly implements class 'Renderer2'. Did you mean to extend 'Renderer2' and inherit its members as a subclass?
      Property 'childNodes' is missing in type 'ɵangular_packages_platform_browser_animations_animations_f' but required in type 'Renderer2'.

    71 export declare class ɵangular_packages_platform_browser_animations_animations_f implements Renderer2 {
                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

      node_modules/@angular-contrib/core/render-extension/render-extension.module.d.ts:5:9
        5         childNodes(node: Node): NodeList;
                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        'childNodes' is declared here.
    node_modules/@angular/platform-browser/animations/animations.d.ts:102:22 - error TS2720: Class 'ɵAnimationRenderer' incorrectly implements class 'Renderer2'. Did you mean to extend 'Renderer2' and inherit its members as a subclass?
      Property 'childNodes' is missing in type 'ɵAnimationRenderer' but required in type 'Renderer2'.

    102 export declare class ɵAnimationRenderer extends ɵangular_packages_platform_browser_animations_animations_f implements Renderer2 {
                             ~~~~~~~~~~~~~~~~~~

      node_modules/@angular-contrib/core/render-extension/render-extension.module.d.ts:5:9
        5         childNodes(node: Node): NodeList;
                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        'childNodes' is declared here.

Can you please publish a new version of this library to npm with this fix


Styling unification.

Related to #484

Hi @tomislavhofman,
Thanks for helping out with the documentation, much appreciated!
Would you also make sure you're added to the COPYRIGHTWAIVERS file?
√

Done it under first commit,
apologies for not making it clear!

@tomislavhofman No problem! (I didn't see it in the file list first for some reason)

Thanks @tomislavhofman!

Glad to contribute!