Crash when closing project in CryptoMbedTLS::finalize_crypto()

Godot version:
3.3.rc.custom_build. 7f2107ebf
Didn't see this in 4.0, but maybe I tested it too short.
OS
Ubuntu 20.04 - Ubuntu 3.36 X11
Issue description:
Recently ~probably since https://github.com/godotengine/godot/pull/46962~, at the end of 1h execution of project, Godot shows this buffer overflow
2021-03-18T12:27:41.2940591Z ==12500==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6190009f0690 at pc 0x000011766132 bp 0x7fff43035e00 sp 0x7fff43035df0
2021-03-18T12:27:41.2942074Z READ of size 8 at 0x6190009f0690 thread T0
2021-03-18T12:27:41.6121759Z     #0 0x11766131 in predelete_handler(Object*) core/object.cpp:2055
2021-03-18T12:27:41.6148034Z     #1 0x21d54f4 in void memdelete<X509CertificateMbedTLS>(X509CertificateMbedTLS*) core/os/memory.h:114
2021-03-18T12:27:41.6150393Z     #2 0x3505c8e in CryptoMbedTLS::finalize_crypto() modules/mbedtls/crypto_mbedtls.cpp:173
2021-03-18T12:27:41.6159551Z     #3 0x21c796e in unregister_mbedtls_types() modules/mbedtls/register_types.cpp:51
2021-03-18T12:27:41.6160730Z     #4 0x1a813aa in unregister_module_types() modules/register_module_types.gen.cpp:247
2021-03-18T12:27:41.6220121Z     #5 0x18c9a74 in Main::cleanup(bool) main/main.cpp:2261
2021-03-18T12:27:41.6237579Z     #6 0x1713078 in main platform/x11/godot_x11.cpp:57
2021-03-18T12:27:41.6239172Z     #7 0x7fd8ce2d50b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)
2021-03-18T12:27:41.6241124Z     #8 0x1712c8d in _start (/home/runner/work/The-worst-Godot-test-project/The-worst-Godot-test-project/godot.x11.tools.64s+0x1712c8d)
2021-03-18T12:27:41.6242399Z
2021-03-18T12:27:41.6289350Z Address 0x6190009f0690 is a wild pointer.
2021-03-18T12:27:41.6290836Z SUMMARY: AddressSanitizer: heap-buffer-overflow core/object.cpp:2055 in predelete_handler(Object*)

I looked at the code, but I don't have idea where is a bug.
CI log - https://github.com/qarmin/The-worst-Godot-test-project/runs/2138880870?check_suite_focus=true
Minimal project(it is very hard to reproduce not inside CI, because usually need to run more that 20 minutes) - TheWorstGodotTestProject.zip

@qarmin does it consistently happen after the 1h execution?

It broke 7/11 CI which I used - https://github.com/qarmin/The-worst-Godot-test-project/actions?query=+branch%3Anon_automatic_32 (Update Github CI) so it doesn't happens always.
Once even bug showed after 60s - https://github.com/qarmin/The-worst-Godot-test-project/runs/2138880854?check_suite_focus=true

Looks that default_certs isn't nullptr or doesn't point to a valid object but points to some random memory
https://github.com/godotengine/godot/blob/15ff752737c53a1727cbc011068afa15683509be/modules/mbedtls/crypto_mbedtls.cpp#L173

Recently probably since #46962,

I was able to reproduce in a commit before that PR (f2739b3f526a3f2ef073de4bdf2e86286ea0da15):
https://github.com/Faless/The-worst-Godot-test-project/runs/2147071858#step:7:184630

I set breakpoints on writes to &default_certs and default_certs.
After a few minutes of execution, it shows that GDScript put the return value of randi() on line 75 in ResourcesALL/GDScript.gd into a variant.
https://github.com/godotengine/godot/blob/5e434841ec358ae3fefa2356b122c9d62df94179/modules/gdscript/gdscript_function.cpp#L1157
The *dst variant parameter previously contains a reference to the X509CertificateMbedTLS object at the same address as default_certs. So to accept the return value, the old X509CertificateMbedTLS object is freed. But this does not affect CryptoMbedTLS::default_certs, so it will try to free it a second time at exit.
Seems strange. Hope this information helps.

Looks that this object is used also in _notification
This is log from GDB
Thread 1 "godot" hit Hardware access (read/write) watchpoint 1: CryptoMbedTLS::default_certs

Value = (X509CertificateMbedTLS *) 0x8bbde40
CryptoMbedTLS::finalize_crypto () at modules/mbedtls/crypto_mbedtls.cpp:172
172		if (default_certs) {
(gdb)
Continuing.

Thread 1 "godot" hit Hardware access (read/write) watchpoint 1: CryptoMbedTLS::default_certs

Value = (X509CertificateMbedTLS *) 0x8bbde40
0x0000000001c92da5 in CryptoMbedTLS::finalize_crypto () at modules/mbedtls/crypto_mbedtls.cpp:173
173			memdelete(default_certs);
(gdb)
Continuing.

Thread 1 "godot" received signal SIGSEGV, Segmentation fault.
0x000000000452feb1 in Object::notification (this=0x8bbde40, p_notification=1, p_reversed=true) at core/object.cpp:929
929		_notificationv(p_notification, p_reversed);
(gdb)
Continuing.
handle_crash: Program crashed with signal 11
Dumping the backtrace. Please include this when reporting the bug on https://github.com/godotengine/godot/issues
[Detaching after vfork from child process 39693]
[1] /lib/x86_64-linux-gnu/libc.so.6(+0x46210) [0x7ffff7859210] (??:0)
[Detaching after vfork from child process 39695]
[2] Object::notification(int, bool) (/mnt/Miecz/godot3.2/core/object.cpp:929)
[Detaching after vfork from child process 39697]
[3] Object::_predelete() (/mnt/Miecz/godot3.2/core/object.cpp:388)
[Detaching after vfork from child process 39699]
[4] predelete_handler(Object*) (/mnt/Miecz/godot3.2/core/object.cpp:2056)
[Detaching after vfork from child process 39703]
[5] void memdelete<X509CertificateMbedTLS>(X509CertificateMbedTLS*) (/mnt/Miecz/godot3.2/./core/os/memory.h:114)
[Detaching after vfork from child process 39705]
[6] CryptoMbedTLS::finalize_crypto() (/mnt/Miecz/godot3.2/modules/mbedtls/crypto_mbedtls.cpp:174)
[Detaching after vfork from child process 39707]
[7] unregister_mbedtls_types() (/mnt/Miecz/godot3.2/modules/mbedtls/register_types.cpp:52)
[Detaching after vfork from child process 39709]
[8] unregister_module_types() (/mnt/Miecz/godot3.2/modules/register_module_types.gen.cpp:250)
[Detaching after vfork from child process 39711]
[9] Main::cleanup(bool) (/mnt/Miecz/godot3.2/main/main.cpp:2268)
[Detaching after vfork from child process 39713]
[10] /usr/bin/godot(main+0x12f) [0x1701915] (/mnt/Miecz/godot3.2/platform/x11/godot_x11.cpp:59)
[Detaching after vfork from child process 39715]
[11] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7ffff783a0b3] (??:0)
[Detaching after vfork from child process 39717]
[12] /usr/bin/godot(_start+0x2e) [0x170172e] (??:?)
-- END OF BACKTRACE --

@qarmin The log shows godot exited normally, the _notification() call is NOTIFICATION_PREDELETE, due to the normal memdelete in CryptoMbedTLS::finalize_crypto().
You don't need to close the window manually, it'll hit the breakpoint once the unexpected free happens.

