Allow accessing internals for reexportable derives

So. This one's a bit of a doozy.
Rocket is integrating serde as a core dependency. I'd like to reexport serde's derives (and other things) from rocket::serde so that, in the common case, a user can derive Serialize and Deserialize without depending directly on serde:
use rocket::serde::Serialize;

#[derive(Serialize)]
struct Foo { .. }

Of course, this doesn't work because there is no serde crate in the root:
error[E0463]: can't find crate for `serde`
   |
 3 | #[derive(Serialize)]
   |          ^^^^^^^^^ can't find crate

While a user can add #[serde(crate = "rocket::serde")] manually to fix this, I'd like for this to just work. So, the idea is for Rocket to define its own Serialize and Deserialize derives that work exactly like serde's. This commit makes this possible. With these changes, this can be done as:
#[macro_use] extern crate quote;
#[macro_use] extern crate syn;
extern crate proc_macro;
extern crate proc_macro2;

use syn::DeriveInput;
use proc_macro::TokenStream;

const SERDE_EXPORT_PATH: &'static str = "::rocket::serde";

#[proc_macro_derive(Serialize, attributes(serde))]
pub fn derive_serialize(input: TokenStream) -> TokenStream {
    let mut input = parse_macro_input!(input as DeriveInput);
    add_default_serde_export_path(&mut input);
    serde_derive_internals::ser::expand_derive_serialize(&mut input)
        .unwrap_or_else(to_compile_errors)
        .into()
}

#[proc_macro_derive(Deserialize, attributes(serde))]
pub fn derive_deserialize(input: TokenStream) -> TokenStream {
    let mut input = parse_macro_input!(input as DeriveInput);
    add_default_serde_export_path(&mut input);
    serde_derive_internals::de::expand_derive_deserialize(&mut input)
        .unwrap_or_else(to_compile_errors)
        .into()
}

