Incorrect results for join condition against current master branch

Describe the bug
Join condition(on with between) works incorrectly.
Looks like ignored and returned cartesian product.
It used to work for latest stable release (15.0.0 from crates.io)
But I tested it against current master branch, hash 3cc607de4ce6e9e1fd537091e471858c62f58653.
To Reproduce
Steps to reproduce the behavior:
students.csv:
name,mark
Stuart,28
Amina,89
Christen,50
Salma,77
Samantha,21

grades.csv:
grade,min,max
1,0,14
2,15,35
3,36,55
4,56,79
5,80,100

MRE:
use datafusion::prelude::{CsvReadOptions, SessionContext};

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    let students_path = "../students.csv";
    let grades_path = "../grades.csv";

    // Datafusion execution
    let ctx = SessionContext::new();

    ctx.register_csv("students", students_path, CsvReadOptions::default())
        .await?;

    ctx.register_csv("grades", grades_path, CsvReadOptions::default())
        .await?;

    let data_frame = ctx.sql("SELECT s.*, g.grade FROM students s join grades g on s.mark between g.min and g.max WHERE grade > 2 ORDER BY s.mark DESC").await?;

    data_frame.show().await?;

    Ok(())
}

It will return:
+----------+------+-------+
| name     | mark | grade |
+----------+------+-------+
| Amina    | 89   | 3     |
| Amina    | 89   | 4     |
| Amina    | 89   | 5     |
| Salma    | 77   | 3     |
| Salma    | 77   | 4     |
| Salma    | 77   | 5     |
| Christen | 50   | 3     |
| Christen | 50   | 4     |
| Christen | 50   | 5     |
| Stuart   | 28   | 3     |
| Stuart   | 28   | 4     |
| Stuart   | 28   | 5     |
| Samantha | 21   | 3     |
| Samantha | 21   | 4     |
| Samantha | 21   | 5     |
+----------+------+-------+

Expected behavior
It should be the same as for datafusion = "15.0.0":
+----------+------+-------+
| name     | mark | grade |
+----------+------+-------+
| Amina    | 89   | 5     |
| Salma    | 77   | 4     |
| Christen | 50   | 3     |
+----------+------+-------+

Wow, let's make sure to add some tests so regressions like this do not stealthily go through in the future 🤔

Looks to be regression introduced by fddb3d3651041f41d66a801f10e27387e84374f7 (https://github.com/apache/arrow-datafusion/pull/4562)
On the commit prior to it (27921135e4ff4b644251db6ab42f1a25bd6523cb), I get this explain plan:
+------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| plan_type                                                  | plan                                                                                |
+------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| initial_logical_plan                                       | Sort: s.mark DESC NULLS FIRST                                                                                |
|                                                            |   Projection: s.name, s.mark, g.grade                                                                                |
|                                                            |     Filter: g.grade > Int64(2)                                                                                |
|                                                            |       Filter: s.mark BETWEEN g.min AND g.max                                                                                |
|                                                            |         CrossJoin:                                                                                |
|                                                            |           SubqueryAlias: s                                                                                |
|                                                            |             TableScan: students                                                                                |
|                                                            |           SubqueryAlias: g                                                                                |
|                                                            |             TableScan: grades                                                                                |
| logical_plan after inline_table_scan                       | SAME TEXT AS ABOVE                                                                                |
| logical_plan after type_coercion                           | SAME TEXT AS ABOVE                                                                                |
| logical_plan after simplify_expressions                    | Sort: s.mark DESC NULLS FIRST                                                                                |
|                                                            |   Projection: s.name, s.mark, g.grade                                                                                |
|                                                            |     Filter: g.grade > Int64(2)                                                                                |
|                                                            |       Filter: s.mark >= g.min AND s.mark <= g.max                                                                                |
|                                                            |         CrossJoin:                                                                                |
|                                                            |           SubqueryAlias: s                                                                                |
|                                                            |             TableScan: students                                                                                |
|                                                            |           SubqueryAlias: g                                                                                |
|                                                            |             TableScan: grades                                                                                |
...
| logical_plan after eliminate_cross_join                    | SAME TEXT AS ABOVE                                                                                |
...
| logical_plan after push_down_filter                        | Sort: s.mark DESC NULLS FIRST                                                                                |
|                                                            |   Projection: s.name, s.mark, g.grade                                                                                |
|                                                            |     Filter: s.mark >= g.min AND s.mark <= g.max                                                                                |
|                                                            |       CrossJoin:                                                                                |
|                                                            |         SubqueryAlias: s                                                                                |
|                                                            |           TableScan: students                                                                                |
|                                                            |         SubqueryAlias: g                                                                                |
|                                                            |           Filter: grades.grade > Int64(2)                                                                                |
|                                                            |             TableScan: grades, partial_filters=[grades.grade > Int64(2)]
...

And on commit fddb3d3651041f41d66a801f10e27387e84374f7 I get this plan instead:
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| plan_type                                                  | plan                                                                                |
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| initial_logical_plan                                       | Sort: s.mark DESC NULLS FIRST                                                                                |
|                                                            |   Projection: s.name, s.mark, g.grade                                                                                |
|                                                            |     Filter: g.grade > Int64(2)                                                                                |
|                                                            |       Inner Join:  Filter: s.mark BETWEEN g.min AND g.max                                                                                |
|                                                            |         SubqueryAlias: s                                                                                |
|                                                            |           TableScan: students                                                                                |
|                                                            |         SubqueryAlias: g                                                                                |
|                                                            |           TableScan: grades                                                                                |
| logical_plan after inline_table_scan                       | SAME TEXT AS ABOVE                                                                                |
| logical_plan after type_coercion                           | SAME TEXT AS ABOVE                                                                                |
| logical_plan after simplify_expressions                    | Sort: s.mark DESC NULLS FIRST                                                                                |
|                                                            |   Projection: s.name, s.mark, g.grade                                                                                |
|                                                            |     Filter: g.grade > Int64(2)                                                                                |
|                                                            |       Inner Join:  Filter: s.mark >= g.min AND s.mark <= g.max AS s.mark BETWEEN g.min AND g.max                                                           |
|                                                            |         SubqueryAlias: s                                                                                |
|                                                            |           TableScan: students                                                                                |
|                                                            |         SubqueryAlias: g                                                                                |
|                                                            |           TableScan: grades                                                                                |
...
| logical_plan after eliminate_cross_join                    | Sort: s.mark DESC NULLS FIRST                                                                                |
|                                                            |   Projection: s.name, s.mark, g.grade                                                                                |
|                                                            |     Filter: g.grade > Int64(2)                                                                                |
|                                                            |       CrossJoin:                                                                                |
|                                                            |         SubqueryAlias: s                                                                                |
|                                                            |           TableScan: students                                                                                |
|                                                            |         SubqueryAlias: g                                                                                |
|                                                            |           TableScan: grades                                                                                |
...
| logical_plan after push_down_filter                        | Sort: s.mark DESC NULLS FIRST                                                                                |
|                                                            |   Projection: s.name, s.mark, g.grade                                                                                |
|                                                            |     CrossJoin:                                                                                |
|                                                            |       SubqueryAlias: s                                                                                |
|                                                            |         TableScan: students                                                                                |
|                                                            |       SubqueryAlias: g                                                                                |
|                                                            |         Filter: grades.grade > Int64(2)                                                                                |
|                                                            |           TableScan: grades, partial_filters=[grades.grade > Int64(2)]

The actual regression seems to be caused by the SQL planner generating the initial logical plan with an Inner Join instead of a Cross Join, and this propagates down to cause the bug.
However it seems to highlight the actual flaw which is in eliminate_cross_join optimizer rule which converts the plan from:
Sort: s.mark DESC NULLS FIRST
  Projection: s.name, s.mark, g.grade
    Filter: g.grade > Int64(2)
      Inner Join:  Filter: s.mark >= g.min AND s.mark <= g.max AS s.mark BETWEEN g.min AND g.max
        SubqueryAlias: s
          TableScan: students
        SubqueryAlias: g
          TableScan: grades

to
Sort: s.mark DESC NULLS FIRST
  Projection: s.name, s.mark, g.grade
    Filter: g.grade > Int64(2)
      CrossJoin:
        SubqueryAlias: s
          TableScan: students
        SubqueryAlias: g
          TableScan: grades

Where it completely discards the Filter on the Inner Join when converting it to a Cross Join, causing the buggy behaviour

It seems the EliminateCrossJoin rule only consider the equijoin predicates when finding an appropriate right input of join. We can extend equijoin to all join predicate(equijoin and non-equi join), this issue will be fixed I think.
I will submit a pr later if others do not do so.

cc @liukun4515

Definitely let's get some test coverage for this case.

IMO it would be a idea to fix this before releasing, this seems like a regression on a fundamental functionality. Happy to help with review and whatnot.

IMO it would be a good idea to fix this before releasing,

I agree -- I have mentioned it on the mailing list vote thread.  @ygf11  can you work on a PR for this issue soon?

I agree -- I have mentioned it on the mailing list vote thread. @ygf11 can you work on a PR for this issue soon?

Of course @alamb , I will submit a pr today or tomorrow.

eliminate_cross_join

Yes, we can just fix this bug in the eliminate_cross_join rule.
cc @alamb

I debug it, it is because find join_key just consider equal instead of consider non-equal

I agree -- I have mentioned it on the mailing list vote thread. @ygf11 can you work on a PR for this issue soon?

Of course @alamb , I will submit a pr today or tomorrow.

@ygf11 waiting for your PR

I meet a strange problem when I do the pr #4866.
After I fix the test, the tcph-q11 will panic when run sqllogictests(the plan of q11 is modified), the direct panic message:
thread 'tokio-runtime-worker' panicked at 'partition not used yet', datafusion/core/src/physical_plan/repartition.rs:405:14 ... at tests/sqllogictests/test_files/tpch.slt:456.
I have no idea about it now, need to investigate more.
More info: https://github.com/apache/arrow-datafusion/actions/runs/3884323174/jobs/6626733651
To not block the release, I think maybe we can skip EliminateCrossJoin rule when it meet any inner-join input who has non-empty filter(this is consistent with datafusion 15).
With the patch, the sql of this issue will get the correct result.
For the feature of #4866, some query in datafusion 15 will get wrong result, and if we skip EliminateCrossJoin, datafusion 16(release soon) will get correct result, although the plan is not better optimized.
cc @alamb @liukun4515 @jackwener

I create #4869 to show the patch.

This problem remind me the importance of https://github.com/apache/arrow-datafusion/issues/4615.
I will try to work on #4685 to fix it.

Should this issue be closed now that https://github.com/apache/arrow-datafusion/pull/4869 is merged?

Should this issue be closed now that https://github.com/apache/arrow-datafusion/pull/4869 is merged?

yes I think we should use this ticket to track the incorrect result. I will file another ticket to track the improvement proposed in https://github.com/apache/arrow-datafusion/pull/4866

Filed https://github.com/apache/arrow-datafusion/issues/4877 to track the work to properly support this case. Thank you all for your work to fix this issue


Replace iRime with Hamster [skip ci]

Pull request
Issue tracker
Fixes will automatically close the related issue
Fixes #
Feature
iRime stopped updating source code long time ago, so the version on App Store is proprietary.
Instead, Hamster is real open source and becoming popular.
Unit test

[ ] Done

Manual test

[ ] Done

Code Review

Unit and manual test pass
GitHub Action CI pass
At least one contributor reviews and votes
Can be merged clean without conflicts
PR will be merged by rebase upstream base

Additional Info

列入的时候还是开源的，而且佛振批了https://github.com/rime/librime/pull/119 ，所以名称问题应该不大
但是这个真的非常误导用户，我最初以为是开源的而且GitHub上也确实摆了个repo，跟请不要吸开源的血讲的情形如出一辙

它不繼續開源的話就失去了版權許可，可以向Apple投訴他侵權，讓他下架


💡[Feature]: Indian Currency Detection using DL

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
Creating an Indian currency detection system using deep learning involves several steps, including data collection, preprocessing, model selection, training, and evaluation. Below is a detailed overview of how to build such a system
Use Case
The goal is to build a deep learning model that can accurately identify and classify Indian currency notes.
Benefits
No response
Add ScreenShots
No response
Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

dont work with anything related to currency, github will ban you


Adds event listener to avoid sleep statements

I tested this PR wit Joel's approach in my laptop. It worked like a charm. 👍

It looks great! I squashed my 2 commits into one and added Joel's commit + added the following changes:
a) for tests cases with determined count:
Before:
case <-time.After(time.Duration(interval.Nanoseconds()*int64(count)+interval.Nanoseconds()) + 1*time.Second):
}