This is my back trace after it hits the breakpoint.
* thread #1, queue = 'com.apple.main-thread', stop reason = watchpoint 1
  * frame #0: 0x0000000100bfaefa godot.osx.tools.64`X509CertificateMbedTLS::~X509CertificateMbedTLS(this=0x00000001252a4100) at crypto_mbedtls.h:92:26
    frame #1: 0x0000000100bfa555 godot.osx.tools.64`X509CertificateMbedTLS::~X509CertificateMbedTLS(this=0x00000001252a4100) at crypto_mbedtls.h:91:28
    frame #2: 0x0000000100022da5 godot.osx.tools.64`void memdelete<Reference>(p_class=0x00000001252a4100) at memory.h:117:13
    frame #3: 0x0000000100022c43 godot.osx.tools.64`Ref<Reference>::unref(this=0x00007ffeefbf9cc8) at reference.h:279:4
    frame #4: 0x0000000103980ded godot.osx.tools.64`RefPtr::unref(this=0x00007ffeefbf9cc8) at ref_ptr.cpp:90:7
    frame #5: 0x00000001039ed9e5 godot.osx.tools.64`Variant::clear(this=0x00007ffeefbf9cb8) at variant.cpp:1129:20
    frame #6: 0x00000001039ecd08 godot.osx.tools.64`Variant::reference(this=0x00007ffeefbf9cb8, p_variant=0x00007ffeefbf8b60) at variant.cpp:921:4
    frame #7: 0x00000001039f67fc godot.osx.tools.64`Variant::operator=(this=0x00007ffeefbf9cb8, p_variant=0x00007ffeefbf8b60) at variant.cpp:2588:3
    frame #8: 0x0000000100a35b52 godot.osx.tools.64`GDScriptFunctions::call(p_func=MATH_RAND, p_args=0x00007ffeefbf9d48, p_arg_count=0, r_ret=0x00007ffeefbf9cb8, r_error=0x00007ffeefbfaac0) at gdscript_functions.cpp:438:10
    frame #9: 0x0000000100a1ed57 godot.osx.tools.64`GDScriptFunction::call(this=0x000000012533d9f0, p_instance=0x0000000125344740, p_args=0x00007ffeefbfbcb8, p_argcount=1, r_err=0x00007ffeefbfcae0, p_state=0x0000000000000000) at gdscript_function.cpp:1157:5
    frame #10: 0x00000001009c80f4 godot.osx.tools.64`GDScriptInstance::call(this=0x0000000125344740, p_method=0x000000012563d4b0, p_args=0x00007ffeefbfbcb8, p_argcount=1, r_error=0x00007ffeefbfcae0) at gdscript.cpp:1208:21
    frame #11: 0x00000001039285d9 godot.osx.tools.64`Object::call(this=0x000000012533e520, p_method=0x000000012563d4b0, p_args=0x00007ffeefbfbcb8, p_argcount=1, r_error=0x00007ffeefbfcae0) at object.cpp:898:26
    frame #12: 0x0000000103a15c4c godot.osx.tools.64`Variant::call_ptr(this=0x00007ffeefbfbc58, p_method=0x000000012563d4b0, p_args=0x00007ffeefbfbcb8, p_argcount=1, r_ret=0x0000000000000000, r_error=0x00007ffeefbfcae0) at variant_call.cpp:1149:14
    frame #13: 0x0000000100a1e2c5 godot.osx.tools.64`GDScriptFunction::call(this=0x0000000125633c80, p_instance=0x00000001255510e0, p_args=0x00007ffeefbfdb18, p_argcount=1, r_err=0x00007ffeefbfd8f8, p_state=0x0000000000000000) at gdscript_function.cpp:1086:12
    frame #14: 0x00000001009c81de godot.osx.tools.64`GDScriptInstance::call_multilevel(this=0x00000001255510e0, p_method=0x000000010a8c5598, p_args=0x00007ffeefbfdb18, p_argcount=1) at gdscript.cpp:1224:14
    frame #15: 0x0000000102653763 godot.osx.tools.64`Node::_notification(this=0x00000001255274f0, p_notification=17) at node.cpp:60:28
    frame #16: 0x000000010260272b godot.osx.tools.64`Node::_notificationv(this=0x00000001255274f0, p_notification=17, p_reversed=false) at node.h:46:2
    frame #17: 0x00000001026025df godot.osx.tools.64`CanvasItem::_notificationv(this=0x00000001255274f0, p_notification=17, p_reversed=false) at canvas_item.h:166:2
    frame #18: 0x0000000102c73e4f godot.osx.tools.64`Node2D::_notificationv(this=0x00000001255274f0, p_notification=17, p_reversed=false) at node_2d.h:38:2
    frame #19: 0x0000000103924b0b godot.osx.tools.64`Object::notification(this=0x00000001255274f0, p_notification=17, p_reversed=false) at object.cpp:929:2
    frame #20: 0x00000001026953a9 godot.osx.tools.64`SceneTree::_notify_group_pause(this=0x00000001251da5a0, p_group=0x00007ffeefbfde70, p_notification=17) at scene_tree.cpp:993:6
    frame #21: 0x000000010269581f godot.osx.tools.64`SceneTree::idle(this=0x00000001251da5a0, p_time=0.0250000022) at scene_tree.cpp:530:2
    frame #22: 0x000000010005d46a godot.osx.tools.64`Main::iteration() at main.cpp:2123:44
    frame #23: 0x0000000100015d9c godot.osx.tools.64`OS_OSX::run(this=0x00007ffeefbfe3a0) at os_osx.mm:3272:8
    frame #24: 0x0000000100026cb5 godot.osx.tools.64`main(argc=3, argv=0x00007ffeefbff768) at godot_main_osx.mm:71:6
    frame #25: 0x00007fff2064c621 libdyld.dylib`start + 1
    frame #26: 0x00007fff2064c621 libdyld.dylib`start + 1

On frame 9, p print_line(source) shows res://ResourcesALL/GDScript.gd, and p line shows 75.

The line in the script is if randi() % 2 == 1:

The Variant (0x00007ffeefbf9cb8) is used as the r_ret on frame 8 for MATH_RAND.
The deleted X509CertificateMbedTLS (0x00000001252a4100) is at the same address as CryptoMbedTLS::default_certs.


fix: allow configurable path convention for vault secrets

Description:
Support config VAULT_USE_SEMANTIC_PATH=false to opt-out from using meaningful secret path for a fixed-length secret path. The path hierarchy is cut-off at certain depth and replaced by sha256 hash of path relative to the cut-off. The original path is stored in semanticPath key of the secret custom_metadata
Fixes https://github.com/hyperledger-labs/open-enterprise-agent/issues/908
Checklist:

[x] My PR follows the contribution guidelines of this project
[x] My PR is free of third-party dependencies that don't comply with the Allowlist
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have checked the PR title to follow the conventional commit specification

Good job, @patlo-iog!


Protocol2.2

Bring playd up to spec with current protocolv2

oh, damn, i never even tried to fix the tests

@LordAro fix

superseded by #108


Fix UUID library and failing tests

The UUID library used no longer exists, so this uses its replacement.
It also fixes some tests that were failing due to MessageValue vs. string type.

Thank you for your contribution!


recipe2plan 1/n: Macros, dummy generation, recipe resolution.

This PR introduces the shape of recipe2plan. Here, I create a sigh script and macros that specify how this code generation will fit with our build system. So far, the core of the feature, recipe2plan.ts, resolves recipes from the input manifest. This incremental step does not create or assign storage keys, as this depends on in-flight CLs from @mmandlis.
On deck are: fleshing out code-generation (Plan objects), increase test coverage, and assigning storage keys.
Down the road, we will: Adjust rules to output protos, delegating codegen to Kotlin / KotlinPoet.

After #4820 is complete, let's change the TODOs here to  replace reduce with flatMap


Event api

Hey, with this gem can I interact with Moodle event 2 api?

No. This gem is a wrapper used to easily interact with web service functions. This is in a way an bunch of functions that open up access to data on Moodle.
From my understanding the Events Api is more for raising events within the Moodle framework to be used for pub/sub, logging, etc. The Events Api is usually referenced and consumed directly in code in Moodle e.g. when writing a plugin.


Port FSTLocalWriteResult to c++

Note: it's better to avoid force-pushing when possible. Github will give you a chance to squash your commits before merging to master (use "Squash and merge" option).


Mast: Blacklist endocannabinoid[\W_]*+framework

Mast requests the blacklist of the keyword endocannabinoid[\W_]*+framework. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

endocannabinoid[\W_]*+framework has been seen in 6 true positives, 0 false positives, and 0 NAAs.

Approved by tripleee in Charcoal HQ


Feature request: Flexible duration -> flexible start time?

Hi mampfes!
Thanks for #12 !
My use case:
PV charged my home battery to x %. I know, that I need ~y % per hour.
So, I can calculate duration. Let say 15h my battey can last.
Epex Spot sensor gets this 15h to calculate times to discharge the battery (at highest prices starting 15:00 and ending 10:00 next day)
Works as expected.
But, the calculation=duration changes with state of charge because the battery discharges at highest price as expected.
now we have 23:00, duration dropped to 8h. And your sensor calculates new times, but also for already passed times:

My expectation is: 8h should be counted from now (and not from 15:00) until 10:00
But now I go sleep, and the SoC will not drop so fast -> duration can increase again, but this will not realy help if the past high prices will be counted.
So, my feature request is: start time can set to "now" if flexible duration is used
EDIT: my heat pump discharged the battey, and now only 6h are "left", but the sensor will get 2h only (7:00 - 9:00):

Expectation would be from now on:
23:00-1:59 and 6:00-9:59

EDIT2: it is morning, 29th of Feb.... 28th doen't help me anymore... hm:

Hi, this is an interesting new use case. I will think of it.
Just to ensure that I got you right: Would it be ok for you if you still have to configure the latest end time? Or do you need s.th. like: The cheapest 3h in the next 10h or so?

I would say for the beginning it's enough to provide start and end time, example: 15:00 until 10:00
Than via check box: use "now" time activate new function:
if duration changes calculate prices between "now" and end time if "now" is after "start"
But your idea sound also interesting, dynamic duration between now and dynamic end :)

Please have a look at version 1.2.0. I didn't add an extra checkbox but changed the behavior in general (because the previous behavior didn't really makes sense).

Perfect! Looking good. First tests are as expected!


Remove role from STS selector labels to allow changing roles for nodepools