fn add_default_serde_export_path(to: &mut DeriveInput) {
    let crate_override = to.attrs.iter()
        .filter_map(|attr| attr.parse_meta().ok())
        .filter_map(|meta| match meta {
            syn::Meta::List(list) if list.path.is_ident("serde") => Some(list.nested),
            _ => None
        })
        .flat_map(|list| list.into_iter())
        .filter(|nested| match nested {
            syn::NestedMeta::Meta(meta) => meta.path().is_ident("crate"),
            _ => false
        })
        .next();

    if crate_override.is_none() {
        to.attrs.insert(0, parse_quote!(#[serde(crate = #SERDE_EXPORT_PATH)]))
    }
}

fn to_compile_errors(errors: Vec<syn::Error>) -> proc_macro2::TokenStream {
    let compile_errors = errors.iter().map(syn::Error::to_compile_error);
    quote!(#(#compile_errors)*)
}

Then, the derive above just works, and the user can still override the external crate to use.
As an alternative, serde could export some kind of bang! macro that does exactly what the Serialize/Deserialize impls do. Then, instead of calling the internal methods in the new derives, they can simply emit a call to the bang! macro:
#[macro_use] extern crate quote;
extern crate proc_macro;
extern crate proc_macro2;

use proc_macro::TokenStream;

const SERDE_EXPORT_PATH: &'static str = "::rocket::serde";

#[proc_macro_derive(Serialize, attributes(serde))]
pub fn derive_serialize(input: TokenStream) -> TokenStream {
    let input: proc_macro2::TokenStream = input.into();
    quote!(::rocket::serde::serialize!(#SERDE_EXPORT_PATH, #input)).into()
}

#[proc_macro_derive(Deserialize, attributes(serde))]
pub fn derive_deserialize(input: TokenStream) -> TokenStream {
    let input: proc_macro2::TokenStream = input.into();
    quote!(::rocket::serde::deserialize!(#SERDE_EXPORT_PATH, #input)).into()
}

I'd be satisfied with either solution.

I think I would prefer not to make this change (nor the suggested alternative).

What is your reservation with the alternative? It seems like a low/no-maintenance solution (which I'd be happy to implement) that resolves this concern nicely. If the derive doesn't already do this, the only thing that would need to change is that serde should keep the last instance of a given container attribute.

Surely the user importing the macro from serde::Serialize not rocket::serde::Serialize should be fine right?

The idea is that serde becomes something that Rocket's users can benefit from right out of the box with no configuration at all. Since the release of 0.5-rc, we've already had a few requests from users hoping to remove serde from their dependencies and either 1) being unable to do so, or 2) lamenting the additional #[serde(crate = "rocket::serde")]. Most seem to be opting for the latter, so it seems that my desire to not have serde be an explicit dependency is shared by Rocket's users as well.

If not, I would recommend maintaining a rocket-specific fork of serde_derive_internals containing what you need.

This is a much higher maintenance burden that the alternative I proposed above while simultaneously being really suboptimal. It duplicates code and increases compilation time if anyone does depend on serde with the derive feature enabled.

As soon as there is a way for macro-generated code to refer reliable to a particular crate in a way that survives re-exports, I would happily adopt that.

As much as I'd like to see this as well, I cannot imagine such a feature being shipped in stable, or at all, any time soon. I'd love to give Rocket's users seamless access to serde. This is the only missing puzzle piece.

we've already had a few requests from users hoping to remove serde from their dependencies and either 1) being unable to do so, or 2) lamenting the additional #[serde(crate = "rocket::serde")]. Most seem to be opting for the latter, so it seems that my desire to not have serde be an explicit dependency is shared by Rocket's users as well.

I see this as self-inflicted :slightly_frowning_face:. The 0.5-rc documentation like https://docs.rs/rocket/0.5.0-rc.1/rocket/serde/json/fn.from_str.html steers people toward use rocket::serde::Deserialize + #[serde(crate = "rocket::serde")] which basically forces everyone following this documentation to stumble on a missing crate error and debug it on their own. If the documentation showed [dependencies] serde = "1.0" + use serde::Deserialize, I am very skeptical that anyone would have an objection.

we've already had a few requests from users hoping to remove serde from their dependencies and either 1) being unable to do so, or 2) lamenting the additional #[serde(crate = "rocket::serde")]. Most seem to be opting for the latter, so it seems that my desire to not have serde be an explicit dependency is shared by Rocket's users as well.

I see this as self-inflicted slightly_frowning_face. The 0.5-rc documentation like https://docs.rs/rocket/0.5.0-rc.1/rocket/serde/json/fn.from_str.html steers people toward use rocket::serde::Deserialize + #[serde(crate = "rocket::serde")] which basically forces everyone following this documentation to stumble on a missing crate error and debug it on their own.

You have the implication arrow backwards. I added that bit of documentation to prevent confusion, and indeed queries dropped. Clearly if they were reading these docs, they'd see #[serde(crate = "rocket::serde")] and have no issues.
We could simply not reexport Serialize and Deserialize, and that might prevent issues. But again, the point is to make this seamless. Sadly, it seems we're not aligned in there being value in that. But I have no idea why. The maintenance burden on your side to expose the bang macro is about zero. The utility is obvious. I'm not the first nor will I be the last to call for this functionality in serde. With near-to-no downside and a clear upside, what is the hangup?

The hangup is:

I am not comfortable endorsing either of the workarounds. For better or worse serde is the most used Rust library. People look here for guidance; the majority of idioms seen in proc macros are cribbed originally from serde. I would prefer instead to put focus on the language change to make exportable proc macros doable correctly, for which my outlook is less pessimistic than  yours (except if I accept your PR, in which case a language change will never happen).

This is a niche feature. There are a zillion feature requests less niche than this. The only way to maintain a foundational library is to draw and hold a line on how niche features to accept, because doing otherwise destroys a foundational library: you can't accept whatever is individually justifiable as making the library better. My position isn't "anti-seamlessness" but my priority also isn't doing what's best for rocket or any other use case.


Header mega dropdown / navigation

Extend the header #3 with a mega dropdown as on the current website. No design has been provided, minimal design changes to be done.

Requirements

The same menu items as on current navigation need to be included
Less (complex) code than current state

Behaviour on mobile/tablet

The mega-dropdown is a group of accordions. Menu items act like an accordion and will show their navigation items upon tapping

Styling on mobile/tablet

The links will follow the default/selected/hover state from Volvo Core Design Kit.

Behaviour on desktop

Once a menu item is tapped in the header, the sub-navigation will appear and show the corresponding items
Clicking outside the mega dropdown will close the mega dropdown

Styling on desktop

The main menu item will have an active state upon clicking, which is the same as the current pressed state
The mega dropdown will overlap the in-page navigation #45
The mega dropdown will remain sticky when opened
The margins, typography and colours will be aligned with redesign
The lists are of equal width, but don’t necessarily fill the whole dropdown (maybe create a proper minimum width?)
Trucks dropdown to be made smaller in size (now the user has to scroll to see Powertrain)

Trucks grouped together (on one line?)

Example solution direction:

confirmed as done


problem with tensorrt_llm performance

System Info
hi,
i generated the tensorrt llm engine for a llama based model and see that the performance is much worse than vllm.
i did the following:

compile model with tensorrt llm compiler
configure the triton inference server repo

configure inflight batching for tensorrt llm

start triton inference llm server
benchmark to compare tensorrt llm with vllm

questions:

is there a problem in the tensorrt llm engine build process?
how can i re-configure tensorrt llm to get better latency vs. throughput numbers similar to vllm?
i also tried to set max_batch_size to 1 - it doesnt really change anything... - any idea?
if you tell me to use the latest tensorrt_llm package - what nvcr.io/nvidia/tritonserver image should i use for the tensorrt llm engine generation process and what image for tritonserver doing inference?

setup:
Used Image to compile the engine and run triton inference server: nvcr.io/nvidia/tritonserver:24.06-trtllm-python-py3
Used Tensorrt llm version: 0.10.0 - included in the image above
GPU name: 1 x Nvidia A10
GPU memory: 24 gigabytes (GB)
LLM: Meta-Llama-Guard-2-8B

used gpu:
nvidia-smi
Thu Jul 11 23:51:14 2024
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.161.08             Driver Version: 535.161.08   CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| 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 A10G                    On  | 00000000:00:1E.0 Off |                    0 |
|  0%   49C    P0              70W / 300W |  16834MiB / 23028MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A     74156      C   tritonserver                              16824MiB |
+---------------------------------------------------------------------------------------+

build tensorrt llm engine and create triton repo:
create_trt_engine.txt
started triton inference server and triton inference server model configs:
start_triton_inference.txt
benchmark triton inference:
2024/07/11 23:37:56 ============ Serving Benchmark Result ============
2024/07/11 23:37:56 Benchmark Duration (sec): 120.10
2024/07/11 23:37:56 Number of total requests: 362
2024/07/11 23:37:56 Success Rate (Percent): 100.00
2024/07/11 23:37:56 Concurrency: 1
2024/07/11 23:37:56 Request throughput (req/sec): 3.014
2024/07/11 23:37:56 Prompt throughput (tokens/second) avg: 2224.493
2024/07/11 23:37:56 Generation throughput (tokens/second) avg: 12.057
2024/07/11 23:37:56 End to End Latency (ms) avg: 328.207
2024/07/11 23:37:56 End to End Latency (ms) p50: 328.000
2024/07/11 23:37:56 End to End Latency (ms) p90: 329.000

2024/07/11 23:37:56 Running load test with concurrency 5...
2024/07/11 23:39:57 ============ Serving Benchmark Result ============
2024/07/11 23:39:57 Benchmark Duration (sec): 121.45
2024/07/11 23:39:57 Number of total requests: 375
2024/07/11 23:39:57 Success Rate (Percent): 100.00
2024/07/11 23:39:57 Concurrency: 5
2024/07/11 23:39:57 Request throughput (req/sec): 3.088
2024/07/11 23:39:57 Prompt throughput (tokens/second) avg: 2278.757
2024/07/11 23:39:57 Generation throughput (tokens/second) avg: 12.351
2024/07/11 23:39:57 End to End Latency (ms) avg: 1607.147
2024/07/11 23:39:57 End to End Latency (ms) p50: 1616.000
2024/07/11 23:39:57 End to End Latency (ms) p90: 1617.000

2024/07/11 23:39:57 Running load test with concurrency 10...
2024/07/11 23:42:00 ============ Serving Benchmark Result ============
2024/07/11 23:42:00 Benchmark Duration (sec): 123.06
2024/07/11 23:42:00 Number of total requests: 380
2024/07/11 23:42:00 Success Rate (Percent): 100.00
2024/07/11 23:42:00 Concurrency: 10
2024/07/11 23:42:00 Request throughput (req/sec): 3.088
2024/07/11 23:42:00 Prompt throughput (tokens/second) avg: 2278.813
2024/07/11 23:42:00 Generation throughput (tokens/second) avg: 12.351
2024/07/11 23:42:00 End to End Latency (ms) avg: 3196.500
2024/07/11 23:42:00 End to End Latency (ms) p50: 3235.000
2024/07/11 23:42:00 End to End Latency (ms) p90: 3236.000

2024/07/11 23:42:00 Running load test with concurrency 20...
2024/07/11 23:44:07 ============ Serving Benchmark Result ============
2024/07/11 23:44:07 Benchmark Duration (sec): 126.30
2024/07/11 23:44:07 Number of total requests: 390
2024/07/11 23:44:07 Success Rate (Percent): 100.00
2024/07/11 23:44:07 Concurrency: 20
2024/07/11 23:44:07 Request throughput (req/sec): 3.088
2024/07/11 23:44:07 Prompt throughput (tokens/second) avg: 2278.796
2024/07/11 23:44:07 Generation throughput (tokens/second) avg: 12.351
2024/07/11 23:44:07 End to End Latency (ms) avg: 6315.615
2024/07/11 23:44:07 End to End Latency (ms) p50: 6473.000
2024/07/11 23:44:07 End to End Latency (ms) p90: 6474.000

2024/07/11 23:44:07 Running load test with concurrency 30...
2024/07/11 23:46:16 ============ Serving Benchmark Result ============
2024/07/11 23:46:16 Benchmark Duration (sec): 129.54
2024/07/11 23:46:16 Number of total requests: 400
2024/07/11 23:46:16 Success Rate (Percent): 100.00
2024/07/11 23:46:16 Concurrency: 30
2024/07/11 23:46:16 Request throughput (req/sec): 3.088
2024/07/11 23:46:16 Prompt throughput (tokens/second) avg: 2278.771
2024/07/11 23:46:16 Generation throughput (tokens/second) avg: 12.351
2024/07/11 23:46:16 End to End Latency (ms) avg: 9359.320
2024/07/11 23:46:16 End to End Latency (ms) p50: 9712.000
2024/07/11 23:46:16 End to End Latency (ms) p90: 9713.000

2024/07/11 23:46:16 Running load test with concurrency 40...
2024/07/11 23:48:29 ============ Serving Benchmark Result ============
2024/07/11 23:48:29 Benchmark Duration (sec): 132.79
2024/07/11 23:48:29 Number of total requests: 410
2024/07/11 23:48:29 Success Rate (Percent): 100.00
2024/07/11 23:48:29 Concurrency: 40
2024/07/11 23:48:29 Request throughput (req/sec): 3.088
2024/07/11 23:48:29 Prompt throughput (tokens/second) avg: 2278.700
2024/07/11 23:48:29 Generation throughput (tokens/second) avg: 12.351
2024/07/11 23:48:29 End to End Latency (ms) avg: 12334.346
2024/07/11 23:48:29 End to End Latency (ms) p50: 12950.000
2024/07/11 23:48:29 End to End Latency (ms) p90: 12951.000

2024/07/11 23:48:29 Running load test with concurrency 50...
2024/07/11 23:50:45 ============ Serving Benchmark Result ============
2024/07/11 23:50:45 Benchmark Duration (sec): 136.02
2024/07/11 23:50:45 Number of total requests: 420
2024/07/11 23:50:45 Success Rate (Percent): 100.00
2024/07/11 23:50:45 Concurrency: 50
2024/07/11 23:50:45 Request throughput (req/sec): 3.088
2024/07/11 23:50:45 Prompt throughput (tokens/second) avg: 2278.776
2024/07/11 23:50:45 Generation throughput (tokens/second) avg: 12.351
2024/07/11 23:50:45 End to End Latency (ms) avg: 15243.845
2024/07/11 23:50:45 End to End Latency (ms) p50: 16188.000
2024/07/11 23:50:45 End to End Latency (ms) p90: 16189.000

deploy vllm container:
#!/bin/bash

MODEL="meta-llama/Meta-Llama-Guard-2-8B"
HUGGING_FACE_HUB_TOKEN="xxx"

docker run --runtime nvidia --gpus all \
    -v ~/.cache/huggingface:/root/.cache/huggingface \
    --env "HUGGING_FACE_HUB_TOKEN=${HUGGING_FACE_HUB_TOKEN}" \
    -p 8080:8000 \
    --ipc=host \
    vllm/vllm-openai:latest \
    --model ${MODEL} \
    --gpu-memory-utilization 0.90 \
    --max-model-len 8192 \
    --kv-cache-dtype auto \
    --enable-prefix-caching \
    --max-num-batched-tokens 8192

start vllm container:
./deploy.sh
Unable to find image 'vllm/vllm-openai:latest' locally
latest: Pulling from vllm/vllm-openai
3c645031de29: Pull complete
0d6448aff889: Pull complete
0a7674e3e8fe: Pull complete
b71b637b97c5: Pull complete
56dc85502937: Pull complete
380ca03515b9: Pull complete
b9e353cd3958: Pull complete
57efca880186: Pull complete
2735a04f6870: Pull complete
175b4b06144d: Pull complete
5dc5ca7a92cf: Pull complete
203e66f482bf: Pull complete
Digest: sha256:e58fceffa6f8d3e4d535f9e7128361cd33469b232a8dc670967b62ae62bac5fe
Status: Downloaded newer image for vllm/vllm-openai:latest
INFO 07-12 00:08:12 api_server.py:206] vLLM API server version 0.5.1
INFO 07-12 00:08:12 api_server.py:207] args: Namespace(host=None, port=8000, uvicorn_log_level='info', allow_credentials=False, allowed_origins=['*'], allowed_methods=['*'], allowed_headers=['*'], api_key=None, lora_modules=None, chat_template=None, response_role='assistant', ssl_keyfile=None, ssl_certfile=None, ssl_ca_certs=None, ssl_cert_reqs=0, root_path=None, middleware=[], model='meta-llama/Meta-Llama-Guard-2-8B', tokenizer=None, skip_tokenizer_init=False, revision=None, code_revision=None, tokenizer_revision=None, tokenizer_mode='auto', trust_remote_code=False, download_dir=None, load_format='auto', dtype='auto', kv_cache_dtype='auto', quantization_param_path=None, max_model_len=8192, guided_decoding_backend='outlines', distributed_executor_backend=None, worker_use_ray=False, pipeline_parallel_size=1, tensor_parallel_size=1, max_parallel_loading_workers=None, ray_workers_use_nsight=False, block_size=16, enable_prefix_caching=True, disable_sliding_window=False, use_v2_block_manager=False, num_lookahead_slots=0, seed=0, swap_space=4, gpu_memory_utilization=0.9, num_gpu_blocks_override=None, max_num_batched_tokens=8192, max_num_seqs=256, max_logprobs=20, disable_log_stats=False, quantization=None, rope_scaling=None, rope_theta=None, enforce_eager=False, max_context_len_to_capture=None, max_seq_len_to_capture=8192, disable_custom_all_reduce=False, tokenizer_pool_size=0, tokenizer_pool_type='ray', tokenizer_pool_extra_config=None, enable_lora=False, max_loras=1, max_lora_rank=16, lora_extra_vocab_size=256, lora_dtype='auto', long_lora_scaling_factors=None, max_cpu_loras=None, fully_sharded_loras=False, device='auto', scheduler_delay_factor=0.0, enable_chunked_prefill=False, speculative_model=None, num_speculative_tokens=None, speculative_draft_tensor_parallel_size=None, speculative_max_model_len=None, speculative_disable_by_batch_size=None, ngram_prompt_lookup_max=None, ngram_prompt_lookup_min=None, spec_decoding_acceptance_method='rejection_sampler', typical_acceptance_sampler_posterior_threshold=None, typical_acceptance_sampler_posterior_alpha=None, model_loader_extra_config=None, preemption_mode=None, served_model_name=None, qlora_adapter_name_or_path=None, otlp_traces_endpoint=None, engine_use_ray=False, disable_log_requests=False, max_log_len=None)
INFO 07-12 00:08:12 llm_engine.py:169] Initializing an LLM engine (v0.5.1) with config: model='meta-llama/Meta-Llama-Guard-2-8B', speculative_config=None, tokenizer='meta-llama/Meta-Llama-Guard-2-8B', skip_tokenizer_init=False, tokenizer_mode=auto, revision=None, rope_scaling=None, rope_theta=None, tokenizer_revision=None, trust_remote_code=False, dtype=torch.bfloat16, max_seq_len=8192, download_dir=None, load_format=LoadFormat.AUTO, tensor_parallel_size=1, pipeline_parallel_size=1, disable_custom_all_reduce=False, quantization=None, enforce_eager=False, kv_cache_dtype=auto, quantization_param_path=None, device_config=cuda, decoding_config=DecodingConfig(guided_decoding_backend='outlines'), observability_config=ObservabilityConfig(otlp_traces_endpoint=None), seed=0, served_model_name=meta-llama/Meta-Llama-Guard-2-8B, use_v2_block_manager=False, enable_prefix_caching=True)
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
INFO 07-12 00:08:13 weight_utils.py:218] Using model weights format ['*.safetensors']
INFO 07-12 00:10:15 model_runner.py:255] Loading model weights took 14.9595 GB
INFO 07-12 00:10:17 gpu_executor.py:84] # GPU blocks: 1639, # CPU blocks: 2048
INFO 07-12 00:10:18 model_runner.py:924] Capturing the model for CUDA graphs. This may lead to unexpected consequences if the model is not static. To run the model in eager mode, set 'enforce_eager=True' or use '--enforce-eager' in the CLI.
INFO 07-12 00:10:18 model_runner.py:928] CUDA graphs can take additional 1~3 GiB memory per GPU. If you are running out of memory, consider decreasing `gpu_memory_utilization` or enforcing eager mode. You can also reduce the `max_num_seqs` as needed to decrease memory usage.
INFO 07-12 00:10:31 model_runner.py:1117] Graph capturing finished in 12 secs.
INFO 07-12 00:10:31 block_manager_v1.py:247] Automatic prefix caching is enabled.
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
INFO 07-12 00:10:31 serving_chat.py:94] Using default chat template:
INFO 07-12 00:10:31 serving_chat.py:94] {% if messages|length % 2 == 0 %}{% set role = 'Agent' %}{% else %}{% set role = 'User' %}{% endif %}{{ "[INST] Task: Check if there is unsafe content in '" + role + "' messages in conversations according our safety policy with the below categories.
INFO 07-12 00:10:31 serving_chat.py:94]
INFO 07-12 00:10:31 serving_chat.py:94] <BEGIN UNSAFE CONTENT CATEGORIES>
INFO 07-12 00:10:31 serving_chat.py:94] S1: Violent Crimes.
INFO 07-12 00:10:31 serving_chat.py:94] S2: Non-Violent Crimes.
INFO 07-12 00:10:31 serving_chat.py:94] S3: Sex Crimes.
INFO 07-12 00:10:31 serving_chat.py:94] S4: Child Exploitation.
INFO 07-12 00:10:31 serving_chat.py:94] S5: Specialized Advice.
INFO 07-12 00:10:31 serving_chat.py:94] S6: Privacy.
INFO 07-12 00:10:31 serving_chat.py:94] S7: Intellectual Property.
INFO 07-12 00:10:31 serving_chat.py:94] S8: Indiscriminate Weapons.
INFO 07-12 00:10:31 serving_chat.py:94] S9: Hate.
INFO 07-12 00:10:31 serving_chat.py:94] S10: Self-Harm.
INFO 07-12 00:10:31 serving_chat.py:94] S11: Sexual Content.
INFO 07-12 00:10:31 serving_chat.py:94] <END UNSAFE CONTENT CATEGORIES>
INFO 07-12 00:10:31 serving_chat.py:94]
INFO 07-12 00:10:31 serving_chat.py:94] <BEGIN CONVERSATION>
INFO 07-12 00:10:31 serving_chat.py:94]
INFO 07-12 00:10:31 serving_chat.py:94] " }}{% for message in messages %}{% if (message['role'] == 'user') != (loop.index0 % 2 == 0) %}{{ raise_exception('Conversation roles must alternate user/assistant/user/assistant/...') }}{% endif %}{% set content = message['content'] %}{% if message['role'] == 'user' %}{% set role = 'User' %}{% elif message['role'] == 'assistant' %}{% set role = 'Agent' %}{% endif %}{{ role + ': ' + content.strip() + '
INFO 07-12 00:10:31 serving_chat.py:94]
INFO 07-12 00:10:31 serving_chat.py:94] ' }}{% endfor %}{{ "<END CONVERSATION>
INFO 07-12 00:10:31 serving_chat.py:94]
INFO 07-12 00:10:31 serving_chat.py:94] Provide your safety assessment for ONLY THE LAST " + role + " message in the above conversation:
INFO 07-12 00:10:31 serving_chat.py:94]  - First line must read 'safe' or 'unsafe'.
INFO 07-12 00:10:31 serving_chat.py:94]  - If unsafe, a second line must include a comma-separated list of violated categories. [/INST]" }}
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
WARNING 07-12 00:10:32 serving_embedding.py:141] embedding_mode is False. Embedding API will not work.
INFO:     Started server process [1]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://<IP_ADDRESS>:8000 (Press CTRL+C to quit)