After:
  case <-time.After(time.Duration(int64(count)*interval.Nanoseconds()) + 1*time.Second):
}

Why:  e.g. for count=1, the task should be ended after 1*interval, so adding the second interval is confusing  - even it does not impact on the calculated "duration" much, I would like to remove it to keep this test more readable.
b) for tests cases with determined start and stop:
Before:
case <-time.After(stop.Add(1 * time.Second).Sub(start)):

After:
case <-time.After(stop.Add(interval + 1 * time.Second).Sub(start)):

Why: basically, the task should be ended in stop_timestamp, but because the status is updated in Wait(), it might happen in the timeline in a point between <stop_timestamp; stop_timestamp+interval>. Even it does not impact on the calculated "duration" much, I would like to keep this interval there. So, if someone will change the value of interval in tests to e.g. 2s, this test cases will still work as expected
c) I added this TaskEnded event listener cross all test-cases in scheduler_medium_test.go and distibuted_workflow_test.go where it's applicable
So, this PR to intelsdi-x/snap/master is updated - please put your comment there if you have any concerns.
Once again Thank You @jcooklin for your help.


Update vcpkg-tool to 2022-08-24

https://github.com/microsoft/vcpkg-tool/releases/tag/2022-08-24

Added.


Account summary redesign

preview:

also in this PR:

representative name from mynanoninja is now displayed in account details if no custom label is set
fixed "+1 raw" being squeezed into "+1...1 raw"
fixed raw amount not being shown when hovering mouse over incoming transaction amounts
minor style improvements for the offline signing modal
removed unused modal/code for changing representative from the account details page

Lookin' good!
Should we apply a border-radius: 10px; to .uk-modal-dialog ?
The .uk-card has this as well.

Lookin' good!

thanks!

Should we apply a border-radius: 10px; to .uk-modal-dialog ?

actually yeah. those corners are too sharp

Design looks good to me. One minor issue is the incoming balance is not updated when you send a new transaction. Must update the page manually or using the refresh button. It's the same in the old one so not sure if it's worth fixing.
Does the QR modal work ok on mobile? Not sure how to test it locally.


chore: release  operator 0.1.1

:package: Staging a new release
0.1.1 (2023-03-20)
Bug Fixes