Fixes #311
Currently the master/cluster_manager role is part of  selector.matchLabels. This makes upgrading a cluster from 1.x to 2.x while also changing the role from master to cluster_manager impossible as the operator tries to change the matchLabels which are immutable.
This change removes the role from the matchLabels and contains logic to update existing statefulsets by deleting and recreating it while orphaning pods.
After this is merged we should create a bugfix release 2.1.1.

Hey @idanl21 can you please review this PR, if you are ok lets merge this.
Thank you


Fix travis.yml

Travis seems to be currently failing with the following:
ERROR: An error occured while trying to parse your .travis.yml file.

Please make sure that the file is valid YAML.

http://lint.travis-ci.org can check your .travis.yml.

The log message was: Build config file had a parse error: did not find expected '-' indicator while parsing a block collection at line 3 column 3.

https://lint.travis-ci.org/ seems to say the above version is cool though. :shrug:

Fine, thanks !


Spam Detection

Create a machine-learning model for spam email detection

Vaishnavi Kale
C22020881923
T.Y.Comp.
Interested in working on this

I would like to work on this issue
Rasika Kanitkar SY Comp
( done with previous issue)

@Rasika-Kanitkar are you done with the model ?

Not yet

I have time till 12 today n? Full 2 days are assigned n? you had assigned me day before yesterday

Yes you can submit till tonight or tomorrow morning also. Just checking with the status.

Thank you!

PR raised!Do check


chore(generic): replace the deprecated babel-preset-es2015 with babel-preset-env

[x] I have read the contribution documentation for this project.
[x] I agree to follow the code of conduct that this project follows, as appropriate.
[x] The changes are appropriately documented (if applicable).
[x] The changes have sufficient test coverage (if applicable).
[x] The testsuite passes successfully on my local machine (if applicable).

Summarize your changes:
There's currently a deprecation message when you install Forge:
npm WARN deprecated<EMAIL_ADDRESS>We're super 😸  excited that you're trying to use ES2015 syntax, but instead of continuing yearly presets 😭 , we recommend using babel-preset-env: npm install babel-preset-env. preset-env without options will compile ES2015+ down to ES5. And by targeting specific browsers, Babel can do less work and you can ship native ES2015+ to users 😎 ! Also, we are in the process of releasing v7, so give http://babeljs.io/blog/2017/09/12/planning-for-7.0 a read and test it! Thanks so much for using Babel 🙏 , please give us a follow @babeljs for updates, join slack.babeljs.io for discussion and help support at opencollective.com/babel

Don't we need to add babel-preset-env?

(Annoyed grunt) edited package.json to add the preset config without refreshing the file, after npm install --save-dev babel-preset-env 🤦♂
Fixed. :sheep:


RPC: get individual transactions, uncles, and their counts

What was wrong?
#178
How was it fixed?
Get individual transactions and uncles, and their respective counts.
Cute Animal Picture

#227

@Nathapon8899 please add some text instead of simply writing an issue number. I see that you've entered issue numbers in a few places. Are you making a request? Are you trying to document something?
Without any text, the comment is spam. Thanks


Add missing setters to Service, ServiceReplication and ServiceSharding

cc @xichen2020 @cw9

Coverage remained the same at 89.897% when pulling 46fa70b18c990019846644aefed19f1be2d480d7 on add-missing-setters into aa1b0204495fa569dcf36bd2ab07f23e4d5e2f48 on master.

LGTM

Coverage remained the same at 89.897% when pulling a88fb37c7bc737f5fc4da6dc2d0f763e130dc93a on add-missing-setters into aa1b0204495fa569dcf36bd2ab07f23e4d5e2f48 on master.

They weren't missing - they were intentionally left out.  The objects returned from the cluster API should be immutable.


Prevent script from crashing on invalid default country value.

A bit of defensive programming...
Right now, if the default value provided to the country select element is invalid (old data, etc), the script crashes preventing other, separate javascript files from being loaded and run.

Yikes! Good catch. Let me check this out and I'll merge once confirmed.

Thanks @ahlwong!


fix pagination on mobile screen

This fix #1 enables pagination on mobile screen. Some changes is not directly related to problem but on prettier, the way my configuration in my vscode will automatically format the text.

This fix enables pagination on mobile screen. Some changes is not directly related to problem but on prettier, the way my configuration in my vscode will automatically format the text.

Great!!

now the pagination looks something like this in mobile,
dont you think that it will look better if you can change the layout of the pagination in mobile like:
(previous   1 of 22   next) rather than (previous   next    1 of 22)

This fix enables pagination on mobile screen. Some changes is not directly related to problem but on prettier, the way my configuration in my vscode will automatically format the text.

Great!!  now the pagination looks something like this in mobile, dont you think that it will look better if you can change the layout of the pagination in mobile like: (previous 1 of 22 next) rather than (previous next 1 of 22)
you can make changes and commit your changes

Yeah, I try that looks for the library you use but when I started to hide everything inside next/prev it also hide entire pagination. Or  I might be missing something on documentation.

Oh, there's actually a workaround to achieve that looks,
But there's also bugs right now in pagination so here's the picture of it

Oh, there's actually a workaround to achieve that looks, But there's also bugs right now in pagination so here's the picture of it

thats great,
so we need to remove that of 227 in the mobile view,
can you fix it?

Oh, there's actually a workaround to achieve that looks, But there's also bugs right now in pagination so here's the picture of it

thats great, so we need to remove that "of 227" in the mobile view, can you fix it?

Yeah, but I dont know how to fix it, In react-paginate thats actually how the pagination works.

Oh, there's actually a workaround to achieve that looks, But there's also bugs right now in pagination so here's the picture of it

thats great, so we need to remove that "of 227" in the mobile view, can you fix it?

Yeah, but I don't know how to fix it, In react-paginate that's actually how the pagination works. I mean it really has that duplication on labels when the current page(number) is in the middle of total page.
Here's how to add that label

now if you remove that breakLabel props it fall to default which is the elipsis(with 3 dots). and since we are in the current page the elipsis now doubled

Okay ,
there is a library called "react-responsive-pagination", Ig it will solve the problem.
would you like to work on it?

Oh, there's actually a workaround to achieve that looks, But there's also bugs right now in pagination so here's the picture of it

thats great, so we need to remove that "of 227" in the mobile view, can you fix it?

Yeah, but I don't know how to fix it, In react-paginate that's actually how the pagination works. I mean it really has that duplication on labels when the current page(number) is in the middle of total page.
Here's how to add that label

now if you remove that breakLabel props it fall to default which is the elipsis(with 3 dots). and since we are in the current page the elipsis now doubled

Okay , there is a library called "react-responsive-pagination", Ig it will solve the problem. would you like to work on it?

Sure, I will try to work on it tomorrow and I'll open a PR right after when everything is good. Thanks.

@tan911 you need to pull all changes,
then resolve the conflicts to get your PR merged

I am closing this PR, as another PR has been raised of same issue


Get local from context of request and use it

[x] Read locale from context
[x] Change the way we get the right translation
[x] Remove the obsolote local 'endpoints', collections, infrastructure

see https://github.com/bulletind/khabar/pull/105

Yeah this makes sense.


Remove support for vac/waku/store/2.0.0-beta3

Problem
vac/waku/store/2.0.0-beta3 has been replaced by vac/waku/store/2.0.0-beta4 in both go-waku and nwaku.
The code to support it in js-waku is now unnecessary. It bloat the bundle and also makes us use some any.
Proposed Solutions
Remove reference of vac/waku/store/2.0.0-beta3 in the codebase.
Notes
The remaining code can be left pseudo-generic or totally removed if the former lead to technical debt.

Done with #980


Grafana dashboard don't display dashboard for containers kubernetes. I have only pods and cluster dashboards.

I use grafana/influxdb with heapster in kubernetes.
Grafana dashboard display pods and nodes in the cluster.
I don't have containers' dashboard.

@medhedifour Thanks for the submitting your request.
I will make a new dashboard, same as Pods, but with the ability to select individual containers. Will it solve your problem?

Is this fixed?

@luxas No, I was swamped with other tasks and wasn't sure it's what the OP wanted

@luxas Do you want it?

Not specifically, just checked the status.
Maybe the help-wanted label would make sense then?

@luxas It's fine, thanks. I think I will be able to address this soon, in a week or so.

Unfortunately, different efforts kept me busy and now I'm going out of office for a couple of weeks. Applying help-wanted label


Cant open Payment Getaway  with same transaction id

whenever i passed same transaction id it dose not appears on screen. When we pass new transaction id every time, it will be Ok.

transaction-id must be unique every time

transaction-id must be unique every time

Thank you, for your help. 🙌


Support change in global account ID - Add allow_context_updates param in sfservice

Resolves HCPCFS-3055

Pull Request Test Coverage Report for Build 5569

6 of 17 (35.29%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.1%) to 88.644%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

broker/core/models/src/catalog.js
0
5
0.0%

broker/applications/osb-broker/src/api-controllers/middleware/index.js
6
12
50.0%

Totals

Change from base Build 5560:
-0.1%

Covered Lines:
9717

Relevant Lines:
10580

💛  - Coveralls