benchmark vllm:
2024/07/12 02:23:54 Running load test with concurrency 1...
2024/07/12 02:25:54 ============ Serving Benchmark Result ============
2024/07/12 02:25:54 Benchmark Duration (sec): 120.18
2024/07/12 02:25:54 Number of total requests: 656
2024/07/12 02:25:54 Success Rate (Percent): 100.00
2024/07/12 02:25:54 Concurrency: 1
2024/07/12 02:25:54 Request throughput (req/sec): 5.459
2024/07/12 02:25:54 Prompt throughput (tokens/second) avg: 32.751
2024/07/12 02:25:54 Generation throughput (tokens/second) avg: 21.834
2024/07/12 02:25:54 End to End Latency (ms) avg: 182.445
2024/07/12 02:25:54 End to End Latency (ms) p50: 182.000
2024/07/12 02:25:54 End to End Latency (ms) p90: 183.000

2024/07/12 02:25:54 Running load test with concurrency 5...
2024/07/12 02:27:55 ============ Serving Benchmark Result ============
2024/07/12 02:27:55 Benchmark Duration (sec): 120.07
2024/07/12 02:27:55 Number of total requests: 2425
2024/07/12 02:27:55 Success Rate (Percent): 100.00
2024/07/12 02:27:55 Concurrency: 5
2024/07/12 02:27:55 Request throughput (req/sec): 20.196
2024/07/12 02:27:55 Prompt throughput (tokens/second) avg: 121.179
2024/07/12 02:27:55 Generation throughput (tokens/second) avg: 80.786
2024/07/12 02:27:55 End to End Latency (ms) avg: 246.920
2024/07/12 02:27:55 End to End Latency (ms) p50: 247.000
2024/07/12 02:27:55 End to End Latency (ms) p90: 250.000

2024/07/12 02:27:55 Running load test with concurrency 10...
2024/07/12 02:29:55 ============ Serving Benchmark Result ============
2024/07/12 02:29:55 Benchmark Duration (sec): 120.24
2024/07/12 02:29:55 Number of total requests: 4340
2024/07/12 02:29:55 Success Rate (Percent): 100.00
2024/07/12 02:29:55 Concurrency: 10
2024/07/12 02:29:55 Request throughput (req/sec): 36.096
2024/07/12 02:29:55 Prompt throughput (tokens/second) avg: 216.573
2024/07/12 02:29:55 Generation throughput (tokens/second) avg: 144.382
2024/07/12 02:29:55 End to End Latency (ms) avg: 276.402
2024/07/12 02:29:55 End to End Latency (ms) p50: 275.000
2024/07/12 02:29:55 End to End Latency (ms) p90: 282.000

2024/07/12 02:29:55 Running load test with concurrency 20...
2024/07/12 02:31:55 ============ Serving Benchmark Result ============
2024/07/12 02:31:55 Benchmark Duration (sec): 120.01
2024/07/12 02:31:55 Number of total requests: 5760
2024/07/12 02:31:55 Success Rate (Percent): 100.00
2024/07/12 02:31:55 Concurrency: 20
2024/07/12 02:31:55 Request throughput (req/sec): 47.998
2024/07/12 02:31:55 Prompt throughput (tokens/second) avg: 287.985
2024/07/12 02:31:55 Generation throughput (tokens/second) avg: 191.990
2024/07/12 02:31:55 End to End Latency (ms) avg: 416.056
2024/07/12 02:31:55 End to End Latency (ms) p50: 353.000
2024/07/12 02:31:55 End to End Latency (ms) p90: 668.000

2024/07/12 02:31:55 Running load test with concurrency 30...
2024/07/12 02:33:55 ============ Serving Benchmark Result ============
2024/07/12 02:33:55 Benchmark Duration (sec): 120.15
2024/07/12 02:33:55 Number of total requests: 7170
2024/07/12 02:33:55 Success Rate (Percent): 100.00
2024/07/12 02:33:55 Concurrency: 30
2024/07/12 02:33:55 Request throughput (req/sec): 59.675
2024/07/12 02:33:55 Prompt throughput (tokens/second) avg: 358.051
2024/07/12 02:33:55 Generation throughput (tokens/second) avg: 238.701
2024/07/12 02:33:55 End to End Latency (ms) avg: 502.089
2024/07/12 02:33:55 End to End Latency (ms) p50: 474.000
2024/07/12 02:33:55 End to End Latency (ms) p90: 502.000

2024/07/12 02:33:55 Running load test with concurrency 40...
2024/07/12 02:35:55 ============ Serving Benchmark Result ============
2024/07/12 02:35:55 Benchmark Duration (sec): 120.51
2024/07/12 02:35:55 Number of total requests: 8280
2024/07/12 02:35:55 Success Rate (Percent): 100.00
2024/07/12 02:35:55 Concurrency: 40
2024/07/12 02:35:55 Request throughput (req/sec): 68.707
2024/07/12 02:35:55 Prompt throughput (tokens/second) avg: 412.240
2024/07/12 02:35:55 Generation throughput (tokens/second) avg: 274.827
2024/07/12 02:35:55 End to End Latency (ms) avg: 581.544
2024/07/12 02:35:55 End to End Latency (ms) p50: 573.000
2024/07/12 02:35:55 End to End Latency (ms) p90: 586.000

2024/07/12 02:35:55 Running load test with concurrency 50...
2024/07/12 02:37:56 ============ Serving Benchmark Result ============
2024/07/12 02:37:56 Benchmark Duration (sec): 120.16
2024/07/12 02:37:56 Number of total requests: 8600
2024/07/12 02:37:56 Success Rate (Percent): 100.00
2024/07/12 02:37:56 Concurrency: 50
2024/07/12 02:37:56 Request throughput (req/sec): 71.573
2024/07/12 02:37:56 Prompt throughput (tokens/second) avg: 429.441
2024/07/12 02:37:56 Generation throughput (tokens/second) avg: 286.294
2024/07/12 02:37:56 End to End Latency (ms) avg: 697.933
2024/07/12 02:37:56 End to End Latency (ms) p50: 689.000
2024/07/12 02:37:56 End to End Latency (ms) p90: 707.000

Who can help?
@hijkzzz
@Tracin
@yuxianq
@Njuapp
@uppalutkarsh
@nv-guomingz
Information

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

Tasks

[ ] An officially supported task in the examples folder (such as GLUE/SQuAD, ...)
[ ] My own task or dataset (give details below)

Reproduction
is all in code above.
Expected behavior
better performance for concurrent requests and similar performance to vllm
actual behavior
performance degration
additional notes

@kaiyux Could you please have a look? Thanks

Hi @Arnold1 , how did you get the benchmark results for triton inference and vllm? Can you share your detailed steps, so I can reproduce your results quickly to see the root cause of the gap?

Hi @Arnold1 , @sunnyqgg were you guys able to figure the root cause here ?
I am also observing similar trend for llama2-7b model I am using the latest version of both trt-llm and vllm and respective latest triton servers

Hi @ashwin-js ， this's not expected, can you share your steps and commands for both?

@Arnold1 @ashwin-js If you have no further questions, we will close this issue in a week.


Growing animation settings; new bouncy animation

I figured a new animation would be fun to add; this one incorporates acceleration, squash n' stretch, and wobble.
This is the traditional growing-animation behavior (known as LINEAR)
This is a new optional growing-animation behavior (known as BOUNCY)
This is the setting to change between them:

It also seemed useful to have options for growth/degrowth in the stress-tester

Does everything look alright?

Thanks so much for your contribution!
The options for growth/degrowth already can be tested in the RestaurantPuzzleSceneDemo.tscn and RestaurantViewDemo.tscn. The controls are described at the top of the script files.
## Keys:
## 	[D]: Ring the doorbell
## 	[F]: Feed the creature
## 	[I]: Launch an idle animation
## 	[V]: Say something
## 	[N]: Change the nametag names
## 	[1-9,0]: Change the creature's size from 10% to 100%

I agree it's useful to have this feature in the Stress Tester now -- but I'd like to keep the stress tester simple. Honestly I'd like to delete it entirely -- but I don't have a better way of testing performance issues on my android phone.
Other than that I love the change and I'd probably make a few other tweaks

