Dynamic batching does not give better latency for Roberta running on TensorRT.

Hi, I used your build_engine API to convert the Roberta model.  While building if I use the constant batch size for input_shapes, i.e. (min, optimal, max) -> (1,1,1) or (4, 4, 4,). The model yields good results (faster than ort and torch).
But when I convert it with dynamic batch size i.e.  (min, optimal, max) -> (1, 4, 4), the model performs really slow compared to ort or torch.
code to understand the problem better:
# fast inference but constrained to use always 4 batches during inferencing
tensor_shapes = list(zip([4, 4, 4], [1, 128, 128]))

# slow inference
tensor_shapes = list(zip([1, 4, 4], [1, 128, 128]))

engine: ICudaEngine = build_engine(
    runtime=runtime,
    onnx_file_path=onnx_model_path,
    logger=trt_logger,
    min_shape=tensor_shapes[0],
    optimal_shape=tensor_shapes[1],
    max_shape=tensor_shapes[2],
    workspace_size=workspace_size * 1024**3,
    fp16=not quantization,
    int8=quantization,
    profiling=True,
)

save_engine(engine=engine, engine_file_path=tensorrt_path)

the complete build and inference logs for slow inference case (when converting with dynamic batch)
[06/02/2022-03:19:09] [TRT] [I] [MemUsageChange] Init CUDA: CPU +312, GPU +0, now: CPU 3789, GPU 2470 (MiB)
[06/02/2022-03:19:09] [TRT] [I] [MemUsageChange] Init CUDA: CPU +0, GPU +0, now: CPU 3790, GPU 2470 (MiB)
[06/02/2022-03:19:09] [TRT] [I] [MemUsageSnapshot] Begin constructing builder kernel library: CPU 3790 MiB, GPU 2470 MiB
[06/02/2022-03:19:09] [TRT] [I] [MemUsageSnapshot] End constructing builder kernel library: CPU 3924 MiB, GPU 2504 MiB
[06/02/2022-03:19:09] [TRT] [I] parsing TensorRT model
[libprotobuf WARNING google/protobuf/io/coded_stream.cc:604] Reading dangerously large protocol message.  If the message turns out to be larger than<PHONE_NUMBER> bytes, parsing will be halted for security reasons.  To increase the limit (or to disable these warnings), see CodedInputStream::SetTotalBytesLimit() in google/protobuf/io/coded_stream.h.
[libprotobuf WARNING google/protobuf/io/coded_stream.cc:81] The total number of bytes read was<PHONE_NUMBER>
[06/02/2022-03:19:22] [TRT] [W] onnx2trt_utils.cpp:366: Your ONNX model has been generated with INT64 weights, while TensorRT does not natively support INT64. Attempting to cast down to INT32.
[06/02/2022-03:19:39] [TRT] [W] Output type must be INT32 for shape outputs
[06/02/2022-03:19:39] [TRT] [W] Output type must be INT32 for shape outputs
[06/02/2022-03:19:39] [TRT] [W] Output type must be INT32 for shape outputs
[06/02/2022-03:19:43] [TRT] [I] [MemUsageChange] Init cuBLAS/cuBLASLt: CPU +512, GPU +226, now: CPU 5802, GPU 2730 (MiB)
[06/02/2022-03:19:43] [TRT] [I] [MemUsageChange] Init cuDNN: CPU +116, GPU +52, now: CPU 5918, GPU 2782 (MiB)
[06/02/2022-03:19:43] [TRT] [I] Timing cache disabled. Turning it on will improve builder speed.
[06/02/2022-03:19:43] [TRT] [W] Myelin graph with multiple dynamic values may have poor performance if they differ. Dynamic values are:
[06/02/2022-03:19:43] [TRT] [W]  (# 1 (SHAPE input_ids))
[06/02/2022-03:19:43] [TRT] [W]  (# 0 (SHAPE attention_mask))
Warning: Slice op (Unnamed Layer_ 90) [Slice]_slice cannot slice along a uniform dimension.
Warning: Slice op (Unnamed Layer_ 90) [Slice]_slice cannot slice along a uniform dimension.
Warning: Slice op (Unnamed Layer_ 90) [Slice]_slice cannot slice along a uniform dimension.
Warning: Slice op (Unnamed Layer_ 90) [Slice]_slice cannot slice along a uniform dimension.
Warning: Slice op (Unnamed Layer_ 90) [Slice]_slice cannot slice along a uniform dimension.
Warning: Slice op (Unnamed Layer_ 90) [Slice]_slice cannot slice along a uniform dimension.
Warning: Slice op (Unnamed Layer_ 90) [Slice]_slice cannot slice along a uniform dimension.
[06/02/2022-03:25:32] [TRT] [W] Myelin graph with multiple dynamic values may have poor performance if they differ. Dynamic values are:
[06/02/2022-03:25:32] [TRT] [W]  (# 1 (SHAPE input_ids))
[06/02/2022-03:25:32] [TRT] [W]  (# 0 (SHAPE attention_mask))
Warning: Slice op (Unnamed Layer_ 90) [Slice]_slice cannot slice along a uniform dimension.
Warning: Slice op (Unnamed Layer_ 90) [Slice]_slice cannot slice along a uniform dimension.
Warning: Slice op (Unnamed Layer_ 90) [Slice]_slice cannot slice along a uniform dimension.
Warning: Slice op (Unnamed Layer_ 90) [Slice]_slice cannot slice along a uniform dimension.
Warning: Slice op (Unnamed Layer_ 90) [Slice]_slice cannot slice along a uniform dimension.
Warning: Slice op (Unnamed Layer_ 90) [Slice]_slice cannot slice along a uniform dimension.
Warning: Slice op (Unnamed Layer_ 90) [Slice]_slice cannot slice along a uniform dimension.
[06/02/2022-03:30:10] [TRT] [I] Detected 2 inputs and 1 output network tensors.
[06/02/2022-03:30:10] [TRT] [W] Myelin graph with multiple dynamic values may have poor performance if they differ.
I want to convert the model to use dynamic batches. When inferencing, the model should be able to handle a variable batch size and perform faster. How can I achieve that?
Any help would be greatly appreciated, thank you in advance.

TRT being 4 times slower than Pytorch is not expected results.
What GPU / CUDA / TRT version are you using?
Are you using Docker version?
What is the value of quantization variable?
A thing I do when I am surprised by TRT results is to use the trtexec util through the command line.
It does benchmarking at the end of the process and helps to check if there is a code with Python code or it's a TRT issue.
Also, very recent version of TRT (>=8.2) got some regressions (at least on GPT-2) so may also be because of that... 8.4.1 should be released soon according to a Nvidia engineer.

thank you for the quick response,
I'm using triton-server docker image version 22.04 as the base image.
system info :
GPU - T4 (15GB)
CUDA - 11.6
TRT - <IP_ADDRESS>
Quantization is False, currently focusing on the fp16 version.
I tried with nvidia-tensorrt==8.4 and still facing the same issue.
I also built the transformer-deploy container from the source and for constant batch (1,1,1), trt is faster than ort and torch. but when running with dynamic batch (1,4,4) the process gets terminated by saying killed
Did you ever face the following warning while converting any transformers model to trt? if yes, then how did the model perform while inferencing?
[06/02/2022-03:25:32] [TRT] [W] Myelin graph with multiple dynamic values may have poor performance if they differ. Dynamic values are:
[06/02/2022-03:25:32] [TRT] [W]  (# 1 (SHAPE input_ids))
[06/02/2022-03:25:32] [TRT] [W]  (# 0 (SHAPE attention_mask))

ran with the trtexec command inside the tensorrt container 22.04 container
trtexec --onnx=onnx/model.onnx --saveEngine=tensorrt/model.plan \
  --minShapes=input_ids:1x1,attention_mask:1x1  \
  --optShapes=input_ids:4x128,attention_mask:4x128 \
  --maxShapes=input_ids:4x128,attention_mask:4x128 \
  --workspace=10000 \
  --fp16 \
  --verbose

and getting the same results...
[06/02/2022-15:54:08] [I] === Performance summary ===
[06/02/2022-15:54:08] [I] Throughput: 2.28208 qps
[06/02/2022-15:54:08] [I] Latency: min = 430.552 ms, max = 450.252 ms, mean = 438.171 ms, median = 437.374 ms, percentile(99%) = 450.252 ms
[06/02/2022-15:54:08] [I] End-to-End Host Latency: min = 430.575 ms, max = 450.27 ms, mean = 438.188 ms, median = 437.391 ms, percentile(99%) = 450.27 ms
[06/02/2022-15:54:08] [I] Enqueue Time: min = 430.497 ms, max = 450.193 ms, mean = 438.105 ms, median = 437.305 ms, percentile(99%) = 450.193 ms
[06/02/2022-15:54:08] [I] H2D Latency: min = 0.00878906 ms, max = 0.020874 ms, mean = 0.0117126 ms, median = 0.010437 ms, percentile(99%) = 0.020874 ms
[06/02/2022-15:54:08] [I] GPU Compute Time: min = 430.491 ms, max = 450.203 ms, mean = 438.119 ms, median = 437.324 ms, percentile(99%) = 450.203 ms
[06/02/2022-15:54:08] [I] D2H Latency: min = 0.0397949 ms, max = 0.0415039 ms, mean = 0.0405151 ms, median = 0.0405273 ms, percentile(99%) = 0.0415039 ms

Thank you, the error message is interesting. I will dig into this on my side.
Do you have the same behavior with KoichiYasuoka/deberta-small-japanese-luw-upos ? (I plan to use a small model for tests)

I have been able to reproduce the results.
The error message means that for best performances you should only use one dynamic axis (batch or seq len).
I have tried to keep batch size fixed and results are much better :-)
❯ convert_model -m KoichiYasuoka/roberta-large-english-upos  --backend tensorrt --seq-len 1 128 128 --batch 4 4 4 --task token-classification --verbose -w 20000 --fast
06/03/2022 17:40:23 INFO     running with commands: Namespace(model='KoichiYasuoka/roberta-large-english-upos', tokenizer=None, task='token-classification', auth_token=None, batch_size=[4, 4, 4], seq_len=[1, 128, 128], quantization=False, workspace_size=20000, output='triton_models', name='transformer', verbose=True, fast=True, backend=['tensorrt'], device=None, nb_threads=1, nb_instances=1, warmup=10, nb_measures=1000, seed=123, atol=0.3)
06/03/2022 17:40:31 INFO     axis: ['input_ids', 'attention_mask']
06/03/2022 17:40:52 INFO     running Pytorch (FP32) benchmark
06/03/2022 17:41:11 INFO     cleaning up
06/03/2022 17:41:11 INFO     preparing TensorRT (FP16) benchmark
[06/03/2022-17:41:11] [TRT] [I] [MemUsageChange] Init CUDA: CPU +448, GPU +0, now: CPU 5671, GPU 2671 (MiB)
[06/03/2022-17:41:11] [TRT] [I] [MemUsageChange] Init CUDA: CPU +0, GPU +0, now: CPU 5671, GPU 2671 (MiB)
[06/03/2022-17:41:11] [TRT] [I] [MemUsageSnapshot] Begin constructing builder kernel library: CPU 5671 MiB, GPU 2671 MiB
[06/03/2022-17:41:11] [TRT] [I] [MemUsageSnapshot] End constructing builder kernel library: CPU 5825 MiB, GPU 2713 MiB
[06/03/2022-17:41:11] [TRT] [I] parsing TensorRT model
[libprotobuf WARNING google/protobuf/io/coded_stream.cc:604] Reading dangerously large protocol message.  If the message turns out to be larger than<PHONE_NUMBER> bytes, parsing will be halted for security reasons.  To increase the limit (or to disable these warnings), see CodedInputStream::SetTotalBytesLimit() in google/protobuf/io/coded_stream.h.
[libprotobuf WARNING google/protobuf/io/coded_stream.cc:81] The total number of bytes read was<PHONE_NUMBER>
[06/03/2022-17:41:13] [TRT] [W] onnx2trt_utils.cpp:366: Your ONNX model has been generated with INT64 weights, while TensorRT does not natively support INT64. Attempting to cast down to INT32.
[06/03/2022-17:41:26] [TRT] [W] Output type must be INT32 for shape outputs
[06/03/2022-17:41:26] [TRT] [W] Output type must be INT32 for shape outputs
[06/03/2022-17:41:26] [TRT] [W] Output type must be INT32 for shape outputs
[06/03/2022-17:41:26] [TRT] [W] building engine. depending on model size this may take a while
[06/03/2022-17:41:29] [TRT] [I] [MemUsageChange] Init cuBLAS/cuBLASLt: CPU +838, GPU +362, now: CPU 8029, GPU 3086 (MiB)
[06/03/2022-17:41:29] [TRT] [I] [MemUsageChange] Init cuDNN: CPU +127, GPU +60, now: CPU 8156, GPU 3146 (MiB)
[06/03/2022-17:41:29] [TRT] [I] Timing cache disabled. Turning it on will improve builder speed.
Warning: Slice op (Unnamed Layer_ 91) [Slice]_slice cannot slice along a uniform dimension.
Warning: Slice op (Unnamed Layer_ 91) [Slice]_slice cannot slice along a uniform dimension.
Warning: Slice op (Unnamed Layer_ 91) [Slice]_slice cannot slice along a uniform dimension.
Warning: Slice op (Unnamed Layer_ 91) [Slice]_slice cannot slice along a uniform dimension.
Warning: Slice op (Unnamed Layer_ 91) [Slice]_slice cannot slice along a uniform dimension.
Warning: Slice op (Unnamed Layer_ 91) [Slice]_slice cannot slice along a uniform dimension.
Warning: Slice op (Unnamed Layer_ 91) [Slice]_slice cannot slice along a uniform dimension.
Warning: Slice op (Unnamed Layer_ 91) [Slice]_slice cannot slice along a uniform dimension.
Warning: Slice op (Unnamed Layer_ 91) [Slice]_slice cannot slice along a uniform dimension.
Warning: Slice op (Unnamed Layer_ 91) [Slice]_slice cannot slice along a uniform dimension.
Warning: Slice op (Unnamed Layer_ 91) [Slice]_slice cannot slice along a uniform dimension.
Warning: Slice op (Unnamed Layer_ 91) [Slice]_slice cannot slice along a uniform dimension.
Warning: Slice op (Unnamed Layer_ 91) [Slice]_slice cannot slice along a uniform dimension.
Warning: Slice op (Unnamed Layer_ 91) [Slice]_slice cannot slice along a uniform dimension.
Warning: Slice op (Unnamed Layer_ 91) [Slice]_slice cannot slice along a uniform dimension.
Warning: Slice op (Unnamed Layer_ 91) [Slice]_slice cannot slice along a uniform dimension.
[06/03/2022-17:45:37] [TRT] [I] Detected 2 inputs and 1 output network tensors.
[06/03/2022-17:45:59] [TRT] [I] Total Host Persistent Memory: 240
[06/03/2022-17:45:59] [TRT] [I] Total Device Persistent Memory: 0
[06/03/2022-17:45:59] [TRT] [I] Total Scratch Memory: 151762432
[06/03/2022-17:45:59] [TRT] [I] [MemUsageStats] Peak memory usage of TRT CPU/GPU memory allocators: CPU 774 MiB, GPU 1643 MiB
[06/03/2022-17:45:59] [TRT] [I] [BlockAssignment] Algorithm ShiftNTopDown took 0.037546ms to assign 3 blocks to 3 nodes requiring 151975936 bytes.
[06/03/2022-17:45:59] [TRT] [I] Total Activation Memory: 151975936
[06/03/2022-17:45:59] [TRT] [I] [MemUsageChange] Init cuBLAS/cuBLASLt: CPU +0, GPU +8, now: CPU 8170, GPU 3883 (MiB)
[06/03/2022-17:45:59] [TRT] [I] [MemUsageChange] Init cuDNN: CPU +0, GPU +8, now: CPU 8170, GPU 3891 (MiB)
[06/03/2022-17:45:59] [TRT] [I] [MemUsageChange] TensorRT-managed allocation in building engine: CPU +0, GPU +677, now: CPU 0, GPU 677 (MiB)
[06/03/2022-17:45:59] [TRT] [I] Loaded engine size: 689 MiB
[06/03/2022-17:46:00] [TRT] [I] [MemUsageChange] Init cuBLAS/cuBLASLt: CPU +0, GPU +8, now: CPU 8857, GPU 3867 (MiB)
[06/03/2022-17:46:00] [TRT] [I] [MemUsageChange] Init cuDNN: CPU +0, GPU +8, now: CPU 8857, GPU 3875 (MiB)
[06/03/2022-17:46:00] [TRT] [I] [MemUsageChange] TensorRT-managed allocation in engine deserialization: CPU +0, GPU +676, now: CPU 0, GPU 676 (MiB)
[06/03/2022-17:46:00] [TRT] [W] building engine took 273.7 seconds
[06/03/2022-17:46:02] [TRT] [I] Loaded engine size: 689 MiB
[06/03/2022-17:46:02] [TRT] [I] [MemUsageChange] Init cuBLAS/cuBLASLt: CPU +0, GPU +8, now: CPU 8870, GPU 4545 (MiB)
[06/03/2022-17:46:02] [TRT] [I] [MemUsageChange] Init cuDNN: CPU +0, GPU +8, now: CPU 8870, GPU 4553 (MiB)
[06/03/2022-17:46:02] [TRT] [I] [MemUsageChange] TensorRT-managed allocation in engine deserialization: CPU +0, GPU +676, now: CPU 0, GPU 1352 (MiB)
[06/03/2022-17:46:02] [TRT] [I] [MemUsageChange] Init cuBLAS/cuBLASLt: CPU +0, GPU +8, now: CPU 8181, GPU 4545 (MiB)
[06/03/2022-17:46:02] [TRT] [I] [MemUsageChange] Init cuDNN: CPU +0, GPU +8, now: CPU 8181, GPU 4553 (MiB)
[06/03/2022-17:46:06] [TRT] [I] [MemUsageChange] TensorRT-managed allocation in IExecutionContext creation: CPU +0, GPU +145, now: CPU 0, GPU 1497 (MiB)
06/03/2022 17:46:06 INFO     running TensorRT (FP16) benchmark
Inference done on NVIDIA GeForce RTX 3090
latencies:
[Pytorch (FP32)] mean=17.37ms, sd=0.81ms, min=16.50ms, max=24.00ms, median=17.20ms, 95p=18.49ms, 99p=20.91ms
[TensorRT (FP16)] mean=7.96ms, sd=0.15ms, min=7.82ms, max=9.32ms, median=7.94ms, 95p=8.15ms, 99p=8.65ms
Each infence engine output is within 0.3 tolerance compared to Pytorch output

Thank you for looking into this, really appreciate it.

for best performance you should only use one dynamic axis (batch or seq-len).

Does this only apply to this model, or does it apply to all transformer models?

Don't know your use case, but we had something similar and in our own use case, we added fake data to make axis fixed...
It only works if most of your batch are full.

We are also doing the same; we converted the model with a fixed batch size of (4,4,4) and now the model accepts exactly 4 batches. if the input batch to the model is <4 we fill the remaining items with empty strings to make it full.

It depends of your use case and definitely requires real benchmark.
In my own usecase, I got something like 10 batches of documents with 9 of the same size and 1 a bit smaller.
Adding fake docs to the last one cost me very little compared to the boost offered by TRT.
On the other side, my docs can be as small as 100 tokens to 400 tokens, so padding would cost me a lot.
If you are working on super short documents (1-30 tokens), I would say that seq len is a viable option, but again, requires real measures, depends of your GPU, etc.

Thank you for the detailed answer

upgrading to nvidia-tensorrt==<IP_ADDRESS> solves this issue.

Thank you for the info


Prompt to chain in chainPage

PR-Codex overview
The focus of this PR is to update the onboarding steps logic and add dynamic routing for supported chains.
Detailed summary

Updated onboarding logic to include a new condition
Added dynamic routing for supported chains
Updated chain links in superchain.tsx
Added new functions and hooks for chain switching and handling in index.tsx

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

📝 Changed routes:

/[chainSlug]
/grant/superchain

(view full size)
(view full size)

Commit 74e1150ffba4197328578fc766ce36cc455d53da (https://thirdweb-5wdyufw3l.thirdweb-preview.com).


TypeScript Language Server False Positive Error Reporting

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

VS Code Version: 1.87.0
OS Version: Ubuntu 22.04

Steps to Reproduce:

Clone the project git clone https://github.com/DScheglov/res-test.git
Open the VS Code: code res-test
Install dependencies (in terminal): npm i
Open file ./src/index.ts

The following errors are shown:

These errors are false positive:

project is configured to use the same typescript compiler as a project. See .vscode/settings.json
project is compiled successfully via terminal: npx tsc (no errors)
errors are gone after TS Language Server is restared (Ctrl + Shift + P , TypeScript: Restart TS Server)
errors go back after any touch of the file (just add a space).

There is not such problem in WebStorm

(Sorry, I have to check)
Errors are not displayed in the TS Playground as well:
Playground

Minimized repro
export interface Result<T, E> {
  mapErr<F>(fn: (error: E) => F): Result<T, F>;
  [Symbol.iterator](): Generator<E, T>;
}

declare const okIfObject: (value: unknown) => Result<Record<string, unknown>, 'ERR_NOT_AN_OBJECT'>;
declare const okIfInt: (value: unknown) => Result<number, 'ERR_NOT_AN_INT'>;
export declare function Do2<T, E>(job: () => Generator<E, T>): void;

declare let value: unknown;
Do2(function* () {
  const object = yield* okIfObject(value).mapErr(
    error => 0
  );

  const age = yield* okIfInt(object.age).mapErr(
    error => 0
  );

  return { age };
});

@RyanCavanaugh
I've met similar error from eslint:

Shoud I register the bug in @typescript-eslint? Or there  it will be fixed after this one?

I'm not sure how their rule works. If it depends on type information (looks like it does) then that error should go away after we fix this one.

Analyzing Ryan's simplified repro the problem comes from encodedSemanticClassifications-full that is called before semantic diagnostics. It breaks the regular order of type checking since while collecting tokens it calls reclassifyByType on object's declaration. That reads its type and to do that it has to resolve the type of the yield expression. That is a function call that has to be inferred (speaking about .mapErr here) and that depends on the contextual type of the yield operand, that in turn requires the return type of the containing function to be computed which leads to computing type of the return expression and that depends on... object's type. That's how the circularity arises.
Failing test case for this situation:
// @strict: true
// @target: esnext
// @lib: esnext

//// export interface Result<T, E> {
////   mapErr<F>(fn: (error: E) => F): Result<T, F>;
////   [Symbol.iterator](): Generator<E, T>;
//// }
////
//// declare const okIfObject: (
////   value: unknown,
//// ) => Result<Record<string, unknown>, "ERR_NOT_AN_OBJECT">;
////
//// declare const okIfInt: (value: unknown) => Result<number, "ERR_NOT_AN_INT">;
////
//// export declare function Do2<T, E>(job: () => Generator<E, T>): void;
////
//// declare let value: unknown;
////
//// Do2(function* () {
////   const object = yield* okIfObject(value).mapErr((error) => 0);
////   const age = yield* okIfInt(object.age).mapErr((error) => 0);
////   return { age };
//// });

verify.encodedSemanticClassificationsLength('2020', 132);
verify.getSemanticDiagnostics([]);

I spent some time on this to learn what the proper fix could be. I concluded that the only proper fix for this has to be about making the cycle resolution logic smarter - or for the "out of order" type resolution to alter its behavior somehow.
No extra flags passed down by the caller can fix this because the compiler doesn't always control the caller. For instance, I managed to somewhat improve the situation locally for the test case above but that didn't fix quick info problem at the very same location:
/// <reference path="fourslash.ts" />

// @strict: true
// @target: esnext
// @lib: esnext

//// export interface Result<T, E> {
////   mapErr<F>(fn: (error: E) => F): Result<T, F>;
////   [Symbol.iterator](): Generator<E, T>;
//// }
////
//// declare const okIfObject: (
////   value: unknown,
//// ) => Result<Record<string, unknown>, "ERR_NOT_AN_OBJECT">;
////
//// declare const okIfInt: (value: unknown) => Result<number, "ERR_NOT_AN_INT">;
////
//// export declare function Do2<T, E>(job: () => Generator<E, T>): void;
////
//// declare let value: unknown;
////
//// Do2(function* () {
////   const object/*1*/ = yield* okIfObject(value).mapErr((error) => 0);
////   const age = yield* okIfInt(object.age).mapErr((error) => 0);
////   return { age };
//// });

verify.quickInfoAt("1", "const object: Record<string, unknown>");

One of those calls checker.getTypeAtLocation while the other one calls checker.getTypeOfSymbolAtLocation. The problem with any attempt to fix this by passing extra information through callers/links/whatever is that it won't fix raw API calls like this: checker.getTypeOfSymbol(checker.getSymbolAtLocation(node)).

Additional repro noted at https://github.com/microsoft/TypeScript/issues/57429#issuecomment-1981202521

@RyanCavanaugh
I've found one more bug in TypeScript, but I'm not sure if it is related to this one. Could you please check:
https://github.com/microsoft/TypeScript/issues/57903

Tracking as https://github.com/Effect-TS/effect is also hit by this

@mikearnaldi
Yep, I was surprised that I found the bug before the Effect team did.
Could you please check if https://github.com/microsoft/TypeScript/issues/57903 is also relevant for Effect-TS?

@mikearnaldi
Yep, I was surprised that I found the bug before the Effect team did. Could you please check if #57903 is also relevant for Effect-TS?

the reason we didn't find the bug before is that we were using an adapter function so instead of yield* x it would have been yield* $(x) for some obscure reason the adapter variant doesn't raise the issue

https://github.com/microsoft/TypeScript/issues/57903 doesn't affect Effect as we don't use async generators (provided I've understood the issue correctly)

I tried an absolutely terrible idea; in getTypeOfNode, I checked to see if the node is a child of a generator function, then do getReturnTypeOfSignature(getSignatureFromDeclaration(containingFunction)). This fixed the test case in https://github.com/microsoft/TypeScript/issues/57585#issuecomment-1975182526 without breaking any other tests, and is likely not slower because that info is cached (we're just forcing it to resolve early). But that doesn't work for the test case from https://github.com/microsoft/TypeScript/issues/57429#issuecomment-1981202521, and I'm sure there are other paths that could hit that.

I tried an absolutely terrible idea; in getTypeOfNode, I checked to see if the node is a child of a generator function, then do getReturnTypeOfSignature(getSignatureFromDeclaration(containingFunction)). This fixed the test case in #57585 (comment) without breaking any other tests, and is likely not slower because that info is cached (we're just forcing it to resolve early). But that doesn't work for the test case from #57429 (comment), and I'm sure there are other paths that could hit that.

Would it be possible to get a snapshot with this idea to test in the effect codebase if it solves all the instances of this issue?

Sure; watch https://github.com/microsoft/TypeScript/pull/58323 for a build once the pipeline completes.

Unfortunately it seems like it doesn't fix the issue, rather it does but it makes it appear in a different place, the return of the generator

IIRC I had an idea to utilize the existing resolutionStart to ignore some leading elements in findResolutionCycleStartIndex. While that was nice and has proven to be somewhat promising, I failed to generalize the idea and handle properly nested calls etc

Interestingly, a modified https://github.com/microsoft/TypeScript/issues/57585#issuecomment-1975182526 to omit the return like the above is also fixed by my hack, which implies that the error being produced above is a cycle caused by some other query than semantic tokens. tsserver trace logs ("typescript.tsserver.log": "verbose") would be interesting here to figure out what path happened to be turned into a test case.

the full code to repro this is:
import { Effect } from "effect"

Effect.gen(function* () {
  const a = yield* Effect.succeed(0)
  const b = yield* Effect.succeed(1)
})

the bug presents while you edit, like adding a new line, making changes in general

Not sure if helpful but you can find the log from tsserver here: https://gist.github.com/mikearnaldi/fc2c4f15135b034d62f0625de82557f4

Yeah, that log's really long (the error doesn't happen until message 1020), so would need something shorter. That and you're using a language service plugin, which we generally treat as "voiding all warranties" when it comes to us trying to figure out what's wrong. But I don't think it matters in this case (but do try without it).
I can't get that example to reproduce myself, though, only with the return present...

Much shorter log without the plugin: https://gist.github.com/mikearnaldi/70037e879777f1f3243d0496559c2a99
To reproduce delete the second line:
const b = yield* Effect.succeed(1)

and re-type it manually, error should appear.
I wonder if I can use replay.io to record a session here cc @Andarist

That log looks truncated; the main reason for the log is to find the steps to get to the bad error, so we need steps from the first message all the way to the error to be able to write an equivalent test which touches everything in the right way. (Hence why a full log and a short one is helpful.)
I still wasn't able to make it reproduce when typing it out by hand, though... It's possible my editor did not make the same sequence of calls, of course.

Try a few times to delete and retype, it's sporadic, doesn't happen always. Will provide a full log tomorrow

Is there a strong need to provide an extra repro for this if we already have 3 compiler tests written for this here? ;p

I figured that would be helpful given I fixed the cases that looked effect-y, but it didn't help in the real world? That to me implied that there are still more cases missing, but sorry for the noise.

I working on a fix for this, I'll put something up later this afternoon.


Network Details page only shows containers on the swarm manager.

Before you start please confirm the following.

[X] Yes, I've searched similar issues on GitHub.
[X] Yes, I've checked whether this issue is covered in the Portainer documentation or knowledge base.

Problem Description
The Containers in network section of the Network Details page for an overlay network only lists containers that are running on the swarm manager.  It does not include containers connected to that network that are running on the swarm workers.
Expected Behavior
The Containers in network lists containers connected to the network that are running on all nodes in the swarm.
Actual Behavior
The Containers in network only lists containers connected to the network that are running on the swarm manager.
Steps to Reproduce

Create a 2 node swarm (1 manager, 1 worker).
Install portainer on manager.
Create an overlay network my-network.
Create a stack with a service that runs only on the worker and is connected to my-network.
Navigate to Networks > my-network and look at the Containers in network list at the bottom of the page.
Notice it is empty.

Portainer logs or screenshots
No response
Portainer version
2.20.0
Portainer Edition
Community Edition (CE)
Platform and Version
Docker Swarm 25.0.5
OS and Architecture
Ubuntu 22.04
Browser
Firefox
What command did you use to deploy Portainer?
`docker stack depoloy`
https://github.com/DarkFlorist/operations/blob/df9e4772d001ee1203dfd0b5cadb342b1e77f951/portainer-stack.yml

Additional Information
If I docker network inspect ... from the swarm worker I see the containers on that network running on the worker, and if I docker network inspect ... from the swarm manager I see the containers on that network running on the manager.  The symptoms suggest that portainer isn't aggregating the two lists into a single list that is presented, and is instead just querying the swarm manager for the list (which is incomplete).

When selecting the network from the Networks page, you will likely see an arrow indicating an expansion option. If you click this you'll see additional networks listed on your other nodes. If you then click on the network for the corresponding node that your service is deployed on, you should see it listed in the Containers in network section.
For example, I created a network called my-network on my Swarm cluster then spun up a stack with a container restricted to a specific worker node (ce-swarm02) in that cluster. You can see the network is able to be expanded (the arrow to the left of the name) and in the expanded list you can see the network listed again but on the ce-swarm02 node (note the Node column).

I'll discuss with the team, but I believe this behavior is due to the way that Docker manages networks - as you indicated, you see different results from a docker network inspect depending on the node you run it on.

Ah, I didn't notice the arrow before.  It definitely feels like aggregation into a single page is something Portainer should be doing.  I don't know why Docker Swarm doesn't provide an aggregated network inspect view already, but I can't imagine why I would want to see each network separate like that.


Is the word "tenant" missing in "use the primary Azure AD for user identity"?

Hello,
please check if the word "tenant" is missing after primary Azure AD in this sentence: "Enterprise Apps, including application code running in any Azure subscription, use the primary Azure AD for user identity."
It exists in other occurrences on the page.
Kind regards,
Anne Häkkinen, QC

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 417f1065-0ce2-802c-cc4f-1cee71357eed
Version Independent ID: 417f1065-0ce2-802c-cc4f-1cee71357eed
Content: Zero trust configuration for multi-tenant defense organizations - Cloud Adoption Framework
Content Source: docs/scenarios/defense/identity/multi-tenant/zero-trust-configuration.md
Service: cloud-adoption-framework
Sub-service: scenario
GitHub Login: @amasse3
Microsoft Alias: ssumner

@QueryCoordinator - Thank you for the feedback.  The corrected document will go live after the next update.


Update firestr to 0.11

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask’s name and version.

since the file is not code-signed i've asked the developer to confirm its authenticity

i guess we can give up waiting for confirmation from the developer

Closing for now, with a nod to https://github.com/Homebrew/homebrew-cask/issues/48862.


Joyncarpio energy

Pull request information

Status: ? (ready to merge)
Kind of changes: ? (new feature)
Related PR or issue: ? (optional)

Description
power calculation added in the rewards.py
storing of old speed (for acceleration calculation) added in traci.py

@joyncarpio I might be wrong but I think the reward fn in this PR was merged by another PR, so I'm gonna close this. If more things need to be merged feel free to create another PR!


Add Centre Tecnologic de Telecomunicacions de Catalunya domain

Request to add Centre Tecnologic de Telecomunicacions de Catalunya (CTTC) located in Castelldefels, Spain.

@amedeo-giuliani First stage of verification passed, official domain is cttc.cat as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.


Enable standard shortcuts for zooming in/out

I confirm (by marking "x" in the [ ] below):

[X] This is not a feature idea. Feature ideas go here: http://www.mattermost.org/feature-ideas/
[X] This is not a troubleshooting question. Troubleshooting questions go here: http://www.mattermost.org/troubleshoot/
[X] This is a product defect issue that can be reproduced using the steps listed below.
[X] I have read CONTRIBUTING.md.

Summary
These are standard shorcuts that should work in any app.
Zoom in:

CTRL+PLUS
CTRL+=
CTRL+SHIFT+= [already implemented]

Zoom out:

CTRL+MINUS [already implemented]
CTRL+SHIFT+MINUS

^Mac-equivalent shortcuts replaces CTRL with CMD.
Right now we have one which requires SHIFT to work, and another which doesn't. We've got reports from people confused about it and having to work with either too small or too large text before figuring it out.

I see, thanks for the note!
Do we have an idea on potential turn-around from issue filing to fixing the issue?
Probably depends whether someone in the community submits a pull request for the issue.

Actually, we can continue discussion in the pull request @akashnimare submitted here: https://github.com/mattermost/desktop/pull/234

Should be closed by #234


Execute code before first page load

I want to check some url params to change the layout of my page before I initiate the page load.
I tried to use a middleware script to do so, but this middleware script seems to be ignored at the client's side at the beginning.
For now I put my code into the created method in my component, but I was wondering if there is a nicer way. Maybe using a plugin which runs at the beginning?
Thanks for input on this behalf.
Cheers

Plugin is a good choice, created will be executed at every time when navigate to the page but not first initialization.

I stumbled upon this too. used a plugin but seems like the router instance is not yet initiated at that time, so redirect doesn't work.
Any workarounds you've found?


README.md formatting update

I took everything out of code blocks for a couple reasons:

Viewer had to scroll side to side to read the whole Project description as well as the requirements list
The bullet points were displaying as asterisks rather than actual bullet points
I think we should try to reserve the code blocks for code

So, mostly just aesthetics and I have nothing better to do.

nice. looks better. thanks


Introduce a validating logic for Container Runtime type

How to categorize this issue?

/area TODO
/area ops-productivity
/kind enhancement
/priority 3
What would you like to be added:
To be introduce a validating logic in https://github.com/gardener/gardener/tree/master/pkg/apis/extensions/validation for the extensions.ContainerRuntime. For reference explore the existing ones.
Also it should be properly register in the existing validating webhooks.
Edit DescribeTable.Entry for ContainerRuntime in the pkg/seedadmissioncontroller/webhooks/admission/extensionresources/admission_test.go after #4499  is merged
Why is this needed:
It is useful to have validating mechanism for that type like they are for all other types.
/cc @stoyanr

@vanjiii Are you working on this one?

@vanjiii Are you working on this one?

Currently no.

/assign


Drag color to fill color button

Alternative fill interface for tablets etc. without keyboard.

Sorry about the duplicate.
I would like to be able to select a fill color for shapes without a keyboard.
I would suggest that a 2 second long press on the color of choice would be a simple way to select a fill option without much mess (although somewhat undiscoverable.)

I agree. #96 was one proposal for this. Do you agree that would be nice/sufficient?
I could see long-press bringing up a menu, offering stroke or fill color maybe?

I think a mechanism similar to how you can do a long press on a tablet keyboard to bring up alternate icons or numbers would be neat.


export * statements in d.ts can not be use to prompt types of default export.

Describe the bug
I'm facing a problem that I have these lines in my src/index.ts
export { sdk as default } from './sdk';

and I use insertTypesEntry functionality to generate dist/index.d.ts as follows:
export * from './src/index.d.ts';

But when I publish these code to npm and use it, type prompts were gone.
Reproduction
https://stackblitz.com/edit/vitejs-vite-xwwwbi?file=test.ts
Steps to reproduce
just run yarn build and see test.ts.
import sdk from '.';

sdk.execute(); // types' broken

System Info
System:
    OS: macOS 14.1.1
    CPU: (10) arm64 Apple M1 Pro
    Memory: 86.19 MB / 32.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 18.18.2 - ~/.nvm/versions/node/v18.18.2/bin/node
    Yarn: 1.22.19 - /opt/homebrew/bin/yarn
    npm: 9.8.1 - ~/.nvm/versions/node/v18.18.2/bin/npm
    pnpm: 8.9.2 - /opt/homebrew/bin/pnpm
  Browsers:
    Chrome: 119.0.6045.159
    Edge: 119.0.2151.72
    Safari: 17.1
  npmPackages:
    vite: ^4.4.11 => 4.5.0

Validations

[X] Read the FAQ.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] The provided reproduction is a minimal reproducible example of the bug.

Maybe a workaround:
import { sdk } from './sdk'
export default sdk

Although...maybe the plugin could do something? such as
import _default from './src/index.d.ts';
export * from './src/index.d.ts';
export default _default;

This is a flaw of match logic, please wait for it to be fixed.

That would be great! Thanks a lot.


Document how to get a local dev setup

As the title says document the commands required to get Tanzawa running locally for development / trying it out. Add the commands and an explanation to README.md

build Docker image
migrate / createsuperuser
runserver (develop) gunicorn (prod)

This is about local development setup, so deploying with gunicorn is out of scope for this issue.


[BUG] [__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[1]

Hello,
When apple reviews my application and uses photo_manager there is this crash:
 Fatal Exception: NSInvalidArgumentException
*** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[1]

Fatal Exception: NSInvalidArgumentException
0  CoreFoundation                 0x1a0695128 __exceptionPreprocess
1  libobjc.A.dylib                0x1b43a8480 objc_exception_throw
2  CoreFoundation                 0x1a0700b70 -[__NSCFString characterAtIndex:].cold.1
3  CoreFoundation                 0x1a070bcb0 -[__NSPlaceholderDictionary initWithCapacity:].cold.1
4  CoreFoundation                 0x1a058ec88 -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]
5  CoreFoundation                 0x1a0581fd8 +[NSDictionary dictionaryWithObjects:forKeys:count:]
6  photo_manager                  0x102620830 (Manquant)
7  photo_manager                  0x10262bee8 (Manquant)
8  libdispatch.dylib              0x1a02cc2b0 _dispatch_call_block_and_release
9  libdispatch.dylib              0x1a02cd298 _dispatch_client_callout
10 libdispatch.dylib              0x1a0271ce4 _dispatch_queue_override_invoke
11 libdispatch.dylib              0x1a027ebbc _dispatch_root_queue_drain
12 libdispatch.dylib              0x1a027f37c _dispatch_worker_thread2
13 libsystem_pthread.dylib        0x1e7ea9580 _pthread_wqthread
14 libsystem_pthread.dylib        0x1e7eac86c start_wqthread

Impossible to reproduce on my side with simulator, real device.
And the code is used for 8 months by 4000 users without any crash.
The application is rejected 4 times because of this crash.
Do you have an idea ? thank you 😇

Finally after 1 week of waiting, the exam is passed with the same code ... Incomprehensible what is happening on their side
thx for your time


[hi] Localize Vertical Scaling

localize the https://glossary.cncf.io/vertical-scaling/ for Hindi localization folks

If any need of Improvement Please mention me


#53: Tests for CLI options

Resolves #53.

Current coverage is 89.48%

Merging #248 into master will increase coverage by +0.49% as of 0836688

Powered by Codecov. Updated on successful CI builds.

:+1:


Update SLDS peer dependency to allow 2.6.0

Fixes https://github.com/salesforce/design-system-react/issues/1296
Allows SLDS v2.6.0-alpha in our allowable range.

Pull Request Review checklist (do not remove)

[ ] Review the appropriate Storybook stories. Open http://localhost:9001/.
[ ] Review tests are passing in the browser. Open http://localhost:8001/.
[ ] Review markup conforms to SLDS by looking at snapshot strings.
[ ] Add year-first date and commit SHA to last-slds-markup-review in package.json and push.
[ ] Request a review of the deployed Heroku app by the Salesforce UX Accessibility Team.
[ ] Add year-first review date, and commit SHA, last-accessibility-review, to package.json and push.
[ ] While the contributor's branch is checked out, run npm run local-update within locally cloned site repo to confirm the site will function correctly at the next release.

Does just using ^2.4.0 allow 2.6.0-alpha?

Unfortunately I tried ^2.4.0 already and it doesn't.  A quick tool that I've been using to play around is https://semver.npmjs.com.  Just enter @salesforce-ux/design-system and see what expression matches.


feat: support keyboard shortcuts for all rows selection

Allows user to select all rows with keyboard meta+a or ctrl+a. This only selects rows which are currently available to the datatable and will not select rows which get loaded from server in future by user actions like scrolling/paging
What kind of change does this PR introduce? (check one with "x")

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Other... Please describe:

What is the current behavior? (You can also link to an open issue here)
Currently there is no effect when user press ctrl + A or meta + A on mac.
What is the new behavior?
When focus inside table on row and user presses ctrl+A or meta + A, all available rows will be selected and selection event will be emitted.
Does this PR introduce a breaking change? (check one with "x")

[ ] Yes
[x] No

If this PR contains a breaking change, please describe the impact and migration path for existing applications: ...
Other information:

@timowolf Could you please review this?


SizeOf returns NAN when object has a property that is null.

//Sorry my first issue wasn't clear Please see the below example.
var _ = require('lodash');
var sizeof = require('object-sizeof');
var badData = {"1":{"depot_id":null,"hierarchy_node_id":null}};
var foo = sizeof(badData);
if(_.isNaN(foo)) {
console.log("I Am NAN");
console.log(JSON.stringify(badData));
} else {
console.log("I Am OK");
}

@michaelbushby you are absolutely right, I will fix it


Investigate using alternate code generator for TypeScript that copies comments from schema

It's a bit weird that the current one doesn't forward comments.
Related: https://github.com/sourcegraph/scip/issues/253

Duplicate of https://github.com/sourcegraph/scip/issues/39


feat(cli/run): Support dependencies defined using HTTP URLs

fixes #240
Motivation
We allow mvn: dependencies with camel: and runtime: wrapper. We should allow users to specify HTTP dependencies on libs (to load custom JAR that are not present in Maven central).
Modifications:

Downloads dependencies with http and https prefixes to a temporary folder
Uploads the temporary file like local files

Release Note
feat(cli/run): Support dependencies defined using HTTP URLs

Looks good, but it'd be great if there is e2e for the feature. Maybe here or here? https://github.com/apache/camel-k/blob/main/e2e/namespace/install/cli/run_test.go https://github.com/apache/camel-k/blob/main/e2e/global/registry/registry_maven_wagon_test.go

We can use the same jar used in the JVM trait: https://github.com/apache/camel-k/blob/245f8c82fa916ba0d4dfa79678c0c024ae5aee30/e2e/global/common/traits/jvm_test.go#L46 - we may just reference the http location of that one.


benchmarks in release 5.3.7 fails to compile

https://github.com/simdutf/simdutf/blob/master/benchmarks/base64/benchmark_base64.cpp#L12 references libbase64.h which isn't in repo

It is an external dependency:
https://github.com/simdutf/simdutf/blob/master/benchmarks/base64/CMakeLists.txt
We build the benchmarks in CI prior to every release.
Can you provide the exact CMake command you have entered and the exact error mess?

Ahh I see, I didn't see any checks for it "offline"/locally but that explains it.

Closing


Handle when janus Trickle ICE to be used

flutter_janus_client can't ICE when Janus gateway turn the config full trickle is true. So I add code to handle trickle events from the Janus.

@all-contributors please add @ngoluuduythai  for code


RFC: Renable retry on axios and disable it on ut.

We can disable it for on other call site if needed.
Signed-off-by: Jérôme Benoit<EMAIL_ADDRESS>

As I wrote, I don't want to enable the retry.

That was meant to be merged after the test, and the ut part is valid and ensure that retry is left disabled in them whatever is put in the config.json file as axios configuration.
In short, you've closed a PR with code in it that actually fix the ut behaviour in all case.

I wanted this behavior in the whole project

The behaviour can be overridden by the configuration, the ut use axios to mimic the dashboard or mobile clients that never retry. In order to ensure the ut always behave like the clients, that code is necessary. Otherwise the ut behaviour can be not consistent with the clients one. like @ClaudeROSSI remarked, which is not is expected in ut.

I want this behavior in the usage everywhere in the projet and feature that needs retry will provide explicitly the conf.

The ut never need to retry, letting the code allows them to eventually retry is a bug.

Today with the default Axios config, by default, there is not retry included unit tests if I'm not mistaken.

Today with the default Axios config, by default, there is not retry included unit tests if I'm not mistaken.

Sure but the code still permits them to be enabled, which will lead to the previous misbehaviour reported by @ClaudeROSSI. With the other PR, it just can't happen anymore, whatever is changed in the configuration file and the ut behave then consistently like the clients do. That was the only purpose of the other PR.

Sure but the code still permits it to be enabled, which will lead to the previous misbehaviour reported by @ClaudeROSSI. With the other PR, it just can't happen anymore, whatever is changed in the configuration file and the ut behave then consistently like the clients do. That was the only purpose of the other PR.

I decided to extend this behavior to the whole backend, so it should be okay by now I think.

I think I will split put the axios ut configuration in the ut configuration file and do an other PR ;) That will be easier than trying to explain that reusing the global configuration for ut is not the correct.

lol
The global conf should not retry either so it should be consistent I think with the UT.
Indeed, we can have a talk when I'll be on site, no problem :-)

I'll do the PR, you will understand. For the WSClient, we already do the same: ut have it's own configuration to set it up, so ut can behave the way the want independently of the ev-server configuration, default behaviour.


Running dbt_external_tables under Airflow causing error with incorrect YAML format

Hello, I am running dbt with dbt_external_tables package under Composer (v2.4.3). When I am passing arguments to my class to build DBT command like:
dbt run-operation stage_external_sources --args 'select: external_sources.abc_full' --target dev --profile abc_seg
this command gives me an error:
[2024-04-11, 12:06:53 UTC] {pod_manager.py:382} INFO - 12:06:53  The YAML provided in the --args argument is not valid. [2024-04-11, 12:06:53 UTC] {pod_manager.py:382} INFO - Usage: dbt run-operation [OPTIONS] MACRO [2024-04-11, 12:06:53 UTC] {pod_manager.py:382} INFO - Try 'dbt run-operation -h' for help. [2024-04-11, 12:06:53 UTC] {pod_manager.py:382} INFO -  [2024-04-11, 12:06:53 UTC] {pod_manager.py:382} INFO - Error: Invalid value for '--args': String ''select:' is not valid YAML
I was trying to use curly braces like: --args '{select: external_sources.abc_full}' but it is not resolving an issue. When I am running this command without "--args" just pure macro stage_external_sources it is working perfectly even under Composer.
How I can resolve issue with this?

@lukasz-wiesek this is strange for sure! Shot in the dark: try double quoting (") the string?


support for play 2.5

Hi there, was wondering if there are plans to support new version of play,
Thanks.

👍
that would be great! Did someone tried already?


Error on executing binary file: No such file or directory

Describe the bug
I am unable to execute binary files directly. It throws a "No such file or directory" error even though the file does exist. I'd like to know if Im missing something.
./node_modules/gentype/gentype.exe: No such file or directory

To Reproduce
Steps to reproduce the behavior with gentype npm package (in a preferably empty directory):

Install gentype - npm install gentype
The file exists - ls -l ./node_modules/gentype/gentype.exe
Execute to get the error - ./node_modules/gentype/gentype.exe

Expected behavior
Expected the binary to execute without issues.
Metadata
 - system: `"x86_64-linux"`
 - host os: `Linux 5.9.12, NixOS, 21.03pre257780.e9158eca70a (Okapi)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.3.9`
 - channels(root): `"home-manager, nixos-21.03pre257780.e9158eca70a"`
 - channels(imsohexy): `"home-manager, nixos-21.03pre257780.e9158eca70a"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

This is because NixOS avoids global state and therefore doesn't install the binary interpreter ld-linux.so and generally libraries to the default locations as on other Linux distribution. This means that dynamically linked binaries built elsewhere won't run out of the box, however: The behavior you are experiencing is expected and not a bug.
You can use patchelf to get foreign binaries to work on NixOS.
You can show the interpreter of the binary like this:
nix-shell -p patchelf --run "patchelf --print-interpreter ./node_modules/gentype/gentype.exe

For binaries properly built and packaged for NixOS, you'll see that the correct interpreter version from /nix/store is used:
$ nix-shell -p patchelf --run "patchelf --print-interpreter \$(which mkdir)"
/nix/store/9l06v7fc38c1x3r2iydl15ksgz0ysb82-glibc-2.32/lib/ld-linux-x86-64.so.2

Note that using --set-interpreter might not do the trick altogether. Depending on what you are trying to achieve it's probably best to write a nix expression building and fixing up the binary you have, since its rpath will probably also need to be adjusted to use libraries from /nix/store/.
Unfortunately I don't know that much about how to best package node.js packages with distributed binaries and nodePackages doesn't contain gentype, but you could maybe achieve your goal with the help of node2nix.

I work with the information in this issue a lot! It was extremely helpful. See my solution for setting up rescript, ppx, and gentype
One thing I can't do in a particular flake is when I get > patchelf: missing ELF header. Any idea what's going on here? There isn't much when you google.


Effect not working with background-position: center center !important;

The parallax effect completely disappears when you set the css style of your section to background-position: center center !important;
Here is the configuration used:
$(document).on('ready', function () {
    $.stellar({
      responsive: false,
      verticalOffset: 60,
      parallaxBackgrounds: true,
      parallaxElements: true,
      horizontalScrolling: false,
      hideDistantElements: false,
      scrollProperty: 'scroll'
    });
  ...

Because of Stellar an background-image smaller than the screen will always be zoomed towards the top of the image instead to its center. This is my issue which I am trying to solve

Created a new issue out of this


Fix typings and dependencies

Kind of went down a bit of a rabbit hole when looking at changing the dev dependencies for pixi based on the comment in the other PR
This PR updates the pixi dev dependency but also fixes some type issues!
We can close #3 if you are happy with these changes

Hey @Zyie, did you want me to do the merge? No problem if so, just used to the flow where person who opens the PR merges the PR after approval 😄

Hey @Zyie, did you want me to do the merge? No problem if so, just used to the flow where person who opens the PR merges the PR after approval 😄

I'm very much used to the opposite 😄
I can merge but could you do a release when you have the time!

I'm very much used to the opposite 😄

Haha, maybe this is more the open source way? Maintainers merge in PRs vs projects where devs shepherd their PRs from review to production? 😄


Use latest libvirt-go

What this PR does / why we need it:
The last build includes the fix for "missing error" problem.
It affects our CI runs and in general can affect user flows.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

NONE

Signed-off-by: Artyom Lukianov<EMAIL_ADDRESS>

@berrange To pick up the latest changes in libvirt-go, we're pulling in the tip of master. What are your thoughts here? Should that be okay or should we wait for the next libvirt-go release?

We would generally recommend to track one of the signed tags, since we can't promise that git master is always going to successfully build.
Certainly any formal releases should be tracking a signed tag. It could be acceptable to track git master for your own daily CI, as long as you're happy with risk of occasional breakage.  We release monthly though, so it isn't very long to wait for changes to get into a signed tag.

@davidvossel I can change it to tagged release once it available.

Ok, let's take this one in right now and switch to a tagged release once it is there. Results look much better.

We would generally recommend to track one of the signed tags, since we can't promise that git master is always going to successfully build.

Yes makes sense in general. We are taking the current specific HEAD commit until the tagged release is there.


Way to set server response headers depending on client

I am writing a general OCPP server, that should support both ocpp 1.6 and ocpp 2.0. The protocol version is passed in  Sec-WebSocket-Protocol header from the client, where multiple versions are possible. Server should pick one and send the chosen version in response in the same header. I managed to hardcode response with extra_headers= keyword like so:
start_server = websockets.serve(
        server.run, const.ADDR, const.PORT, process_request=check_endpoint,
        extra_headers={'Sec-WebSocket-Protocol': 'ocpp2.0'})

but this (obviously) works only for clients that support ocpp2.0. I searched for clues in issues and found this one #373 that proccesses pasword and username before establishing connection (if I understand this correctly). Is there a way to modify this class to set response protocol header?
Something like this:
class CheckProtocol(websockets.WebSocketServerProtocol):
    async def process_request(self, path, request_headers):
        protocol = request_headers["Sec-WebSocket-Protocol"]
        if protocol == 'ocpp2.0':
            websocket.extra_headers = {'Sec-WebSocket-Protocol': 'ocpp2.0'}
        elif protocol == 'ocpp1.6':
            websocket.extra_headers = {'Sec-WebSocket-Protocol': 'ocpp1.0'}

if __name__ == '__main__':
    server = Server()
    start_server = websockets.serve(
        server.run, const.ADDR, const.PORT, process_request=check_endpoint,
        create_protocol=CheckProtocol)

This doesn't work, client doesn't get a correct response and disconnects. Is this the right way, or is there a much simpler way to set response headers?
Thank you for your help.

Can you solve this by passing a callable extra_headers?
From the docs (emphasis added):

extra_headers sets additional HTTP response headers — it can be a Headers instance, a Mapping, an iterable of (name, value) pairs, or a callable taking the request path and headers in arguments and returning one of the above

def extra_headers(path, request_headers)```:
        protocol = request_headers.get('Sec-WebSocket-Protocol')
        if protocol == 'ocpp2.0':
            return {'Sec-WebSocket-Protocol': 'ocpp2.0'}
        elif protocol == 'ocpp1.6':
            return {'Sec-WebSocket-Protocol': 'ocpp1.0'}

start_server = websockets.serve(
        server.run, const.ADDR, const.PORT, process_request=check_endpoint,
        extra_headers=extra_headers)

(In the code I copy-pasted, I noticed that a request for version 1.6 is answered with version 1.0. Is that expected or a typo?)

Thank you so much, it works! Yes, the ocpp1.0 thing was a typo, it should be ocpp1.6. Tested with multiple clients, I got some error:
Traceback (most recent call last):
File "/home/vids/.local/lib/python3.6/site-packages/websockets/server.py", line 117, in handler
extra_headers=self.extra_headers,
File "/home/vids/.local/lib/python3.6/site-packages/websockets/server.py", line 514, in handshake
for name, value in extra_headers:
TypeError: 'NoneType' object is not iterable
but it was my fault for not parsing the string (header can look like this: 'ocpp2.0, ocpp1.5' ) and of course extra_headers function returned None.
When I fixed that, everything worked, thank you again!


Logger

Mostly follows the great Ruby library:
logger = Logger.new(STDOUT)
logger.progname = "crystal"
logger.info("mogwai are safe")          # I, [2015-02-07 10:45:37 #18969]  INFO -- crystal: mogwai is safe
logger.fatal { "gremlins in the box" }  # F, [2015-02-07 10:45:37 #18969] FATAL -- crystal: gremlins in the box

Also allows to customize the format. Either by overriding Logger#format or by setting a lambda as Logger#formatter.
Also comes with a few enhancements to the core/std libraries, like String#rjust, IO.pipe(&block), and match expectations.

Very nice, thanks!!
I have a few questions, I'll write some in the code and some here.

If you prefer so I can merge the pull request and do the changes, if you agree with them

Thanks! Lots of unknown Crystal niceties suggested. I'm making some of them.

Here you go!

Thanks!!


feat: add time_zone for mssql

This is the same change being submitted through https://github.com/terraform-google-modules/terraform-google-sql-db/pull/479, submitting a new PR to address the linter check failures on the other PR.
cc @Anand-chenepalli

/gcbrun

/gcbrun


Change the expired link about sig-governance, for language es

link of sig-governace.md changed, change the link to the new address

/cc @tengqm @xichengliudui

See my feedback on #17605

Thank you @sivanzcw!
Let's wait for the upstream resolution as @scrim suggests.
/hold

The conversation in #17605 has been resolved, and I have modified the code to amend the issue, please review again. @raelga

/lgtm
/approve

Thank you very much @sivanzcw !
/lgtm
/approve

/unhold


Support for Ceylon language

This PR adds support for the Ceylon programming language to the existing "clike" mode.
I added a couple of minor features to the "clike" configuration, mostly to be able to pass a function to define keywords instead of a fixed list of words (this because in Ceylon all "types" start with an uppercase letter, so this is a much better test for us than trying to list a large number of often-used type names).
I also made the isOperatorChar configurable because we have a couple more symbols that are used as operators.
Anyway, if you have any remarks, just let me know.
PS: Very nice job on CodeMirror! It's a great piece of software. We're using it here in our online "Web IDE" (so people can try out bits of code): http://trybeta.ceylon-lang.org/

Thanks, looks great. Merged as 4255f78

That's quick, thanks!


search on this datatable

Hi my friend
How i can add search on this datatable ?
thanks advance

Project is still wip but I'll make sure I add this demo . Check back in a week

God luck

is there any code for reload the datatable ?


Remove some unused crates

Removes crates that aren't being used.

bors r+

thanks for removing the dead packages!! and welcome to the project!


Dependency missing when installing rpm on SUSE

The RPM package fails to be installed on Open SUSE Thumbleweed.
Reports missing dependency
> sudo zypper in https://api.k8slens.dev/binaries/Lens-5.1.3-latest.20210722.1.x86_64.rpm
Loading repository data...
Reading installed packages...
Resolving package dependencies...

Problem: nothing provides 'libuuid' needed by the to be installed lens-5.1.3_latest.20210722.1-20210722.1.x86_64
 Solution 1: do not install lens-5.1.3_latest.20210722.1-20210722.1.x86_64
 Solution 2: break lens-5.1.3_latest.20210722.1-20210722.1.x86_64 by ignoring some of its dependencies

Choose from above solutions by number or cancel [1/2/c/d/?] (c):

Environment (please complete the following information):

Lens Version: Lens-5.1.3-latest.20210722.1.x86_64
OS: openSUSE Thumbleweed
Linux: 5.13.12-1-default

Did you try solution 2? Did you try the AppImage binary?


Convert to hooks, function components

This will make it easier to pass a ref back up to the caller with a jsxgraph instance.

Duplicate of #18 .


Refactor spark-redshift

to make it more like spark-avro and spark-csv. No implementation change in this PR.

The package is renamed to com.databricks.spark.redshift from com.databricks.examples.redshift.input.
The implicit redshiftFile is now under com.databricks.spark.redshift.
README is updated.
Rename SchemaRDD to DataFrame.
Add more Spark Packages settings in build.sbt.

@brkyvz

LGTM. I'll follow this up with a PR on the migration guide.


Add new external data template

[ ] I have spellchecked my content using Microsoft Word, Grammarly, or otherwise.
[ ] If required, update the DEA Tech Alerts and Changelog and the DEA Sandbox Updates banner.

Preview:

https://pr-238-preview.khpreview.dea.ga.gov.au/data/theme/external/
https://pr-238-preview.khpreview.dea.ga.gov.au/data/product/ga-ausbathytopo/

We might want to add the External products category to the homepage here: @CEKrause

We might want to add the External products category to the homepage here: @CEKrause

I might leave that change to you @benji-glitsos-ga . I'm not sure I know how to make that modification... But I do think it's worth adding to the cards.

I'm wondering if someone could help me write some brief intro text that explains what "Band specifications" are. It will replace this line of intro text that is currently not very descriptive. @robbibt

These are the specifications of the bands used in this product.

Something like this?

These are the specifications of the bands included in this product. Bands from this product can be inspected and loaded using datacube on the DEA Sandbox or NCI, or accessed externally using DEA's Explorer STAC API.

Hey @benji-glitsos-ga, re the most recent commit: I really prefer the original setup we had with the "Access" tab unless we have a strong reason to change it - the clean user experience of having the same content available in the same consistent location across all our listings feels more important to me than the small bit of simplicity we gain through removing that tab. The "how to access the data" content in particular feels far less useful when separated from the access options it relates to.
I'd also like to leave us the option to provide more detailed access into under the "Access" tab table like we do on our main product listings - that won't be possible or as nice in the new design.

I made a few changes based on Norm's feedback:


MarkerState behaves in a non-@Stable manner at runtime

Maps Compose 2.7.2
Using MarkerState as a Composable function parameter appears to render the function effectively non-skippable at runtime. I suspect that this is due to unstable LatLng MarkerState.position.
I'd think that explicitly marking MarkerState @Stable would easily and validly avoid this issue.
The function below recomposes whenever its parent recomposes, even when keeping MarkerState unchanged:
@Composable
fun Foo(markerState: MarkerState) {
    println("${markerState.position} - ${markerState.dragState}")
}

Good find! The cause is actually the var marker: Marker? property. A similar improvement can be made to CameraPositionState. Will fix.


Adding Data bug

Describe the bug
A clear and concise description of what the bug is.

that's my nlu datas.
nlu.md.zip
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

See https://github.com/botfront/botfront/issues/600.


Air Quality Prediction

ML-Crate Repository (Proposing new issue)
:red_circle: Project Title : Air Quality Prediction
:red_circle: Aim : Predict the air quality depending on different aspects of the dataset.
:red_circle: Dataset : https://www.kaggle.com/rohanrao/air-quality-data-in-india
:red_circle: Approach : Try to use 3-4 algorithms to implement the models and compare all the algorithms to find out the best fitted algorithm for the model by checking the accuracy scores. Also do not forget to do a exploratory data analysis before creating any model.
Hello, ML-Crate contributors, this issue is only for the contribution purposes and allocated only to the participants of SWOC 2.0 Open Source Program.

📍 Follow the Guidelines to Contribute in the Project :

You need to create a separate folder named as the Project Title.
Inside that folder, there will be four main components.

Images - To store the required images.
Dataset - To store the dataset or, information/source about the dataset.
Model - To store the machine learning model you've created using the dataset.
requirements.txt - This file will contain the required packages/libraries to run the project in other machines.

Inside the Model folder, the README.md file must be filled up properly, with proper visualizations and conclusions.
A Demo Project has been created to guide you about the whole structure of presenting the Project in this repository. Here's the link of the Demo Project - https://github.com/abhisheks008/ML-Crate/tree/main/Project-Demo-Folder

:red_circle::yellow_circle: Points to Note :

The issues will be assigned on a first come first serve basis, 1 Issue == 1 PR.
"Issue Title" and "PR Title should be the same. Include issue number along with it.
Follow Contributing Guidelines & Code of Conduct before start Contributing.
This issue is only for 'SWOC' contributors of 'ML-Crate' project.

:white_check_mark: To be Mentioned while taking the issue :

Full name :
GitHub Profile Link :
Participant ID :
Approach for this Project :
Are you a participant of SWOC 2.0?

[ ] YES
[ ]  No

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

Full name : Sankalp Srivastava
GitHub Profile Link : www.github.com/sankalp-srivastava
Participant ID : 857
Approach for this Project : EDA and creating different models and comparing them.
Are you a participant of SWOC 2.0?

[x] YES
[ ] NO

Issue assigned to you @sankalp-srivastava


🚧Implement Carbonate library

Complete The Item Below

[X] I have updated the title without removing the 🚧 emoji.

Description
Add the library Carbonate and refactor the code as required to integrate and replace the Reactable related code with Carbonate code.
Acceptance Criteria

[ ] Carbonate library/NuGet package added to the required projects
[ ] Old Reactable code refactored and replaced with Carbonate code.

ToDo Items

[X] Change type labels added to this issue.  Refer to the Change Type Labels section below.
[X] Priority label added to this issue.  Refer to the Priority Type Labels section below.
[X] Issue linked to the correct project (if applicable).
[X] Issue linked to the correct milestone (if applicable).
[x] Draft pull request created and linked to this issue (only required with code changes).

Issue Dependencies
No response
Related Work
No response
Additional Information:
Change Type Labels

Change Type
Label

Bug Fixes
🐛bug

Breaking Changes
🧨breaking changes

New Feature
✨new feature

Workflow Changes
workflow

Code Doc Changes
🗒documentation/code

Product Doc Changes
📝documentation/product

Priority Type Labels

Priority Type
Label

Low Priority
low priority

Medium Priority
medium priority

High Priority
high priority

Code of Conduct

[X] I agree to follow this project's Code of Conduct.

Put https://github.com/KinsonDigital/Velaptor/labels/on hold
Reason:
There is a critical bug that has been found in the Carbonate library.  This bug needs to be fixed before we can move on with this.

https://github.com/KinsonDigital/Velaptor/labels/on hold status update
Carbonate was updated to v1.0.0-preview.3 but another issue was found with the unsubscriptions.   Left in hold status until another release is completed.


nested json not work

I cannot use the following notation to access __('contact.name')
{
  "contact": {
      "name": "姓名"
  }

}

In i18n, this is allowed:
https://github.com/mashpie/i18n-node#object-notation
Instead of calling __("Hello") you might call __("greeting.formal") to retrieve a formal greeting from a translation document like this one:

"greeting": {
    "formal": "Hello",
    "informal": "Hi",
    "placeholder": {
        "formal": "Hello %s",
        "informal": "Hi %s"
    }
}

Duplicate of #44

Works !

I am unable to get this working after this commit
Lines 295 to 303 end up creating properties if they do not exist:
if (!this.locales[locale][singular]) {
	this.locales[locale][singular] = plural ?
		{ one: singular, other: plural } :
			singular;

	if (this.devMode) {
		this.writeFile(locale);
	}
}

Then in the dotNotation method they always pass the obj.hasOwnProperty(str) check.
Can you show an example of this working?

Pense post an example of a buggy code. hasOwnProperty was there just to
avoid dot notation if not needed..
Le 7 juil. 2015 23:45, "Chris Baigorri"<EMAIL_ADDRESS>a écrit :

I am unable to get this working after this commit
https://github.com/jeresig/i18n-node-2/commit/47420e8a157f2ff98e16a79d51219ae964a279a2
Lines 295 to 303 end up creating properties if they do not exist:
if (!this.locales[locale][singular]) {
this.locales[locale][singular] = plural ?
{ one: singular, other: plural } :
singular;
if (this.devMode) {
    this.writeFile(locale);
}

}
Then in the dotNotation method they always pass the
obj.hasOwnProperty(str) check.
Can you show an example of this working?
—
Reply to this email directly or view it on GitHub
https://github.com/jeresig/i18n-node-2/issues/50#issuecomment-119351778.

Okay I did see where was the problem.
I solved it in the last commit.


Backend logic

[x] Clean api data before storing into file
[x] Logic fails when it's last day or first day of a month

[ ] when the app is booted on the first day of a year before fajr, it will not have previshatimestamp

[ ] Can use math to calculate timings instead of relying on api ( would work without internet )


Two hover messages displayed when hovering between two tokens (adjacent decorations)

Reproducible in vscode.dev or in VS Code Desktop?

[X] Not reproducible in vscode.dev or VS Code Desktop

Reproducible in the monaco editor playground?

[ ] Not reproducible in the monaco editor playground

Monaco Editor Playground Link
No response
Monaco Editor Playground Code
var jsCode = [
	'"use strict";',
	"function Person(age) {",
	"	if (age) {",
	"		this.age = age;",
	"	}",
	"}",
	"Person.prototype.getAge=function () {",
	"	return this.age;",
	"};",
].join("\n");

var editor = monaco.editor.create(document.getElementById("container"), {
	value: jsCode,
	language: "javascript",
});

var decorations = editor.createDecorationsCollection([
	{
		range: new monaco.Range(3, 1, 5, 1),
		options: {
			isWholeLine: true,
			linesDecorationsClassName: "myLineDecoration",
		},
	},
	{
		range: new monaco.Range(7, 1, 7, 24),
		options: { hoverMessage: { value: 'TEST' } },
	},
	{
		range: new monaco.Range(7, 24, 7, 25),
		options: { hoverMessage: { value: 'TEST22' } },
	},
]);

Reproduction Steps
Hover between two tokens line 7 character 24. Both adjacent decoration messages are displayed.

Actual (Problematic) Behavior
No response
Expected Behavior
No response
Additional Context
No response

The issue seems to be resolved in the latest stable version of Monaco editor.


Which Godot version is compatible?

I tried adding this into a blank Godot 4.0.3 project but I get
"Unable to load addon script from path 'res://addons/MinstanceMain.gd'
this might be due to a code error in that script. Disabling the addon at 'res://addons/minstance/plugin.cfg' to prevent further errors.
Im assuming this needs to be used with a specific Godot version?
Couldnt find which one in the documentation though. Looks very cool anyway!

Sorry for late reply. Plugin is for 3.5 version. Porting it for 4 version would be pointless because they added similar feature https://github.com/godotengine/godot/pull/36244


Fix custom options

- Enable BiDi property default value is set to false as it was creating conflicts with session related properties like incognitoMode or setting profiles

incognitoMode property is added for the following browsers:
Google Chrome
Microsoft Edge
Mozilla Firefox

@MohabMohie FYI


More than one users access to Myrtille with same account

According to using the URL access to myrtille remoteApp. I cannot make more than 1 user use the same account to access remoteApp at a moment. I don't want to create many account on my server to serve everybody. Anyway work around in this case?

Moreover, in my last issue which I already mentioned that I want to use MS Word with remoteApp. I want the way to let user click the button and save that remoteApp MS Word. Because it is remoteApp window, so I don't know how to use access and control the window programmatically. I'm using React Typescript for Front-end and .Net Core C# for Back-end.

Appreciated :)

According to using the URL access to myrtille remoteApp. I cannot make more than 1 user use the same account to access remoteApp at a moment. I don't want to create many account on my server to serve everybody. Anyway work around in this case?

You can allow multiple sessions per user, as explained into the documentation: https://github.com/cedrozor/myrtille/blob/master/DOCUMENTATION.md#remote-desktop-services. In addition to have 1 account for everyone (and require only 1 CAL), it will also be easier to configure, secure and monitor.
By the way, if you didn't already, you should either publish your application (MS Word) as a remoteapp (into an RD session collection) or allow any unlisted program on the RD session host(s) (using a local or group policy, depending on your setup), in order to prevent any execution denial on session start.

Moreover, in my last issue which I already mentioned that I want to use MS Word with remoteApp. I want the way to let user click the button and save that remoteApp MS Word. Because it is remoteApp window, so I don't know how to use access and control the window programmatically. I'm using React Typescript for Front-end and .Net Core C# for Back-end.

You won't be able to control it that way because first, there is no remoteapp window with myrtille.  Technically, myrtille is a gateway and doesn't have an UI. Instead, it runs the application as an alternate shell into the remote session and stream its content into the browser. The result is like remoteapp and even share the same technical stack (the application must be allowed as explained above).
If what you want is to save the user document before close, you have to proceed differently. You can hide the myrtille disconnect button into the toolbar so that the only way for the user to exit the application (and thus close the session) is to click the application's window close button or exit menu. If that occurs, the application should prompt the user whether to save or not any unsaved work before close.

I already set the restrict single session to disable and set the limit connection to 999999. But I still kicked out from the App when other connection access to the App.

Which OS is the target server? last time I checked, there was a reconnect issue with Server 2019 (see https://github.com/cedrozor/myrtille/blob/master/DOCUMENTATION.md#remote-desktop-services) but I didn't encountered any issue with multiple sessions per user. But that depends on the application used and the fact a same user could share the same data over different sessions.
Regarding the single session restriction, did you disabled it on the myrtille gateway? if yes, that would explain the problem. You need to disable it with a group policy if you have a domain or with a local policy on each RD session host otherwise.
About the RD licensing, you can technically use 1 CAL for a same user, but you may also be in violation of the RD license terms (https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/rds-client-access-license); it may be ok during the RD trial period but not after.

I moved my server from Azure VM to other cloud VPS. I did everything same as before but getting this error.
The remote connection failed due to missing or invalid credentials
When I tried to get the hashpassword by the URL it keep changing everytime. Is this normal?
Why is this happening?

Seems like more than 1 user can access same account but not in the same application. The scenario is that I have 15 questions of MS Word. If user A is doing Q.2 and B is doing Q.1, then it's fine. But if A doing Q.2 then B move from Q.1 to Q.2 then A will be disconnected.

This is possibly related to the application. I think that MS Word puts a file lock on disk for the opened document (like Open Office, for example) and the fact it's related to the same user account must disturb it.
Do you use a local or roaming (domain) user account? (https://community.spiceworks.com/topic/2152482-microsoft-word-is-not-working-for-one-user). It might be some configuration issue; you could try to set a different working folder  for each remote session (https://social.technet.microsoft.com/Forums/en-US/32aa46f9-4c6d-4e02-8d31-e981a596428f/remote-desktop-services-user-profile-and-home-folder?forum=winserverTS)
During various tests, I didn't had that issue with many other applications. The definitive solution would be to use different user accounts...

I solved it by separate each user folder.

If what you want is to save the user document before close, you have to proceed differently. You can hide (or disable) the disconnect button into the myrtille toolbar so that the only way for the user to exit the application (and thus close the session) is to click the application's close button or exit menu. If that occurs, the application should prompt the user whether to save or not any unsaved work before close.

Can you guide me through what you mentioned? How can I make a button to execute close function and embeded to myrtille tool bar?

Can I get the ID of each remote session process or close the program immediately when user left the page? I have some problems because files still opened after users left.

You can set a small disconnection timeout (i.e: 1 sec) so that a session is closed (signed out) just after being disconnected (https://serverfault.com/questions/873399/rds-2016-session-limits).
If you want to control that more accurately, you can use the RDS API (through the Cassia wrapper) to logoff your sessions, as Myrtille does to drain the disconnected sessions with connection broker(s) in HA mode (https://github.com/cedrozor/myrtille/blob/master/Myrtille.Services/RemoteSessionProcess.cs#L67)

I will try your solution. Can I send KeyStroke through an app opened by Myrtille?

You can send keystrokes yes, as it's done for the "Keyboard" popup (https://github.com/cedrozor/myrtille/blob/master/Myrtille.Web/js/myrtille.js#L509), but it wil be sent to the remote session; your application must be focused to receive it (which should be the case if the application is run at startup).

Where can I use this sending keystrokes function? Is it available in toolbar or how can I call it?

It's a javascript function, so you call from the DOM. Have a look to the "Ctrl+Alt+Del" button and the code behind it, then you should be able to implement a "Ctrl+S" button.

Okay, I'm coming up with the new solution. I want to edit the toolbar, get rid of the collapsed bullet and all of the button. Then, I will add one new button with the Ctrl+S to save and close the connection. Can I do that? Where can I adjust the toolbar and its CSS.
By the way, I want to thank you again for this software and your help from the beginning. I know I might annoyed you sometime. I owe you a lot.

You can do many things if you know what you are doing ;) but the simplest is always best, so I would advise to use myrtille within an iframe into your website. The only thing is both must be on the same domain to avoid cross domain restriction.


NMR Consoles: Inova (?)

Hi,
I was wondering why OpenVnmrJ compatibility with Console Inova has (?) in front of it. Is it because nobody has tried it yet or it is failing to upgrade?
Any hint would be greatly appreciated.
Best regards
Reza Tehrani

Duplicate of issue 8 in the Documentation section.


Handle promises arrays with properties

In case when variable "values" contains array of promises with properties (http://stackoverflow.com/questions/9952126/add-property-to-javascript-array) creation of new array causes the resolved array not to have the properties of original array (except length).
Proposed solution is copying the custom properties from original array to the resolved array. This solution involves minimal performance overhead (http://jsperf.com/cloning-an-object). I do not use getOwnPropertyNames as it appeared in ECMA script 5.1 only.

Strongly disagree with this change, this method produces a new array and there should be no expectation that ad hoc properties should be carried over too. And what should the behaviour be if the properties are promises? should those be resolved too? I don't think this is a good idea.

Why there should be no expectation that custom properties are persisted? As, no specification talks about this topic the decision is on implementors.
I think such behaviour should be supported because:

Adding properties to arrays is legitimate behaviour in JS. Person who adds properties to promises array naturally expects to find these properties on values array. This behaviour is more intuitive for users of library.
Such behaviour is accepted in another promises libraries (e.g. Q)

Properties that are promises should not be handled, as far as I understand resolving array of promises means resolving each element in the array, not the properties of it.
In general for bluebird what is the priority in tradeoffs between usability of framework to users and simplicity of the library code?
Anyway in case the decision is to leave the existing behaviour I think it should be explicitly stated in APIs description that there is no connection between promises array and the values array, when resolved.

One more thing to clarify what I mean as "not intuitive behaviour": if the library offers "seamless conversion of promises array to values array" functionality and accepts arrays created by user than the user can expect that the array properties to stay. To understand that the arrays are actually different user has to be familiar with library implementation.

If I extend array, like this:
class UserCollection extends Array {}

and pass it to Bluebird, should Bluebird give me back an array or an instance of UserCollection?

If we talk about ECMAScript 6 enabled environments, then clone function should be used to clone the whole object (original UserCollection array) first and instance of UserCollection should be returned. Do you have ES6 shim included into the library?

then clone function should be used to clone the whole object (original UserCollection array) first and instance of UserCollection should be returned

That's why this is a mistake. Just because we were passed an array of one kind, does not mean that it makes sense for Bluebird to return an array of that kind. For one, it has no idea how to instantiate a UserCollection, just like it has no idea whether the properties which happened to be on the input array of promises make sense for an array of values. It's magic behaviour and confusing for users, because the output array is distinct and separate from the input, and that fact needs to be clear.
const input = [1,2,3];
input.foo = 'bar';

output = input.map(item => item);

console.log(output.foo); // what does the user expect here?

Bluebird should behave like native promises and call the constructor of whatever is passed in to the array. I remember talks of @@species but honestly I'm not that well versed. Perhaps @domenic can elaborate on the correct expected promise behavior?

Bluebird doesn't generally follow ES6 on the really subtle subclassing stuff anyway.
It doesn't even work in Chrome 46:
Promise.all(new SubArray(1,2,3)).then(function(v) {
     console.log(v instanceof SubArray)
});
VM1444:3 false
Promise {[[PromiseStatus]]: "pending", [[PromiseValue]]: undefined}

Also Q doesn't do this, Q returns literally the original input array that's why it still has the properties. But that approach has other obvious problems...

@lextiz

Adding properties to arrays is legitimate behaviour in JS.

Well, it's possible of course because arrays are objects, but it's a despised practise. What are you using these properties for?

Person who adds properties to promises array naturally expects to find these properties on values array.

No, it's clear to everyone that Promise.all resolves with a new array. If you must use some custom properties, you can still refer to the property on the old array without any problems.
If you are doing some kind of subclassing of Array, creating a new subclass instance (via ES6 Symbol.species etc) might be feasible, but just blindly copying over properties is no good.

Or you can just use Promise.props...


Todo-List doesnot have edit button

Project name
Todo-List
Project link
https://github.com/khushi-purwar/WebDev-ProjectKart/tree/master/To-Do List
Improvements suggested
I will add completely functional edit button.
please assign me this under gssoc 22

/assign


[FLINK-15952] Replace the usage of a raw byte[] for keys in MultiplexedState

This PR address the problem, that when using Flink's heap state backend keys to a MapState can not be of a primitive array type.
This PR introduces a new Protobuf message to be used as a key in a multiplexed state context.
message MultiplexedStateKey {
    string function_namespace = 1;
    string function_type = 2;
    string state_name = 3;
    repeated bytes user_keys = 4;
}

Local run of the greeter example works, and Travis is green as well.
Merging ...


[FEATURE REQUEST] - relative path for HTML reports - OspreyHTMLReports - Helge Zollner

Is your feature request related to a problem? Please describe.
Images in HTML report should have relative path so that the whole reports folder can be copied and moved.
Additional context
HBCD request

Added in #528


For non-derived C++ generated header files, place }; after the closing comment block

Description:

The main reason I don't switch to a non-derived class for some of the classes in wxUiEditor is because the number of functions and methods in the header file would be impractical to add via the project file. The worst case example is mainframe.h which has a class definition of over 300 lines. That would be completely impractical to add to the project file. The other reason is that you can't do syntax checking while adding inline methods -- you have to wait until the file is generated and compiled or generated and loaded into a syntax-checking editor.
If code generation for non-derived header files placed the closing }; after the End of generated code block, then a user could extend the class definition simply by inserting code before that closing };. The only caveat is that code generation would only write that line once -- the only time it would rewrite it would be if there was no code after the closing comment block.
// ************* End of generated code ***********
// DO NOT EDIT THIS COMMENT BLOCK!
//
// Code below this comment block will be preserved
// if the code for this class is re-generated.
//
// clang-format on
// ***********************************************
};  // If you need to extend the class definition, enter code before this brace

The closing comment block doesn't get added until the file is actually being written. The function that writes that block doesn't even know whether we are writing a src or hdr file since the identical comment block is written to all generated C++ files.
I'm going to add a new C++ Header Settings category. I'll then add to this category a new boolean property that determines whether or not to generate a closing brace for the class definition. That makes it independent of being a derived class, and will not require a hack to modify the WriteFile() function.


VSCode version is out of date

The rev is set to v1.0.0 https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vscode/default.nix#L5, v1.1.1 is now out.
I will also need to symlink ./bin/code instead of ./code as the bin command as part of this update.

Quick update: the version 1.2.0 of VS Code has just been released.


Fix compiling Paket.Bootstrapper.Tests with Visual Studio

import paket.targets fixes visual studio compiling.
a clean visual studio build will be failed without the paket.targets

thx


[BUG] Latest preview nuget package no longer works with WinUI when updating to ProjectReunion 0.8

Description
Microsoft changed the namespace of the dispatcher queue. And now creating a  SKXamlCanvas throw this exception:

Code
public class MyControl : SKXamlCanvas
{
}

Basic Information

Version with issue:  2.88.0-preview.46

It seems that the package is not ready for ProjectReunion 0.8, just create a new WinUI project add a SKXamlCanvas  and it will throw:

Microsoft.UI.Xaml.Markup.XamlParseException: 'XAML parsing failed.'

at WinRT.ExceptionHelpers.ThrowExceptionForHR(Int32 hr)
at ABI.Microsoft.UI.Xaml.IApplicationStatics.global::Microsoft.UI.Xaml.IApplicationStatics.LoadComponent(Object component, Uri resourceLocator, ComponentResourceLocation componentResourceLocation)
at Microsoft.UI.Xaml.Application.LoadComponent(Object component, Uri resourceLocator, ComponentResourceLocation componentResourceLocation)
at App4.MainWindow.InitializeComponent() in C:\Users\Beto rodriguez\source\repos\App4\App4\App4\obj\x86\Debug\net5.0-windows10.0.19041.0\MainWindow.g.i.cs:line 37
at App4.MainWindow..ctor() in C:\Users\Beto rodriguez\source\repos\App4\App4\App4\MainWindow.xaml.cs:line 28

I have tried with versions 2.80.3-preview.93 and 2.80.3-preview.90 the result is the same.

This should be fixed when https://github.com/mono/SkiaSharp/pull/1741 is merged.


add back Domain::ipv{4,6}

This restores backward compatibility
Fixes #93
Fixes #95

How can this kind of mistake be avoided with use https://semver.org/ in cargo?

@stjepang Could we get a quickfix 0.3.14?

How can this kind of mistake be avoided with use https://semver.org/ in cargo?

semverver helps avoiding this kind of mistakes I think

Taking this event as an example, an hour has passed since the latest version of the update. Developers around the world have indirectly referenced the library, which has led to the failure of the project to compile normally. This control is not in the hands of developers, but in the authors who rely on the library, and the project control is lost。

@baoyachi semver depends on developer interpretation, so mistakes like this will happen once in a while. The changes that led to this issue seem to have been made around April, so without some external pre-release test from crates that depend on this one, I assume it would have been impossible to discover this issue until the new version was released.

Published v0.3.14

Really sorry about this! :( Let me know if this resolves the issue - I'll be online and respond promptly. You can also reach me on Discord if need be.

Really sorry about this! :( Let me know if this resolves the issue - I'll be online and respond promptly. You can also reach me on Discord if need be.

No worries, it happens :)
It hasn't resolved the issue, there's now another one.
error[E0599]: no function or associated item named `stream` found for struct `socket2::Type` in the current scope
   --> C:\Users\nevi\.cargo\registry\src\github.com-1ecc6299db9ec823\hyper-0.13.7\src\client\connect\http.rs:559:44
    |
559 |     let socket = Socket::new(domain, Type::stream(), Some(Protocol::tcp()))?;
    |                                            ^^^^^^ function or associated item not found in `socket2::Type`

error[E0599]: no function or associated item named `tcp` found for struct `socket2::Protocol` in the current scope
   --> C:\Users\nevi\.cargo\registry\src\github.com-1ecc6299db9ec823\hyper-0.13.7\src\client\connect\http.rs:559:69
    |
559 |     let socket = Socket::new(domain, Type::stream(), Some(Protocol::tcp()))?;
    |                                                                     ^^^ function or associated item not found in `socket2::Protocol`

Would it be safer to instead yank 0.3.13 and 0.3.14, and release the update as 0.4.0 @stjepang ?

Ugh. Okay I'm going to yank this and postpone a new release until we figure this out.


podman-remote: build: creates a weird 'localhost/latest' image

Usual setup for podman system service
$ mkdir a
$ echo 'FROM docker.io/library/alpine:latest' >a/Containerfile
$ ./bin/podman-remote --url $MYSOCK build --layers=true -t test a
--> a24bb401329
a24bb4013296f61e89ba57005a7b3e52274d8edd3ae2077d04395f806b63d83e

FROM docker.io/library/alpine:latest
COMMIT test
Successfully built a24bb4013296f61e89ba57005a7b3e52274d8edd3ae2077d04395f806b63d83e
$ ./bin/podman images
REPOSITORY                TAG     IMAGE ID      CREATED      SIZE
localhost/test            latest  a24bb4013296  12 days ago  5.85 MB
docker.io/library/alpine  latest  a24bb4013296  12 days ago  5.85 MB
localhost/latest          latest  a24bb4013296  12 days ago  5.85 MB
^^^^^^^^^^^^^^^^

That last localhost/latest is totally weird and unexpected, and is causing failures in e2e test

this is NOT a remote problem ... it happens with podman build ... still checking.

disregard previous comment.


Fix #661 : Log download timeout is too short

Issue:
There is a hard coded timeout of 10 seconds from the start of the download of execution logs to the end. This is too short for longer logs and for connections that have longer latencies.
The suggested action item to refresh the page won't help either.
"
The log is taking a long time to finish loading. Azkaban has stopped loading them. Please click Refresh to restart the load.
"
Fix:
Removed the limit which is set in the client side Javascript.
Test:
Manually shortened the timeout value to 10 milliseconds to reproduce the behavior. Applied the fix and verified that the log displayed correctly.

looks good.

LGTM

@wagnermarkd Thanks for the comment.
I think the refresh button can still be useful when a user wants to refresh the log display e.g. when the job is still running, or when the download was disrupted somehow.

LGTM