Requirement: Test Report Aggregator

Requirement
Would like to have Test Report Aggregator (html / xml) to show overall testing statistics.
Example:
https://github.com/jenkinsci/test-results-aggregator-plugin
Above plugin does support only for JUnit and TestNG reports.
Why this feature?
We have 50+ test jobs in jenkins and each producing html / xml reports individually. If we have feasible to display overall summary report where we can see  PASS / FAIL / SKIPPED status in each jobs and how much execution time and overall execution time, it is very convenient for us to see all results in one place instead of going to each job to check results.
Features required
Need groovy script for pipeline to get overall summary report.

Can add groups / teams - where we can get summary for each team results + overall summary for entire application.

Job Name, Health checks, Status, Total Tests, PASS, FAIL, SKIPPED, Test Pass Percentage, Duration and Last Run

IMO, this probably is something that could be raised with the plugin you referred to. Gauge's reporting concerns with a single run, and any aggregation/trend analysis could be delegated to something higher (ex the CI/CD tool)

@sriv I have just showed the example which supports for TestNG, JUnit. Since gauge is having their reporting tool, can we have a aggregation? It will be very useful to get all reports in one place.

@Vishnu1067 In this comparison, Gauge falls into the same bucket as TestNG or JUnit. I meant to state that the plugin that aggregates consumes the test runner's output and builds the metrics.
Of course, you could always use Gauge's xml-report which complies to the JUnit schema, and pass that to the plugin. Or there could be a plugin that writes the data into some store.

Since gauge is having their reporting tool, can we have a aggregation?

You are correct in stating Gauge has reporting capability, but please note that the reports are for a single run. Gauge does not possess any reporting capability across multiple runs, and that is where I feel would be better off using a tool that does this better.
Would you mind trying out the xml-report plugin? the output xml could be fed into the aggregator plugin and perhaps that could be what you are looking for?

@sriv thanks for prompt response. I have tried with the above plugin and i couldn't get the pass / fail / skipped and total number of testcases. Let me dig into it more. Thanks a lot.

Closing this for now as it's best for an external tool to handle aggregation using gauge run output.


Add key validation in dh generate key

Fixes #21781

Can you clarify why you think this check is needed?
The public key is generated from the private key using g^priv_key mod p.
The check that you add now checks that pubkey is in the range [2, p - 1], and if we have q, that pub_key^q == 1 mod p.
Are you worried that the public key might become 1? At least in the cases where we have q, ossl_ffc_generate_private_key() is used, and it will always be in the [2, p - 1] range because it's already been tested. You could argue that in the other case, there is a very small chance that 1 is generated.

The private key could not be valided in case of no dh->params.q , and the public key could be valided.

The private key could not be valided in case of no dh->params.q , and the public key could be valided.

The private key could not be valided in case of no dh->params.q , and the public key could be valided.

I don't think this PR is needed., If you need to do key checks after generation then something is very wrong..
SP800-56A and 56B specify that key checks are not required if the key generation uses a compliant algorithm

SP800-56A

It is better to regenerate the key in case of invalid key.
"<IP_ADDRESS> Public Key Validation Routines" define the check logic in "SP800-56A".

It depends on how you interpret this:
For either a static key pair or an ephemeral key pair: The owner generates the key
pair as specified in Section 5.6.1 and performs a full public-key validation or an
equivalent procedure as part of its generation process (see Section <IP_ADDRESS>.1 for FFC,
and Section <IP_ADDRESS>.3 for ECC);
i.e. If the process of keygen already satisfies these constraints then the check is pointless.

keygen

Yes, this PR is aim to add the missed validation in case of  no params q when generate dh key pair.

When we don't have q, we don't use SP800-56A. Assuming a 2048 bit p, I think that gets you a 1 in 2^2047 chance of generating a public key of 1, which most people will ignore. As far as I know, SP800-56A has a loop for the case that it does generate a public key of 1.

IMO we do not need this.

When we don't have q, we don't use SP800-56A. Assuming a 2048 bit p, I think that gets you a 1 in 2^2047 chance of generating a public key of 1, which most people will ignore. As far as I know, SP800-56A has a loop for the case that it does generate a public key of 1.

I agree with Kurt. IMO we do not need and want this. At most we should use ossl_ffc_validate_public_key_partial() instead. Otherwise we will be doing another modular exponentiation making the key generation slower.

Yes, the upper of private key could not be limited  with "q-1", and this will  increase the chance. this will help to ingnore the weak key.

This

IMO we do not need this.

When we don't have q, we don't use SP800-56A. Assuming a 2048 bit p, I think that gets you a 1 in 2^2047 chance of generating a public key of 1, which most people will ignore. As far as I know, SP800-56A has a loop for the case that it does generate a public key of 1.

I agree with Kurt. IMO we do not need and want this. At most we should use ossl_ffc_validate_public_key_partial() instead. Otherwise we will be doing another modular exponentiation making the key generation slower.

The chance maybe increase as the  upper of private key could not be limited with "q-1", and the logic is same with  ossl_ffc_validate_public_key_partial as the another modular exponentiation as q not present.

When we don't have q, we don't use SP800-56A. Assuming a 2048 bit p, I think that gets you a 1 in 2^2047 chance of generating a public key of 1, which most people will ignore. As far as I know, SP800-56A has a loop for the case that it does generate a public key of 1.

Yes, the upper of private key could not be limited with "q-1", and this will increase the chance. this will help to ingnore the weak key.

It depends on how you interpret this:
For either a static key pair or an ephemeral key pair: The owner generates the key pair as specified in Section 5.6.1 and performs a full public-key validation or an equivalent procedure as part of its generation process (see Section <IP_ADDRESS>.1 for FFC, and Section <IP_ADDRESS>.3 for ECC);
i.e. If the process of keygen already satisfies these constraints then the check is pointless.

Yes, this PR is aim to add the missed validation in case of no params q when generate dh key pair.

But you could also have other weak keys e.g. simple powers of 2, which might happen
if you accidentally choose the private key (p-1)/2 + n will get public key g^n or p-g^n
and those are slightly more likely than 1 or p-1 alone.
And those will not make the proposed check fail?

So how about that instead?
diff --git a/crypto/dh/dh_key.c b/crypto/dh/dh_key.c
index 328780b9a9..a352ec355a 100644
--- a/crypto/dh/dh_key.c
+++ b/crypto/dh/dh_key.c
@@ -320,7 +320,7 @@ static int generate_key(DH *dh)
                 if (dh->length != 0
                     && dh->length >= BN_num_bits(dh->params.p))
                     goto err;
-                l = dh->length ? dh->length : BN_num_bits(dh->params.p) - 1;
+                l = dh->length ? dh->length : BN_num_bits(dh->params.p) - 2;
                 if (!BN_priv_rand_ex(priv_key, l, BN_RAND_TOP_ONE,
                                      BN_RAND_BOTTOM_ANY, 0, ctx))
                     goto err;

would make the private key not in the range (p-1)/2 ... (p-1)/2+n
and there is no chance that a public key can be 1, 2, 4, 8 etc. ?

So how about that instead?
diff --git a/crypto/dh/dh_key.c b/crypto/dh/dh_key.c
index 328780b9a9..a352ec355a 100644
--- a/crypto/dh/dh_key.c
+++ b/crypto/dh/dh_key.c
@@ -320,7 +320,7 @@ static int generate_key(DH *dh)
                 if (dh->length != 0
                     && dh->length >= BN_num_bits(dh->params.p))
                     goto err;
-                l = dh->length ? dh->length : BN_num_bits(dh->params.p) - 1;
+                l = dh->length ? dh->length : BN_num_bits(dh->params.p) - 2;
                 if (!BN_priv_rand_ex(priv_key, l, BN_RAND_TOP_ONE,
                                      BN_RAND_BOTTOM_ANY, 0, ctx))
                     goto err;

would make the private key not in the range (p-1)/2 ... (p-1)/2+n and there is no chance that a public key can be 1, 2, 4, 8 etc. ?

The p was not present, so the verification that depends on p could not be performed. The verification here complies with the best-effort principle.