Change the default creature growth mode from LINEAR to BOUNCY (yours looks better, and in a few months if nobody prefers the older one, I'd say we can just get rid of the LINEAR setting altogether)
Change lerp_speed from 0.01 to 0.02. In the puzzles, creatures grow VERY incrementally, like 1-2 pixels for every snack they eat. It's strange to have the creature undulating for 2 seconds when they only grew in size by 1 or 2 pixels, so having this animation on the snappier side fits better.
A nitpicky thing, but the SettingsMenu connections all got rearranged which makes it harder to trace later when connections are added or removed. ...This is a side effect of Godot #52493 (https://github.com/godotengine/godot/issues/35084) which has allegedly been fixed a few months ago. If that's true, then maybe I can sort these connections en masse and stop alphabetizing them myself with a lame little script I run (ugh) but in the meantime I'd like to leave the connections alone

I don't know what the appropriate Godot etiquette is for editing pull requests, and I'm happy to make these tweaks myself before merging it in. Do I clone this branch into my repository and make the appropriate changes, or what is the typical process?
Thanks so much for your contribution, this looks so cool!

It wasn't too difficult, so I went and did those tweaks quickly (though I changed lerp_speed to 0.05 because 0.02 did not make much difference).
I believe when creating this PR I checked the "Allow maintainers to edit this pull request" option, so I presume you making changes would be related to this.
Hope that's all good :)

Thanks -- sounds good! I followed your link but evidently editing a GitHub pull request requires a lot of weird thorny steps I've never done before

[x] Install the GitHub CLI (done)
[ ] Generate and secure a GitHub API authentication token somewhere on my filesystem
[ ] Authenticate against github.com by reading the token from a file
[ ] Utilize the GitHub CLI to check out the PR (gh pr checkout)?
[ ] Utilize the GitHub CLI to edit the PR (I have no clue how to do this, but presumably there is equivalent of the git commit and git push commands?)
[ ] Squash the branch (presumably some github CLI equivalent of git rebase?)
[ ] Merge it into my repo (i can probably do this over the web)

I'm well-versed in the Git command line, but never messed with the GitHub CLI so this is all new to me! I will try to do some of it next week or possibly in mid-January -- but i have some other development tasks. Sorry this ended up being so difficult!

Gotcha, that's all right!
Also, I swapped [snappier bounce, changed default, cleaned code*] around because it was senselessly modifying the stress test scene (I thought re-basing would clean up the commits on that, but force-pushing still dirties it up on github, oh well ;) )

I've merged these changes via #1890 -- Presumably there is a better way to edit and merge branches from a different repository but after playing around for 30 minutes I couldn't figure it out.
 Let me know if there's an easy way to do all this stuff since I don't work with multiple repositories very often.
https://github.com/Poobslag/turbofat/commit/8d984b977d3b406dbf398425cac64ada6969439d

Subsumed via #1890


Add workflow-cps-global-lib to plugins.

A dependency of this plugin is needed for
https://github.com/ros-infrastructure/ros_buildfarm/pull/541
I'm not thrilled with the notion of pulling in a middleweight plugin we
don't actually use. I'd like to see us contact the maintainer of the
plugin which is causing the failure and get them to declare necessary
dependencies.
@gavanderhoorn from what I understand the error is due to the @grab annotation. What provides that annotation for Jenkins scripts and should it depend on ivy?

@nuclearsandwich wrote:

I'd like to see us contact the maintainer of the plugin which is causing the failure and get them to declare necessary dependencies.

It's not really about dependencies. I believe the posts I linked to in https://github.com/ros-infrastructure/ros_buildfarm/pull/541#issuecomment-388888562 clarify the situation.

@gavanderhoorn from what I understand the error is due to the @Grab annotation. What provides that annotation for Jenkins scripts and should it depend on ivy?

It's ivy itself that implements all of that. The job-dsl Google group posting (this one) should explain what is going on.

Btw, I've looked for an alternative implementation of the yaml serialisation code in ros-infrastructure/ros_buildfarm#541, but afaict, there is no 'native' yaml capability in Groovy that can actually write to files.
There is readYaml and writeYaml, but that comes from a plugin as well (PipeLine utility steps, or something like that).

Btw: an alternative would be to just drop the ivy jar in the right location on the master (https://github.com/ros-infrastructure/ros_buildfarm/pull/541#issuecomment-388900584). That would remove the need for the @Grab.

I'm still not thrilled with this as a solution, but it's been a persistent issue in test build farms and I've incorporated this plugin back into #207. I'm merging this PR so that the pre-jep-200 branch will also have this fix.


Error: write EOF

Hi,
I'm getting the following error when using imagemin-jpegoptim:
events.js:72
throw er; // Unhandled 'error' event
^
Error: write EOF
at errnoException (net.js:904:11)
at Object.afterWrite (net.js:720:19)

Here is  my gulpfile:
var gulp = require('gulp');

var sass      = require('gulp-ruby-sass'),
    jpegoptim = require('imagemin-jpegoptim'),
    pngquant  = require('imagemin-pngquant'),
    imagemin  = require('gulp-imagemin');

var paths = {
    imgSrc:  'html/src/img/**/*.{png,jpg,jpeg}',
    imgDst:  'html/img/'
};

// optimize images
gulp.task('images', function() {

    return gulp.src(paths.imgSrc)
        .pipe(imagemin({
            progressive: true,
            use: [pngquant(),jpegoptim({ progressive: true, max: 50})]
        }))
        .pipe(gulp.dest(paths.imgDst));

});

...

I hope someone can give me a hint how to fix this. :)
Thanks,
Martin

Exactly the same problem here on windows.
Gulp-imagemin - version 2.1.0
imagemin-jpegoptim - version 4.0.0

Same here

Did you get any messages upon install?

I have the same problem running (Fatal error: write EOF) Grunt Task with Windows 7 x64
"grunt": "^0.4.5",
"grunt-contrib-imagemin": "^0.9.2",
"imagemin-jpegoptim": "^4.0.0"

Same question to you, did you get any errors upon installation?

No errors installation.
I try with Gulp and...

Same as https://github.com/imagemin/imagemin/issues/81
I'll fix this soon.

Ah, I found another issue related to this.
@mjot @jon64digital @Samsy @jmaleman Would you mind building jpgoptim 1.4.2 on Windows and creating a pull request to fix imagemin/jpegoptim-bin#2 ?

Newest version of imagemin-jpegoptim still doesn't work on Windows.
Error: write EOF
    at exports._errnoException (util.js:746:11)
    at WriteWrap.afterWrite (net.js:766:14)

@maranomynet https://github.com/imagemin/imagemin-jpegoptim/issues/7#issuecomment-83762417

Would you mind building jpegoptim 1.4.2 on Windows and creating a pull request to fix imagemin/jpegoptim-bin#2 ?

I've never compiled from source on Windows before.
Will give it a shot.

Ah, not 1.4.2. Could you build the binary from the latest master branch of tjko/jpegoptim?
It includes an important fix for Windows. https://github.com/tjko/jpegoptim/commit/4e82d0cf2853874e604bb9efc8b6b98d36d8b036

Will give it a shot.

Thanks. Really helpful :)

Installed MinGW. Cloned the tjko/jpegoptim repo, Ran .configure(.sh) sucessfully (it seems) but running mingw32-make gives this error:
mingw32-make: *** No targets specified and no makefile found.  Stop.

Have run out of ideas for now. Will resume later today.

Now imagemin/imagemin-mozjpeg#3 has been resolved and that package provides the same functionality as this module. (Y)

I still experience this issue in windows 10.  @maranomynet's suggestion of using mozjpeg is not suitable for me as mozjepg is a lossy encoder and it is not possible to get full marks on google page speed insights with it.
Is there an easy way around this?

Same issue.
Creating an optimized production build

Failed to compile.

./assets/images/banner/1.jpg
Error: write EOF

In my case the problem was the size of the images.
They took 1 MB or more.
I optimized them with tinypng.com and the error is gone.


FIX: user is not available on AnonymousUser

Looks good but I'm wondering if we should start having serializer tests

Yes we should, there's logic in serializers so I think we should


Support disk fill experiment in Namespaced Mode

It seems the disk fill experiment is not supported in Namespaced Mode.
https://docs.litmuschaos.io/docs/namespaced-mode/
Is there plan to support it or is there any work around available?
Thank you.
EG

Hi @sharpyy the disk fill experiment is supported in Namespace Mode from litmus 1.13.3 and later(1.13.4 and 1.13.5). You can use it in namespace mode.

Thanks, I did not know. Any other experiment name that should be added to the supported list in https://docs.litmuschaos.io/docs/namespaced-mode/ ?

@sharpyy you can check the updated list of Supported Experiments in Namespaced Mode.
Apart from this, there are some new experiments that have been added in the last releases also support in namespace mode like pod-dnd-error and pod-dns-spoof.

Hi @uditgaurav , unfortunately, despite trying the latest version, I am still getting this same error message when running the experiment:
time="2021-05-18T22:04:08Z" level=error msg="Chaos injection failed, err: Unable to create the helper pod, err: admission webhook \"pod-mutating-webhook.openpolicyagent.org\" denied the request: pod rejected due to unauthorized usage of spec.volumes[_].hostPath for paths [\"/var/lib/docker/containers\"]"

We run in EKS but it seems we have security policies prohibiting the disk fill experiment to run properly. I had first the Open Policy Agent to block the hostpath mount. Once disabled via annotation, the new issue I m facing in my case is that I cannot specify a nodeName. We have hooks to prevent this but it seems the authorized method in my case is to use the nodeSelector feature:
time="2021-05-19T00:51:28Z" level=error msg="Chaos injection failed, err: Unable to create the helper pod, err: admission webhook \"pod-mutating-webhook.openpolicyagent.org\" denied the request: Rejecting, managed namespace pods are not allowed to specify a nodeName"
It seems I need to use the nodeSelector feature but I am not sure if it is supported by the disk fill experiment.

@uditgaurav Sorry but would you have an example of config using .spec.components.runner.nodeSelector ? the documentation provided is a reference and I am not sure where to specify it. Thank you in advance.


Line3 accepts arbitrary moment and direction vector arguments

Line3 currently accepts an arbitrary combination of moment and direction vectors, which could directly result in an invalid Plücker coordinates representation. Nevertheless, a valid Plücker coordinate representation is guaranteed in the docs, which is wrong. The following snippet illustrates this neatly:
v = np.array([2, 2, 3])
w = np.array([-3, 2, 1])
tw = Twist3( v, w)
recv_line = tw.line()
assert abs(np.dot(recv_line.v, recv_line.w)) < 1e-4

I believe the root cause of this issue is the mismatch between docs and implementation. The associated docs suggest that the input is a valid Plücker representation, whereas the implementation does not check for the validity of the input and assumes it is valid. Therefore, the test above fails.

Nice catch.  What should the action be? For the SO3 class the constructor checks validity if check=True (default) and throws an error if the matrix is invalid.  Could do a similar thing here?  If you know you have a valid direction/moment then set check=False to skip the check and go faster.  Thoughts?