Validation on k8s cluster: n-2 is succeeded.

Validation on k8s cluster: n+n+n is succeeded.

Validation on k8s cluster: n-1 is succeeded.

Validation on k8s cluster: n-2 is succeeded.

Validation on k8s cluster: n+n+n is succeeded.

Validation on k8s cluster: n-2 is succeeded.

Validation on k8s cluster: n+n+n is succeeded.


feat(status-dialog): angular component for status dialog

Description

Status dialog angular component.
What's included?

Angular component for status dialog
Option to launch status dialog easily from DialogService.

Test Steps

[x] npx nx run docs-app:serve
[x] Navigate to Components -> Dialogs
[x] Click on Open status button

General Tests for Every PR

[x] npm run start still works.
[x] npm run lint passes.
[x] npm run stylelint passes.
[x] npm test passes and code coverage is not lower.
[x] npm run build still works.

Screenshots or link to StackBlitz/Plunker

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

v8.14.0
GitHub release

Your semantic-release bot :package::rocket:


Finish handling of environment paths (NIX_PATH/-I)

I've adding processing of the -I flag, and the logic to normalize it down to either a single text field, or a pair of fields. All that needs to be done now is the right path surgery for each possible case, checking if the path exists, and calling makeAbsolutePath on the result.  See the notes and documentation in findEnvPath to get started.

This is already covered by #112.


feat: add replayq for buffering produced messages

For local testing:
  docker network create emqx
  docker run --rm -it -p 6650:6650 -p 8080:8080 --network emqx --name pulsar apachepulsar/pulsar:2.10.0 bash
  docker run --rm -p 8474:8474 -p 7650:6650 --network emqx --name proxy ghcr.io/shopify/toxiproxy
  env PULSAR_HOST="pulsar://localhost:6650" \
      PROXY_HOST=localhost \
      PROXY_PORT=8474 \
      PROXY_PULSAR_HOST="pulsar://pulsar:6650" \
      PROXY_PULSAR_PORT=7650 \
      rebar3 ct -v --suite pulsar_SUITE --case t_pulsar_replayq,t_pulsar_drop_expired_batch

we need to add a changelog file to start tracking changes from 0.7

Send coverage data to coveralls ?

Send coverage data to coveralls ?

https://coveralls.io/github/emqx/pulsar-client-erl
Please add a CI to push coverdata.

Good job.
Maybe rebase (squash?) to see the coverage report.

Good job. Maybe rebase (squash?) to see the coverage report.

Coverage increase to 72 %: https://coveralls.io/builds/52661614
But for some reason Coveralls' bot is not posting its comment here.  :thinking:

Great job @thalesmg !


Perform element registration tasks at first instance creation rather than registration time

Fixes #3508.
Adds a new lazyRegister: true global Polymer setting that defers registration tasks such as style shimming, template parsing, and property accessor creation until first instance creation rather than registration time as an optimization.
Also added is an ensureRegisterFinished() API to element prototypes returned from Polymer().  Calling this on a prototype when lazyRegister is enabled will force that type's registration work to be finished.

LGTM


feat: custom event emitter callback handler

Problem
-- We want to react to focus and blur events from an InputTextControl in the property pane to some component in the Widget.

To handle this scenario we created a new CallbackHandler (EventEmitter) to drive these event handling.

CallbackHandler is an abstract class. We can extend this class and create customer event handlers for different features. (Suggested by @rahulramesha )

Also in this PR I have created a new CallbackHandler derived singleton class called DynamicHeightCallbackHandler.

The instance of this class will be used later in the feature to listen to min and max limits input controls in the property pane for the AUTO_HEIGHT_WITH_LIMITS feature to display an overlay on the widget.

/ok-to-test sha=9fb0c5a

/ok-to-test sha=9fb0c5a

/ok-to-test sha=c152485

/ok-to-test sha=f59a652

/ok-to-test sha=ceae0d1


Minor: remove unecessary clone() in planner

Which issue does this PR close?
N/A
Rationale for this change
I noticed this while working on https://github.com/apache/arrow-datafusion/pull/4226
What changes are included in this PR?
remove some unecessary clone()
Are these changes tested?
yes by existing tests
Are there any user-facing changes?
no

Failing due to https://github.com/apache/arrow-datafusion/pull/4252


Support @@locale

The specification seems to use "@@locale": "en_GB" while intl does "_locale": "en_BG"
See https://github.com/alan-knight/polymer_intl/issues/1 as well

... and I just found the bit in the code where if locale is missing it tries to figure it out from the file name. So that's what you were seeing before.

Ah cool thanks for finding that. Maybe a warning during generation that a locale wasn't found and what the resolution should be?

@@locale and a message when it gets it from the file name both in 0.12.6


How to run TRUST4 with multiple paired-end read files

Hi @mourisl
I have cases where I have multiple -1 files and corresponding -2 files (not just one and one). I was wondering if there is a way to send multiples to TRUST4, something like:
run-trust4 -1 fileA1,fileB1 -2 fileA2,fileB2
or
run-trust4 -1 fileA1 -1 fileB1 -2 fileA2 -2 fileB2
I don't seem to identify that possibility in the code, but hopefully it exists. Otherwise I guess the solution would be to concatenate the files.
Thanks!

You can use "-1 fileA1 fileB1 -2 fileA2 fileB2" or "-1 fileA1 -1 fileB1 -2 fileA2 -2 fileB2" for this.

Ah that is great! Many thanks as always for the fast response!

How about a single interleaved file with both reads 1 and 2? is that supported?

It is not supported, but shouldn't be hard to add this feature. Just curious, which platform generates the inetrleaved fastq files in your case? Thank you.

Sorry I didn't reply to this, I do not have such files at the moment, was more of a general question. If I do encounter them, I will give you details! Thanks!


Change "open infrastructure" into open source

Change of mentioning "open infrastructure" in the first paragraph into "open source".
Signed-off-by: FriederikeZelke<EMAIL_ADDRESS>

If nobody objects against this change, we'll merge this on Tuesday evening, 2022-10-25.


Use cvars system for ScriptCore global configuration

This change adds new cvars: sc_allowdlls sc_sandboxed sc_defines sc_searchpaths to set scriptcore global configuration (previously defined in removed server.ini).

LGTM. I guess the AllowIniEdit stuff doesn't make sense anymore and should be removed.


Tileset physics layer doesn't show when using Polish editor translation

Godot version
4.0.2
System information
Windows 10
Issue description
The issue occurs on Polish lang version, when you create in tileset new physic layer and then when you click on paint there is no physic layer shown afterwards,after long time i figured it out that on polish ver there is no default name for physic layer like in eng ver
Steps to reproduce
null
Minimal reproduction project
null

The issue is incomplete formatting placeholder in the translated string, same for the navigation layer:
https://github.com/godotengine/godot/blob/78f9da7a9fac3cf4388639f34f1671e6d7e87533/editor/translations/editor/pl.po#L10397-L10401

The translations should be fixed on Weblate: https://hosted.weblate.org/projects/godot-engine/godot/
But we should likely also fix the code using them so that it doesn't fail in this case. Ideally if there's a formatting error it should fallback to the English version.


[Android] Check failed: entry.encountered_this_frame

An assertion error occurred when running the platform view demo in Hybrid Composition mode using the Flutter engine compiled with the --unopt option.
F/flutter ( 9363): [FATAL:flutter/flow/raster_cache.cc(173)] Check failed: entry.encountered_this_frame.
F/libc    ( 9363): Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 9363 (iew_performance), pid 9363 (iew_performance)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'HUAWEI/GLK-AL00/HWGLK:10/HUAWEIGLK-AL00/<IP_ADDRESS>1C00:user/release-keys'
Revision: '0'
ABI: 'arm'
Timestamp: 2023-03-01 11:29:40+0800
pid: 9363, tid: 9363, name: iew_performance  >>> com.example.platform_view_performance <<<
uid: 10000
signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
Abort message: '[FATAL:flutter/flow/raster_cache.cc(173)] Check failed: entry.encountered_this_frame.
'
    r0  00000000  r1  00002493  r2  00000006  r3  ff88aad8
    r4  ff88aaec  r5  ff88aad0  r6  00002493  r7  0000016b
    r8  ff88aae8  r9  ff88aad8  r10 ff88ab08  r11 ff88aaf8
    ip  00002493  sp  ff88aaa8  lr  eec5e58f  pc  eec5e5a2
backtrace:
      #00 pc 000545a2  /apex/com.android.runtime/lib/bionic/libc.so (abort+166) (BuildId: b3a547af3eb880c5dfd66f61a8c8b4ca)
      #01 pc 0190d39f  /data/app/com.example.platform_view_performance-vFJOpTBSorDKwQ77wkvCGA==/lib/arm/libflutter.so (BuildId: 783146b3cd0b3bfbbd44766127f943f5a8ec518a)
Lost connection to device.

Steps to Reproduce