mp-spdz/operator-chart: empty commit to trigger publication of artifacts (#30) (f9beb81)
mp-spdz/operator-chart: trigger workflows (#37) (1a754c3)
mp-spdz/operator-chart: trigger workflows (#41) (bf8b9b0)
mp-spdz: trigger workflow (5ab6139)
operator-chart: remove legacy chart folder incl. migration of changelog updates (cf5b0f6)
operator-chart: rename chart to make publication workflow work (#47) (b529207)
operator: enable processing of historical / missed etcd-backed roster updates (#49) (cf5b0f6), closes #15
operator: get rid of unsupported trace logging level (cf5b0f6)
operator: use numeric user and group ID in operator dockerfile (cf5b0f6)
operator: use retries to address race condition on etcd roster updates (cf5b0f6)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/carbynestack/klyshko/releases/tag/operator-v0.1.1 :sunflower:


Add a timestamp to restore

Partially fixes #4043

@gmart7t2 I think this should fix #4043. Let me know if I'm missing something.
We now import both descriptors in one RPC call, so timeouts shouldn't brick the wallet. We had to use the manual call to importdescriptors since the bitcoincore_rpc crate doesn't support setting multiple descriptors at once for some reason. @casey has a PR open there to fix that though.

@raphjaph it used to be that if there was a timeout while rescanning, the seed phrase wouldn't be displayed (I'm think more about "wallet create" I guess). Is that still the case?

#4095


Dependency in the lwIP iot_secure_sockets.c file to the Wi-Fi library

There is a dependency in the lwIP iot_secure_sockets.c file to the Wi-Fi library. According to the qualification guide, it looks like the Wi-Fi library is not a requirement, as long as the device can connect to the AWS Cloud across a secure ethernet connection.

Is this call to WIFI_GetHostIP intended?

Hello @vvelciu,
Thank you for reporting this issue, I have begun investigating.

Hi @vvelciu, thank you for bringing this to our attention.  I have merged a fix (see PR #2359) for it.  Please let us know if there is anything else we can help with on this issue.  Thanks again!


iosevka: 14.0.1 → 15.2.0

Description of changes

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

This builds and runs fine for me (using a privateBuildPlan). I guess it should be updated since Iosevka is now up to 15.3.1 (be5invis/Iosevka@fa8166b05776288eb57613dbce54ef256c4c5034) and there are merge conflicts in node-packages.nix.


Better entity documentation

While there exists an FGD for RotgB entities, there should also be documentation pages explaining them. A wiki could work.

I've just realized that this is a duplicate of https://github.com/Piengineer12/public-addons/issues/23.


Fix crash when allocation exceeds uint max range

Fix #46842
When Godot resize an array, it calculates the memory allocation needed by calling next_power_of_2, but when the value is greater than INT_MAX, the value returned by next_power_of_2 is 0 because the value exceeds the maximum of unsigned int (by 1).
This lead to crash in the loop as the pointer on get_size() is nullptr
for (int i = *_get_size(); i < p_size; i++) {
This fix check after the allocation if the value is 0 while p_size is not 0 (the check could be added in _get_alloc_size_checked but that prevent to have a custom message)

@akien-mga Even if it's not the good fix for #46842, is it not useful to add this check to ensure that the allocation is done correctly?

The linked issue seems fixed in 4.0, so at least the error message for this check wouldn't be correct.


Optional propagation

Codecov Report

Merging #847 (c9d5d42) into master (24f84d0) will decrease coverage by 0.18%.
The diff coverage is 48.00%.

@@            Coverage Diff             @@
##           master     #847      +/-   ##
==========================================
- Coverage   73.76%   73.57%   -0.19%
==========================================
  Files         132      132
  Lines       12440    12490      +50
==========================================
+ Hits         9176     9190      +14
- Misses       3264     3300      +36

Impacted Files
Coverage Δ

assemblyline/odm/base.py
79.59% <48.00%> (-2.16%)
:arrow_down:

assemblyline/datasource/alert.py
88.46% <0.00%> (-3.85%)
:arrow_down:

assemblyline/common/heuristics.py
84.78% <0.00%> (-2.18%)
:arrow_down:

assemblyline/odm/randomizer.py
93.10% <0.00%> (-2.16%)
:arrow_down:

assemblyline/filestore/transport/local.py
90.32% <0.00%> (-1.62%)
:arrow_down:

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


Add reading from uns colors for sc.pl.violin

Currently, sc.pl.violin does not support support reading colors from adata['uns'], this PR fixes it.
Prior to this PR, the below "works":
sc.pl.violin(adata, keys=['initial_size'], stripplot=True, groupby='initial_size')

i.e. takes about ~30 seconds to plot, because groupby is not categorical (there's no check), now
it raises AttributeError: Can only use .cat accessor with a 'category' dtype because of the color addition.

Thank you! I’d prefer a nicer, more explicit error that describes the problem. You could use if not is_categorical_dtype(...): raise ValueError(f'The column `adata.obs[groupby]` needs to be categorical, but the {groupby!r} column is of dtype {...}')

Does it work to do is_categorical_dtype(a_series) or do you have to do is_categorical_dtype(a_series.dtype)?

Thanks!


iOS unable to play m3u8 file format

In Android all files are being played without any issue, but iOS is not able to play m3u8 file format.
You can check the below link for debug:
https://4ykn7mxvnwqg-hls-push.5centscdn.com/mp4/raw/Just A Minute2/Just a min_2_FINAL_2_combined.smil/playlist.m3u8
Since m3u8 files are basically playlist for different quality format, It would be great addition in package to allow select video quality for m3u8 files.

In Android all files are being played without any issue, but iOS is not able to play m3u8 file format.
You can check the below link for debug:
https://4ykn7mxvnwqg-hls-push.5centscdn.com/mp4/raw/Just A Minute2/Just a min_2_FINAL_2_combined.smil/playlist.m3u8
Since m3u8 files are basically playlist for different quality format, It would be great addition in package to allow select video quality for m3u8 files.

Can you please share the logs you get after running m3u8 file format in iOS?

In Android all files are being played without any issue, but iOS is not able to play m3u8 file format.
You can check the below link for debug:
https://4ykn7mxvnwqg-hls-push.5centscdn.com/mp4/raw/Just A Minute2/Just a min_2_FINAL_2_combined.smil/playlist.m3u8
Since m3u8 files are basically playlist for different quality format, It would be great addition in package to allow select video quality for m3u8 files.

@vipinnegi90
The player can able to play the m3u8 file format. I have tried several URLs (e.g: https://bitdash-a.akamaihd.net/content/sintel/hls/playlist.m3u8).
I guess there is something specific issue to this attached URL. I'll look into it and let you know.

Can you please share the logs you get after running m3u8 file format in iOS?

the error :
flutter: CacheManager: Failed to download file from  with error:
Invalid argument(s): No host specified in URI

Can you please share the logs you get after running m3u8 file format in iOS?

the error :
flutter: CacheManager: Failed to download file from  with error:
Invalid argument(s): No host specified in URI

Strange!
Can you please try https://bitdash-a.akamaihd.net/content/sintel/hls/playlist.m3u8. and share logs.

Strange!
Can you please try https://bitdash-a.akamaihd.net/content/sintel/hls/playlist.m3u8. and share logs.
URL you provided is playing in both Android and iOS flawlessly. Not sure why my URL is not being played only in iOS :(

Closing this issue as not reproducible.

Same issues happening in ios 17.
in ios 14 its working fine.


Deterministic output

I'm trying to use rage in a reproducible way, but the output varies between runs  for the same key and plaintext.
The key I tried with is an ssh-ed25519 public key and I'm using --armor.
The use case is building system configurations with NixOS that contain encrypted secrets, decrypted on demand by the target system. It works, but since the rage output is non deterministic, secrets are seen as changed by Nix on every build causing unnecessary churn.
I was wondering if there's a way rage could be deterministic. Maybe take a RNG seed as CLI argument?
I tried patching out the randomness of the nonce and just using zeros but the output still varies.
Is this doable? Would there be security implications besides being able to tell 2 messages have the same content?
The alternative for me would be to generate the cipher text outside of Nix, and storing that in a way Nix can import. That way Nix would always see the same cipher text and the build would be reproducible.
But I'd prefer not having a separate step required to build/deploy system configs.
Thanks for the great tool!

Deterministic ciphertexts are out-of-scope for this tool, as they are non-compliant with the age specification:

The binary payload [...] begins with a 16-byte nonce generated by the sender from a CSPRNG. A new nonce MUST be generated for each file.
[...]
The payload MUST NOT be modified without re-encrypting it as a new file with a fresh nonce.

Individual recipient stanzas also introduce non-determinism, which helps to mitigate certain attacks. The age specification similarly has a MUST requirement on using randomness for the x25519 and scrypt recipient stanzas.
Introducing a way to fix the sampled randomness (thus causing the key and nonce to be fixed) would introduce a significant security vulnerability, because (key, nonce) reuse in ChaCha20Poly1305 causes catastrophic loss of privacy. If a user unwittingly used the same fixed randomness for two or more different files, they'd lose privacy for all of them. This is a footgun I am completely unwilling to include in rage.

The above being said, once you have an encrypted age file, you can reuse it as long as the encrypted message isn't being changed (at which point per above it needs to be re-encrypted). So it may be possible to write some wrapping Nix logic (maybe, I've never used NixOS) that checks whether the current secret matches the encrypted secret, and re-uses the existing encrypted file if so (thus treating it as not changed).


Exodus adapter contains hacks from Phantom adapter

I noticed when doing some reviews of wallet adapters that the Exodus wallet adapter has some wonky code that was copied from the Phantom adapter:
https://github.com/solana-labs/wallet-adapter/blob/112c54463a3d069e5b756dacf78e20a0711939ae/packages/wallets/exodus/src/adapter.ts#L112-L129
Here's the Phantom code it was copied from:
https://github.com/solana-labs/wallet-adapter/blob/112c54463a3d069e5b756dacf78e20a0711939ae/packages/wallets/phantom/src/adapter.ts#L115-L133
The reason this code is wonky is that Phantom doesn't correctly reject the pending Promise that's created by wallet.connect() when the user closes the Phantom extension window.
Hopefully, Exodus doesn't have this problem. This can be simplified to something like this:
https://github.com/solana-labs/wallet-adapter/blob/112c54463a3d069e5b756dacf78e20a0711939ae/packages/wallets/tokenpocket/src/adapter.ts#L102-L106

@jordansexton Will address.


Verifying defender contracts

Hello, I just deployed multisafe contract from defender on BSC testnet, but I want it to be verified how can that be done?

Hi Luke, what network did you deploy it too? If it's one of the officially supported networks you can just go to app.gnosis-safe.io and try to import it there. If it works, it means it was created by the official proxy factory.

@mverzilli I deloyed it to BSC testnet.
How will importing in app.gnosis-safe.io will verify the contract?
I needed verification for the security audit

Hey, sorry, I misread your question. Unfortunately, at the moment there's no automated way to do that from Defender but I'll get back to you with some instructions and/or code to get it done. Would that work for you?

Cool, I would greatly appreciate that

Hey @LukeSamkharadze, I'll reply in the forum which is the right place for this conversation.


Code for HPN-MAPPO

Would u please provide the code for HPN-MAPPO? I want to try it to solve problems in wireless communications.
Thanks and regards.

Hello, we modified HPN-MAPPO based on the official code base (here: https://github.com/marlbenchmark/on-policy), which is very different from pymarl. During the experiment, we found that MAPPO was a bit difficult to adjust parameters and the performance was not very stable, so we did not merge it here.
Later I will include MAPPO and HPN-MAPPO implemented based on pymarl. If you are interested, you can also modify it based on pymarl3~


ListItemAttachments : FIX: Cannot download items when it has a ilegal character

Q
A

Bug fix?
[x]

New feature?
[ ]

New sample?
[ ]

Related issues?
fixes #X, partially #Y, mentioned in #Z

What's in this Pull Request?
Encode URI to fix the issue of file download when it has URL reserved characters such as "#"
Reported Issue #1484

@6gal6ler6 , Thank  you very much for the fix !


Validation report bug: only FreeBayes results are reported

Hi bcbio-developers!
Thanks for the great pipeline.
When I'm running WES validation as described here
https://bcbio-nextgen.readthedocs.io/en/latest/contents/testing.html#exome-with-validation-against-reference-materials
I see validation results in work/validate/NA12878-1
for ensemble, freebayes, gatk-haplotype, and samtools.
however work/validate/grading-summary-NA12878-1.csv contains only freebayes results,
and final/project and final/sample contains freebayes only as well.
All the variant calls in vcf and gemini.db files are present, it seems to be the validation report bug.
Could you please fix this?
Thanks,
SN

Sergey;
Sorry about the issue, this was a problem with combining the validations in the output report and we put in a fix a couple of days ago:
https://github.com/chapmanb/bcbio-nextgen/commit/0a656c30f76b65be5af9acb168e2adea5322ca32
So upgrading the latest development (bcbio_nextgen.py upgrade -u development) and re-running in place (no need to delete anything) should fix the summary reports. You might want to wait a few hours to update as we're waiting to build a new package for goleft coverage calculation, but after that is in place there aren't any outstanding issues we know of in development. Hope this helps.

Thanks Brad.


Extend spo listitem with listUrl (part 1)

Closes #3813

Splendid @MathijsVerbeeck
We'll review it ASAP!

@pnp/cli-for-microsoft-365-maintainers anyone up for a second opinion?

Hi @Adam-it
Thanks for the feedback. I agree that it could be programmed better, however these options are deprecated and already removed from the v6 branch, so I didn't write it like that as I thought that it would be harder to change it when moving this to the v6 branch.
I will resolve the remark tomorrow 😄

Hi @Adam-it Thanks for the feedback. I agree that it could be programmed better, however these options are deprecated and already removed from the v6 branch, so I didn't write it like that as I thought that it would be harder to change it when moving this to the v6 branch.
I will resolve the remark tomorrow 😄

TBH I noticed those were deprecated but I just couldn't stop myself from refactoring it 😅.
Ok what you wrote is also valid so let's leave it how it is now and wait for second review before I push this one👍

ready to merge 🚀

merged manually.
thank you for your awesome work 🤩


 The folder I am trying to download is about 50GBs and I have more than enough space for it on my local disk.

@DataGreed Can you download other big file (~50GB) with wget?
Yadisk use wget for downloading file.


Need ability to specify purecloud region

I propose that a new variable be added to the config.js, that allows you to configure the PureCloud region. As it stands, this code ONLY works for us-east-1 (mypurecloud.com).  Add a new variable, and set it in vonage-server-app.js, just before the loginClientCredentialsGrant (line 122):
client.setEnvironment(config.genesysCloud.region);

Multiple Genesys Cloud regions should already be supported.  The region is supposed to be passed in as a URL query parameter setup in the Interaction Widget definition like this:
https://localhost/?conversationid={pcConversationId}&language={pcLangTag}&environment={pcEnvironment}
In genesys-cloud.js the initializeClientApp() method is called which pulls the environment and uses it to initialize the Genesys Cloud API against the proper region for API requests.

But... it doesn't.  This is BEFORE any URLs are passed in, in the main
startup JS code.  Without telling it what region, it always goes to
the default (us-1). So, it is necessary to tell it specifically where you
are trying to get to.
There are also several places with IDs (Queue id, APIKey) that are
hard-coded, so we should be looking at those too.
On Wed, Feb 17, 2021 at 8:46 AM Jim Crespino<EMAIL_ADDRESS>wrote:

Multiple Genesys Cloud regions should already be supported. The region is
supposed to be passed in as a URL query parameter setup in the Interaction
Widget definition like this:
https://localhost/?conversationid={pcConversationId}&language={pcLangTag}&environment={pcEnvironment}
In genesys-cloud.js the initializeClientApp() method is called which pulls
the environment and uses it to initialize the Genesys Cloud API against the
proper region for API requests.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/GenesysCloudBlueprints/vonage-video-blueprint/issues/9#issuecomment-780690871,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEUMAEVK5WU2CPLIT47GBETS7PXFFANCNFSM4XVVANCQ
.

Ah, so the server component that sits between Genesys and Vonage doesn't have a way to specify the region, I see that now.  Let me get with the team and have them look at your suggestion to update the code.
Thanks

@mberkeland Thanks for the proposal, config.js should now allow regions to be set, and also allow setting the queue id used in sending email invitations.

Fantastic, thanks.
One other, though..
in genesys-cloud.js, around line 290, looks like the clientId is still hard
coded:
function initializeApp(){
client.loginImplicitGrant(
'5f3e661d-61be-4a13-b536-3f54f24e26c9',
redirectUri, // From the global variable set by template in index.ejs
{ state: currentConversationId })
On Wed, Feb 17, 2021 at 7:57 PM Anthony Prince Merluza <
<EMAIL_ADDRESS>wrote:

@mberkeland https://github.com/mberkeland Thanks for the proposal,
config.js should now allow regions to be set, and also allow setting the
queue id used in sending email invitations.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/GenesysCloudBlueprints/vonage-video-blueprint/issues/9#issuecomment-781031205,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEUMAEX5B3AA3M7KMXHJPATS7SFZBANCNFSM4XVVANCQ
.

Might as well add this in.. in the Blueprint instructions (
https://developer.mypurecloud.com/blueprints/vonage-video-blueprint/ ), the
step for adding the interaction is wrong.  It should be DOUBLE brackets
{{pcEnvirnoment}}, not single brackets on those:
[image: image.png]
Thanks.  If this is the wrong way to let you know these sorts of things,
please let me know!
On Thu, Feb 18, 2021 at 9:41 AM Mark Berkeland<EMAIL_ADDRESS>wrote:

Fantastic, thanks.
One other, though..
in genesys-cloud.js, around line 290, looks like the clientId is still
hard coded:
function initializeApp(){
client.loginImplicitGrant(
'5f3e661d-61be-4a13-b536-3f54f24e26c9',
redirectUri, // From the global variable set by template in index.ejs
{ state: currentConversationId })
On Wed, Feb 17, 2021 at 7:57 PM Anthony Prince Merluza <
<EMAIL_ADDRESS>wrote:

@mberkeland https://github.com/mberkeland Thanks for the proposal,
config.js should now allow regions to be set, and also allow setting the
queue id used in sending email invitations.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/GenesysCloudBlueprints/vonage-video-blueprint/issues/9#issuecomment-781031205,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEUMAEX5B3AA3M7KMXHJPATS7SFZBANCNFSM4XVVANCQ
.

Might as well add this in.. in the Blueprint instructions ( https://developer.mypurecloud.com/blueprints/vonage-video-blueprint/ ), the step for adding the interaction is wrong. It should be DOUBLE brackets {{pcEnvirnoment}}, not single brackets on those: [image: image.png] Thanks. If this is the wrong way to let you know these sorts of things, please let me know!
…
On Thu, Feb 18, 2021 at 9:41 AM Mark Berkeland @.> wrote: Fantastic, thanks. One other, though.. in genesys-cloud.js, around line 290, looks like the clientId is still hard coded: function initializeApp(){ client.loginImplicitGrant( '5f3e661d-61be-4a13-b536-3f54f24e26c9', redirectUri, // From the global variable set by template in index.ejs { state: currentConversationId }) On Wed, Feb 17, 2021 at 7:57 PM Anthony Prince Merluza < @.> wrote: > @mberkeland https://github.com/mberkeland Thanks for the proposal, > config.js should now allow regions to be set, and also allow setting the > queue id used in sending email invitations. > > — > You are receiving this because you were mentioned. > Reply to this email directly, view it on GitHub > <#9 (comment)>, > or unsubscribe > https://github.com/notifications/unsubscribe-auth/AEUMAEX5B3AA3M7KMXHJPATS7SFZBANCNFSM4XVVANCQ > . >

@mberkeland This is something we're working on with the developer center team. Apparently it's a side effect of the templating engine and we're identifying the proper way to escape or to display double brackets in the document itself.

Closing this for now to collaborate closely through email communications.


Locking up in UI thread

Hi, thanks for the library, it works perfectly. I run into a little issue though. When adding a clearancehandler to a HttpClient and calling await client.SendAsync(msg).ConfigureAwait(false); from a UI thread it will create a dead lock because internally the clearancehandler doesn't add .ConfigureAwait(false) to its calls:
https://github.com/elcattivo/CloudFlareUtilities/blob/d10319438515f8b3f08962c1d8f4e2a9bf603f16/CloudFlareUtilities/ClearanceHandler.cs#L83
https://github.com/elcattivo/CloudFlareUtilities/blob/d10319438515f8b3f08962c1d8f4e2a9bf603f16/CloudFlareUtilities/ClearanceHandler.cs#L93
https://github.com/elcattivo/CloudFlareUtilities/blob/d10319438515f8b3f08962c1d8f4e2a9bf603f16/CloudFlareUtilities/ClearanceHandler.cs#L166
https://github.com/elcattivo/CloudFlareUtilities/blob/d10319438515f8b3f08962c1d8f4e2a9bf603f16/CloudFlareUtilities/ClearanceHandler.cs#L174
Any chance the .ConfigureAwait could be added to these calls?

Can you update the nuget ?

Works with the latest version, thanks for the quick fix!


Sort by a nested property?

Is it possible to sort by a nested property?
I want to sort a list of books by the author's name (not by the id)
The field in the listView is defined as "author.name" but the _sortField in the sort request is still "author" and not "author.name"

Not in ng-admin, but using a request interceptor you can probably do it easily.

Thx for the answer. Is there a generic way to get the "original" field configuration or is it more hardcoded there?

Sorry, I misread your question. This is a bug indeed.


A bug on secured sites: please upgrade dependency zip.js to version 2.7.0 or higher

General
The recent versions of cesium contain an indirect bug because of using a dependency with a bug.
This can be fixed by using a more up-to-date version of that dependency.
The nature of the bug:
The dependency (@zip.js/zip.js) in older (before 2.6.70) versions comes with a "tests' folder.
The tests folder contains an encrypted archive (tests/data/lorem-encrypted.zip)
A secured site that I am working with does not allow direct access to the internet.
The secured site allows importing from npm, and from other open code sources.
But the secured site does not allow any encrypted archives within the imported packages, because such archives cannot be scanned.
The result is that the secured site does not allow importation of cesium from npm.
The requested fix
In later versions (about ~ 2.6.70) the "tests" folder was removed from the installation of zip.js.
Which also removed the problematic archive file.
So the solution is to use more up-to-date versions of @zip.js/zip.js
File https://github.com/CesiumGS/cesium/blob/main/packages/engine/package.json contains the line.
"dependencies": {
...
<EMAIL_ADDRESS>"2.4.x",
This should be changed to
"dependencies": {
...
<EMAIL_ADDRESS>"2.7.x",
That is @zip.js/zip.js version 2.7.0 or above.
TIA

@ggetz Thanks. I will follow the other issue about zip.js.


Type definition for .group params

Hello, really like the framework btw :)
I was wondering if the params for the .group function can be typed so that I can abstract it in a class ?
I want to create a group wrapper class e.g.
interface Group {
  getPrefix: () => string;
  getGroup: () => ElysiaGroup;
}

so that I can do something like:
const group = new Group();
app.group(group.getPrefix(), group.getGroup());

would really appreciate this!!!
Thanks!

Yes, you can do something like this:
class Group {
	constructor(
		public prefix: string,
		public group: (app: Elysia) => Elysia<any>
	) {}

	getPrefix() {
		return this.prefix
	}

	getGroup() {
		return this.group
	}
}

const group = new Group('/games', (app) => app.get('/blue-archive', () => '😭'))

const app = new Elysia()
	.group(group.getPrefix(), group.getGroup())
	.listen(3000)

However, I recommend inlining variables into the method would have a better type-inference.
May I ask why do you want to separate it into a separate class so I can improve or introduce new features in your regard in the future?

hey, thanks that works! yeah wanted to avoid the anys for the type inference, but don't think this will be an issue.
basically trying to mimic controller service architecture for my app similar to spring boot.
where my routes are defined at the controller level (group), and then business logic in services.
I use a wrapper class around the group to represent the controller.
hope it makes sense :)


Release: decK 1.9

Summary
Docs for decK 1.9.
Need to push this before creating a 1.10 version to avoid conflicts.
Reason
Catching up on decK releases.
1.9.0 released on Dec 7/21.
https://github.com/Kong/deck/releases/tag/v1.9.0
Testing
TBA

@rkazak added you as a co-contributor to this PR, based on your findings in the initial PR that I had to close (#3572)


gradient stroke

Description
After creating a shape with a gradient stroke, it does not show up on the device, if I remove the gradient stroke the circle is visible.
Steps to Reproduce

Create a ellipse
Add a gradient stroke and export
run on device: does not show
remove the gradient stroke and add a stroke
run on device: shape visible

rn: 0.59.9
lottie-react-native: "^2.6.1",

+1

+1

+1

+1


fix: should use func.name() to build thrift request header

Motivation
The request header should use the ThriftFunction.name, not the name in Iface method.
In our old thrift server, the response header's method name maybe camelcase, THttpClientDelegate.readApplicationException  will be failed.
    private static TApplicationException readApplicationException(....) {
        // omits...
        if (!func.name().equals(msg.name)) {
            return new TApplicationException(TApplicationException.WRONG_METHOD_NAME, msg.name);
        }
       // omits ...
    }

Modifications
Use ThriftFunction.name instead of iface method name.
final TMessage header = new TMessage(fullMethod(ctx, func.name()), func.messageType(), seqId);

Relative issue: #3269

Could you add a test case that fails without this change?

OK, let me have a try.

Will merge one a test case is added. Thanks, @richieyan :bow:

Will merge one a test case is added. Thanks, @richieyan 🙇

Not find a good way to do this.  Could you give me some hints ?


video resource is illegitimate

I followed the document and this component is what I have: https://gist.github.com/mehranrasulian/5bb051ccaf9b21067753b76f06a60898
But here is something I don't understand about videoPlayer component.
As you see I have a console.log in videoOptions method and on the browser console, videoOptions will be called 2 times.
first time is before observing data by Vue.js and it makes an error.
Is there something wrong with my code?

<template>

            <video-player :options="videoOptions" v-if="videoOptions"></video-player>

</template>

@surmon-china Thank You!
So I think it should be a Recursive component issue. right?


Support SignalR hubs at https

I'm using signalr-client to connect to a hub running under https. With the version 0.0.13 I can't accomplish that.
I've done some changes to do that.

Thanks @mwwhited! Could you let me know when a new version is available at npmjs.org?

0.0.14 has been released.
-Thanks,
Matt
From: Guilherme Ferreira
Sent: Monday, June 22, 2015 9:12 AM
To: mwwhited/signalr-client-nodejs
Cc: Matthew Whited
Thanks @mwwhited! Could you let me know when a new version is available at npmjs.org?
—
Reply to this email directly or view it on GitHub.


Support additional connection parameters

Fixes: #320.
@jefflewis can you please check if this fixes your use-case?

Codecov Report

Merging #361 (bb7d83d) into main (e4cc928) will increase coverage by 0.10%.
The diff coverage is 84.90%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #361      +/-   ##
==========================================
+ Coverage   42.51%   42.61%   +0.10%
==========================================
  Files         117      117
  Lines        9694     9735      +41
==========================================
+ Hits         4121     4149      +28
- Misses       5573     5586      +13

Impacted Files
Coverage Δ

...nection State Machine/ConnectionStateMachine.swift
59.37% <84.00%> (+0.47%)
:arrow_up:

Sources/PostgresNIO/New/Messages/Startup.swift
92.59% <84.00%> (-7.41%)
:arrow_down:

.../Connection/PostgresConnection+Configuration.swift
42.85% <100.00%> (-1.59%)
:arrow_down:

...urces/PostgresNIO/New/PostgresChannelHandler.swift
62.20% <100.00%> (ø)

... and 8 files with indirect coverage changes


[Android] Buttons in GridLayout appear over other gridLayout items

So, i have a 'home' component which acts a base for navigating to other pages, and is basically the master template for the other pages, in which we only switch out part of the page instead of the full page (we use the angular router for this.)
in the html we have the following:
<GridLayout class="background" rows="auto, auto, *" columns="*, *, *">

    <Button class="home-booking-switcher-btn" id="button" horizontalAlignment="right" [text]="isHome ? '' : '' " row="0" col="2" (tap)="toggleNavigation()" marginRight="10" marginTop="10"></Button>
    <Image src="res://msplogo" stretch="aspectFit" class="logo" row="0" col="0" colSpan="3"></Image>

    <StackLayout row="2" col="0" colSpan="3">
        <router-outlet></router-outlet>
    </StackLayout>

    <smartparking-loader rowSpan="3" colSpan="3" [show]="comms.isLoading$ | async"></smartparking-loader>
</GridLayout>

in that code i have the custom component 'smartparking-loader', which is pretty simple, just a GridLayout, with a NSCard in the Middle creating a traditional loading screen.
looks like the following:
<GridLayout width="100%" height="100%" style="background-color: rgba(0,0,0,0.3);" [rowSpan]="rowSpan" [colSpan]="colSpan" [row]="row" [col]="col" [visibility]="visibility">
    <ns-card radius="10" elevation="11" class="loader" #loaderCard shadowOffsetHeight="0" shadowOffsetWidth="0" shadowRadius="5" verticalAlignment="center">
        <GridLayout rows="60, 60" columns="*" class="inner-container">
            <ActivityIndicator [busy]="show" row="0" horizontalAlign="center" class="loader-indicator"></ActivityIndicator>
            <Label text="loading..." row="1" horizontalAlign="center" class="loader-text" ></Label>
        </GridLayout>
    </ns-card>
</GridLayout>

Problem is, the Button on the 'home' component appears to always be above the gridlayout in the loader component.  as you can see here:

Hi @breningham,
I reviewed the reported case, and it seems that there is a problem with the Button and how it is rendered in the GridLayout. The problem is also reproducible in a non-Angular project.  I will mark this as a bug. The workaround at this time is to use the visibility property and with its help to control when the element should be visible. For example:
<GridLayout class="background" rows="auto, auto, *" columns="*, *, *">

    <Button [visibility]="isItemVisible ? 'visible' : 'collapsed'" class="home-booking-switcher-btn" id="button" horizontalAlignment="right" style="z-index:10;" [text]="'Home'" (tap)="onTap($event)" row="0" col="2"  marginRight="10" marginTop="10"></Button>
    <Image src="res://logo" stretch="aspectFit" width="50" height="50" class="logo" row="0" col="0" colSpan="3"></Image>

    <StackLayout row="2" col="0" colSpan="3">
        <!-- <router-outlet></router-outlet>  -->
    </StackLayout>

    <ns-details rowSpan="3" colSpan="3" row="0" col="0" style="z-index:100;" [show]="true" [isItemVisible]="test"></ns-details>
</GridLayout>

Archive.zip

This issue was moved to NativeScript/NativeScript#6184


Build fails if ROS 2 setup script has been sourced

Hardware description: ESP32
RTOS: FreeRTOS / ESP-IDF v4.2.1
Installation type: micro_ros_espidf_component
Version or commit hash: foxy

Steps to reproduce the issue
Building the micro-ROS component after sourcing the ROS 2 setup scripts into the environment causes the build to fail while compiling builtin_interfaces.
Running idf.py build for a second time then fails with fatal error: rcl/rcl.h: No such file or directory.
E.g. the following fails during build, but will work fine if the first line is excluded:
. /opt/ros/foxy/setup.zsh
export IDF_PATH=/home/russell/esp/esp-idf-v4.2.1
. $IDF_PATH/export.sh
git clone https://github.com/micro-ROS/micro_ros_espidf_component.git
cd micro_ros_espidf_component/examples/int32_publisher
idf.py set-target esp32
idf.py build

Additional information
This has briefly been covered previously in #1, and I suspect it could have also been the cause of the unexplained problems described in #53 (although that build might have just failed for some other reason).
While somehow changing the build scripts to work while the ROS 2 environment is present would obviously be best, for now just mentioning explicitly in the README that the environment should be clean and the ROS setup script should not be sourced before running the build would be good.
I'm sure I'm not the only person who sources the ROS scripts in their .zshrc file (or equivalent), or might assume that they should be present when working with anything ROS related, which sometimes makes it more of an explicit task to not source the scripts, rather than the other way around.

Cool, I understand. IMO two actions can be taken:

Add a line in the readme warning about that
Is there any way of checking if the ROS 2 environment is enabled? Maybe we can make a check here

Would you mind making a contribution PR for this?
Thanks a lot!


Enable executions from Legend Studio & prod version support

…… (#30)

added getExtraElementForPathToElementRegisters in MongoDBCompilerExtension

added v1_31_0 protocol

What type of PR is this?
Improvement
What does this PR do / why is it needed ?
Add PathToElementRegisters for Legend studio to load the Mongo execution plan serializers. (via compiler extension)
Add a fixed version (1_31_0) - to enable production version support in engine for Mongo

Need to remove protocol files (v1_31_0)


Select correct boundary area to request data for

Description
This is a hotfix for a small bug in popup chart whereby the data sent to the chart was never the correct one.
To reproduce the bug:

country=cambodia (but any other will show the bug)
activate a data layer, for instance "rainfall amount"
click any are of the map to bring up the popup, and load a chart
save CSV data for easier comparison (or just a good look at the shape of the chart will do)
click some other part of the map. the chart reloads the same data

(this can be confirmed by looking at the network requests which all relate to the same boundary code)
This PR fixes this, so that data is fetched for the area that was indeed clicked.
How to test the feature:
Same as above, but the network requests are now different for each click, and admin codes can be confirmed with the json data.
Checklist - did you ...

Test your changes with

[x] REACT_APP_COUNTRY=rbd yarn start
[x] REACT_APP_COUNTRY=cambodia yarn start
[x] REACT_APP_COUNTRY=mozambique yarn start
[x] Add / update necessary tests?
[x] Add / update outdated documentation?

Screenshot/video of feature:

Actually, I found a bug in my fix, please don't merge yet. Under analysis tab, run some analysis, then "view table", select a location, then try to open a chart, the app crashes...

Thanks @laurentS. Please ping me when ready to review. This will need some quick turnaround and redeployments when ready

@laurentS I added a proposed fix - clicking on the map at the given coordinate. The reactivity (and refresh behavior) needs to be improved a bit but it's probably ok for now. Let me know what you think of the approach. I believe that this is a cleaner approach and having only one showPopup trigger will help ensure replicability.

@ericboucher I like the approach, but it's not really working when I try it locally. At least in some cases, the coordinates are outside the boundary we actually want. I don't know how they're calculated, but on 2-3 randomly picked examples in Mozambique, the point in question was either just outside the boundary.
For instance, click on "Gaza, Chibuto", for me it opens "Inhambane, Panda" instead (which is the area just to the east of it).
Sadly, I don't think we can use these coordinates here :(

@laurentS  I pushed a commit to use the centroid of the geometry features. Since we were taking the corner, we were always clicking on conflicting boundaries, using the centroid seems to help. There is a small "refresh" problem with the position but I don't think it's a big deal at the moment.

Thanks for the fix, I was just looking into the same solution. I think that long term, we should pass unique IDs around, instead of names, local names and coordinates. They would be much cheaper, and more useful, but as you said, this works fine for now.
I just see a little problem with refreshing the location of the popup if I click one row in the table, then another one, the popup doesn't move to the correct location until I act on the map (zoom, pan...). But not a huge problem as you mentioned.

@wadhwamatic this should be good to go now. Both Eric and I have tested the last fix, which ensures the popup actually moves as expected.


A blank window appears at startup.

It seems that a blank window appears each time Spaceman is started.
The title of the window is “Spaceman Settings”.
Spaceman 1.0
macOS 15.0.1

Yeah, this is also happening for me. Otherwise, the app seems to work just fine, but it's annoying to have to close this every time on Startup.
I'm using MacOS Sequoia 15.1 (24B83)

I have the same issue, macOS 15.1, M1 Pro. It appears the app is not running as it was for jsonMartin. I am a first-time user.

Can confirm. I think it is a Sequoia thing. It's also identical to an issue I've seen that has been recently fixed:

DamascenoRafael/reminders-menubar#204

@DamascenoRafael, what behaviour caused this previously?

Same here

@yunruse, I just compiled the application again using a mac running Sequoia. If it was some change in the code itself that fixed this, I didn't notice.


feat(stream):  reduce unnecessary join keys as the logical pk of the join

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?

To resolve #8322.
The current implementation of streaming join's logical primary key includes the join keys from both sides, but in most cases, only one side is necessary. For instance, a left join requires only the left join key, while an inner join also needs the left join key, as it serves as the distribution key. Similarly, a right join necessitates only the right key. By including only the necessary key, we can improve the performance of streaming join operations.

Checklist For Contributors

[x] I have written necessary rustdoc comments
[x] I have added necessary unit tests and integration tests
[x] I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features #7934).
[x] I have demonstrated that backward compatibility is not broken by breaking changes and created issues to track deprecated features to be removed in the future. (Please refer to the issue)
[x] All checks passed in ./risedev check (or alias, ./risedev c)

Checklist For Reviewers

[ ] I have requested macro/micro-benchmarks as this PR can affect performance substantially, and the results are shown.

Documentation

[x] My PR DOES NOT contain user-facing changes.

Click here for Documentation
Types of user-facing changes
Please keep the types that apply to your changes, and remove the others.

Installation and deployment
Connector (sources & sinks)
SQL commands, functions, and operators
RisingWave cluster configuration changes
Other (please specify in the release note below)

Release note

Great catch, hopefully we do not need to handle this special case for https://github.com/risingwavelabs/risingwave/issues/8277

An additional optimization is to provide a force_jk_side: Option<Vec<usize>> parameter that will force using one side of the.
I'm not sure if logical PK will always appear in output indices due to col pruning (I don't think so). But this could potentially save one column for inner join when the RHS join key is referenced in output.

An additional optimization is to provide a force_jk_side: Option<Vec<usize>> parameter to generic::join that will force using one side of the key in the PK.
I'm not sure if logical PK will always appear in output indices due to col pruning (I don't think so). But this could potentially save one column for inner join when the RHS join key is referenced in output.

I think we can do this optimization if we can let the inner join in the following code realize which side should be used to derive the distribution key.
https://github.com/risingwavelabs/risingwave/blob/483d0ea374363c6d5701b43a6631154fddc707b9/src/frontend/src/optimizer/plan_node/stream_hash_join.rs#L107


failed to drain node with multiple nics

Describe the Bug
node1: ip1, ip2,ip3
kcctl join -agent bj:ip2
after joined, the node1 is added with ip3
after that, when kcctl drain -agent ip3, it failed to do it.
the actual info is shown as the following:
root@compute1:~# kcctl get node
+--------------------------------------+----------+---------+---------------+-------------+-----+---------+
|                  ID                  | HOSTNAME | REGION  |      IP       |   OS/ARCH   | CPU |   MEM   |
+--------------------------------------+----------+---------+---------------+-------------+-----+---------+
| 8dbf9601-cd9a-44f4-8033-3c42f6eca7c0 | compute4 | bj      | <IP_ADDRESS> | linux/amd64 |   8 | 16008Mi |
| ae337ab9-4c6b-4902-9cc4-b9d5b311376c | compute1 | default | <IP_ADDRESS> | linux/amd64 |   8 | 16008Mi |
+--------------------------------------+----------+---------+---------------+-------------+-----+---------+
root@compute1:~# kcctl drain  --agent compute4
[2022-09-07T08:42:45Z][ERROR] agent compute4 is not in agent nodes
root@compute1:~# kcctl drain  --agent <IP_ADDRESS>
[2022-09-07T08:42:58Z][ERROR] agent <IP_ADDRESS> is not in agent nodes
root@compute1:~# kcctl drain  --agent <IP_ADDRESS>
drain agent node failed: the node could not be draind. reason: <IP_ADDRESS> does not exist

Versions Used
Kubernetes:
Kubeclipper:
root@compute1:~# kcctl version -o json
kcctl version:
{
	"major": "1",
	"minor": "1",
	"gitVersion": "v1.1.0",
	"gitCommit": "e5dab3cc8a5e200797c3c2b2c151b8356dbf436b",
	"gitTreeState": "clean",
	"buildDate": "2022-08-13T06:43:05Z",
	"goVersion": "go1.18.5",
	"compiler": "gc",
	"platform": "linux/amd64"
}
kubeclipper-server version:
{
	"major": "1",
	"minor": "1",
	"gitVersion": "v1.1.0",
	"gitCommit": "e5dab3cc8a5e200797c3c2b2c151b8356dbf436b",
	"gitTreeState": "clean",
	"buildDate": "2022-08-13T06:31:44Z",
	"goVersion": "go1.18.5",
	"compiler": "gc",
	"platform": "linux/amd64"
}

Environment
How many nodes and their hardware configuration:
For example: CentOS 7.5 / 3 masters:  8cpu/8g; 3 nodes: 8cpu/16g
(and other info are welcomed to help us debugging)
How 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.

/milestone v1.2.0


[FEATURE] Specify that some worlds cannot use eChest

What is the feature request for?
Now i have the Multiver-Core + Multiver-Inventory to manage some worlds，and one of this wolrds is Creative-Mode（the backpack is independent）  --- This is my scene
I found that players will put Rare items into echest , and get it in survial world  --- This is what I don't want
So maybe this plugin need a config about disabled wolrd that can not use echest ? --- This is my suggest
anyway，I think this is a big problem I think this is a big problem
--English is not my mother tongue, sorry~
Relevant links
https://github.com/Multiverse/Multiverse-Core/wiki/Install-(Inventories)
Additional Information
Nothing

I may be late to the party but know that LuckPerms for example offers per-server as well as per-world context, which basically allows for a user to set a permission (such as echest permission) to true (allowed) in one world/server context and to false (denied) in another. The world context also works for worlds created by other plugins such as Multiverse, as the folder name is what matters here. LuckPerms is the preferred permission plugin these days anyways and contexts are really easy to use. So maybe that helps?


fpsgraph shows warning missing parent

"tweakpane": "^3.1.4"

"@tweakpane/plugin-essentials": "^0.1.7",

"@tweakpane/core": "^1.1.4",

expect : no waring

current: showing browser console : "Missing 'parent' of BladeController in BladeRack.add. Please rebuild plugins with the latest core package."

import {Pane} from "tweakpane";
import * as EssentialsPlugin from '@tweakpane/plugin-essentials';

const gui = new Pane()

gui.registerPlugin(EssentialsPlugin);

export const guiFpsGraph = gui.addBlade({
  view: 'fpsgraph',
  label: 'FPS',
}

guiFpsGraph.begin()

renderer.render(scene, camera)
animate()

guiFpsGraph.end()

I want to know why console shows me this waring, and How to remove this waring.
Thanks for reading this issue.

I encountered the same warning using the same versions of tweakpane and @tweakpane/plugin-essentials
The plugin still seems to work anyways, it's just a console warning

Tweakpane later 3.1.3 uses a new ViewProps structure and plugins need to rebuild with the latest core package. Plugins with the older core still work fine, but print warnings.
Please try the latest version 0.1.8.


[SMALLFIX]Make mPort member variable final in AlluxioLogServerProcess.java

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/19351/
Test PASSed.


specify multiple github accounts in coreos-ssh-import-github

It would be nice, if we could specify multiple GitHub accounts to retrieve the ssh keys from.

+1. Would be really nice to put a whole block of team members in here.

Fixed by https://github.com/coreos/coreos-cloudinit/pull/301.


ucx: 1.12.1 -> 1.13.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/openucx/ucx/releases.
meta.description for ucx is: "Unified Communication X library"
meta.homepage for ucx is: "http://www.openucx.org"
meta.changelog for ucx is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.13.0 with grep in /nix/store/4rbymymfsn9wi0xd4ry8z9i4sjmn4vqx-ucx-1.13.0
found 1.13.0 in filename of file in /nix/store/4rbymymfsn9wi0xd4ry8z9i4sjmn4vqx-ucx-1.13.0

Rebuild report (if merged into master) (click to expand)

222 total rebuild path(s)

222 package rebuild(s)

First fifty rebuilds by attrpath
EBTKS
apacheHttpdPackages.mod_tile
apacheHttpdPackages_2_4.mod_tile
bicgl
bicpl
cdo
cloudcompare
cntk
conglomerate
cp2k
dl-poly-classic-mpi
eccodes
elmerfem
elpa
ezminc
febio
freecad
gdal
gdal_2
getdp
globalarrays
gmt
gnudatalanguage
gplates
gpt2tc
grass
gromacsCudaMpi
gromacsDoubleMpi
gromacsMpi
haskellPackages.haskell-mpi
hdf5-mpi
highfive-mpi
hp2p
hpcg
hpl
inormalize
ior
lammps-mpi
libLAS
libminc
librsb
libtensorflow
mapcache
mapnik
mapproxy
mapserver
merkaartor
migrate
minc_tools
minc_widgets

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/4rbymymfsn9wi0xd4ry8z9i4sjmn4vqx-ucx-1.13.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A ucx https://github.com/r-ryantm/nixpkgs/archive/7db1e3ba67a33d553c26878ec30f32fa9965c358.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/4rbymymfsn9wi0xd4ry8z9i4sjmn4vqx-ucx-1.13.0
ls -la /nix/store/4rbymymfsn9wi0xd4ry8z9i4sjmn4vqx-ucx-1.13.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review took longer than 45m and timed out

Maintainer pings
cc @markuskowa for testing.

@GrahamcOfBorg build openmpi


Export of Jira Server attachments not working for attachments with spaces in their name.

When we're running this tool, a large portion of our attachments are being truncated into 2kb files that cannot be opened.
I've checked all of our Jira logs and cannot find anything obvious. The logs on the exporter just say the following:
[D][17:16:33]    Mapping revision 1.
[D][17:16:33]    Downloading attachment info for attachment 'XXXX'.
[D][17:16:33]    Downloaded attachment '.docx'
Upon further inspection, i've noticed that the export is failing on attachments with spaces in their names. Sure enough, when I open one of the broken docx files with Notepad++, the contents are as follows:
404 - File or directory not found.
The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable.
Is there any way to change the exporter to support file names which include spaces?
Many thanks in advance for your time.

Hi!
Thank you noticing this bug. We will verify it on our end and implement a fix in an upcoming release.
Unfortunately there is no quick solution. Until further notice, you can rename all of your attachments in JIRA prior to exporting them, and rename them back in azure devops. If there are too many issues to go through manually, you can also implement an API solution to do a bulk rename. Tag the faulty issues and filter on the tag when renaming your issues back in AzDo.
// Alexander

Not sure if a fix I have done is related but I think it would be helpful:
https://github.com/tung-nt-niteco/jira-azuredevops-migrator/commit/95d9d5c8d3041239bf162e81bc74846884a0bf27

URL encoding the file name should do the trick yes. Please open a pull request if it's possible for you, and I will notify the dev team to look at it :) @tung-nt-niteco

Thanks @Alexander-Hjelm it has been sometime so I can't remember all lines of code that I wrote, and also in fact someone already had a pull request here although Kookabura and I made a slightly improvement: https://github.com/solidify/jira-azuredevops-migrator/pull/327
Some other discussions:
https://github.com/solidify/jira-azuredevops-migrator/issues/267
https://github.com/solidify/jira-azuredevops-migrator/issues/225
https://github.com/solidify/jira-azuredevops-migrator/issues/226
https://github.com/solidify/jira-azuredevops-migrator/issues/200

Perfect! :)

Fixed by: https://github.com/solidify/jira-azuredevops-migrator/pull/489


Extend command: m365 aad group list list with --deleted flag. Closes #2956

Extend command: m365 aad group list list with --deleted flag. Closes #2956

Awesome @Jwaegebaert. We'll review it shortly

Well done. Merged manually


Resource management for ESP32 apps

The launcher menu still lacks icons for the ESP32 native apps. Also ESP32 apps might require additional resources, so we should think about storing those somewhere.
The main ESP32 app binary is installed to appfs with a filename equal to it's hatchery slug.
Resources will be placed in /internal/apps/esp32/example_slug_name/
The icon shall be a 32x32 PNG image named icon.png in the resources folder

Looks like it works now :)


Updated test_vehicle_model.py and added custom_statespace.py to Remove Control Dependecy

…ve control dependency

Thanks for the PR, but this changes some unrelated stuff and adds way to much code. Will close this in favor of a simpler solution.


Bootstrapping terraform reference engine on new AWS account has bucket error (possibly due to new default create bucket policies)

Steps to reproduce

Create new aws account, create admin role
Read/Follow pre-req's to install tools (go, python etc)
./bin/bash/deploy-tre.sh -r <region>

Observed error
The CloudFormation logical id resource LoggingBucket fails with:
Bucket cannot have ACLs set with ObjectOwnership's BucketOwnerEnforced setting (Service: S3, Status Code: 400...
and rolls back.
Inspecting /tmp/tre-sam-deploy-command.out also confirms this to be the case, showing the exact same error.
Possible Mechanisms to fix

Short term: to look into the bucket creation parameters and adjust as needed
A pipeline to create new account and run /tmp/tre-sam-deploy-command.out at a regular cadence to confirm ``./bin/bash/deploy-tre.sh -r ` remains good on new accounts

See also https://repost.aws/knowledge-center/cloudformation-objectownership-acl-error

Apologies the observed error was happening on an early version of service-catalog-engine-for-terraform-os, since now we have
  LoggingBucketPolicy:
    Type: AWS::S3::BucketPolicy

The LoggingBucket create failure issue does not occur  (checked 059dc57ae692b7f80871d3b1ad4a6eaf50dce44d )