@petercorke please check https://github.com/petercorke/spatialmath-python/pull/62#issue-1490372754. It turns out that Line3 is a general abstraction, which could be extended by Plücker-Screw-Twist coordinates, each of which has different validity conditions.
I think the documentation for Line3 should reflect this reality, i.e. the fact that it is a general abstraction of 3D lines.  Please also have a look at https://github.com/petercorke/spatialmath-python/pull/62. I can adjust the documentation of Line3 there and we can merge all of them together.

I worry about the proliferation of classes. There is already a Twist3 class which is a motion, and Line3 which is a 3D line.    I can see value in:

creating a pure Plucker coordinate class that Line3 inherits from and adds all the line-specific stuff
the Plucker class could have all the checking
being able to create a Twist3 from a Line3, pitch and θ

We can already convert a Twist3 (motion) to a Line3 (it's line of action).
The reason Plucker has the deprecation warning is that was the name of the Line3 class in the MATLAB version of the toolbox.

I created Screw to explicate the difference between Screw vs. Plucker vs. Twist. Its existence better stresses the meaning and differences of pitch and θ IMHO. At least, that was my experience when learning the subject. Besides, they are different geometric objects, hence I believe it is better to keep them separate to avoid possible ambiguities.

creating a pure Plucker coordinate class that Line3 inherits from and adds all the line-specific stuff

I think their dependency should be in a reverse way, i.e. Plucker inherits from Line3. The rationale is that Line3 does not currently do a strict unit-vector check on the inputs. Instead, it only checks whether the inputs are 3-vectors and I think that is sufficient for a base class. Plucker, Screw, and Twist  are all specializations of  Line3 (i.e. a pair of 3-vectors) and implement their own validity checks in their constructors.

the Plucker class could have all the checking

Not sure whether you have checked https://github.com/petercorke/spatialmath-python/pull/62, but I already implemented this in here 🙂

being able to create a Twist3 from a Line3, pitch and θ

Also here.

A 3D line and a 3D helicoidal motion are distinct things, currently Line3 and Twist3. I don't know what the third thing is.  The lack of parameter checking in Line3 was an oversight not a deliberate design decision, and as previously stated it is really easily fixed.  What is the use case for parameters that don't meet a "strict unit-vector check"?
The Line3 class has lots of baggage for plotting and plane/volume intersections which a pure Plucker coordinate class wouldn't need, hence why I suggested that inheritance order.

My concern is the back-compatibility for avoiding adding that check to Line3. Introducing a strict unit-vector check to Line3 might break existing usages. This is not particularly a production framework, although I guess there are many active users whose code already utilizes Line3.

The Line3 class has lots of baggage for plotting and plane/volume intersections which a pure Plucker coordinate class wouldn't need, hence why I suggested that inheritance order.

For this exact reason, I thought of leveraging all that goodies in Plucker and Screw classes through the opposite inheritance order. If someone wants to visualize or do geometric computations with those classes, their base class Line3 would trivially provide that. The inheritance order you suggested would require a Plucker to be converted to a Line3 for those operations.

I don't know what the third thing is

AFAIU a Twist3 is a normalized Screw axis representing the motion (kinematics?) of a rigid-body object, thus we can consider the former as an application/specialization of the latter. Similarly, a Wrench is another application of Screw representing the forces/torques (dynamics?). In fact, SpatialVector class already implements the closest representation of  Screw.

Thanks for your input on this.  I'm going to close this out with a minimal change now on master branch which checks the 6D coordinate for validity (but check can be turned off).

@petercorke could you please provide a link to commits/PR that has this new validity check? So that I can update my fork accordingly.


add a type-stable unstack method with Val dims arg

Addressing https://github.com/JuliaML/MLUtils.jl/issues/149.

Codecov Report

Merging #150 (ef9523d) into main (c957026) will increase coverage by 0.01%.
The diff coverage is 100.00%.

: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     #150      +/-   ##
==========================================
+ Coverage   88.40%   88.42%   +0.01%
==========================================
  Files          13       13
  Lines         595      596       +1
==========================================
+ Hits          526      527       +1
  Misses         69       69

Impacted Files
Coverage Δ

src/utils.jl
90.14% <100.00%> (+0.06%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Instead of forcing it to be a positional arg, you can do what Base does with typed_cat and call an internal function with dims as a positional arg from unstack(...; dims). Then it's possible to add dispatches to the former for Val and more.

I was trying to copy the idea from cat_t in Base, as you suggested (I didn't find any function called typed_cat, so I guess you meant this one). Although I managed to dispatch to a Val method, now the type is not being inferred correctly. I still don't fully understand the logic of this (it's the first time I'm using Val). This is what I have so far:
@inline unstack(xs...; dims) = _unstack(dims, xs...)
_unstack(dims, xs...) = _unstack_t(dims, Base.promote_eltypeof(xs...), xs...)
dims2unstack(::Val{dims}) where dims = dims2unstack(dims)
dims2unstack(dims::Integer) = dims

@inline function _unstack_t(dims, ::Type{T}, xs...) where {T}
    unstackdims = dims2unstack(dims)
    [copy(selectdim(xs..., unstackdims, i)) for i in 1:size(xs..., unstackdims)]
end

Tomorrow I'll continue trying to make this work.

Given unstack only takes a single xs, you can probably eliminate most of the varargs and splats. Something like this:
@inline unstack(xs; dims) = _unstack(dims, xs)

@inline dims2unstack(::Val{dims}) where dims = dims2unstack(dims)
@inline dims2unstack(dims::Integer) = dims

@inline _unstack(dims, xs) = [copy(selectdim(xs, dims2unstack(dims), i)) for i in axes(xs, dims2unstack(dims))]

I don't think @inline is required on all functions, so maybe try selectively removing it.

The only check that that failed was on Julia nightly and doesn't seem to be related to the changes in this PR. Should I do anything else?

Thanks! I commited your suggestion for removing that @inline and I see that you approved the PR but it is still not merged. Do I have to do something else or another reviewer is needed?

No need to apologize. My point is that open source dev means that people are all over the world with all sorts of time commitments. Longer lead times and very async communication should be the default expectation.


[app] Implement rudimentary cookie-controlled page-open google analytics

Closes #126

[ ] Discuss usage and downsides in next meeting first

Rejected in favor of a more privacy friendly alternative


wamr: fix introduce a non-existent header file with

Remove header file references that don't exist.

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


axios response to pre-select on multi-select

Im using this popular plugin
<multiselect v-model="test.selectedTags"
    :options="options"
    :multiple="true"
    :clear-on-select="false"
    :hide-selected="true"
    :preserve-search="true" placeholder="Pick some" label="name" track-by="name" :preselect-first="true">
</multiselect>

On my code im using axios request to fetch user id and name to be pre-selected by the multi-select
editUrl: function(id){
    let vm = this;
    axios.get('api/urls/' + id)
    .then( response => {
    vm.test.selectedTags = response.data.data.users.map(user => ({  name:user.name, id: user.id }))
         })
    .catch( error => {
         console.log(error);
     });
     },
 }

and the response looks like this
selectedTags:Array[2]
    0:Object
        id:3
        name:"asdaa"
    1:Object
        id:4
        name:"atetest"

Now, I successfully got the result and pre-select the data in multi-select

However when i click the "x" to remove, it doesnt remove the selected data and no errors has been shown. How to fix this? TIA
i dont get it my response looks like this but i cant still remove a specific option when i clicked the "X"
https://jsfiddle.net/0hLexkyz/660/

This should work out of the box. Sadly I have no idea what could go wrong here.
Please try changing v-model into :value="test.selectedTags" and @input="updateSelectedTags" and check what arguments the updateSelectedTags method receives.


feat: simplify format-docs into just a commit action that is used in conjunction with the pre-commit action

Description

simplify format-docs into just a commit action that is used in conjunction with the pre-commit action

Motivation and Context

the previous format-docs action duplicated logic for installing Terraform and the necessary tools for executing pre-commit. Since there is already a composite action here for that (pre-commit), this removes that duplicated logic and can be replaced with calling first the pre-commit action and then the this new commit action to commit changes back to PRs

How Has This Been Tested?

Testing with https://github.com/clowdhaus/terraform-release-test

Screenshots (if appropriate):

:tada: This PR is included in version 1.1.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add tree-diffing algorithm to efficiently compute table view section changes

Ideally, it would be nice to be able to calculate diffs for 2 (or, really, N)-dimensional arrays. This would allow animated section + row changes for UITableView/UICollectionView.
I think the work for this looks something like:

Implement a functional N-ary tree class, and code to convert an array to such a representation.
Use a tree-diffing algorithm to compute the diff between two such trees. http://www.sciencedirect.com/science/article/pii/S0304397505000174 seems like a good place to start here.
This previous step will need to have the added wrinkle that the diff must be constrained to a maximum "depth" of 2, since otherwise the individual transformation steps must either map to a UITableView section or row insertion.
Once the diff is obtained, update TableViewDiffCalculator to transform the diff steps into a series of animated updates.

Oh man I am so pleased to be closing this!

(Because I did it, I mean)


How to cancel the OverScrollDecoratorHelper.setUpStaticOverScroll effect when not needed?

I have applied the lib and it works perfectly fine, now i have a case that i want to apply and cancel the effect manually can i achieve that?

I have the same issue…

I'll work on a fix - should be pretty simple.

Feature is ready - will be included in my upcoming release.

Please try the associated feature support in the new 1.0.4 version: https://github.com/EverythingMe/overscroll-decor#dynamic-effect-disabling

Thank you so much for the solution.. it really worked


[5.6] Before sending mailable callbacks

This PR introduces a way to manipulate mails globally. It would be useful if someone needs to save information about the mailable in the database before sending it -- this way they'd be able to register a callback instead of adding code in several parts of the app

Any reason why you're registering callbacks instead of firing events?

@sisve to be honest when I wrote this I hadn't even thought about events. Definitely a better implementation. Thanks!


GPL vs Apache vs BSD-*

I'm a bit surprised to see this is under the GPL.  I expected it would be under a BSD or Apache license, especially given the funding source.  I wouldn't say it's a deal-breaker but it does give me pause when even considering this database because future use will be architecturally limited (e.g., can't go fully embedded or rework it as an in-memory storage library) and it will complicate distribution of other (more permissively licensed) software.  That's not a great database feature.  Especially given the integration with Apache Spark and DoE funding, I would have expected Apache license more appropriate.

Fixed in #69 :)


please provide binary release of UE 4.16, python 3.6 for MAC

For some reason I have to use UE 4.16. I tried the 4.18 version binary but unfortunately it doesn't work (as expected).

Hi, have you tried building it from sources ? (btw updated releases should be available in the next few days)

Thanks @rafleze . I built from source and it's working now.


Implement EIP 2981 royalty standard

cc'ing @dvargas92495 for review

@ssaitejar96 this needs some conflict resolving before we could merge

@dvargas92495 Moved the royalty functions into Passports.sol


Asp.NET Core 1.0.1 published web application is Slow on Windows server2008 R2

hi ,
when i host my asp.net core 1.0.1 mvc application (api controller)on IIS in windows server 2008r2
,responses to http requests are very slow,and application performance is very slow
but  same application's publish when host on iis in windows server2012 R2 ,every thing will be good
and we have no slow performance,
any one has this problem or
any idea for this ?

@Eilon

@Elias-Heydarpour thank you for filing this issue. In order for us to investigate this issue, could you please provide us with a minimal repro project that illustrates the problem? If so, please log a new issue in the https://github.com/aspnet/Home/issues repo and we can try to investigate further.


cant get tests

Description

Trying to debug cant get tests Error:
____________________________________________________________________________
trying to searching for tests using these settings:

    mocha path: src/node_modules/mocha/bin/index.js
    test files location: **/*.test.js
    files to ignore: **/.git/**/*,**/node_modules/**/*
    environmets: {}
    requires: []
    options:  {}

if you find anything wrong please change those default settings
____________________________________________________________________________
cant get tests Error: Mocha sidebar: Process exited with code 1. See Mocha output for more info.

Steps to Reproduce
My project has package.json in src/ and test in src/tests no other issues including nyc but mocha-sidebar cannot seem to find the tests
Expected Results
Sidebar is loaded with mocha tests
Actual Results
Sidebar has no tests showing
Settings file
{
    "editor.tabSize": 2,
    "files.insertFinalNewline": true,
    "files.trimTrailingWhitespace": true,
    "files.autoSave": "afterDelay",
    "mocha.files.glob": "**/*.test.js",
    "mocha.path": "src/node_modules/mocha/bin",
    "mocha.nycPath": "src",
    "mocha.logVerbose": true
}

Versions

VScode: 1.37.1
Mocha SideBar: v0.22.2
Node Version: v10.15.3

OS version

[ ] Linux
[ X ] Mac
[ ] Windows

Example for reproducing

Private repo

Looks like tests have requires for mocha (it, describe, before, after, etc).   Looks like that is the reason for the failure.  Not sure why that makes it fail.
Removal of any require('mocha') fixes sidebar issue and turning off jshint warnings fixes the next issue https://stackoverflow.com/questions/16260779/how-to-disable-the-warning-define-is-not-defined-using-jshint-and-requirejs


create-react-app Shows warnings in console.

Hello!
After installing and using analytics-next in a create-react-app we're getting quite a few warnings in the console when running in development, they are all similar to the following:

@Nicktho Thanks for logging this issue! Looks like this shouldn't prevent your builds from running but does indicate that the source-maps for @segment/facade are not working. This is something we should be able to take care of.

PR created to fix this here: https://github.com/segmentio/facade/pull/174

@segment/analytics-next version 1.35.1 has been released and includes a fix for this issue. Let us know if you still encounter sourcemap problems after updating!

@devaublanc Thanks for letting us know - looks like when we published the new @segment/analytics-core package we didn't publish the sources for the source maps.

@chrisradek should be fixed by https://github.com/segmentio/analytics-next/pull/547

Fixed in 1.42.0


Clearing Notebook cell output clears execution count

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version:
OS Version:

Steps to Reproduce:

Run a cell
Clear the output
Watch the execution count & time, basically everythign is cleared

This gets frustrating as I end up re-running cells as I keep failing to remember the fact that this is a bug in VS Code.

I think this is pretty bad, if you are running a cell and you get a stream of text and then clear it, now it looks as though the cell is no longer running.
& then one might end up clicking the Run button again, and from there things just go from bad to worse...

Fixed in latest insiders


Cursor position trouble when changing data on SESSION_PTY_DATA action on Plugin

Hello,
I'm working on a plugin.
There are times when I need to intercept SESSION_PTY_DATA actions, and change their data.
But, when I do, Hyper keep the cursor at position it was expect to be if I didn't changed data.
You can try with this plugin:
exports.middleware = (store) => (next) => (action) => {
  if('SESSION_PTY_DATA' === action.type){
    action.data = action.data.replace('hello world', "hi")
  }
  next(action)
}

Now load it, and try typing on prompt: echo hello world baby boy.
You will see the plugin working, but during the writing, you you can confirm the bug when typing space (' ') right after typing baby .
# echo hi baby          _

It also happens every time you type space (' ') later on.
Any idea?
[EDIT:] I don't think this might be the problem, but just noticed that when user input space, data from SESSION_PTY_DATA action just contains ' ', and not the whole line.

Hey there, please try again with the new Hyper v2 release and open a new issue if the problem stills exists. Thank you!


[prosiebensat1] HTTP Error 404 & This video is unavailable

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I remove or skip any mandatory* field

Checklist

[X] I'm reporting a broken site
[X] I've verified that I'm running yt-dlp version 2022.10.04 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and I'm willing to share it if required

Region
Germany
Provide a description that is worded well enough to be understood
I am recently trying to download a few videos, which worked months/years ago.
In detail I am speaking about ProSibenSat1 Videos and they seems not working anymore.
I am getting the same error again and again. doesn't matter if i am using Credentials, Cookies, or Nothing, like before.
Even with or without Geoblock option
This video is unavailable
WARNING: [prosiebensat1] Unable to download JSON metadata: HTTP Error 404: Not Found
I've also tried to check if video is DRM free, like it was earlier. Since its playing in disabled DRM Edge, it should be. ;)
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Command-line config: ['https://www.prosieben.de/tv/joko-klaas-gegen-prosieben/video/56-grosse-scherben-musikalische-meisterwerke-ganze-folge', '--cookies-from-browser', 'chrome', '--geo-bypass-country', 'DE', '-vU']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.10.04 [4e0511f] (win32_exe)
[debug] Python 3.8.10 (CPython 64bit) - Windows-10-10.0.22621-SP0
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg git-2020-08-31-4a11a6f
[debug] Optional libraries: Cryptodome-3.15.0, brotli-1.0.9, certifi-2022.09.24, mutagen-1.45.1, sqlite3-2.6.0, websockets-10.3
[Cookies] Extracting cookies from chrome
[debug] Extracting cookies from: "C:\Users\l4v4l\AppData\Local\Google\Chrome\User Data\Default\Network\Cookies"
[debug] Found local state file at "C:\Users\l4v4l\AppData\Local\Google\Chrome\User Data\Local State"
[Cookies] Extracted 253 cookies from chrome
[debug] cookie version breakdown: {'v10': 253, 'other': 0, 'unencrypted': 0}
[debug] Proxy map: {}
[debug] Loaded 1690 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: 2022.10.04, Current version: 2022.10.04
yt-dlp is up to date (2022.10.04)
[debug] Using fake IP <IP_ADDRESS> (DE) as X-Forwarded-For
[debug] [prosiebensat1] Extracting URL: https://www.prosieben.de/tv/joko-klaas-gegen-prosieben/video/56-grosse-scherben-musikalische-meisterwerke-ganze-folge
[prosiebensat1] tv/joko-klaas-gegen-prosieben/video/56-grosse-scherben-musikalische-meisterwerke-ganze-folge: Downloading webpage
[prosiebensat1] 6029555: Downloading videos JSON
[prosiebensat1] 6029555: Downloading protocols JSON
WARNING: [prosiebensat1] Unable to download JSON metadata: HTTP Error 404: Not Found
[prosiebensat1] 6029555: Downloading sources JSON
[prosiebensat1] 6029555: Downloading urls JSON
ERROR: [prosiebensat1] tv/joko-klaas-gegen-prosieben/video/56-grosse-scherben-musikalische-meisterwerke-ganze-folge: This video is unavailable
  File "yt_dlp\extractor\common.py", line 672, in extract
  File "yt_dlp\extractor\prosiebensat1.py", line 492, in _real_extract
  File "yt_dlp\extractor\prosiebensat1.py", line 437, in _extract_clip
  File "yt_dlp\extractor\prosiebensat1.py", line 113, in _extract_video_info

Possibly related: #4828, https://github.com/ytdl-org/youtube-dl/issues/31214.


Actionable insights

The graphs provided and optimisation of spend across channels is great - How would you use this to iterate your media spend over a period of time? Perhaps your creatives change one month and one channel changes effectiveness (decay and saturation may be more global)? Should you just have a rolling time period for the model dataset?

Thanks for the feedback. This will be addressed in the next update of Robyn. We'll release a new function to better update the initial model with new datapoints as well as more flexible selection of modelling period.


Modified CSS of Teams Page

In response to the issue #35
Changes made:

[x] Changed css of teams page

Snapshot

Preview
https://tess-vanta.github.io/HealhUb/pages/team-members.html

Updated design:
https://tess-vanta.github.io/HealhUb/pages/team-members.html


Add AsyncSequenceResponseBodyStreamer

Using AsyncSequenceResponseBodyStreamer  conform AsyncThrowingStream and AsyncStream to HBResponseGenerator
Also added AsyncSequence.responseGenerator that returns a type that wraps the AsyncSequence and conforms to HBResponseGenerator. Had to do this as I cannot conform a protocol to a new type outside of the protocol definition.

OMG this is super convenient, many thanks for adding this! 🙏


Geospatial queries in pgstac

I'm testing different databases with stac-fasapi and I noticed that geospatial queries in pgstac seem to not be working. I have tested bbox and point intersect queries. No matter what location I use to query, I seem to get the same 10 default results back from the api. Also, if I add a collections parameter it will return the same results even if I spell the name wrong. I'm adding a screenshot where you can see that the result should not be returned based on my query:

Maybe this is fixed in a new pgstac version?

This seems to be working now with pgstac:v0.4.5
Maybe a real issue is how this behaviour passed testing? We may need better tests I think. The tests are sort of designed to be successful I think with usually only loading one item and one collection.

I think this might be the same as https://github.com/stac-utils/stac-fastapi/issues/335

@kylebarron true thanks


fix: Don't use #private member variables in ContentScriptContext

Noticed in a few of my extensions I was getting an error "Couldn't access property 'signal' of undefined" in production builds. Was fixed by patching WXT to remove the #private members of the context class.
Every time I use classes in JS, I end up regretting it SMH.

Released in https://github.com/wxt-dev/wxt/releases/tag/wxt-v0.19.13


Update README.md

Codecov Report
Patch and project coverage have no change.

Comparison is base (a5003b4) 76.57% compared to head (ea9059f) 76.57%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #56   +/-   ##
=======================================
  Coverage   76.57%   76.57%
=======================================
  Files          12       12
  Lines        1050     1050
=======================================
  Hits          804      804
  Misses        185      185
  Partials       61       61

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Feature Request: Wrap Existing Process

I'd like the ability to provide ChildProcess with the PID of some process (potentially started by some external script) and have it wrap the process with that PID.
Example:
process = ChildProcess.wrap(some_pid)
process.alive? #=> true
process.stop

+1

+1

Closing as there doesn't seem to be interest from the community in implementing this, and we have no intention to implement ourselves. A well-tested pull request would be very much welcome!
Closing and locking thread.


Ability to avoid adjacent events overlapping in day view

Hi, is there any way to have the events in the same row not to overlap but display next to each other in a flexbox fashion? It seems like the final width/left values always account for that.
Here's my sandbox: https://codesandbox.io/s/wq117r3yr8. I'd like those three events to be 33.33% wide in relation to the row's width, so that they appear next to each other.
react-big-calendar v0.19.0

think I achieved that using css grid
https://codesandbox.io/s/zqk8vmqn3m
still wonder if something can be done within react-big-calendar

There isn't a way to adjust how RBC does layout at the moment, tho we've talked about making it pluggable. RBC picked a layout strategy that we think is useful and appropriate for a wide variety of cases, like having lots of events in a day, and we're happy with the results generally.


Robust hash ring failure retry mechanism

There are 2 step to check connection.
step 1] trying to connect in server_failure
If it succeed,  going to step 2
step 2] trying to send heartbeat command to fail server
If it succeed, it will update hash ring.
and it uses array just to connect failed servers to prevent infinity loop for connecting
and in heartbeat stage. It uses msg_two_insert for timeout
but, if there is no timeout setting in conf, It will just wait for response like other message.