Compile the Flutter engine using the --unopt option.
Get test code: git clone git@github.com:0xZOne/platform_view_performance.git
Execute flutter run --local-engine-src-path=/Users/zero/Dev/GitHub/engine/src --local-engine=android_debug_unopt
Enable Hybrid Composition mode as shown in the picture.
Tap on List View or Matrix Transform and see a crash

flutter doctor -v

[✓] Flutter (Channel main, 3.8.0-18.0.pre.4, on macOS 13.1 22C65 darwin-x64, locale zh-Hans-CN)
    • Flutter version 3.8.0-18.0.pre.4 on channel main at /Users/zero/fvm/versions/main
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 87679ff1c3 (19 hours ago), 2023-02-28 10:31:51 +0200
    • Engine revision b78ac04129
    • Dart version 3.0.0 (build 3.0.0-277.0.dev)
    • DevTools version 2.22.1
    • Pub download mirror https://pub.flutter-io.cn
    • Flutter download mirror https://storage.flutter-io.cn

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
    • Android SDK at /Users/zero/Library/Android/sdk
    • Platform android-33, build-tools 33.0.2
    • ANDROID_HOME = /Users/zero/Library/Android/sdk
    • ANDROID_SDK_ROOT = /Users/zero/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14C18
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)

[✓] VS Code (version 1.75.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.58.0

[✓] Connected device (3 available)
    • GLK AL00 (mobile) • PWHUT20514014877 • android-arm64  • Android 10 (API 29)
    • macOS (desktop)   • macos            • darwin-x64     • macOS 13.1 22C65 darwin-x64
    • Chrome (web)      • chrome           • web-javascript • Google Chrome 110.0.5481.177

[✓] Network resources
    • All expected network resources are available.

• No issues found!

This is another issue involving the raster thread merger.
CompositorContext::ScopedFrame::Raster calls the external view embedder's PostPrerollAction.  When the issue happens, AndroidExternalViewEmbedder::PostPrerollAction invokes the thread merger and returns kSkipAndRetryFrame.
With the threads merged, a queued rasterizer task calls Rasterizer::Draw again on the platform thread.  This time, ScopedFrame::Raster gets a kResubmit response from the external view embedder.  ScopedFrame::Raster then exits without calling LayerTree::Paint (which would call RasterCache::EvictUnusedCacheEntries)
The rasterizer later calls RasterCache::EndFrame, which updates the cache metrics and checks the assertion verifying that all remaining cache entries have the encountered_this_frame flag set.  But in this case, there was no call to EvictUnusedCacheEntries, so there are still entries in the cache where that flag is clear.
Rasterizer::DrawToSurfaceUnsafe will exit and avoid the call to EndFrame if ScopedFrame::Raster returns kFailed or kSkipAndRetry.
I suspect that the rasterizer should do the same for kResubmit.  I tried patching the rasterizer to do that and confirmed that this application works as expected.
@iskakaushik @chinmaygarde

Assigned to Jason and labeled p4 since Jason already has a pull request up for it.


When consumer fails, it should schedule reading backlog

Fixed by 15a1be6d123072afaa6a86602a2b0504e5f48904

https://github.com/knightpp/embot/commit/2e1a8828db4748573b08c160b05c370c379b3898


Update v1 mathbox readme to point here (not gitgud)

The README at https://github.com/unconed/MathBox.js still points to gitgud.

I put up https://github.com/unconed/MathBox.js/pull/48, that's the best we can do for now.


CreatedAtAction returns wrong location when versioning by url segment with multiple routes

I have versioning specified as follows:
Configuration:
services.AddControllers(opts => { opts.SuppressAsyncSuffixInActionNames = false; });
services.AddApiVersioning(opts =>
               {
                     opts.ApiVersionReader = new UrlSegmentApiVersionReader();
                     opts.AssumeDefaultVersionWhenUnspecified = true;
                     opts.DefaultApiVersion = new ApiVersion(1, 0);
                });

Controller:
[ApiVersion("1")]
[Route("[controller]")]
[Route("{version:apiVersion}/[controller]")]
[ApiController]
public class TestController : ControllerBase

//...

public async Task<ActionResult> CreateAsync([FromBody] Item item, ApiVersion version)
{
	...
	return this.CreatedAtAction(nameof(this.GetByIdAsync), new { id = item.Id, version = version.ToString()}, item);
}

//...

[HttpGet("{id:int}")]
public async Task<ActionResult<Item>> GetByIdAsync([FromRoute] int id)
{
	Item item = await this.repo.GetByIdAsync(id);
	return this.Ok(item);
}

The problem is, version in location header of CreateAsync response is specified as query:
location: http://localhost/Item/1?version=1
When i only leave
[Route("{version:apiVersion}/[controller]")]
location generates correctly:
location: http://localhost/1/Item/1
Is there a way to force it to generate correct location while having multiple routes in controller?
I use multiple routes to overcome this limitation: https://github.com/microsoft/aspnet-api-versioning/wiki/Known-Limitations#url-path-segment-routing-with-a-default-api-version

Without testing it, but based on your example, I'm 99% sure this is caused by the known, breaking change: Async suffix trimmed from controller action names. It affects link generation. Everything else looks correct to me.

@commonsensesoftware Well i tried to do it without SuppressAsyncSuffixInActionNames set, using hardcoded action name, with same result.
It seems it's not really related to this change.
I tried to test it on BasicSample example from samples (which don't have SuppressAsyncSuffixInActionNames set), changing it as follows:
Startup:
...
options.AssumeDefaultVersionWhenUnspecified = true;
...
HelloWorldController:

[ApiController]
[ApiVersion( "1.0" )]
[Route("api/[controller]")]
[Route( "api/v{version:apiVersion}/[controller]" )]
public class HelloWorldController : ControllerBase

Location header that returns:
http://localhost:1237/api/HelloWorld/42?version=1

I see ... with double route registration, I'm not sure how the routing system decides which one to use. It might be the first one it finds, which means the order might matter. You can try controlling that with the RouteAttribute.Order property. I'm not sure how or if you can make route names works in this scenario. The only sure fire way is to build the route yourself. You may need to create your own extension method to deal with this. It's pretty straight forward to do.

This is an other example of the grief that versioning by URL causes. If you have the option, I would reconsider. No other versioning method has this problem.

@commonsensesoftware It seems route order worked, thank you!


Fix TCP out of order

When TCP packets in the PCAP aren't recorded in the right order, the
payload would become corrupted, because data was directly appended the
end of the current payload and no 'filling' was inserted.
This data would then later be overwritten by another chunk which would
be written to the correct position for this chunk (but the packet that
was out of order falsely occupied this offset beforehand).
The fix consists of extending the payload with zeroes, up to the
position where the current chunk belongs. These zeroes would then later
be overwritten by the data that belongs in this place (if the packet
arrives).
@daniel-plohmann helped discover this bug.
This bug was discovered when inspecting a PCAP from a Citadel Malware sample.
Here you can see 6 segments of TCP packets that are out of order: http://imgur.com/a/gkIxb
This led to exactly 6 holes in the payload from pcap-reassembler.
After applying the fix, it was assembled correctly.

Thanks for the contribution!


How to switch cameras position mid video?

I looked inside all the examples, searched the issues and wiki and can't seem to find an answer on this. I apologize if I'm overlooking something.
I understand I can initialize a new videoCamera with a different device position:
videoCamera = [[GPUImageVideoCamera alloc] initWithSessionPreset:AVCaptureSessionPreset640x480 cameraPosition:AVCaptureDevicePositionBack];
But how do I change it in the middle of recording? For instance, I record from back camera for 5 seconds then switch to the front camera.
videoCamera.cameraPosition does not have any setters.
What's the best way to go about doing this?

This is still an issue. Did anyone figure out a solution?


Resolving the placeholders(with default value) of XML BeanDefinition in the Configuration Class

[X ] I have searched the issues of this repository and believe that this is not a duplicate.
[X ] I have checked the FAQ of this repository and believe that this is not a duplicate.

Environment

Dubbo version: 2.7.7 & master
Operating System version: linux
Java version: JDK8

Steps to reproduce this issue

update https://github.com/apache/dubbo/blob/master/dubbo-config/dubbo-config-spring/src/test/resources/org/apache/dubbo/config/spring/demo-provider.xml
from
<dubbo:protocol name="${dubbo.protocol.name}" port="${dubbo.protocol.port}"/>
to
<dubbo:protocol name="${dubbo.protocol.name}" port="${dubbo.protocol.port:8080}"/>
run testProviderXml() in https://github.com/apache/dubbo/blob/master/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/schema/DubboNamespaceHandlerTest.java

Expected Result
UT should pass
Actual Result
UT fail as flow:
java.lang.AssertionError:
Expected: is <20813>
but: was <8080>
Expected :is <20813>
Actual   :<8080>
This issue may related with previous issue or change:
https://github.com/apache/dubbo/issues/6035
https://github.com/apache/dubbo/pull/6079

这个问题，别想了社区不准备修了。来参考https://github.com/open-wrapper/dubbo-wrapper

This issue has been fixed.

This issue still exist in 2.7.8

I can't re-open the issue, but the problem not been fixed.

https://github.com/open-wrapper/dubbo-wrapper   修复了上述问题，见Parser

This problem has been resolved in Dubbo3.0: https://github.com/apache/dubbo/pull/7383


Develop update - added class to make similiar Requests in bulk

in Gw2Request JavaDoc is still not updated (used ones from SynchronusRequest)
and tests not added yet.
-> That is why it is pull request to develop branch.

I really like you idea to merge asynchronous request and synchronous request. But I need to check if this addition will break the library in Android environment or not (since it make use of Java 8).

How about:
targetCompatibility = '1.7'
sourceCompatibility = '1.8'

Cannot build the artifact if source is 1.8 and target is 1.7
Error:java: javacTask: source release 1.8 requires target release 1.8

Cannot build the artifact if source is 1.8 and target is 1.7
Error:java: javacTask: source release 1.8 requires target release 1.8

Cannot build the artifact if source is 1.8 and target is 1.7
Error:java: javacTask: source release 1.8 requires target release 1.8

https://stackoverflow.com/a/37294741/3625851

Yeah, I know about those compile options. But I don't think we should force people to use it for their Android project. Since if their min SDK level is less than 24 and they are not using retrolambda or similar libraries, the compiler will not warn them about using Java 8 functions (and their code will probably crash and burn during runtime). Aaand this library doesn't exactly provide any replacement for the Java 8 functionalities. So I think it is for the best we don't force them to enable those compile options.


Proxy Checker In-Bot

I Have Created A Proxy Checker In My Bots And Im Working To Make It So The Bots Run On The Working Proxies.
If You Want To Help Me Skype Me!
Live:abappleid -----IS MY SKYPE

Tried to add yoiu

I already made this It uses a free proxy checker project that starts before the feed me and exports to proxies.txt and then runs the feeder

can you give me ravyn 😀

@kurama129 When I have time

tell your skype


Hide arguments or options titles in form when they have no fields #69

I would better to avoid mutating schemas.
Can in be simple css trick with ?
https://developer.mozilla.org/en-US/docs/Web/CSS/:empty
https://developer.mozilla.org/en-US/docs/Web/CSS/:has

done


hashcat 0.49 cask - could not identify primary container?

brew cask install hashcat gives me this:

Error: Uh oh, could not identify primary container for '/Library/Caches/Homebrew/hashcat-0.49.7z'

Already did brew update and brew cask update, no difference. I'm fairly new to brew and cask, so I'm not really sure what to do about this..?

Hi!
brew cask update is just a synonym for brew update to catch typos.  To reliably upgrade Homebrew-cask (which you should do), the following ridiculous sequence is recommended:
$ brew update && brew upgrade brew-cask && brew cleanup && brew cask cleanup

After you try that, we should look at the fact that hashcat is distributed in a 7z container, which is unusual.  Recognizing it depends on having a working unar installed from Homebrew.  The Cask attempts to install unar for you.  Still, to be sure/debug the problem, you might try
$ brew uninstall unar; brew install unar

Closing as solved. If you still have issues, @SuperHenkie, please report back.

Thanks for your feedback, and sorry for the late reply.
I still couldn't get it to work at first, but after updating my Xcode to v6.2 (through the App store), installing unar, and afterwards also hashcat, worked.


Why is netty channelInactive not being handled ?

Hi, when I looked at your code, I found that the channelInactive event is not being handled. Here I have a question, the user's online status should be handled in channelActive and channelInactive.
After I checked the documentation, it is processed in the user's online status awareness. I found in the process of using netty that although the user is offline and calls channelInactive, the user's channel is still active and isWrite. What's the benefit of your design?

Thanks for sharing your opinion.

the user's online status should be handled in channelActive and channelInactive.

Why a user's online status should not change in channelActive
A client CANNOT be recognized as any user in channelActive because it's just a TCP connection establishment, and that's why a client needs to set up a TCP connection first, and then sends a CreateSessionRequest in protobuf format to request turms-gateway to login as a user.
In other words, Connection Establishment and User Login are different things, just like different things on OSI model
That's why a user's online status should not change in channelActive.
For more details on how a client login as a user, you can check the docs: https://turms-im.github.io/docs/for-developers/architecture.html#客户端访问服务端标准流程

A user's online status should change (go offline)  in channelInactive
A user will be considered as offline when:

Its TCP connection to turms-gateway is closed. We listen to the close event by the folowing code in the class TcpServerFactory:
handle((in, out) -> connectionListener.onAdded((Connection) in, false, in.receive(), out, ((Connection) in).onDispose())).
And onDispose() is just the close event wrapped by reactor-netty and sent by Netty:

default Mono<Void> onDispose() {
	return FutureMono.from(channel().closeFuture());
}

The user sends a DeleteSessionRequest in protobuf format to turms-gateway though the TCP connection is NOT closed.


Allow options.cells to contain true/undefined values

This is a way of enabling column or row-only cell requirements

oops, I left the else if(options.columns) in the commit. You'll probably want to adjust it anyways :)


Can you plz clarify the URL format that needs to be sent in the query?

In the example of the API HTTP request URL entries in the query body, the URLs are represented in two different format (e.g. the second entry is with http:// and ends with /, while the first one without http://, https:// and does not end with /.
Does adding http://, https:// or ending the URL with / make difference? I tested with and without them and there seems no difference. But I wonder, how this is the case while the hashes with or without them is different. Can you plz briefly clarify?
Here is the example in your home page that I am referring to:

"threatEntries": [
			{"url": "google.com"},
			{"url": "http://testsafebrowsing.appspot.com/apiv4/ANY_PLATFORM/MALWARE/URL/"}
		]

First, there is a canonicalization step, which ensures that URLs have at least a path of "/" (even if none was supplied, as in the google.com case
After canonicalization, the given url is turned into a variety of prefix/suffix expression combinations as described here: https://developers.google.com/safe-browsing/v4/urls-hashing#suffixprefix-expressions
Those expressions (which are what is actually hashed), do not have the scheme (http://) in them.

So am I understanding correctly that if I supplied a list with https:// leading the check will be ok. I guess so, ut I will appreciate confirming.


Add method to update data

Hello,
first off - thanks for this library, it's really nice to use :+1:
It'd be great if Caroline had support for reloading dataX and dataY with different values - possibly with a short animation.

@Cogitri thanks for opening these issues, I am working on this one right now, will probably be done in a few weeks along with #21. #20 I am still looking into.

Added ability to update data by using this.updateData. Check the Sample.vala file to see an example starting on line 67!


feat: now logging timeout metric

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


RDKTV-20457 EnvironmentVariable Plugin added

Description
We need to be able to add environment variable from host into container. This plugin provides said functionality.
Test Procedure

Add Environment Variable into the container config i.e.

        "environmentvariable": {
            "required": false,
            "data": {
                "variables": [
                    "LANG",
                    "HOME"
                ]
            }
        }

Start container i.e. DobbyTool start sleepy ./sleepy_bundle
Open sh inside container crun --root /run/rdk/crun exec --tty <container_name> /bin/bash
Check if environment variables are set env

Type of Change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Other (doesn't fit into the above categories - e.g. documentation updates)

Requires Bitbake Recipe changes?

[ ] The base Bitbake recipe (meta-rdk-ext/recipes-containers/dobby/dobby.bb) must be modified to support the changes in this PR (beyond updating SRC_REV)

The issue is due to the fact that link for  "/etc/localtime -> /usr/share/zoneinfo/Universal" is incorrect. The "TZ" environment variable is set only for the WPEWebProcess and getting it from there would be extremely hacky way of fixing. We should make "/etc/localtime" correct inside "LocationSync" rdkservice for whole box (probably by using "tzest" after setting envvar) and after that we can just use "LocalTime" Dobby plugin.
Also in here there would be problems with environment variables that would get added after DobbyDaemon is started - they would not be available to DD process. As DD is started very early in booting procedure whole plugin idea is faulted. So for now closing this pull request.


Equality operator overload

Dart SDK Version: 2.6.1, Linux
We're creating a query condition builder and using some operator overloads in addition to standard calls. The thing is, with the equality operator, we have encountered an issue where it is reported by the linter as an error, though the code works just fine.

https://github.com/objectbox/objectbox-dart/issues/43
Queries currently use some handy operator overloads, e.g. box.query(Note_.text == "text") in addition to the standard box.query(Note_.text.equals("text")).
Equality seems to be a special case, causing a linter issue. Make sure it's really OK to use it the way we do, otherwise, we'll have to drop it.
Linter reports:
error: 'QueryStringProperty.==' ('Condition Function(String)') isn't a valid override of 'Object.==' ('=='). (invalid_override at [objectbox] lib/src/query/query.dart:86)

info: Equality operator `==` invocation with references of unrelated types. (unrelated_type_equality_checks at [objectbox] test/query_test.dart:52)

Also, we clearly break the requirements given here: https://api.dartlang.org/stable/2.5.2/dart-core/Object/operator_equals.html

The question is: is this a linter issue or is it forbidden to overload equality operator in this way (which means it shouldn't be allowed by the compiler then?).

The == operator has the same override rules as any other function.
That means that the signature of bool operator==(Object) must be satisfied by the override as well. That does not leave much room to wiggle in, the only really different override that is allowed is Null operator==(Object). (You can change the parameter type to dynamic or void, but that's not really a different signature for users).
So, the error is correct. If it "works just fine", you have found a bug in our compilers. It should be a compile-time error, and that is unrelated to lints.
Also not that even if you manage to fit into the type of operator==, code like box.query(Note_.text == null) would not call your == operator. The language's == operator first checks if either side is null, and only if not does it call the operator== method on the left operand. It's not just a method like any other.

There is one more possibility, which is touching on a topic that may or may not be in line with your style guides: You could use a covariant parameter to force the typing that you indicate:
abstract class CheckedEquality {
  operator ==(covariant CheckedEquality other);
  factory CheckedEquality() = _Implementation;
}

class _Implementation implements CheckedEquality {
  operator ==(Object other) {
    if (other is! CheckedEquality) return false;
    return super == other; // Whatever is appropriate for this class.
  }
}

main() {
  int i = 42;
  String s = 'Hello';

  // In general, you don't get errors for `==` on differently typed objects.
  if (i != s) print("No type errors here.");

  // `CheckedEquality` is special in that its `==` is more strict.
  var ce1 = CheckedEquality(), ce2 = CheckedEquality();
  if (ce1 != ce2) print("No type errors for equality on its own type.");
  // But `ce1 == s` and `ce1 != s` is a compile-time error.

  // `==` invokes a method, though, so it is asymmetric: There is no
  // protection against comparing other types to `CheckedEquality`.
  if (s != ce1) print("Warning: Nothing stops us here.");
}

(Note that != is defined in terms of ==, so we can use one or the other.)
The point is that the parameter of operator == in CheckedEquality is covariant. This allows you to make stronger requirements than the ones that are made by the overridden declaration. In general, any use of a covariant modifier on a formal parameter gives rise to dynamic checks (so your style guides might say "don't ever use covariant!"). But in this case it does not give rise to any dynamic checks, because CheckedEquality is abstract and the actual implementation is an instance of _Implementation whose operator == again has the safe parameter type Object.
This means that you'll get the static checks (such that ce1 == s and c1 == true etc. are compile-time errors), and the instances of _Implementation will still work correctly (and return false rather than throwing) when compared with other objects under a more general type.
That said, I still think that it is a questionable design to have an operator == which is not modeling equality—if QueryStringProperty.== accepts a Condition Function(String) then it is definitely not testing equality. The resulting code might look nice, but I'd suggest that you use something other than == to express this "accept a function that will do something which yields an equality result

Thanks for the responses. I guess we will drop it then. It's a pity because it works nicely in swift...


[hotfix][doc] Fix the wrong link of materialized table

What is the purpose of the change
The link has 2 https:// prefixes.
Brief change log
[hotfix][doc] Fix the wrong link of materialized table

Thanks @hackergin for pointing it out. Let me close this PR.


Handles a revoke session event

Summary
This handles a revoked session for a user, and is dependant on getting the appropriate websocket event; see https://github.com/mattermost/mattermost-server/pull/20693
Ticket Link
https://mattermost.atlassian.net/browse/MM-45714
Checklist

[ ] Added or updated unit tests (required for all new features)
[ ] Has UI changes
[ ] Includes text changes and localization file updates
[ ] Have tested against the 5 core themes to ensure consistency between them.

Device Information
This PR was tested on:
Screenshots

Release Note

Handles session revoked event.

I don't understand why this is needed. Any request to the server should return a 401 and the user to logout.
I believe the ticket is about receiving a notification while the app is fully closed.
If you look at the code there should be a handler for session type notification

I don't understand why this is needed. Any request to the server should return a 401 and the user to logout.
I believe the ticket is about receiving a notification while the app is fully closed.
If you look at the code there should be a handler for session type notification

Yup - there's actually a few issues rolled into one from what I understand (I'll update the ticket);

No notifications of a revoked, expired or soon to expire session (on both v1 or v2)
User's aren't immediately logged out when the session is revoked or expires (on both v1 or v2)
Changing the session length makes the application crash (only v1)

I don't understand why this is needed. Any request to the server should return a 401 and the user to logout.

I believe the ticket is about receiving a notification while the app is fully closed.

If you look at the code there should be a handler for session type notification

Yup - there's actually a few issues rolled into one from what I understand (I'll update the ticket);

No notifications of a revoked, expired or soon to expire session (on both v1 or v2)

Probably this refers to the local notification that gets schedule on login

User's aren't immediately logged out when the session is revoked or expires (on both v1 or v2)

This should send a notification to the user, but more importantly the user will get logged out on execution of any request, this is probably only about the notification if the app is not running

Changing the session length makes the application crash (only v1)

Not sure what may be going on, the expected is to cancel the previous scheduled local notification and schedule a new one if applicable (as in there is no extended sessions configured) and you should test the local notification being re-scheduled and triggered on v2 as well.
Now, the other option is to send a notification to the mobile app any time the session is expired and or revoked and remove the code for the local scheduled notification and omit the notification when the user manually signs off

Yup, I've seen the forceLogout... method - but it does not kick in immediately, you can change channels once or twice before getting booted

Expand on this, what is the reason of the "delay"?, cause if there is something causing the delay on checking if the request returned a 401 to logout the user, that should be looked at. I'm not against the WS event but I think this can be "fixed" without server updates

Yup, I've seen the forceLogout... method - but it does not kick in immediately, you can change channels once or twice before getting booted

Expand on this, what is the reason of the "delay"?, cause if there is something causing the delay on checking if the request returned a 401 to logout the user, that should be looked at. I'm not against the WS event but I think this can be "fixed" without server updates

Actually pretty easy to reproduce - log in to rc.test.mattermost.com with any user on ios or android, revoke the users session, and back on the device you can change channel, see the new channel for a few seconds and then you get logged out (on v1). Change channel again and you can see the new one for about half a second before getting booted; I think the dispatch()'s might be getting held up somewhere briefly. I haven't tested on v2 yet, thought I'd the websocket to v1 first.

Yup, I've seen the forceLogout... method - but it does not kick in immediately, you can change channels once or twice before getting booted

Expand on this, what is the reason of the "delay"?, cause if there is something causing the delay on checking if the request returned a 401 to logout the user, that should be looked at. I'm not against the WS event but I think this can be "fixed" without server updates

Actually pretty easy to reproduce - log in to rc.test.mattermost.com with any user on ios or android, revoke the users session, and back on the device you can change channel, see the new channel for a few seconds and then you get logged out (on v1). Change channel again and you can see the new one for about half a second before getting booted; I think the dispatch()'s might be getting held up somewhere briefly. I haven't tested on v2 yet, thought I'd the websocket to v1 first.

I mean half a second should be more than acceptable in my opinion, in fact I think is more than ok to wait for an eternity until there is a request that returns a 401 which should be any request really. But yes, the WS event would make this "immediate"
Anyhow, I think the more important thing to address is the notifications :)

Regarding the discussion about switching channels for half a second before logging out, my guess is the following:

The app navigates first, and then tries to fetch the new data.
While the app is navigating, shows for a short time the local information
While the local information is being shown, we receive the response of the new data, with a 401
And at this point (after we have shortly shown local information) we get logged out.

So... for perceived performance reasons, we should keep doing things that way, but it is true that it will create some "glitch" perception (you see the other channel for a fraction of a second). 0/5 on whether avoiding that glitch is worth server changes.


Add module scope stream logger to plugin init

Currently the plugins are not doing much in the way of adding to the log.  Make the stream logger for what the plugin is doing more descriptive of actions and steps taken for timeline reconstruction.

https://github.com/ThreatResponse/aws_ir/blob/master/aws_ir/__init__.py Stream logger as it exists is here

This works only needs to be used in plugins.


refactor(backend): context hook

Motivation
This fixes #1503.
This is necessary before I can properly implement role based authorization (for the admins).
How to test

CI should be green

Nice refactor. Much better structured, and I like the context function. Please check for the false positive. How do you want to realize the admin authorization? So far the single source of truth is authentik and therefore the token. When you touch the authChecker function, the token is already `out of scope.

Role based-authorization can be done with this: https://github.com/dreammall-earth/dreammall.earth/pull/1686/files#diff-ab0ffeecd111988f9570b4645447f2cf50e1aecc99eef4cc4d45fbfbe3314dcbR65 and we would create an admin group with { roles: ['admin'] } attributes. Every member of this group will have the deep-merged roles in the JWT payload. Authentik has a concept of "roles" as well, but I could not find a documented way to encode that in the payload. I guess, group attributes are the way to go.
Also, I vote to decode the JWT in the backend and return the currentUser.roles to the frontend without a database call if not necessary. We can store the roles in the database, too, why not. But I would like to avoid a findOrCreateBy database call in the context hook unless we need to update/save the currentUser in our database.

@roschaefer pls do your thing


feat: generics for signDocument

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add files via upload

https://www.itmatamoros.edu.mx
https://www.matamoros.tecnm.mx/site/pagina?id=20

@JuanGarciaITM First stage of verification passed, official domain is itmatamoros.edu.mx as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@JuanGarciaITM Pull request merged. Thank you.


Flaky storage adapter test

This test has been failing by time out recently. Restarting fixes it. https://github.com/latticexyz/mud/actions/runs/7695357200/job/20968050919?pr=2202

just saw this too 🤔  wonder why this only just started appearing

I think this started happening recently because we updated the generated test data (logs) after a long period of not updating this file, and all the new logs means the tests take slightly longer than before, tipping it over the default timeout (5s).
Bumped this in #2223


Fix: ISDIR: illegal operation on a directory for sha.js

When package name ends with .js like sha.js it shouldn't be considered as a module.

I'm confused.  Isn't sha.js a module?  (https://github.com/crypto-browserify/sha.js/tree/105bfe57c69e13c83fcf7a6ca660dd984cb291bf)
It has a package.json... and also a file called sha.js.
What it getting to node_modules/sha.js/sha.js and treating that as a module?

In the current version of fusebox, this will be resolved as node_modules/sha.js which is a package dir, not a module, so it can't be loaded and the result is an error: ISDIR: illegal operation on a directory for sha.js.

@kamilchm can it be reproduced by doing this:
import "sha.js" ?

@kamilchm 4.0.0-next.159
Not reproducible having the following code
import * as oi from 'sha.js';
console.log(oi);

It looks like it's more complicated than I thought before. I encountered it on a large codebase where sha.js is deep down in the dependency tree. I'll try to cut only the meaningful parts from there to have the smallest possible sample to reproduce the error.


error when using with OpenResty cli

in function get_cur_dir I'm getting this error (I isolated it to the resty cli tool):
$ resty -e "local x = io.popen('pwd 2>/dev/null', 'r'); print(x:read())"
/Users/thijs/code/lua-resty-dns-client
$ resty -e "local x = io.popen('pwd 2>/dev/null', 'r'); print(x:read('*a'))"
nilInterrupted system call4
$

Somehow read("*a") from io.popen triggers the error, where read() succeeds

This is an issue with the resty cli. The nginx event loop sends Unix signals and the Lua io library doesn't know about them (because it is OS-agnostic), so the underlying syscall used by io.popen halts with EINTR, and you get the error.
Given that resty is embedding Lua(JIT) in its signal-enabled Unix environment, it's their responsibility to ensure that the Lua they offer works correctly with the environment they're embedding it in. I believe @thibaultcha even sent a patch to OpenResty's repo of LuaJIT adding support for catching EINTR and retrying the C library call in (some?) io calls, which alleviates this issue. I'm afraid it breaks the ability to do Ctrl-C reliably, though. I'm not sure a fully clean solution to this is possible, signals are a pretty "meh" aspect of the Unix design.
In any case, this is not a luacov issue, so I think we can safely close this one. :)

Yes obviously that is the case. My point would be that we do not need "*a", just reading the first line (default behaviour of read iirc) should be enough.

If the workaround in luacov is so small and still reliable I think it's worth applying.

@thibaultcha thanks for the update! that does sound like a good approach indeed.
@mpeterv @Tieske I don't think this is a reliable solution — it makes the problem less likely to hit, but I think it's still prone to EINTR. Still, the change is harmless so why not.


Revert "Spelling fixes and codespell CI job"

Reverts aws-controllers-k8s/test-infra#340
Prow has been down since yesterday.  Investigation shows parsing errors in jobs.yaml.  I suspect this change was not adequately tested before merge.

Closing in favor of #353


[staging-next] archiveopteryx: fix build on aarch64 by conditioning -Wno-error flag

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.

Apologies for the mass ping, messed up opening the merge request and started it pointing to the main branch instead of staging-next.

@ofborg build archiveopteryx

@ofborg eval


HMS-3166 test: list domain

This change add the initial smoke tests for list domains endpoint and fix a bug detected during the implementation of the test.
Depends on: #42

Content cherry-picker on #42 ; closing.

Content cherry-picker on #42 ; closing.


How to change evaluation on NSGA2?

All of the Evaluator classes seem to perform sequential evaluation of some kind, i.e. individuals of the population are evaluated one at a time by the objective function. Is there a way to pass the entire population at once to the objective function (as a numpy.array or pandas.DataFrame)  so as to reduce NSGA2's total computation time per generation?

Hi.
There are several subclasses of Evaluator that computes the evaluations in parallel: MultiprocessEvaluator, SparkEvaluator and DaskEvaluator.
Antonio

Hello Antonio,
I was actually hoping to pass a matrix containing all members of the population to the objective function, so as to make only one evaluation instead of many in parallel. I managed to do solve the problem by creating a new Evaluator class and subclass and using it on a slightly different version of the GeneticAlgorithm and NSGA2 classes.


Confirm without needing to login

Is this a BUG REPORT or FEATURE REQUEST?
Could be considered a Bug. When trying to confirm, if you are not logged in, it leads you to a 404 error. There are multiple solutions to this:

Making the view login required and removing 404
Confirming and redirecting to root for login

It should also happen similarly to cancel. In this case, probably making the view login required would make more sense.
What happened

User receives an invitation email
User clicks confirm link from a new device
Users gets 404 error as they are not logged in.

What you expected to happen
Get a better error and possibly a better lead to next action to do.
How to reproduce it (as minimally and precisely as possible)
Explained above
Anything else we need to know?
Nope

For us it gives us a 500 server error. (Not sure if this is because of a change in our fork, but I don't recall making any change here.)


Update codepen.io with importable scss reference

Description

CodePen.io, under the official Zurb Foundation user, no longer has an up to date importable scss reference.  The last importable template is from May 2017.  You can see the issue demonstrated here:
https://codepen.io/ZURBFoundation/pen/rmpWNK
...which imports from:
https://codepen.io/ZURBFoundation/pen/mmprJa
without the compiled sass you can't use any mix-ins, sass references, or functions.  So what happens is you have to hack around my media queries and such instead of being able to import them.  this causes a disconnect since the only other option currently is to import compiled css.  public code pens for learning/demo purposes also give less value to anyone who googles/stumbles across it because of the missing ability to use functions, base references, and mixins in scss.
Fixing this also adds the ability for you to add demo links in your docs.
Possible Solution

Update the importable template to the most recent version and maintain it
Checklist

[x] I have read and follow the CONTRIBUTING.md document.
[x] here are no other issues similar to this one.
[x] The issue title and template are correctly filled.

I ended up figuring out how to do this myself.
You are welcome to fork it for your own uses:  https://codepen.io/bozach/pen/wvwZbLL
Then in your actual pen after linking to it as an external css file, add
@include foundation-everything; //(or whatever base you want)
You should be able to hit view compiled css afterwards and you'll see the post-processed css to verify it worked.

We should migrate to something like storybook to be able to update the code.

See https://github.com/foundation/foundation-sites/issues/11867


Question about the AE experiment

Hi, I am a little confused by the AE experiment. The input data for the AE experiment is a fully-connected graph. I understand that the "attention" parameter is turned on while feeding a fully-connected graph and let the model infer edges, but it is only the case in the QM9 experiment. In the AE experiment, the attention parameter is set to False and the given graph is still fully-connected. Would you mind explaining a little bit about it?
Thanks for your time!

Hi Yuan,
Exactly, when the attention parameter is turned on, a soft representation of the edges is inferred. But we only used attention in the QM9 experiment. In the AE we didn't use it, then just a fully connected graph is assumed.
Best,
Victor

Thanks for your quick response!
I believe it is for the specific setting, meaning to tackle the symmetry problem, right? So, if I would like to work on a different graph, the input edge connections are important, should I include the real graph connection?
Yuanqi

I would say yes, you should include them. Notice that in our graph auto-encoding experiment we also have edge connections that define the graph and are required. But we included them as edge attributes (check line, variable edge_attr). Even if we send messages between all nodes (fully connected message passing) the input to each edge operation receives a 0 or 1 value depending whether that edge exists or not in the input graph.
This is a valid solution as long as you do not have to scale to very large graphs since messages scale M^2 with respect to the number of nodes M. So if that is your case, you can just encode your edges as the edge_attr variables and directly use the model from our experiment. On the other hand, if you need to scale to very large graphs, you may want to include sparsity and then you may have to do moodify the edges variable.
I hope this helped,
Best,
Victor

Thanks for your detailed explanations!
I see. Actually, I saw the edge connection was concatenated into the edge features. I was wondering whether this way is equivalent to feed a sparse graph. Oh, I see. So, the edge_mlp figures out the relationships of the features and calculations via BP. So, I believe two ways are somehow equivalent in theory, right?
Best,
Yuanqi

It was a pleasure to meet you at the poster session. Closing the issue. Regarding the last question, edge connections were concatenated as an edge feature. Notice this is a more generic solution than just setting those edges to 0 since we still send messages among all nodes and it is up to the network to figure out those relationships as you said. Also notice that when scaling to larger graphs (it is not the case in our paper) it may be desirable to include sparsity since the number of edges scales O(N^2).
Best,
Victor