But since p is always a strong prime number we know by Fermat's little theorem
that g^(p-1) == 1 (mod p)  and the only possible solution for g^x == 1 mod p
is x == p-1 and x == (p-1)/2
Therefore the check is superfluous if we simply use a private key less than `(p-1)/2' as suggested.

But since p is always a strong prime number we know by Fermat's little theorem that g^(p-1) == 1 (mod p) and the only possible solution for g^x == 1 (mod p) is x == p-1 and x == (p-1)/2 Therefore the check is superfluous if we simply use a private key less than (p-1)/2 as suggested.

As the p not present, so the private key could not be limited with  (p-1)/2; so this PR add the  public key validation with the present q.

As the p not present, so the private key could not be limited with (p-1)/2; so this PR add the public key validation with the present q.

I am not sure what you're talking here about - p not present is impossible - this would not be a key with valid parameters.

It's my understanding that DH groups do not need to be a safe prime, and there are various examples of that in the RFCs. OpenSSL even has support for creating DSA-style DH parameters, where p-1 is a multiple of q. So even for the cases we have a q, we don't know if it's a safe prime or not. It's my understanding that only for the case of  built-in parameters like the ffdhe ones we can be sure it's a safe prime.

As the p not present, so the private key could not be limited with (p-1)/2; so this PR add the public key validation with the present q.

I am not sure what you're talking here about - p not present is impossible - this would not be a key with valid parameters.

Sorry, it is q that not present here.

This PR is waiting for the creator to make requested changes but it has not been updated for 30 days.  If you have made changes or commented to the reviewer please make sure you re-request a review (see icon in the 'reviewers' section).

This PR is waiting for the creator to make requested changes but it has not been updated for 61 days.  If you have made changes or commented to the reviewer please make sure you re-request a review (see icon in the 'reviewers' section).

This PR has been closed.  It was waiting for the creator to make requested changes but it has not been updated for 90 days.


csv export with headers (details,product)

From @CDM1CDM:

Can you add the column headers to the details CSV ? I believe I have it correct in the image on line one but please verify.

:ticket: Related content

https://github.com/endoflife-date/endoflife.date/issues/2650
https://www.kaggle.com/code/adriensales/endoflife-date-database-export/comments#2182923

:zap:


Change go files within example directory to flat markdown files

Thanks to this change, we will get rid of the specific example dependencies like YAML

We can do like this: https://github.com/ory/dockertest/tree/v3/examples


How to visualize network?

Is there any tool or option to visualize trt engine of LLMs? I believe TREx doen't support LLM and also trtllm-buil --visualize_network doesn't work.

There are several way to visualize the network.

Using trtllm-build --log_level=verbose, you can get detailed layer information from the output log by searching "Engine Layer Information:".

Using trtllm-build --visualize_network, but what is the exact error information you meet? Is something like "str object has no attribute of 'name'?"
That is a known issue, we will fix it in a later commit. Now we can fix it temporarily by this:
1. Find the file network.py in the installation directory of tensorrt_llm, for me as an example, "/usr/local/lib/python3.10/dist-packages/tensorrt_llm/network.py"
2. Find the function "to_onnx"
3. Add one line path = Path(path) after the line trt_network = self.trt_network.
4. Go back to use trtllm-build --visualize_network

benchmarks/python/benchmark.py can print engine information per layer by using parameter --dump_layer_info.

@wili-65535
Thank you. As for solution1 and 2, I could get layer information according to your procedure. However, I prefer graph visualization by --visualize_network so that I can understand TRT computational graph easily.

Using trtllm-build --visualize_network, but what is the exact error information you meet? Is something like "str object has no attribute of 'name'?"

trtllm-build --checkpoint trt_models/llama3.2-1b-hf_fp16 --output_dir /trt_engines/tllm_llama3.2_1b_inst_fp16 --gemm_plugin auto --max_input_len 2048 --max_batch_size 1 --visualize_network didn't provide onnx file or svg one.
$ ls /trt_engines/tllm_llama3.2_1b_inst_fp16
config.json  rank0.engine

[TensorRT-LLM] TensorRT-LLM version: 0.14.0
[12/03/2024-02:35:55] [TRT-LLM] [I] Set bert_attention_plugin to auto.
[12/03/2024-02:35:55] [TRT-LLM] [I] Set gpt_attention_plugin to auto.
[12/03/2024-02:35:55] [TRT-LLM] [I] Set gemm_plugin to auto.
[12/03/2024-02:35:55] [TRT-LLM] [I] Set gemm_swiglu_plugin to None.
[12/03/2024-02:35:55] [TRT-LLM] [I] Set fp8_rowwise_gemm_plugin to None.
[12/03/2024-02:35:55] [TRT-LLM] [I] Set nccl_plugin to auto.
[12/03/2024-02:35:55] [TRT-LLM] [I] Set lookup_plugin to None.
[12/03/2024-02:35:55] [TRT-LLM] [I] Set lora_plugin to None.
[12/03/2024-02:35:55] [TRT-LLM] [I] Set moe_plugin to auto.
[12/03/2024-02:35:55] [TRT-LLM] [I] Set mamba_conv1d_plugin to auto.
[12/03/2024-02:35:55] [TRT-LLM] [I] Set low_latency_gemm_plugin to None.
[12/03/2024-02:35:55] [TRT-LLM] [I] Set context_fmha to True.
[12/03/2024-02:35:55] [TRT-LLM] [I] Set bert_context_fmha_fp32_acc to False.
[12/03/2024-02:35:55] [TRT-LLM] [I] Set remove_input_padding to True.
[12/03/2024-02:35:55] [TRT-LLM] [I] Set reduce_fusion to False.
[12/03/2024-02:35:55] [TRT-LLM] [I] Set enable_xqa to True.
[12/03/2024-02:35:55] [TRT-LLM] [I] Set tokens_per_block to 64.
[12/03/2024-02:35:55] [TRT-LLM] [I] Set use_paged_context_fmha to False.
[12/03/2024-02:35:55] [TRT-LLM] [I] Set use_fp8_context_fmha to False.
[12/03/2024-02:35:55] [TRT-LLM] [I] Set multiple_profiles to False.
[12/03/2024-02:35:55] [TRT-LLM] [I] Set paged_state to True.
[12/03/2024-02:35:55] [TRT-LLM] [I] Set streamingllm to False.
[12/03/2024-02:35:55] [TRT-LLM] [I] Set use_fused_mlp to True.
[12/03/2024-02:35:55] [TRT-LLM] [W] Implicitly setting LLaMAConfig.producer = {'name': 'modelopt', 'version': '0.19.0'}
[12/03/2024-02:35:55] [TRT-LLM] [W] Implicitly setting LLaMAConfig.bias = False
[12/03/2024-02:35:55] [TRT-LLM] [W] Implicitly setting LLaMAConfig.rotary_pct = 1.0
[12/03/2024-02:35:55] [TRT-LLM] [W] Implicitly setting LLaMAConfig.rank = 0
[12/03/2024-02:35:55] [TRT-LLM] [W] Implicitly setting LLaMAConfig.decoder = llama
[12/03/2024-02:35:55] [TRT-LLM] [W] Implicitly setting LLaMAConfig.rmsnorm = True
[12/03/2024-02:35:55] [TRT-LLM] [W] Implicitly setting LLaMAConfig.lm_head_bias = False
[12/03/2024-02:35:56] [TRT-LLM] [I] Compute capability: (8, 6)
[12/03/2024-02:35:56] [TRT-LLM] [I] SM count: 82
[12/03/2024-02:35:56] [TRT-LLM] [I] SM clock: 2100 MHz
[12/03/2024-02:35:56] [TRT-LLM] [I] int4 TFLOPS: 705
[12/03/2024-02:35:56] [TRT-LLM] [I] int8 TFLOPS: 352
[12/03/2024-02:35:56] [TRT-LLM] [I] fp8 TFLOPS: 0
[12/03/2024-02:35:56] [TRT-LLM] [I] float16 TFLOPS: 176
[12/03/2024-02:35:56] [TRT-LLM] [I] bfloat16 TFLOPS: 176
[12/03/2024-02:35:56] [TRT-LLM] [I] float32 TFLOPS: 88
[12/03/2024-02:35:56] [TRT-LLM] [I] Total Memory: 24 GiB
[12/03/2024-02:35:56] [TRT-LLM] [I] Memory clock: 9751 MHz
[12/03/2024-02:35:56] [TRT-LLM] [I] Memory bus width: 384
[12/03/2024-02:35:56] [TRT-LLM] [I] Memory bandwidth: 936 GB/s
[12/03/2024-02:35:56] [TRT-LLM] [I] NVLink is active: False
[12/03/2024-02:35:56] [TRT-LLM] [I] PCIe speed: 2500 Mbps
[12/03/2024-02:35:56] [TRT-LLM] [I] PCIe link width: 16
[12/03/2024-02:35:56] [TRT-LLM] [I] PCIe bandwidth: 5 GB/s
[12/03/2024-02:35:56] [TRT-LLM] [I] Set dtype to float16.
[12/03/2024-02:35:56] [TRT-LLM] [I] Set paged_kv_cache to True.
[12/03/2024-02:35:56] [TRT-LLM] [W] Overriding paged_state to False
[12/03/2024-02:35:56] [TRT-LLM] [I] Set paged_state to False.
[12/03/2024-02:35:56] [TRT-LLM] [W] max_seq_len is scaled to 4194304 by rotary scaling 32.0
[12/03/2024-02:35:56] [TRT-LLM] [I] max_seq_len is not specified, using deduced value 4194304
[12/03/2024-02:35:56] [TRT-LLM] [W] remove_input_padding is enabled, while opt_num_tokens is not set, setting to max_batch_size*max_beam_width.

[12/03/2024-02:35:56] [TRT-LLM] [W] padding removal and fMHA are both enabled, max_input_len is not required and will be ignored
[12/03/2024-02:36:06] [TRT] [I] [MemUsageChange] Init CUDA: CPU +15, GPU +0, now: CPU 1245, GPU 263 (MiB)
[12/03/2024-02:36:09] [TRT] [I] [MemUsageChange] Init builder kernel library: CPU +2133, GPU +396, now: CPU 3533, GPU 659 (MiB)
[12/03/2024-02:36:09] [TRT-LLM] [I] Set nccl_plugin to None.
[12/03/2024-02:36:09] [TRT-LLM] [E] Failed to import graphviz, please install graphviz to enable Network.to_dot()
[12/03/2024-02:36:09] [TRT-LLM] [I] Total time of constructing network from module object 13.18428659439087 seconds
[12/03/2024-02:36:09] [TRT-LLM] [I] Total optimization profiles added: 1
[12/03/2024-02:36:09] [TRT-LLM] [I] Total time to initialize the weights in network Unnamed Network 0: 00:00:00
[12/03/2024-02:36:09] [TRT-LLM] [I] Build TensorRT engine Unnamed Network 0
[12/03/2024-02:36:09] [TRT] [W] Unused Input: position_ids
[12/03/2024-02:36:09] [TRT] [W] [RemoveDeadLayers] Input Tensor position_ids is unused or used only at compile-time, but is not being removed.
[12/03/2024-02:36:09] [TRT] [I] Global timing cache in use. Profiling results in this builder pass will be stored.
[12/03/2024-02:36:09] [TRT] [I] Compiler backend is used during engine build.
[12/03/2024-02:36:13] [TRT] [I] [GraphReduction] The approximate region cut reduction algorithm is called.
[12/03/2024-02:36:13] [TRT] [I] Detected 16 inputs and 1 output network tensors.
[12/03/2024-02:36:30] [TRT] [I] Total Host Persistent Memory: 46400 bytes
[12/03/2024-02:36:30] [TRT] [I] Total Device Persistent Memory: 0 bytes
[12/03/2024-02:36:30] [TRT] [I] Max Scratch Memory: 67141632 bytes
[12/03/2024-02:36:30] [TRT] [I] [BlockAssignment] Started assigning block shifts. This will take 256 steps to complete.
[12/03/2024-02:36:30] [TRT] [I] [BlockAssignment] Algorithm ShiftNTopDown took 19.9799ms to assign 17 blocks to 256 nodes requiring 469768704 bytes.
[12/03/2024-02:36:30] [TRT] [I] Total Activation Memory: 469768192 bytes
[12/03/2024-02:36:35] [TRT] [I] Total Weights Memory:<PHONE_NUMBER> bytes
[12/03/2024-02:36:35] [TRT] [I] Compiler backend is used during engine execution.
[12/03/2024-02:36:35] [TRT] [I] Engine generation completed in 25.5894 seconds.
[12/03/2024-02:36:35] [TRT] [I] [MemUsageStats] Peak memory usage of TRT CPU/GPU memory allocators: CPU 32 MiB, GPU 2891 MiB
[12/03/2024-02:36:37] [TRT] [I] [MemUsageStats] Peak memory usage during Engine building and serialization: CPU: 11314 MiB
[12/03/2024-02:36:37] [TRT-LLM] [I] Total time of building Unnamed Network 0: 00:00:28
[12/03/2024-02:36:37] [TRT] [I] Serialized 27 bytes of code generator cache.
[12/03/2024-02:36:37] [TRT] [I] Serialized 138954 bytes of compilation cache.
[12/03/2024-02:36:37] [TRT] [I] Serialized 9 timing cache entries
[12/03/2024-02:36:37] [TRT-LLM] [I] Timing cache serialized to model.cache
[12/03/2024-02:36:37] [TRT-LLM] [I] Build phase peak memory: 11316.69 MB, children: 25.25 MB
[12/03/2024-02:36:37] [TRT-LLM] [I] Serializing engine to /trt_engines/tllm_llama3.2_1b_inst_fp16/rank0.engine...
[12/03/2024-02:36:40] [TRT-LLM] [I] Engine serialized. Total time: 00:00:02

Could you find a file "rank0.onnx" somewhere after running the command above, it might not be in the directory of the output engine.

No I couldn't find it by below commands.

$ find . -name rank0.onnx
$ find /trt_engines -name rank0.onnx

How about  find / -name rank0.onnx? The path of the output file was hard-code in current tensorrt_llm and I'm not sure where it should be if not building from source code.

I couldn't still find it.

find / -name 'rank0.onnx' 2>/dev/null

I successfully visualized my LLMs by using trtexec and NVIDIA Nsight Deep Learning Designer. @wili-65535 Thank you for your kind support.


Pedagogical implementation of jit/grad

The internal implementation of nnx.jit and nnx.grad looks a little complex.
I would be curious what simpler, pedagocial implementations of these transforms would look like -- basically the equivalent of Autodidax. Is the NNX data model simple enough that users could figure out how to implement these sorts of things themselves?

Hey @shoyer! Sorry for the late reply. I think you already discuss some of this with Anselm but I will leave a reply.
The Lifted Transforms section on the README has some information if you are interested. The basic idea is just to use the Functional API (partition + merge /apply) to manage the state in and out of each transform, taking into account the transform's semantics.

I've updated the README to note that the Functional API is the preferred API for training, nnx.jit gives a nice UX but adds some overhead, probably only recommended for prototyping for now.


Feed viewStart/viewEnd arguments are ignored

I couldn't figure out why the feed without using fullcalendar.io was giving me events that had already happened when I was passing in the viewStart argument with today's date. It turns out that it is always being overridden by the ?start value or a generated date from a month ago.
Easy to solve by just passing in ?start instead of ?viewStart but it doesn't seem intentional

@tcdahlberg @jimhubert @GardinerMatt
Did this get resolved or still outstanding?

@rdblake21 and @GardinerMatt ,
This has been fixed wit this code:
if (String.isNotBlank(req.params.get('viewStart'))) {
    viewStart = Date.valueOf(String.escapeSingleQuotes(req.params.get('viewStart')));
}
//if fullcalendar in use start is passed. start being protected variable
if (String.isNotBlank(req.params.get('start'))) {
    viewStart = Date.valueOf(req.params.get('start'));
} else if (viewStart == null) {
    viewStart = Datetime.newInstance(Date.today(), Time.newInstance(0, 0, 0, 0)).addMonths(-1);
}

Specifically this:
} else if (viewStart == null) {

Now it checks if viewStart is null before defaulting the date for minus a month.


Sync .github/workflows directory with azure-sdk-tools for PR 7845

Sync .github/workflows directory with azure-sdk-tools for PR https://github.com/Azure/azure-sdk-tools/pull/7845  See eng/common workflow

/check-enforcer override


.NET Library

Per the README, humbly requesting a .NET Library written in C# to be added to the roadmap if possible.

Hi! I have already made one here: https://github.com/albi005/MaterialColorUtilities

Thank you @albi005 will check it out!


Does this project accepts image read from PDF?

Chat-bot that reads images and text from PDF
At the time of vector creation, how can we also generate image embeddings? The current implementation involves uploading a PDF document, parsing it into text, and embedding the text. It's unclear whether the image content is also parsed during this process. Once the PDF is parsed, the text is embedded, but in the textKey parameter, the value passed is text. Consequently, the chatbot is unable to address image-related queries.
await PineconeStore.fromDocuments(docs, embeddings, {
  pineconeIndex: index,
  namespace,
  textKey: 'text', // This parameter is currently set to 'text'
});

How can I implement a feature where, upon a user uploading a PDF file, both the PDF text and images are processed by the chat-bot?
This is what I get from GPT-agent when I ask questions related to images:
I'm sorry, but as a text-based assistant, I don't have the ability to view or interpret diagrams or images. I can only provide information based on the text provided.

Sorry I am confused with your solution can I give me another workaround?

@dosu-bot, Sorry I am confused with your solution can I give me another workaround?

@dosu-bot, What if I don't want to use CustomPDFLoader?


[BUG] Merge copy rows even when match clause is false. Potential for huge perf impact.

Bug
Describe the problem
The method findTouchedFiles in MergeIntoCommand only filter files by the condition (ON clause). Rewriting the entire table even when the match clause is false.
This is a big problem when you merge two big tables and match clause is mostly false, but ON clause matches most of the target table, like the example below.
Steps to reproduce
def showMetrics(targetDataPathParam: String) {
  val deltaTable = io.delta.tables.DeltaTable.forPath(spark, targetDataPathParam)
   val operationMetrics = deltaTable.history(1).select("operationMetrics").head.toString()
   println(s"Metrics for $targetDataPathParam: \r\n$operationMetrics\r\n")
}

spark.conf.set("spark.sql.files.maxRecordsPerFile", 1)

val rows = 1000

val data = spark.range(rows).withColumn("name", lit("John"))

val df = data.toDF("id", "name")

df.write.format("delta").save(tablePath)

val source = data.toDF("id2", "name2")

source.createOrReplaceTempView("test_data")

spark.sql("MERGE INTO delta.`" + tablePath + """` t
   USING test_data s
   ON s.id2 = t.id
   WHEN MATCHED AND NOT (s.name2 <=> t.name) THEN UPDATE SET t.name = s.name2
   WHEN NOT MATCHED THEN INSERT (id, name) VALUES (s.id2, s.name2)""")

showMetrics(tablePath)

Observed results
numTargetRowsCopied -> 1000
numOutputRows -> 1000
numTargetFilesRemoved -> 1000
numTargetFilesAdded -> 1000
Expected results
numTargetRowsCopied -> 0
numOutputRows -> 0
numTargetFilesRemoved -> 0
numTargetFilesAdded -> 0
Further details
Environment information

Delta Lake version: 2.2.0
Spark version: 3.3
Scala version: 2.12

Willingness to contribute
The Delta Lake Community encourages bug fix contributions. Would you or another member of your organization be willing to contribute a fix for this bug to the Delta Lake code base?

[ ] Yes. I can contribute a fix for this bug independently.
[X] Yes. I would be willing to contribute a fix for this bug with guidance from the Delta Lake community.
[ ] No. I cannot contribute a bug fix at this time.

I have some idea of a fix, it is probably a naive implementation. I'd like to hear from community.

We just ran into this very bug using Delta 2.2.0 / 2.4.0.
I really think that this is something that should be fixed.
Our workaround it to include the merge-condition into the update-condition again.

@johanl-db can you tell if this issue is covered by #1827?

@keen85 If your merge only contains whenMatched update/delete clauses (and no whenNotMatched or whenNotMatchedBySource clauses) then it will benefit from https://github.com/delta-io/delta/pull/1851. You will need to upgrade to Delta 3.0 or above to benefit from that change.

thanks a lot @johanl-db


Fine tune flan t5 xl and flan t5 xxl using qlora and has a problem with learning rate 0.0 and loss 0.0 ?

Fine tune flan t5 xl and flan t5 xxl using qlora and has a problem with learning rate 0.0 and loss 0.0 ? Can anyone resolve this problem ? Thanks

Even I'm facing the same issue in my case I used flan t5 base

trainable params: 884,736 || all params: 168,246,528 || trainable%: 0.5258569139685307
{'loss': 0.0, 'learning_rate': 0.0, 'epoch': 0.21}
Same issue here, any hint might be helpful

set the fp16 param to False, it solves my issue

Hi, I'm also fine tuning Flan-T5-xl. Yes, fp16=True would cause problem of loss.
Here, I have another question: What optimizer you are using? The Paged adamw or Adafactor (remaining the same as T5)? thanks!


Issue about the event data from kitti-360 dataset

It seems that there are no subcategories for the event dataset on the official web page of the kitti-360 dataset, and a query of the paper revealed that the depth and event subcategories of the kitti dataset are generated from some off-the-shelf models.
Will you publish the event and depth versions of kitti? If not, can I ask for the detailed steps of the dataset making?

Hi, thanks for your interest.
For now, we have no plan to publish the generated event and depth from KITTI-360, because we will basically focus on the DELIVER dataset that has original event and depth information.
If you have interest, I suggest to generate event by using ESIM, and depth by using AANet. We follow the defaul settings from their repositories. Please let me know if you have further question.


chore: update deps

Well node 16.3.0 is busted. Maybe we should just wait until we can set 18 as the minimum, since a bunch of deps want that now anyway.


[BUG] Schema-invalid serialized result when multiple licenses

As of cyclonedx-python-lib 4.0.0 there appears to be a serialization error when the provided (valid) Model has more than one license added.

Which is invalid as per the CycloneDX schema.
this CDX schema discrepancy was fixed via https://github.com/CycloneDX/specification/issues/204

Confirmed this impacts JSON and XML serialization.

After some [internal] discussions with CycloneDX folks, we agree that the current Pythonic Model (use of LicenseChoice) is likely a poor representation of the CDX Specification.
Definitions such as:
def licenses(self) -> "SortedSet[LicenseChoice]":

are incorrect as it allows users of the model to supply a set with more than 1 License Expression - which is invalid according to CycloneDX Spec v1.4.
Syntactically, the above definition should more accurately be written as:
def licenses(self) -> "Optional[Union[LicenseExpression, Iterable[License]]]":

FYI @jkowalleck

After further investigation, the challenge associated with serialization for licenses is also challenging because the structure/schema is different between JSON and XML under v1.4:
JSON
licenses is an Array of either expression or license - i.e. 0 or more expression or 0 or more license see here
XML
licenses is an complex type defined as either 0 or more license OR 0 or 1 expression see here

re: https://github.com/CycloneDX/cyclonedx-python-lib/issues/365#issuecomment-1493806791
this is bad news in terms of a deserialization-conflict, because we cannot control input data.
WE can control outputdata via our own serializers - so this path has no problems.
anyway, @madpah , could you open an issue/discussion in https://github.com/CycloneDX/specification/ ?

hey, @jkowalleck and @madpah any update on this? I wanted to upgrade our project to use the latest version ,but this blocking me a bit. Any insights of potential fixes or recommendation on what to do with the multiple license case?

I am looking into the proposed fixed.
trying to find a solution.

@madpah impossible to create a solution with the exising solution for serialization.
The library is just not capable to model these things.
we need custom (de)serualization here, as me had previously.
i am not certain if this can be hooked into the currently used seralization-framework at all.
please help.

bugfixing this might break things downstream.
so lets put this into next major version

with https://github.com/madpah/serializable/releases/tag/v0.13.0
i should be able solve the issue soon.

implementation details:

models must be backwards-compatible: accept a mixture of exptession and others
deserializer must be backwards-compatible: accept a mixture of exptession and others
serializer: can print just the one appropriate value ...

tests snapshots ready https://github.com/CycloneDX/cyclonedx-python-lib/issues/437
serialization lib ready  https://github.com/madpah/serializable/releases/tag/v0.14.1
test data ready https://github.com/CycloneDX/cyclonedx-python-lib/pull/454

will tackle this issue soon.

solution is implemented and will be part up upcoming major version.
regression test and schema validator in place, to assure a complete fix. :balloon:

for everybody willing to test the fix: see 5.0.0-rc.1
this is also available vie PyPI

fix available as off https://github.com/CycloneDX/cyclonedx-python-lib/releases/tag/v5.0.0


Provide example for WASI based LSP

I am trying to wire this up, but instead of just calling a main method once, I would like to wire this up using an LSP server (based on tower_lsp).
My biggest problem seems to be, how to wire up the I/O of the LSP with the client side in the addon. Is there any information on how to approach this? I wasn't able to find any, but maybe I just didn't spot it.

The wiring of the file I/O is done my mounting the VS Code workspace files as a folder into the WASM/WASI host. See https://vscode.dev/github.com/microsoft/vscode-wasm/blob/fc0267dabe782a93dc08ed8f7dd90edd4c9151eb/testbeds/python/worker.ts#L23 as an example.
Let me know if this helps.

See blog post https://code.visualstudio.com/blogs/2024/06/07/wasm-part2


Add GitHub templates for issues and PRs

Closes https://github.com/Azure/azure-cli/issues/2528

@yugangw-msft @troydai please also take a look. Is there anything you'd like to add?


Series: what would a sample test look like?

Here is a sample entry in the canonical data for the series problem.
{
  "uuid": "19bbea47-c987-4e11-a7d1-e103442adf86",
  "description": "slices of two overlap",
  "property": "slices",
  "input": {
    "series": "9142",
    "sliceLength": 2
  },
  "expected": [
    "91",
    "14",
    "42"
  ]
}

In Ruby the test looks like this:
  def test_slices_of_two_overlap
    series = Series.new("9142")
    assert_equal ["91", "14", "42"], series.slices(2)
  end

What would the test look like in Chapel?
If I have an idea what it needs to look like I can generate the exercise stub.

If I properly inferred the goal of the exercise from the instructions, one needs to create a class series and define some methods on it?
in that case, the test function body would look like
var series = new Series("9142");
test.assertEqual(["91, "14", "42"], series.slices(2));

ah no wait, one needs not create a class?
could be just
test.assertEqual(slices("9142", 2), ["91, "14", "42"]);

Yeah there's no need for a class. Classes are idiomatic in Ruby, so that's a language-specific choice.

closing since PR implementing series is merged


Create Database-Access-Class/Component

[x]  create component that accesses the database
[x] make it usable by other components and add it somewhere as an example or tell someone how to use it
[x] implement some tests for the access (add, update, delete for all records we access during the app's operation)

I added tests for the daos. Testing the viewmodels seems to be quite difficult, as they somehow do not update the data they get form the db after an insert 🤷.
So I' assume testing the daos is enough.


Demo without game logic

Any thoughts about creating a demo which doesn't enforce any game logic? I'm essentially imagining a playground-style app which provides non-programmers the tools to create custom assets (cards, tokens, background images for boards) to form a library for a game. The app then is only responsible for synchronizing gamestate, both public and private (as per #16), as well as a few generic actions (token placement/movement, stacking cards to form a deck, shuffling of deck, dice rolls, etc.). Clearly without enforcing game logic there is nothing to prevent cheating. The hope is to model playing board games in real life, where the players themselves are the enforcers of game logic.

You can certainly model all the interactions with the tokens on the board as "moves".
For example:

Move card from deck to hand.
Move card from hand to board.
etc.

None of these do anything more than just simulate movements on the board. These movements get synchronized with other clients over the network, and no game logic is enforced because you didn't code any.

Closing this issue. Feel free to re-open if this doesn't answer your question.


modifying the tests for both mysql and postgresql instances on hive m…

The test written is modified to check for both databases present MySQL and PostgreSQL. Earlier, the test used to create the cluster and instance on default settings with the arguments being passed. Now, with the new changes it creates the instances for both MySQL and PostgreSQL which has hive metastore DB.

/gcbrun

/gcbrun

I am a little confused about the tests. It runs cloud-sql-proxy init script on the same cluster with both mysql and postgres DB and set up them for the same hive metastore service? how does that work?

It was asked to run it for both the database types MySQL and PostgreSQL.
https://screenshot.googleplex.com/8b8NdGQdjsVg4Af

we want to keep the testing content the same for different metastore DBs, can we use same test script file TEST_SCRIPT_FILE_NAME, but passing different variables for different metastore DB

/gcbrun

/gcbrun


Provide a mechanism by which error pop ups can be clicked on to go to the source of the error.

Issue Type: Feature Request
When an error message pops up on the screen, it would be swell if I could click on it (or on a link in it) that leads to the source of the error. For example many messages refer to a setting that they want you to edit or read or something. But sadly, it's not clear to a new user where this is.
Please enable a feature (that also, extensions can easily employ) to allow a user to click and be transported to the relevant place with a nice highlight around the setting.
VS Code version: Code 1.38.1 (b37e54c98e1a74ba89e03073e5a3761284e3ffb0, 2019-09-11T13:35:15.005Z)
OS version: Windows_NT x64 10.0.18362

@danielmrussell

When an error message pops up on the screen

Can you share what error message popup you mean?

The kind that pop up in little rectangles on the bottom right of the screen.
On Mon, Sep 16, 2019 at 8:06 AM Benjamin Pasero<EMAIL_ADDRESS>wrote:

@danielmrussell https://github.com/danielmrussell
When an error message pops up on the screen
Can you share what error message popup you mean?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/80928?email_source=notifications&email_token=AJ52TEVMERY244ODEL7X3S3QJ6OGLA5CNFSM4IWXYLN2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6ZOQAQ#issuecomment-531818498,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJ52TEWI2EVQDATX5VUFNUTQJ6OGLANCNFSM4IWXYLNQ
.

@danielmrussell and what kind of specific error do you mean, can you maybe post a screenshot of one that you would like to click?

Specifically I was thinking that if there was some very easy way to just
mention an error in text by an id or something and automatically, have that
be linkified. Then when the error pops up, with minimal effort on the part
of extension prorgrammers, just by mentioning an error in a setting
somewhere, a hyperlink would be generated.by which the end user could
instantly click on it and be transported to the setting GUI where that is.
I've come to realize I don't know much about how Code's API and
architecture work yet (as a mere software developer doing other projects),
and it's possible this already exists in its own sufficient form. It is
still after all the responsibility of the programmers to at least mention
by name the setting they want you to fix, which in my example they failed
to do in the first instance:
"" could not be found. 'includePath' from c_cpp_properties.json will be
used instead.
That is clearly a bad error message and I submitted a separate bug for it.
It refers to the VALUE of the setting instead of the name of the setting
itself, making it impossible for me, the user to know what to do. However,
I also wanted really badly at that time to be able to click it, and
"includePath" as well, and have myself transported to the settings page
where these could be edited. The fact that this doesn't exist often leaves
me very frustrated as a new user wanting to write code instead of debugging
my workflow for weeks on end haha. You know how it would be as an indie
developer. So much to do.
In this frustration, I have come to realize, a way out would be so simple:
just make it the paradigm to orient around relevant settings. If this
became the culture of VS Code, so that all extension programmers just by
default tended to think in terms of "when there is an error, mention id of
settings that are relevant to user." If this process was so easy as to be
almost implicit, it would greatly encourage developers to use the feature,
and make Code a much better end experience.
As it stands now, it's sorta random whether an extension will bother to go
through the effort of implementing something similar on their own. I want
it to be more strongly de facto. A way of doing things that is consistent
across the board.
On Mon, Sep 16, 2019 at 9:59 PM Benjamin Pasero<EMAIL_ADDRESS>wrote:

@danielmrussell https://github.com/danielmrussell and what kind of
specific error do you mean, can you maybe post a screenshot of one that you
would like to click?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/80928?email_source=notifications&email_token=AJ52TEXNXC3QU5NI64AYPODQKBP3ZA5CNFSM4IWXYLN2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD63JEYQ#issuecomment-532058722,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJ52TEV3PDUYWYRXRCKH6DDQKBP3ZANCNFSM4IWXYLNQ
.

Ok I think I am distilling that for example when a notification toast contains a file name (possibly with line number), there could be a link generated automatically (similar how we do it in the output window) to make it clickable and open it.


plugin.warn is not a function

I am doing a simple insert query that contains different data types (if it matters) and i get the error "plugin.warn is not a function": where data is a dictionary object passed to the method.
is_active, status,user_id are integers
all the rest are strings.

var dt = new Date();

db.transaction(function(tx) {

            tx.executeSql('INSERT INTO client (auto_id,user_id,username,first_name,last_name,email,is_active,date_joined,status,birthdate,marital_status,gender,phone,identification,nationality,lang,syncedon) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)',
            [
             auto_id,0,data.username,data.firstName,data.lastName,data.email,0,dt,1,data.birthdate,data.maritalStatus,data.gender,data.phone,data.idnumber,data.nation,data.lang,null

            ]

            );
          }, function(error) {
            console.log('Transaction ERROR: ' + error.message);
            reject(false)
          }, function() {
            console.log('Populated database OK');
            resolve(true)
          });

There are few examples on data manipulation. Am I even doing the insert right?

I'm hitting this as well! Triggering an error on this line: https://github.com/andpor/react-native-sqlite-storage/blob/4.1.0/lib/sqlite.core.js#L507
by doing something like:
const listOfThings = ['foo', 'bar']

typeormConn
  .getRepository(SomeRepo)
  .createQueryBuilder('somerepo')
  .leftJoinAndSelect(
    'somerepo.otherrepo',
    'otherrepo',
  )
  // otherrepo.things is of type "simple-json"
  .where('otherrepo.things = :listOfThings', { listOfThings })
  .getMany()

full code: https://github.com/jolocom/smartwallet-app/blob/24b61f12a23de08559ac296dd7985f5e4ab75d6b/src/lib/storage/storage.ts#L173

I'm also getting this same error. Doing a simple insert similar to @sammysium. The function call used to work until I updated my project from using react-native-sqlite-storage 3.3.11 to 5.0.0.

same
problem.. I am insert data work good, but update data error .
my project update from react-native-sqlite-storage 3.3.3 to 5.0.0, RN0.62.2

thanks @mnzaki remove this line fixed for me 👍  💯 👯
plugin.warn('addStatement - parameter of type <'+t+'> converted to string using toString()')

Same issue happen at insert query

I was getting this error with Date objects, I fixed it with date.toString();


chroe: import lodash.clonedeep explicitly

In my case,

npm i
npm run dev
has Error 'miss lodash'

https://www.npmjs.com/package/lodash.clonedeep


feat(Provider): add target prop

This PR is a part of #1252. Only to unblock usage, no changelog. Will be updated with real implementation later.

Warnings

:warning:
There are no updates provided to CHANGELOG. Ensure there are no publicly visible changes introduced by this PR.

  Generated by :no_entry_sign: dangerJS

why we will introduce this prop without real implementation? I mean, if this prop is necessary for the client, for some emulation scenarios, client may just wrap our Provider component with the additional prop (target) provided. This should unblock usage, which is the goal of this PR


Use Ember.Helper if available

This PR adds a makeHelper util function to make a helper that's compatible with the current Ember version (based on the availability of Ember.Helper, Ember.HTMLBars or Ember.Handlebars).
This fixes deprecation warnings in newer versions of Ember, while maintaining compatibility with older versions.
It also updates ember-cli to the latest version 1.13.13, which fixes the CI builds.

@kellysutton can you try clearing the Travis cache? I think that should fix the builds.

Merged and incremented the version to 0.3.0. Thanks!

Thanks! Could you push a new release?

Done!


win10 , 光标错位

Lapce Version:0.2.0
The Lapce version you are using, which can be found in "About Lapce" at the top right settings icon.
System information
Windows 10 21H1
Describe the bug
鼠标图标跟实际鼠标的坐标点之间差了几十个像素 .

Duplicate of #1014


As a user i want to be recommended a random outfit

so that i don't have to think of what i want to wear today

Recommendation command done by @PhilipPhil


[BUG] Can't decorate files with multiple packages that have same path package name

When a file uses two packages that have different published names but the same package path name, the decorator errors out. An example error is Error: Failed to scan: error scanning file model/customer.go: error decorating file model/customer.go: goast.DecoratorResolver found multiple packages using name v3: github.com/chargebee/chargebee-go/v3 and github.com/gocardless/gocardless-pro-go/v3
Version of orchestrion
v0.4.1
Describe what happened:
Running orchestrion errored out when it found two packages with the same package path name.
Describe what you expected:
Orchestrion should ideally be smart enough to know what the underlying package name is. It is very common for third-party clients to version their packages with /client/v1, etc.. so these sorts of clashes are going to happen a bit without orchestrion knowing the published package name.
Steps to reproduce the issue:
create a file that uses the two packages in the workaround below and attempt to run orchestrion
Workaround
If you give the package an alias name  on import (even the one that's actually being used under the hood) it fixes the problem for orchestrion. For example,
import (
	chargebee "github.com/chargebee/chargebee-go/v3"
	gocardless "github.com/gocardless/gocardless-pro-go/v3"
)

We're working on a relatively drastic orchstrion refactor/reshape, and this already includes the necessary support for correctly resolving those import paths instead of incorrectly processing both as v3.
We are trying to get a first iteration of the "new orchestion" available in the near future...

We have now released<EMAIL_ADDRESS>which ought to address this issue, and has a new mode of operation. I'll close this issue now, but I encourage you to try it & let us know if you encounter any issues!


Add the site - Masala Desi

Backstory
I contacted the site's admin through the email regarding my account deletion by using the site's admin's email id given in the contact us section that shown in the site's bottom right side.
Data

name: Masala Desi

url: https://jollyvids.com/private.php?action=read&pmid=222273

difficulty: Hard

notes: Go to Site's Profile > then select Private Messages > then select Sent Items from the left side of the Site > then select Account Deletion from the inbox

email<EMAIL_ADDRESS>-(Site's email Id)
<EMAIL_ADDRESS>-(My email Id)

email_subject: Account Deletion

email_body: Message Body - I want to delete my account from MasalaDesi (Jollyvids.com).

My User Name on the Site:  Manup5u
My Password on the Site:  sunrisers

domains: https://jollyvids.com/

Ok. If i didn't login that site for a long time, is there any possibilities to delete my account by admins themselves? Because they already banned my account permanently. What's your opinion and assumption regarding it?

Since they didn't delete your account even after you asked them (and only banned it), I think it is unlikely that they will delete it in the future.

Their previous domain (Masaladesi.club) is banned in my country (India) by
government in last year. I was created my account in that domain. When the
government in my country banned that site in last year, now they changed
their domain to - jollyvids.com.
On Fri, 11 Aug, 2023, 5:02 pm Kefaku, @.***> wrote:

Since they didn't delete your account even after you asked them (and only
banned it), I think it is unlikely that they will delete it in the future.
—
Reply to this email directly, view it on GitHub
https://github.com/jdm-contrib/jdm/issues/1750#issuecomment-1674600546,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BB2V25S5WILZXBN4QBZJQA3XUYJ3HANCNFSM6AAAAAA3MQPCVI
.
You are receiving this because you authored the thread.Message ID:
@.***>

Sir, their previous domain (Masaladesi.club) is banned in my country
(India) by government in last year. I was created my account in that
domain. When the government in my country banned that site in last year,
now they changed their domain to - jollyvids.com.
On Sat, 12 Aug, 2023, 10:52 am SvicidalBug, @.***>
wrote:

Ok. If i didn't login that site for a long time, is there any
possibilities to delete my account by admins themselves? Because they
already banned my account permanently. What's your opinion and assumption
regarding it?
I agree with @Kefaku https://github.com/Kefaku. While there is always a
chance they could purge inactive accounts, it's highly unlikely that a
forum would do that. At this stage, I would consider this a lost cause and
avoid using the site going forward.
—
Reply to this email directly, view it on GitHub
https://github.com/jdm-contrib/jdm/issues/1750#issuecomment-1675709937,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BB2V25SY6C6DYVGRO6VCPW3XU4HKPANCNFSM6AAAAAA3MQPCVI
.
You are receiving this because you authored the thread.Message ID:
@.***>


SSO with multiple tenants

I have several tenants that are defined by different URL using the same client
Client - c1
Tenants - t1, t2, t3
so, our users can access the client using different URL
http://t1.c1.com
http://t2.c1.com
http://t3.c1.com
Everything works wonderfull except when trying to single sign out.
According to the docs, we will use the field FrontChannelLogoutUri from Client to open a IFrame to clear the cookies for that client.
If we set the FrontChannelLogoutUri for any of the domains above, the SSO works for that tenant, but not for the others
Question: How can we logout from any of the above tenants?
(single FrontChannelLogoutUri that will log out from all http://t1.c1.com, http://t2.c1.com, http://t3.c1.com and http://c1.com. (domain + subdomains)
My idea was to manually delete ALL the cookies from all subdomains, so, using FrontChannelLogoutUri as http://c1.com/logout-confirm, therefore it would clear all the cookies in that domain/subdomain
 [HttpGet("logout-confirm")]
 public async Task LogoutConfirm()
 {
    foreach (var cookie in Request.Cookies.Keys)
    {
       Response.Cookies.Delete(cookie);
    }
    HttpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme);
    HttpContext.SignOutAsync(OpenIdConnectDefaults.AuthenticationScheme);
 }

This works if we open a new tab with that URL (defined in the client table), but for some reason the IdentityServer does not open the IFrame with that URL upon executing sign out.
Any ideas?
Thanks in advance

Use the backchannel logout for that scenario.

@brockallen  Thank you for the quick response
I've added the same URL to the back-channel and now it logs the following
13:31:05.159 D      7 32766 1000  [IdentityServer4.Validation.EndSessionRequestValidator] Client front-channel logout URLs: "https://c1.eu/oneloginconnector/logout-confirm?sid=8a9c807850c2b4050f57231e0d845b69&iss=https%3A%2F%2Fc1.eu%2Foneloginidentity"
13:31:05.159 D      7 32766 1000  [IdentityServer4.Validation.EndSessionRequestValidator] Client back-channel logout URLs: "https://c1.eu/oneloginconnector/logout-confirm"
13:31:05.159 I      7 32766 1000  [IdentityServer4.Endpoints.EndSessionCallbackEndpoint] Successful signout callback.
13:31:05.159 D      7 32766 1000  [IdentityServer4.Endpoints.EndSessionCallbackEndpoint] Client front-channel iframe urls: ["https://c1.eu/oneloginconnector/logout-confirm?sid=8a9c807850c2b4050f57231e0d845b69&iss=https%3A%2F%2Fc1.eu%2Foneloginidentity"]
13:31:05.159 D      7 32766 1000  [IdentityServer4.Endpoints.EndSessionCallbackEndpoint] Client back-channel iframe urls: ["https://c1.eu/oneloginconnector/logout-confirm"]
13:31:05.617 D     11 32765 1000  [IdentityServer4.Infrastructure.BackChannelLogoutClient] Back channel logout for client id: "xx_client_id" to URI: "https://c1.eu/oneloginconnector/logout-confirm", result: 405
13:31:05.617 V     11 32765 1000  [IdentityServer4.Hosting.IdentityServerMiddleware] Invoking result: "IdentityServer4.Endpoints.Results.EndSessionCallbackResult"
Question #1 What is the purpose of the back channel? In my understanding, would be clients using PasswordCredentials flow, where you have no browser, this should be the way to trigger the log out, but I think i'm missing concepts here
Question #2  Back channel logout for client id:  (...) result: 405
Any idea why I'm getting a 405 Method Not Allowed ?

Further investigation found out that it is a POST and not a GET, will be trying some ideas and will get back asap

Following this issue I am now able to redirect to the subdomain and successfully sign out of the clients!
Thanks for an awesome product!


composer.json less restrictive with non-breaking-change versions

Thanks, I hope this works as expected. The pull request is applied to all the translations ;)


Cannot use js

$ iim use js
✖ failed to find js-ipfs versions
file:///opt/homebrew/lib/node_modules/iim/dist/src/lib/npm/index.js:40
            throw new Error(`${mod} has no versions to select from`);
                  ^

Error: ipfs has no versions to select from
    at NpmLib.rangeToVersion (file:///opt/homebrew/lib/node_modules/iim/dist/src/lib/npm/index.js:40:19)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async selectVersion (file:///opt/homebrew/lib/node_modules/iim/dist/src/lib/use/select-version.js:7:19)
    at async use (file:///opt/homebrew/lib/node_modules/iim/dist/src/lib/use/index.js:21:21)
    at async Object.run (file:///opt/homebrew/lib/node_modules/iim/dist/src/commands/use.js:37:9)
    at async file:///opt/homebrew/lib/node_modules/iim/dist/src/bin.js:14:1

Node.js v20.9.0

This is a bit of an edge case as all js-ipfs versions have been deprecated so they were being excluded from the list of versions to install from.
The tedious reason the deprecated check became necessary was that kubo took over the name of an older unused module which already had a (now deprecated) v1 published.
#36 improves the error message and also allows passing a --deprecated flag similar to iim list.


Again, WGC magnitude is 0

Again, WCG is not included in the magnitude results. This problem was reported a few days ago https://github.com/gridcoin/Gridcoin-Research/issues/306.

Also more info in #323
We need to build a Windows release ASAP.

What's the status of this in the latest version?

Seems to be settled now.


Question: How to retrieve the details of the meeting from which a call is originated?

Here's the scenario providing the context for the question.
User A (Jason Carter) creates a Teams meeting and adds user B (Admin) as a participant. As you see in the following screen shot, the meeting subject/title is "Test Meeting between Jason and Admin", and the meeting description reads "Hey, this meeting is to test sample bot. I hope you can help!".

When the meeting completes with the two participants joining the call, the sample bot (https://github.com/microsoftgraph/microsoft-graph-comms-samples/tree/master/Samples/V1.0Samples/LocalMediaSamples/PolicyRecordingBot) is supplied with the following notification payload (showing only the relevant part here for space reason) containing some information about the meeting context.
{<EMAIL_ADDRESS>"#microsoft.graph.commsNotifications",   "value": [     {<EMAIL_ADDRESS>"#microsoft.graph.commsNotification",       "changeType": "deleted",       "resourceUrl": "/communications/calls/8f1f6300-a17c-4c2b-8fdd-bec8b165fe65",       "resource": "/app/calls/8f1f6300-a17c-4c2b-8fdd-bec8b165fe65",       "resourceData": {<EMAIL_ADDRESS>"#microsoft.graph.call",         "state": "terminated",         "resultInfo": {<EMAIL_ADDRESS>"#microsoft.graph.resultInfo",           "code": 200,           "subcode": 0,           "message": "Recorder call leg has been terminated because the participant call leg has ended.. DiagCode: 0#10550"         },         "chatInfo": {<EMAIL_ADDRESS>"#microsoft.graph.chatInfo",           "threadId"<EMAIL_ADDRESS>          "messageId": "0"         },         "meetingInfo": {<EMAIL_ADDRESS>"#microsoft.graph.tokenMeetingInfo",           "token": "eyJhbGciOiJSUzI1NiIsImtpZCI6Ik4xb25SeFM4Smk0MlVfbndJOWRaYmRrZTVpayIsInR5cCI6IkpXVCIsIng1dCI6Ik4xb25SeFM4Smk0MlVfbndJOWRaYmRrZTVpayJ9.eyJhcHBJZCI6IjZlYmQzZDc5LTFkMjctNDQyMC1hZWJhLTVlN2Y0ZTZkMWU0MyIsImNvbnZlcnNhdGlvbkNvbnRyb2xsZXIiOiJodHRwczovL2FwaS5mbGlnaHRwcm94eS50ZWFtcy5taWNyb3NvZnQuY29tL2FwaS92Mi9lcC9jb252LXVzd2UtMDguY29udi5za3lwZS5jb20vY29udi9FSEtTcVV2ZVRVS1JIQ2JPR0ZBYmx3P2k9MTA3JmU9NjM3NTc3NDIwNjMyNjI0MzkyIiwiYWN0aXZpdHlJZCI6ImQxMWQ4YTU3LTFiYTgtNDg2YS05NzgxLWU1YTE5NzgwNDFiYSIsImh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vaWRlbnRpdHkvY2xhaW1zL3RlbmFudGlkIjoiMDMyMDNhMTgtMjAwMS00YTRiLThkODEtZWZhYjljMGY5NzY3IiwibmJmIjoxNjIzMDcwOTQ4LCJleHAiOjE2MjMxNTczNDgsImlzcyI6Imh0dHBzOi8vYXBpLmJvdGZyYW1ld29yay5jb20iLCJhdWQiOiJodHRwczovL2FwaS5ib3RmcmFtZXdvcmsuY29tIn0.ImSKPNeDcN18A4WMgFIJJpbY873bgpKCUhTs3c9yn5ZLkVeOsyo_pe5kFm5-GjPWNzc3uN-qGslS__NvUzK0NxgHrtSzNEu9w0W6Js_AmgszYByen8eoxN571lC5ZbNeIJVDF8yS87bIH6MczX2I5_P-aghomFYRD2LGdjTI4rS-m6sn26uj5nY3UROMZdwW9XGvxr-zhmTnc2XUbeYEtcEkkf92sCDcyQjbm1lNZAqEushHCTo5D3nqFzBxRp9qH9A9QQ5nHpROS9YY01ghbaCzgpDjFc6XVVfatwW5My2Uw9rJzexszKcv1KT6EM83ekR3A5ftNHqdeiIDpgcT1g",           "organizerInfo": {<EMAIL_ADDRESS>"#microsoft.graph.organizerInfo",             "identity": {<EMAIL_ADDRESS>"#microsoft.graph.identitySet",               "user": {<EMAIL_ADDRESS>"#microsoft.graph.identity",                 "id": "7231fff4-bd85-403a-b293-aae48ffa2717",                 "tenantId": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",                 "identityProvider": "AAD"               }             },             "region": "amer"           }         },
As you see above, the "organizerInfo" component only contains information (ID) about the person who organized/created the meeting. The "chatInfo" component contains threadId, which is also shared across all chat messages produced from the same meeting. If I base64 decode the middle part of the threadId value (M2RjN2RjMGQtZTNmMC00ZWJmLWFjNWUtM2U5YzBjODk4ZDA5), I get 3dc7dc0d-e3f0-4ebf-ac5e-3e9c0c898d09, which must be a UUID representing some resource. However, I have not been able to determine exactly what type of resource this value represents.
My goal is to be able to find/retrieve some essential information about the meeting from which this call originated, specifically, the meeting subject/title and the meeting description, at the least. So, the question is how do I achieve that? What information from the above payload (or other data available to the bot) can I use to retrieve the meeting details, and what API/SDK to use to achieve it?

@zhengni-msft @jsandoval-msft

@jong64 , it's not supported to get meeting info from a active call a bot is invited in. Instead, a bot can join a meeting. can you describe your scenario so we might be able to provide solution for you? Using policy-based recording sample seems not a right solution for you as it should NOT be used for any other purpose other than policy-based recording.

Hi @zhengni-msft
Thanks for the reply.
Basically, our requirement is that when policy-controlled users start or join any meeting, we need to capture not only the audio/video/screen sharing streams, but also enough metadata about the call/meeting so that when our application presents the collected data for policy evaluation at a later point, the reviewer should be able to re-construct the original context in which the communication was carried out. For our purpose, the meeting subject/description is important pieces of metadata.
I hope this clarifies the scenario. If not, please let me know.

@jong64 , it's not supported to get meeting info from a active call a bot is invited in. Instead, a bot can join a meeting.

@zhengni-msft, Does this mean that one way the policy-based compliance recording bot could fulfill this need is for it to turn around and (perhaps in another thread?) join the meeting once again using the tokenMeetingInfo.token to retrieve the details about the meeting? Please advice.

@jong64, we don't support retrieving meeting details so far. And the conversation which the related user is in might not be a meeting either. rejoin the meeting doesn't resolve that.

@jong64 We just published documentation of our GetMeetingDetails API which should be able to give you some more context about this meeting. botframework is working on adding these to their SDK's, but you can always call them manually with threadId that you have in the above payload. Please let me know if you have any more questions.
Docs: https://docs.microsoft.com/en-us/microsoftteams/platform/apps-in-teams-meetings/create-apps-for-teams-meetings?tabs=json#meeting-details-api
Dotnet: https://github.com/microsoft/botbuilder-dotnet/pull/5655
Overall tracking item: https://github.com/microsoft/botframework-sdk/issues/6304

@JamyDev, Thanks for the information.
I'm not sure if I follow though. When I invoke the API with the threadId like the following, I get 400 error.
<EMAIL_ADDRESS>So,  looks like you didn't mean the normal Graph API endpoints when talking about adding new capability. Also, I'm not sure how I can use threadId in a place expecting meetingId? Could you elaborate a bit more?
By the way, I was able to retrieve some of the meeting information (although not in real-time) by utilizing the call chain id made available to the bot. With it, I fetch callRecord object, from which I use joinWebUrl to further fetch corresponding onlineMeeting object, which gives me the meeting subject and the attendee list at the very least.
How does the GetMeetingDetails API different from the work around I used? Does it make more information accessible (e.g. meeting description, notes, etc.)? Or is it different in that the meeting information can be accessed in real time from inside bot while the meeting/call is in progress? The work around I used is no use while call/meeting is in progress, as the callRecord object won't be made available until sometime after the call is complete.


LEA-M8F Timepulse issue

Hi,
I have upgraded from NEO-6m module to LEA-M8F and I am facing an issue. When I start the CM4 the PHY is not working although the NIC leds are on.
After troubleshooting a bit I am seeing that if I disconnect the PPS cable or disable the PPS from the U-center the CM4 operates normally.
If I connect most of the times it loses the PHC (on dmesg says that PHC not connected).
The settings on TP5 are below:

Any help is appreciated.
Regards.

Are you using the TimeBeat module?
When you say disconnect the PPS cable what do you mean?  You don't need a PPS cable.

No it is the module from GNSS store, with the usb one.
This happened when I reset the settings on default on U-center.

How exactly do you have it wired up? I'm assuming pins 1 and 3 on M8F board are connected to GND and SYNC_OUT on the CM4 board. Do you have USB connected to the PC running U-center or are you connecting RX/TX/power to the CM4?
Is the PPS LED on the M8F board blinking when PPS cable is connected? Is it blinking when the PPS cable is not connected?
Have you tried attaching an oscilloscope to the PPS output from M8F?
I have an M8F from TimeBeat. I haven't done anything with it yet, except to check that I am getting a PPS signal and NMEA data (which I am). With the TimeBeat, the daughter board handles the connection to SYNC_OUT, but that shouldn't make any difference at the software level.
Looking at the receiver description https://content.u-blox.com/sites/default/files/products/documents/u-blox8-M8_ReceiverDescrProtSpec_UBX-13003221.pdf , the FTS range of modules (i.e. the M8F) has its own chapter (chapter 26). But that seems it uses TP5 as usual.

If you're connecting the M8F to U-center using a USB connection to a separate PC, then I would suggest instead connecting the TX/RX/power of the M8F board to the CM4 and then using ser2net to use U-center.  It sounds a bit like a grounding problem to me. If you are connecting with a mains-powered PC, you could also try connecting with a laptop instead.

Correct, 1 and 3 GND and SYNC_OUT.
The connection on CM4 is not connected via usb at all.
The PPS cable (Timepulse) is blinking with or without connect to CM4.
Now a quick test I have done.
On U-center TP5 section when I put on second tab from the beginning of the list the Length at 0 us is working correct. And this with U-center v23.08 which on default has it on 0us.
On U-center v22.07 the defaults are 100000us which make crazy the CM4.
Now what is the correct value? On Timebeat module what is the default value on this?
Regards.

There's something really weird going on with U-center:

The same also does here on my side.
To fix it disable active on both Timepulse 0 and 1 save and then enable both and save. It should be fine.
It is probably bugged this section on U-center.

Maybe the explanation is this (from 26.6 of the manual):

In current FTS products only TIMEPULSE 2 can be used for pulse generation.
Additionally, just 0.5 Hz, 1 Hz and 2 Hz time pulse output is supported by current FTS
products. Other output frequencies may be configured with UBX-CFG-TP5 but are not
guaranteed to work properly.

Ok, I think we need 1hz for timepulse (1000000us) period but for length 100ms or 100us?

If I select TIMEPULSE2 in the dropdown and then Poll, I see this:

So length locked is 100000ms (0.1s)

The same I have with U-Center v23.08 so this might be it. But on my side the poll is not working at all.
I will write on u-blox forum about this issue.
With this settings the CM4 PHY is not get "nuts" and work ok.
At least is working correct now.
Also I am seeing with this module offsets on ts2phc from -4 to 7 (with SBAS turned off) which is a very good upgrade from 6m. If you want you can  add this on working GPS modules.
Best regards and really appreciate your help.


gpu-compute,mem-ruby: Revert "Add RubyHitMiss flag for TCP and TCC cache"

Reverts gem5/gem5#1226

I am a little confused why the compilation that happens with each commit didn't catch this, but for now approving until @yuxiaojia can fix locally.

The short answer is build/ALL/gem5.opt built by the CI test doesn't build the GPU files (BUILD_GPU=False).

I am a little confused why the compilation that happens with each commit didn't catch this, but for now approving until @yuxiaojia can fix locally.

The short answer is build/ALL/gem5.opt built by the CI test doesn't build the GPU files (BUILD_GPU=False).

That's probably not good if GPU builds are not being included in CI per-checkin tests?  I'm sure there is a good reason I'm just forgetting though.

I am a little confused why the compilation that happens with each commit didn't catch this, but for now approving until @yuxiaojia can fix locally.

The short answer is build/ALL/gem5.opt built by the CI test doesn't build the GPU files (BUILD_GPU=False).

That's probably not good if GPU builds are not being included in CI per-checkin tests? I'm sure there is a good reason I'm just forgetting though.

We just can't afford to do a lot of compilations for the CI tests. We compile ALL and run tests which use ALL and safe varying different compilations for Daily or Weekly tests.

I am a little confused why the compilation that happens with each commit didn't catch this, but for now approving until @yuxiaojia can fix locally.

The short answer is build/ALL/gem5.opt built by the CI test doesn't build the GPU files (BUILD_GPU=False).

That's probably not good if GPU builds are not being included in CI per-checkin tests? I'm sure there is a good reason I'm just forgetting though.

We just can't afford to do a lot of compilations for the CI tests. We compile ALL and run tests which use ALL and save varying different compilations for Daily or Weekly tests.

I did a quick test adding BUILD_GPU=True to build_opts/ALL and it does compile.  I don't know how much more time that adds though.  Plus you cannot run anything with it anyway.  That would require building all ruby protocols too.


feat: add filter option OnlyLatestPatchVersion

Add filter option "OnlyLatestPatchVersion " to  get UI5 versions filtered by latest/highest patch version

Please fix the cognitive complexity issue

Done. Please review again


[feat] inArray and notInArray accept empty list

close https://github.com/drizzle-team/drizzle-orm/issues/1295
Make inArray and notInArray methods accept an empty list as their second parameter instead of throwing an error :

inArray returns false when called with an empty list
notInArray returns true when called with an empty list

the comment referencing the choice of implementation in the thread

@philippdormann You reviewed the same changes back in march of this year in the MR https://github.com/drizzle-team/drizzle-orm/pull/1664
If it is still ok for you could you please approve my MR to merge those changes.
Thanks a lot !

@RemiPeruto @AndriiSherman This PR would actually fix an issue in my project, could you review it please?

Thanks a lot! It looks great and is ready to merge. However, if you can resolve the conflicts, that would be helpful.
I can explain why there are conflicts and what should be done. Previously, all tests were separated by drivers, and now we have a *.common.ts file, for example, tests/pg/pg.common.ts, where all tests for pg are located and will be run in each driver automatically. There is no need to copy tests through all the files

@AndriiSherman Could you review it please it would be nice to have this feature. Like @ThomasAribart said, it will fixe some issues in my project.

@RemiPeruto Could you please format all the files that you changed so they can pass dprint checks?

I am on it.

Going to make a few releases today. This one will be included


Error using systemd inside docker

Cookbook version
version 2.1.0
Chef-client version
Chef: 12.6.0
Platform Details
Debian Jessie
Scenario:
I'm trying to start tomcat service using tomcat_service resource, but I can't since I'm running inside a docker container, and docker doesn't support systemd init system. Since I'm using Debian > 8 it automatically switch to systemd whereas old versions uses sysvinit.
I would like to force use of sysvinit, which I'm sure works on docker containers.
Steps to Reproduce:
Just run tomcat_service in a docker container
Expected Result:
Expecting to get tomcat service running without errors.
Actual Result:
  [2016-04-28T18:53:20+00:00] INFO: Running queued delayed notifications before re-raising exception

================================================================================
Error executing action `start` on resource 'tomcat_service_systemd[my_service]'
================================================================================

Mixlib::ShellOut::ShellCommandFailed
------------------------------------
execute[Load systemd unit file] (/chef/docker-cookbooks/tomcat/resources/service_systemd.rb line 83) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
---- Begin output of systemctl daemon-reload ----
STDOUT:
STDERR: Failed to get D-Bus connection: Unknown error -1
---- End output of systemctl daemon-reload ----
Ran systemctl daemon-reload returned 1

Resource Declaration:
---------------------
# In /chef/docker-cookbooks/openam/recipes/default.rb

 69: tomcat_service 'my_service' do
 70:   action :start
 71:   install_path '/opt/tomcat/my_service'
 72: end
 73:

Compiled Resource:
------------------
# Declared in /chef/docker-cookbooks/openam/recipes/default.rb:69:in `from_file'