There are too many threads going on in this pull request. However for @vinay-ganesh and @hrishimantri  the following changes fixes the issue of redis server not getting ejected when it is unresponsive and loading dataset from disk:

https://github.com/twitter/twemproxy/commit/ef453130e321974b332dd99d585ae7285eee4b5d
https://github.com/twitter/twemproxy/commit/5e082b8d3ae0479b8f019a5f53e1e289f66ddfe9

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


Amazon S3 Images not loading

I have a data coming from API and showing them like this
      <AwesomeSlider>
        {items.map(x => (
          <SlideItem key={x.url} {...x} />
        ))}
      </AwesomeSlider>

Nothing is shown
If I click Back Arrow I get the Image but then it crashes in the console
index.js:478 Uncaught (in promise) TypeError: Cannot read property 'classList' of null
    at eval (index.js:478)

Do you know what's happening here?

Okay found it
You have to make sure the items array is already there
So im not rendering AweSomeSlider before I have the data.
if(isLoading) {
    return (

loading...

    )
  }

  return (
    <AwesomeSlider>
        {items.map(x => (
          <SlideItem key={x.url} {...x} />
        ))}
      </AwesomeSlider>
  );

Hope I can help out someone ;)


Add support for Raspberry Pi 3

@nghiant2710 we probably need to update the docs about all the new images and how they fit into the base images tree. But otherwise this all looks good.

Yes indeed. I will review and update all base image docs, probably next week

SGTM


APEXMALHAR-2356: Amend javadoc syntax in cassandra upsert operators

@tweise  please review and merge.

This won't be needed. I had to make these changes as part if the release, which will be merged to master.

closing this PR as per @tweise  comment.


Schema registry resource

@Mongey My Ubuntu subsystem dies while building and can't test it properly on my Win machine, although compilation works.
Can you give it a try maybe?

seems Github Action stuck for the last 3 days on the required steps for verification.

https://github.com/Mongey/terraform-provider-confluentcloud/blob/e690efc76ad15550fdbd0279d4ab9895c611f4ec/.github/workflows/snapshot.yml#L9
https://github.com/Mongey/terraform-provider-confluentcloud/blob/e690efc76ad15550fdbd0279d4ab9895c611f4ec/.github/workflows/test.yml#L9

@Mongey could you please review this PR and merge?
Thank you!

@Mongey could you please review this PR and merge?

We need the go client PR to be merged first.

seems Github Action stuck for the last 3 days on the required steps for verification.

🤞 this works on next push, given #44

The test does not fail properly. Following error has been raised. Suggest to merge this on here now.. https://github.com/cgroschupp/go-client-confluent-cloud/pull/11
Error: ccloud/resource_schema_registry.go:54:15: c.CreateSchemaRegistry undefined (type *confluentcloud.Client has no field or method CreateSchemaRegistry)
Error: ccloud/resource_schema_registry.go:74:15: c.GetSchemaRegistry undefined (type *confluentcloud.Client has no field or method GetSchemaRegistry)
make: *** [test] Error 2
Error: GNUmakefile:55: recipe for target 'test' failed

If this change is irreversible, is it not better to add a parameter to the confluentcloud_kafka_cluster resource?

If this change is irreversible, is it not better to add a parameter to the confluentcloud_kafka_cluster resource, like enable_schema_registry?

Thought about that as well. But the schema registry is not bound to a specific cluster. It's one registry per environment. And adding this extra parameter to the confluentcloud_environment won't work either because ccloud expects you to have at least one cluster to be deployed before you can enable the registry.

Question from a Golang beginner. Do I need to update/refresh the go.sum file in order to fetch the latest version of the go confluent client lib?

@dmicic yep you've got to run go get -u github.com/cgroschupp/go-client-confluent-cloud to update the lib

@Mongey thanks! worked. Now only the private key issue remaining.

@Mongey Can you fix the GPG key please?

@dmicic can you rebase ?

@Mongey That should do the job now. 🎉

@dmicic, @Mongey thank you!
What is left to specify Kafka topic schema?

@rjudin you mean management of schemas (CRUD)? Not sure this should be part of a terraform module. Depends how somebody structures his deployment pipelines.
@Mongey can you release the new changes, please? thanks

@rjudin you mean management of schemas (CRUD)? Not sure this should be part of a terraform module. Depends how somebody structures his deployment pipelines.

I meant resource kafka_schema for Kafka provider
like this example

@rjudin There's probably another provider needed for interacting with the schema registry. https://github.com/search?q=terraform-provider+schema-registry

I am not quite convinced that schema should be managed in the (infrastructure) code. Typically, you would want this to be closer to your solution, which might have different deployment lifecycle/frequency.
But that's only my preference maybe :)

agree it is about app (not infra)
We did (pipeline) separation by provider already:

infra: confluent cloud provision (env, SAs and API keys, clusters)
app: Kafka topics and acls

Schema naturally needs to be managed, but required resource definition and separate keys. Did anynone do this already for confluent cloud schema registry?

I see. Provider separation makes sense.
I did this only using the ccloud CLI as part of my pipelines (eg uploading the schema files). But without change detection etc..

@Mongey Any chance to deploy this feature any time soon? THx


Revert "Avoid duplicating signals from scene instances into packed scenes"