tomcat_service_systemd("my_service") do
  action [:start]
  updated true
  updated_by_last_action true
  retries 0
  retry_delay 2
  default_guard_interpreter :default
  declared_type :tomcat_service
  cookbook_name :openam
  recipe_name "default"
  install_path "/opt/tomcat/my_service"
  env_vars [{"CATALINA_BASE"=>"/opt/tomcat/my_service"}, {"CATALINA_PID"=>"$CATALINA_BASE/bin/tomcat.pid"}]
  instance_name "my_service"
end

Platform:
---------
x86_64-linux

[2016-04-28T18:53:20+00:00] INFO: Running queued delayed notifications before re-raising exception
[2016-04-28T18:53:20+00:00] ERROR: Running exception handlers
[2016-04-28T18:53:20+00:00] ERROR: Exception handlers complete
[2016-04-28T18:53:20+00:00] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out
[2016-04-28T18:53:20+00:00] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report
[2016-04-28T18:53:20+00:00] ERROR: tomcat_service_systemd[my_service] (openam::default line 69) had an error: Mixlib::ShellOut::ShellCommandFailed: execute[Load systemd unit file] (/chef/docker-cookbooks/tomcat/resources/service_systemd.rb line 83) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
---- Begin output of systemctl daemon-reload ----
STDOUT:
STDERR: Failed to get D-Bus connection: Unknown error -1
---- End output of systemctl daemon-reload ----
Ran systemctl daemon-reload returned 1
[2016-04-28T18:53:20+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)
The command '/bin/sh -c cd /chef && chef-solo -c solo.rb -j nodes/docker-openam.json' returned a non-zero code: 1