This reverts #97303 i.e. commit 8a42e3d3eff8f8ef44d663cbe735c2bb05170cba.
That change sadly introduced a critical regression (#100097), and given how core the changes are, we prefer to be conservative and go back to the previous working state, before trying to tack on significant complexity to fix the regression (see #100160).

Fixes #100097
Supersedes #100160
Reopens #48064

#48064 is still worth fixing so we should try again, e.g. with a draft PR including #97303 + #100160 and then proper review of the combined changes by more core experts.

I'll see if I can do a more partial revert to keep improved comments and maybe parts of the unit test.


tests: Enable parallel test execution

All tests were trying to use the same PID file, and therefore they would fail to start properly and eventually hit a timeout, outputting an error:
 [ RUN      ] test_startstop
 [ERR]: Another instance of the Netopeer2 server is running.

I cannot use __FILE__ directly because that one might contain full path. There's __builtin_strchr, but doing this via CMake is probably a bit easier.
Also adjust the temporary file name for XML operations to be consistent.

Codecov Report

Merging #408 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #408   +/-   ##
=======================================
  Coverage   44.76%   44.76%
=======================================
  Files          27       27
  Lines        7283     7283
  Branches     1382     1382
=======================================
  Hits         3260     3260
  Misses       3537     3537
  Partials      486      486

Impacted Files
Coverage Δ

server/tests/test_copy_config.c
94.58% <ø> (ø)
:arrow_up:

server/tests/test_generic.c
94.35% <ø> (ø)
:arrow_up:

server/tests/test_un_lock.c
88.72% <ø> (ø)
:arrow_up:

server/tests/test_kill.c
94.69% <ø> (ø)
:arrow_up:

server/tests/test_delete_config.c
64.25% <ø> (ø)
:arrow_up:

server/tests/test_validate_config.c
46.9% <ø> (ø)
:arrow_up:

server/tests/test_notif.c
95.81% <ø> (ø)
:arrow_up:

server/tests/test_edit_get_config.c
86.64% <ø> (ø)
:arrow_up:

server/tests/test_close_session.c
94.73% <ø> (ø)
:arrow_up:

server/tests/test_get.c
89.74% <ø> (ø)
:arrow_up:

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 8ddd30d...fe67772. Read the comment docs.

Hi,
the changes seems fine, merged.
Regards,
Michal


Support for SQS VPC endpoint

I've notice that Amazon now has support for vpc endpoint to s3. I currently have numerous  of internal apps the make calls to s3. It would be nice have a more direct route like SQS

It was possible to do before this issue was created. This was implemented in #248.


BigQuery: Remove deprecated Client methods

Remove the Client.list_dataset_tables() method (replaced by
Client.list_tables()), the Client.create_rows() method (replaced by
Client.insert_rows()), and the Client.create_rows_json() method
(replaced by Client.insert_rows_json()).
Towards 1.0.0 release #5153

Merging despite circle, it's running unrelated storage tests.


Enable launching via torchrun in slurm environment

What does this PR do?
Addresses this https://github.com/Lightning-AI/lightning/pull/18614#discussion_r1334707756

:books: Documentation preview :books:: https://pytorch-lightning--18618.org.readthedocs.build/en/18618/

cc @borda @awaelchli @carmocca @justusschock

Trying your PR It didn't work:

    trainer.fit(model)
  File "/exp/retro_llama/tr005-retro-llama2-7b/CONDA_ENV_NAME/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 532, in fit
    call._call_and_handle_interrupt(
  File "/exp/retro_llama/tr005-retro-llama2-7b/CONDA_ENV_NAME/lib/python3.9/site-packages/pytorch_lightning/trainer/call.py", line 42, in _call_and_handle_interrupt
    return trainer.strategy.launcher.launch(trainer_fn, *args, trainer=trainer, **kwargs)
  File "/exp/retro_llama/tr005-retro-llama2-7b/CONDA_ENV_NAME/lib/python3.9/site-packages/pytorch_lightning/strategies/launchers/subprocess_script.py", line 93, in launch
    return function(*args, **kwargs)
  File "/exp/retro_llama/tr005-retro-llama2-7b/CONDA_ENV_NAME/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 571, in _fit_impl
    self._run(model, ckpt_path=ckpt_path)
  File "/exp/retro_llama/tr005-retro-llama2-7b/CONDA_ENV_NAME/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 938, in _run
    self.strategy.setup_environment()
  File "/exp/retro_llama/tr005-retro-llama2-7b/CONDA_ENV_NAME/lib/python3.9/site-packages/pytorch_lightning/strategies/ddp.py", line 143, in setup_environment
    self.setup_distributed()
  File "/data/env/lib/repos/retro-llama/tr005-retro-llama2-7b/core/research/deps/nemo/nemo/collections/nlp/parts/nlp_overrides.py", line 125, in setup_distributed
    self.init_model_parallel(app_state.global_rank, app_state.world_size)
  File "/data/env/lib/repos/retro-llama/tr005-retro-llama2-7b/core/research/deps/nemo/nemo/collections/nlp/parts/nlp_overrides.py", line 186, in init_model_parallel
    parallel_state.initialize_model_parallel(
  File "/data/env/lib/repos/retro-llama/tr005-retro-llama2-7b/core/research/deps/Megatron-LM/megatron/core/parallel_state.py", line 135, in initialize_model_parallel
    raise RuntimeError(
RuntimeError: world_size (1) is not divisible by tensor_model_parallel_size (8) x pipeline_model_parallel_size (1)

world size should be 8 and not 1 - this is an 8 gpu node launched with
the launcher command was:
python -u -m torch.distributed.run     --nproc_per_node 8     --nnodes 1     --rdzv_endpoint merlion-ultra-ghpc-53:16734     --rdzv_backend c10d     --max_restarts 0     --role $(hostname -s): --tee 3  ...

via srun --wait=60 --kill-on-bad-exit=1 --unbuffered --jobid 1047 bash -c $CMD
Before this PR I hacked it to work with:
SLURM_JOB_NAME=interactive python -u -m torch.distributed.run ...

Which environment got selected in the Trainer? Was TorchElasticEnvironment.detect() True or False?

How could I tell if it wasn't logged?
I'm pretty sure it's different now, since the launching was successful.
I tried to follow your recipe to set the logger to debug level - by adding to the top of the script after all the other imports:
import logging

# configure logging at the root level of Lightning
logging.getLogger("lightning.pytorch").setLevel(logging.DEBUG)

# configure logging on module level, redirect to file
logger = logging.getLogger("lightning.pytorch.core")
logger.addHandler(logging.FileHandler("core.log"))

but it didn't do anything. i.e. no debug logging...
Unrelated: This copied from your docs recipe presumes that logging.getLogger("lightning.pytorch") already exists, but it misses the import of wherever it's created.
But I think in my case it was created since there was no error for getLogger.

Oh sorry, there is no need to make a logger or anything like that. I was just curous what the values where in your script after creating the trainer:
print("te", TorchElasticEnvironment.detect())
print("slurm", SLURMEnvironemnt.detect())
print("chosen env", trainer.strategy.cluster_environment)

@stas00 If you use the pytorch_lightning module in your program instead of lightning, you will have to install it first like so after checking out the branch:
PACKAGE_NAME=pytorch pip install .

I didn't know I needed to install it this way, thank you!
When I now install the PR branch I get this failure:
python -c "import pytorch_lightning.overrides.base"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'pytorch_lightning.overrides.base'

if I install the pypi package this works.
The import comes from nvidia/nemo
I suppose this some BC-breaking change in PL-2.1?

Oh yes, NeMo is not 2.1 compatible. They are using protected APIs in Lightning so yeah it usually breaks easily from one version to the next. But ok, you don't necessarily need to install entire Lightning to test this patch. You could also just stay on whatever PL version you are and make these changes I made in the PR in src/lightning/pytorch/trainer/connectors/accelerator_connector.py manually.

That's a great idea, I will do that and report back, Adrian.
Also it looks like installing PL from clone using devel pip install -e . install leads to a broken pip:
pip uninstall pytorch_lightning
Found existing installation: pytorch-lightning 2.1.0rc0
Can't uninstall 'pytorch-lightning'. No files were found to uninstall.

it finds the editable link in lib/python3.9/site-packages/__editable__.lightning-2.1.0rc0.pth but for some reason can't uninstall it. I nuked this file manually to be able to install a pypi version.

Your test suggestion then fails in: NameError: name 'SLURMEnvironemnt' is not defined (wasn't imported)
but TorchElasticEnvironment.detect() returns True
and chosen env <lightning_fabric.plugins.environments.torchelastic.TorchElasticEnvironment
and everything works w/o my unsetting SLURM_JOB_NAME env var workaround.
So I then confirm that your PR overcomes the problem. Thank you, Adrian!

for the future where can I find documentation for installing from git clone with nuances that you mentioned of using PACKAGE_NAME=pytorch - it's not in the main Installation document on github.


while build i get No module named 'lib.cw_metrics_util'

____________________________________________________________________________________________________________________ ERROR collecting test/test_access_handler.py ___________________________________________________________________________________________________________________________
ImportError while importing test module '/private/tmp/aws-waf-security-automations/source/access_handler/test/test_access_handler.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/importlib/init.py:126: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
test/test_access_handler.py:16: in
from access_handler.access_handler import *
access_handler.py:21: in
from lib.cw_metrics_util import WAFCloudWatchMetrics
E   ModuleNotFoundError: No module named 'lib.cw_metrics_util'

Version: v4.0.0
As far as the code of deployment/build-s3-dist.sh is concerned, the following modules are not found either.
source/lib/cw_metrics_util.py
source/lib/logging_util.py
source/lib/s3_util.py
source/lib/cfn_response.py

Those modules don't seem to exist in v4.0.0.
So it won't work properly.

Release v4.0.1 fixes the issue.


Update weasel to v0.2.

This fixes several bugs, including autocreating the log file directory. Also, you can now pass -d <subdir> to weasel to run it on just a small part of the whole.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/trafficcontrol-PR/1878/
Test PASSed.


DBZ-7303: Align snapshot modes for SQLServer

closes: https://issues.redhat.com/browse/DBZ-7303
The PR is based on https://github.com/debezium/debezium/pull/5245, so duplicate commits depends on that.

/packit test --labels oracle


python3Packages.fakeredis: add patch to support redis>=4.1.0

Motivation for this change
Fixes #156815
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] 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/)
22.05 Release Notes (or backporting 21.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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 156851 run on x86_64-linux 1

22 packages failed to build:

alerta-server
cura
gns3-gui
gns3-server
home-assistant-component-tests.sentry
moodle-dl
moz-phab
python310Packages.django-rq
python310Packages.sentry-sdk
python310Packages.spacy
python310Packages.spacy-loggers
python310Packages.spacy-transformers
python310Packages.textacy
python310Packages.wandb
python39Packages.django-rq
python39Packages.sentry-sdk
python39Packages.spacy
python39Packages.spacy-loggers
python39Packages.spacy-transformers
python39Packages.textacy
python39Packages.wandb
tribler

5 packages built:

octoprint
python310Packages.chalice
python310Packages.fakeredis
python39Packages.chalice
python39Packages.fakeredis

Result of nixpkgs-review pr 156851 run on x86_64-linux 1

22 packages failed to build:

alerta-server
cura
gns3-gui
gns3-server
home-assistant-component-tests.sentry
moodle-dl
moz-phab
python310Packages.django-rq
python310Packages.sentry-sdk
python310Packages.spacy
python310Packages.spacy-loggers
python310Packages.spacy-transformers
python310Packages.textacy
python310Packages.wandb
python39Packages.django-rq
python39Packages.sentry-sdk
python39Packages.spacy
python39Packages.spacy-loggers
python39Packages.spacy-transformers
python39Packages.textacy
python39Packages.wandb
tribler

5 packages built:

octoprint
python310Packages.chalice
python310Packages.fakeredis
python39Packages.chalice
python39Packages.fakeredis


fix(dashboard): need to allow additional data prop

need to allow additional data prop in input grain card
fix(timeseries): shouldn't change the dot to fill in editable mode
feat(timeseries): if expanded show table underneath with raw data

:tada: This PR is included in version 1.103.0 :tada:
The release is available on:

npm package (@release-1.x dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Refactor

Codecov Report

Merging #28 (c2bde5b) into main (17dcb27) will decrease coverage by 0.03%.
The diff coverage is 98.52%.

:exclamation: Current head c2bde5b differs from pull request most recent head 066133a. Consider uploading reports for the commit 066133a to get more accurate results

@@            Coverage Diff             @@
##             main      #28      +/-   ##
==========================================
- Coverage   93.94%   93.90%   -0.04%
==========================================
  Files          50       48       -2
  Lines        2972     2822     -150
==========================================
- Hits         2792     2650     -142
+ Misses        180      172       -8

Impacted Files
Coverage Δ

pir-fmm/src/closures.rs
95.00% <ø> (ø)

pir-fmm/src/declarations.rs
100.00% <ø> (ø)

pir-fmm/src/definitions.rs
100.00% <ø> (ø)

pir-fmm/src/entry_functions.rs
97.10% <ø> (ø)

pir-fmm/src/error.rs
0.00% <0.00%> (ø)

pir-fmm/src/foreign_declarations.rs
100.00% <ø> (ø)

pir-fmm/src/function_applications.rs
96.32% <ø> (ø)

pir-fmm/src/type_information.rs
100.00% <ø> (ø)

pir/src/analysis/type_check/error.rs
0.00% <ø> (ø)

pir/src/ir/argument.rs
100.00% <ø> (ø)

... and 40 more

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 17dcb27...066133a. Read the comment docs.


Something is off with Safari

I'm trying to figure out what is going on with my app and safari.  I was able to trace it down to THREE.Interactive as the part which causes the crash.  The crash only tells me "SyntaxError: Left hand side of operator '=' must be a reference." and something about promiseReactionJob, but no other details, no line number.
What I tried:

I've played with my code and removed Three.Interactive, and it starts working.
Tried to isolate things and only reference classes like this console.log(InteractionManager); and it still fails.
I included the main ts file from Three.Interactive and removed the dependency and it works.
Development builds are working, only production suffers, so should be something with the optimizer

So it feels like something is off when the dependency is used, since if I natively bring in the class and use it, everything is fine.  I know THREE had a similar issue a few years ago from this page: https://github.com/angular/angular-cli/issues/21107
Repo: https://github.com/mgatelabs/GenshinSolvers
Live: https://mgatelabs.github.io/GenshinSolvers/ (This will have the internal version of Three.Interactive for now)
Also, I tried the sample apps linked to the Readme and in safari they are working, so unsure what is going on.

Hi, please try using version v.1.3.0 and let me know, if the problem still persists.

I'll give it a try, thanks

Tried it locally, and it seems to be working, Nice!

Cool, thank you for letting me know, @mgatelabs!


Publish JAR that includes JDBC driver alongside the regular JAR

The license of the JDBC driver is Apache 2, so it's OK: https://github.com/neo4j-contrib/neo4j-jdbc/.
The license of the native Neo4j driver is also Apache, so it's OK: https://github.com/neo4j/neo4j-java-driver


Is there a way to import notes from Takeout?

I exported notes to Takeout just a day before I found out about this script and deleted everything (because I don't have any more Google space). Can this app run with Takeout archive without logging in?

@Xyde - unfortunately, no. It is on the backlog as a future feature - but not available yet.  There are some other github projects out there, however, that can do it!  Just search with the Google Keep tag.

@Xyde - maybe this one?  https://github.com/vHanda/google-keep-exporter

@Xyde or this if you use https://github.com/logseq/logseq directly...? https://github.com/lugenx/keep2log


-h percent is incorrect

due to the original character being included in the target mutations.

Fixed by 1015d7ea38e3e1d7d4d50c8ef68a18a3f23cb71f


Copper recipes do not appear in the recipe book

When the player first obtains a copper ingot, the recipe book should get updated with the recipe for a compressed copper ingot.  When you obtain a compressed copper ingot, the recipe book should likewise get updated to show all the recipes for the various tools, weapons, armor, etc.  In reality, no recipes for any of the items added by this mod get added to the recipe book.

Fixed! Thanks for the feedback and waiting!

Thank you!  I tried experimenting with making a datapack to add them myself, and I was unsuccessful.  The best I could do is to have everything get added all at once as soon as a copper ingot was discovered: even though I had them all set up as nicely-tiered advancements.  I'm curious to check out how you actually did it.  :-)

Initially, I didn't know how to do it either.
I first looked at forge docs (https://mcforge.readthedocs.io/en/latest/utilities/recipes/) and realized that you need to use achievements for this.
I found an achievement generator (https://misode.github.io/advancement/) which had vanilla achievement templates. I tried to find them in the minecraft source code that forge provides, but I couldn't find it.
In the template, I changed all the parameters I needed, uploaded .json files into src/main/resources/data/copperequipment/advancements. And it worked! I don’t know exactly what path should be in the datapack, but I assume that it is something like copperequipment / advancements.
Then, while looking through the source code of another mod, I accidentally noticed that you can put the achievement files in a different folder in the achievements folder.
Code - https://github.com/Redy1aye/CopperEquipmentForge/tree/CopperEquipment/src/main/resources/data/copperequipment/advancements/recipes