+1

+1

+1

This is resolved with 8b4f9a5 which allows you to use specific resource names to force using the individual providers. I'll get a release with this out soon

This is resolved with 8b4f9a5 which allows you to use specific resource names to force using the individual providers. I'll get a release with this out soon

This is resolved with 8b4f9a5 which allows you to use specific resource names to force using the individual providers. I'll get a release with this out soon

This is resolved with 8b4f9a5 which allows you to use specific resource names to force using the individual providers. I'll get a release with this out soon

This is resolved with 8b4f9a5 which allows you to use specific resource names to force using the individual providers. I'll get a release with this out soon


Unleash 0.2.0 : isEnable for userId strategy does not work anymore

Describe the bug
I am trying to call method :
isEnabled(String toggleName, UnleashContext context, boolean defaultSetting)
New UnleashService does not override all the default method of Unleash class and thus the context is not propagated to the client.
Unleash interface:
default boolean isEnabled(String toggleName, UnleashContext context, boolean defaultSetting) {     return this.isEnabled(toggleName, defaultSetting);   }
This should be added to UnleashService:
    @Override     public boolean isEnabled(String toggleName, UnleashContext context, boolean defaultSetting) {         return client.isEnabled(toggleName, context, defaultSetting);     }
Expected behavior
Call unleash with userId strategy working.
Actual behavior
No response
How to Reproduce?
Reproducer:

Create a feature flag with userIds strategy in unleash and add some user
Call isEnable for this feature flag with user
  unleash.isEnabled("quarkus.unleash.test.with.userid", UnleashContext.builder().userId("test").build(), false);
Will return false

Output of uname -a or ver
No response
Output of java -version
No response
GraalVM version (if different from Java)
No response
Quarkus version or git rev
No response
Build tool (ie. output of mvnw --version or gradlew --version)
No response
Additional information
No response

Hello, we're facing the same problem here. I'm going to open a Pull Request to fix it.

@seb-noirot @dorianm thank you for your support. New version 0.3.0 which contains this fix was created.

New version 0.3.0 which contains this fix was created.


[Proposal] Let stew browse accept url to gh repo

This way, one can just copy and use the url, no need to select the ending part

Thanks for the feedback! I understand why someone would want this, but I'm going to stick to the 2 ways that users can currently use stew:

Provide the GitHub owner/repo
Provide a URL directly to a binary/script (doesn't have to be on GitHub)

I don't want to introduce a 3rd way where if you provide a GitHub repo URL specifically, then it acts like case #1. I also don't want this proposal to replace case #1 because I don't think stew should only accept URLs. I want stew to have a simple, consistent, and predictable command line usage.


Quick explanation

Hi,
just got in my hands a T-Deck and would love to help with this, but I need to understand what is the goal and process of this:
first, create a menu for accessing different apps for each thing on the T-Deck?
is this being done on Arduino-ide or in platform ?

@richonguzman If I have a chance, I'll create a menu. It's done on Arduino Environment. But I'd like to make the ESP-IDF version as well. (TBA)

Great , would love to be able to work it like VSCode to add later firmware of the LoRa parts which I already know and work with ;)

Let's see how it goes!


Enhance OpenId4VCI Service functionality

Update VCI package dependenciy to version 0.9.0 and improve concurrency handling in document issuing methods with the addition of the @MainActor attribute. Document these changes in the changelog for version 0.8.2.

Closes #130