Support for GB-5600

Can you please add support for G-shock model GB-5600 with modules 3409 and 3419?
This is one of the older Bluetooth models without support in other Casio apps.
Module 3409:
https://support.casio.com/storage/en/manual/pdf/EN/009/qw3409.pdf
Module 3419:
https://support.casio.com/storage/en/manual/pdf/EN/009/qw3419.pdf

https://shockbase.org/search.php?search=GB-5600&suchen=Search
Thank you for doing amazing work with this app.

I would be happy to add support for that watch, but I don't have one. Even on Amazon, they are hard to find.
Spellcheck: If you have this watch, could you help me set a baseline on what works and what doesn't? I have the following questions:

Does the watch connect?
If it connects, which functions work (setting time, alarm, reminders, etc.)?

I will be happy to work with somebody in possession of this watch to add support. However, if the functions are quite different from newer watches, like the GW-5600, having the watch for development is essential.

I would be happy to add support for that watch, but I don't have one. Even on Amazon, they are hard to find.
If you have this watch, could you help me set a baseline on what works and what doesn't? I have the following questions:

Does the watch connect to this app?
If it connects, which functions work (setting time, alarm, reminders, etc.)?

I will be happy to work with somebody in possession of this watch to add support. However, if the functions are quite different from newer watches, like the GW-5600, having the watch for development is essential.

Official app for GB5600 is called G-SHOCK+ and it is retired now, last version was 2.24 I think, and it can be found as .apk file.
Here is video how it works: https://youtu.be/sRySqlgdbBk
There is alternative called GadgetBridge that mostly support GB5600:
Supported features:

Notifications
Music Control
Phone Finder
Time synchronization
Alarm Configuration
https://gadgetbridge.org/gadgets/wearables/casio/

I'm considering ordering this watch to add support:
https://www.ebay.ca/itm/204769512087?_trkparms=amclksrc%3DITM%26aid%3D1110006%26algo%3DHOMESPLICE.SIM%26ao%3D1%26asc%3D20221018081743%26meid%3D9c30f6b9a9f04a408334c1517aefe6a3%26pid%3D101429%26rk%3D1%26rkt%3D12%26sd%3D115928588439%26itm%3D204769512087%26pmt%3D1%26noa%3D0%26pg%3D2332490%26algv%3DSimPLMWebV1EmbeddedAuctionsCPCAutoManualWithCIIXAIRecalls%26brand%3DCasio&_trksid=p2332490.c101429.m2460&itmprp=cksum%3A2047695120879c30f6b9a9f04a408334c1517aefe6a3|enc%3AAQAJAAABEPKnfAn1YVgzXYNBnKUOLA238zTqvrvpvkroIzumA%252FV8jXi2N91w8doxMyFUMk86zTtsUh4giTQfMC6FAfW78dYerhlVSIMu7h8Q8hPtvpaMRO%252BLa6nIoT11mvP%252FfPcre2gFYOgU10zidbqMQ%252BOHsPIgVwrpY0vS9x%252BQUhH4ibsYX%252BN7EZNh5biZZzFZU3TJQXIbjOg5g8eeQpjaL%252BT7xOAS3ueTzQiXLm3XStns4JckvcONcOKC%252BkBgQ5OePpDWNVcmzqQ5XHCv0zPGhul%252FpR8ik1KS3xcRNk1Bm2V8iv2FjjQsX7RoVUH8qksoMG9BgD9m5O8BaMCR24NPHsayA5wNIqsXuIXvn4KDSCbU8kl5|ampid%3APL_CLK|clp%3A2332490&epid=2109960767&itmmeta=01HXC4SKZM3X9G7FT8X2HRQNGR
Would that work?
On Wed, May 8, 2024, 5:57 AM biterminator @.***> wrote:

I would be happy to add support for that watch, but I don't have one. Even
on Amazon, they are hard to find.
If you have this watch, could you help me set a baseline on what works and
what doesn't? I have the following questions:

Does the watch connect to this app?
If it connects, which functions work (setting time, alarm,
reminders, etc.)?

I will be happy to work with somebody in possession of this watch to add
support. However, if the functions are quite different from newer watches,
like the GW-5600, having the watch for development is essential.
Official app for GB5600 is called G-SHOCK+ and it is retired now, last
version was 2.24 I think, and it can be found as .apk file.
Here is video how it works: https://youtu.be/sRySqlgdbBk
There is alternative called GadgetBridge that mostly support GB5600:
Supported features:

Notifications
Music Control
Phone Finder
Time synchronization
Alarm Configuration
https://gadgetbridge.org/gadgets/wearables/casio/

—
Reply to this email directly, view it on GitHub
https://github.com/izivkov/CasioGShockSmartSync/issues/80#issuecomment-2100209997,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA7M37TYJVJ5B2G3GVCT443ZBHZIVAVCNFSM6AAAAABHG6ULR2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBQGIYDSOJZG4
.
You are receiving this because you commented.Message ID:
@.***>

I'm considering ordering this watch to add support: https://www.ebay.ca/itm/204769512087?_trkparms=amclksrc%3DITM%26aid%3D1110006%26algo%3DHOMESPLICE.SIM%26ao%3D1%26asc%3D20221018081743%26meid%3D9c30f6b9a9f04a408334c1517aefe6a3%26pid%3D101429%26rk%3D1%26rkt%3D12%26sd%3D115928588439%26itm%3D204769512087%26pmt%3D1%26noa%3D0%26pg%3D2332490%26algv%3DSimPLMWebV1EmbeddedAuctionsCPCAutoManualWithCIIXAIRecalls%26brand%3DCasio&_trksid=p2332490.c101429.m2460&itmprp=cksum%3A2047695120879c30f6b9a9f04a408334c1517aefe6a3|enc%3AAQAJAAABEPKnfAn1YVgzXYNBnKUOLA238zTqvrvpvkroIzumA%252FV8jXi2N91w8doxMyFUMk86zTtsUh4giTQfMC6FAfW78dYerhlVSIMu7h8Q8hPtvpaMRO%252BLa6nIoT11mvP%252FfPcre2gFYOgU10zidbqMQ%252BOHsPIgVwrpY0vS9x%252BQUhH4ibsYX%252BN7EZNh5biZZzFZU3TJQXIbjOg5g8eeQpjaL%252BT7xOAS3ueTzQiXLm3XStns4JckvcONcOKC%252BkBgQ5OePpDWNVcmzqQ5XHCv0zPGhul%252FpR8ik1KS3xcRNk1Bm2V8iv2FjjQsX7RoVUH8qksoMG9BgD9m5O8BaMCR24NPHsayA5wNIqsXuIXvn4KDSCbU8kl5|ampid%3APL_CLK|clp%3A2332490&epid=2109960767&itmmeta=01HXC4SKZM3X9G7FT8X2HRQNGR Would that work?
…
On Wed, May 8, 2024, 5:57 AM biterminator @.> wrote: I would be happy to add support for that watch, but I don't have one. Even on Amazon, they are hard to find. If you have this watch, could you help me set a baseline on what works and what doesn't? I have the following questions: 1. Does the watch connect to this app? 2. If it connects, which functions work (setting time, alarm, reminders, etc.)? I will be happy to work with somebody in possession of this watch to add support. However, if the functions are quite different from newer watches, like the GW-5600, having the watch for development is essential. Official app for GB5600 is called G-SHOCK+ and it is retired now, last version was 2.24 I think, and it can be found as .apk file. Here is video how it works: https://youtu.be/sRySqlgdbBk There is alternative called GadgetBridge that mostly support GB5600: Supported features: - Notifications - Music Control - Phone Finder - Time synchronization - Alarm Configuration https://gadgetbridge.org/gadgets/wearables/casio/ — Reply to this email directly, view it on GitHub <#80 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA7M37TYJVJ5B2G3GVCT443ZBHZIVAVCNFSM6AAAAABHG6ULR2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBQGIYDSOJZG4 . You are receiving this because you commented.Message ID: @.>

This one should work, it has updated module 3419 with few small additional features (snooze, and bottom indicators).
But maybe there is someone in your local area who can lend you the watch until you add support.
Also on Reddit there are sometimes deals for GB-5600:
https://www.reddit.com/r/Gshockexchange/search/?q=gb-5600&type=link&sort=new&iId=d97fcaee-abf3-4e90-ab4e-3222cccfb793
https://www.reddit.com/r/Watchexchange/search/?q=gb-5600&type=link&sort=new&iId=bea39472-dc4b-4ced-9f5e-f98f92cb3df3

Thanks for the info. I ordered the GB-5600B-1JF, and should come early June. Should take a couple of weeks to get it working after that.
Unfortunately, it is difficult to get people to lend me a watch, I have tried it before. My gotHub repository does not get enouph trafic to find people willing to lend.

There are people who appreciate your work, but try posting more updates in:
https://www.reddit.com/r/gshock/
https://www.watchuseek.com/

@biterminator
I got a hold of the GB-5600 and am trying to understand how it works. My first impression is that it is very different from the modern G-Shock watches.
Aside from that, I am having problems connecting to Gadgetbridge most of the time. I'm running Android 11 on a Moto Power phone. I was able to connect once or twice and capture some data, but then it stopped connecting. I'm not sure if I am doing something wrong. What is your experience with Gadgetbridge and the GB-5600?
I also downloaded the G-Shock+ APK but was unable to connect the watch even once.

Bluetooth connection drop is happening more with this model, but low battery power could make it worse.
Luckily GB-5600 is using cheap CR2032 battery.

There seems to be a problem with my particular watch. I changed the battery, and it keeps disconnecting immediately after connecting. I have use a number of programs with the same reult.
Unfortunately I will have to shelf this issue for now.

Sorry, I tried, but the watch is too different from what the app does, so cannot add support in this app.


Cookies - base64 encoding

Add base64 encoding/decoding for cookies value to avoid OWASP
ModSecurity Core Rule Set (CRS) false-positive detection
In our tests "_identity" cookie offends rules 981245 and 981246 as it contains a serialized data that it's detected as a suspect SQL injection.
See https://github.com/SpiderLabs/owasp-modsecurity-crs/blob/master/base_rules/modsecurity_crs_41_sql_injection_attacks.conf
It's a first review, maybe the encoding support can be enabled with a flag like enableCookieValidation.

Hmm. That doesn't seem to be real issue but false positive of security scanner. Not going to change working code just in order for it to be silent.

I agree that it's not a bug, but an enhancement to make the cookie management more "robust": IMHO base64 encoded strings are preferable instead of serialized values.
I have suggested to use the same technique adopted for CSRF token as in that way it would be used a well known method.
I had made tests on a cPanel 11.50 host where I've enabled ModSecurity's "OWASP ModSecurity Core Rule Set" that's shipped by default.

base64 encoded strings are significantly longer. Thus may violate cookies size limit of IEs easily.

I don't see how base64 making it more robust or why it's preferrable.

It's just my point of view, I prefer OWASP compatibility paying a 33% overhead on string length.
I understand your position, I will simply maintain my fork adding a flag to enable explicitly the encoding when needed.
Thanks for your review!


AUDIO_THREAD: Not found right ESP hot waking

HI there
Got my SP32 S3 today tested it with shipped code and it woke fine
Loaded the willow code but now fails to wake and can see this in console
guess I'm missing something in config but not sure what
E (12:11:02.293) AUDIO_THREAD: Not found right xTaskCreateRestrictedPinnedToCore.
Please enter IDF-PATH with "cd $IDF_PATH" and apply the IDF patch with "git apply $ADF_PATH/idf_patches/idf_v4.4_freertos.patch" first
E (12:11:02.303) AUDIO_THREAD: Error creating RestrictedPinnedToCore media_task
E (8560) ESP_AUDIO_CTRL: Error create media_task
E (12:11:02.316) WILLOW: failed to add HTTP input stream to ESP Audio
E (12:11:02.323) WILLOW: failed to add input stream to ESP Audio
E (12:11:02.330) WILLOW: failed to add FLAC decoder to ESP Audio
E (12:11:02.339) WILLOW: failed to add output stream to ESP Audio
E (8592) ESP_AUDIO_CTRL: Error input parameter. line:1163
I (12:11:02.350) WILLOW: audio player initialized
E (12:11:02.355) I2S: register I2S object to platform failed
I (12:11:02.363) WILLOW: Using local multinet
MC Quantized wakenet9: wakeNet9_v1h24_hiesp_3_0.63_0.635, tigger:v3, mode:2, p:0, (Jun 14 2023 11:15:21)
Build fst from commands.
I (12:11:07.209) WILLOW: SNTP client synchronized time to<PHONE_NUMBER>
Quantized MultiNet6:rnnt_ctc_1.0, name:mn6_en, (Jun 14 2023 11:15:20)
Load 374 pre-defined speech commands.
Quantized MultiNet6 search method: 2, time out:2.0 s
E (12:11:09.616) AUDIO_THREAD: Not found right xTaskCreateRestrictedPinnedToCore.
Please enter IDF-PATH with "cd $IDF_PATH" and apply the IDF patch with "git apply $ADF_PATH/idf_patches/idf_v4.4_freertos.patch" first
E (12:11:09.629) AUDIO_THREAD: Error creating RestrictedPinnedToCore feed_task
E (12:11:09.637) AUDIO_THREAD: Not found right xTaskCreateRestrictedPinnedToCore.
Please enter IDF-PATH with "cd $IDF_PATH" and apply the IDF patch with "git apply $ADF_PATH/idf_patches/idf_v4.4_freertos.patch" first
E (12:11:09.658) AUDIO_THREAD: Error creating RestrictedPinnedToCore fetch_task
E (12:11:09.666) AUDIO_THREAD: Not found right xTaskCreateRestrictedPinnedToCore.
Please enter IDF-PATH with "cd $IDF_PATH" and apply the IDF patch with "git apply $ADF_PATH/idf_patches/idf_v4.4_freertos.patch" first
E (12:11:09.686) AUDIO_THREAD: Error creating RestrictedPinnedToCore recorder_task
E (12:11:09.694) AUDIO_RECORDER: Fail to create recorder_task
I (12:11:09.703) WILLOW: app_main() - start_rec() finished
E (12:11:09.707) AUDIO_THREAD: Not found right xTaskCreateRestrictedPinnedToCore.
Please enter IDF-PATH with "cd $IDF_PATH" and apply the IDF patch with "git apply $ADF_PATH/idf_patches/idf_v4.4_freertos.patch" first
E (12:11:09.727) AUDIO_THREAD: Error creating RestrictedPinnedToCore at_read
I (12:11:09.736) WILLOW: cmd_multinet[] size: 12027 bytes
I (12:11:09.741) WILLOW: MAC address: f4:12:fa:e2:30:98
I (12:11:09.747) WILLOW: Startup complete! Waiting for wake word.
 Do you have a screenshot of settings (with sensitive stuff censored of course :) ) I've got a couple devices flashed several times each and haven't run into this 😮

How did you build? The standard method applies an adf patch I think, which
the error suggests you may be missing?
On Fri, 30 Jun 2023, 18:50 Nick Bento, @.***> wrote:

What wake word did you choose? Do you have a screenshot of settings (with
sensitive stuff censored of course :) ) I've got a couple devices flashed
several times each and haven't run into this 😮
—
Reply to this email directly, view it on GitHub
https://github.com/toverainc/willow/issues/216#issuecomment-1614983147,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABBRBFFYCE5KAMG4RPIS4PLXN4GVLANCNFSM6AAAAAAZ2DW3RE
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

The Dockerfile for our container applies this necessary patch.
You could review it and try to apply the patch manually but the real issue here is how you got this far with that step missing. I'm not sure how you installed, configured, built, and flashed but if the patch didn't apply you likely have other issues.
You should probably start over and make sure you follow the instructions in the README exactly.

OK Ive fixed this issue I was using a raspberry pi for the docker as that was what was in my bench at the time
spun a debian on an old laptop and it worked first time


change gradle and bump shared settings to 5.3.9

Will add changes to new branch trying to support Micronauts Serde instead of Jackson


Remove unnecessary dependencies.

Fix issue with broke  comments. Non-compilable code for Mockito 2 API.

Thanks!


[20.03] tendermint: 0.32.3 -> 0.32.10 for security fixes

Fix #91006
(cherry picked from commit ce4e6b8a753cddc624726c39a2f7d2a23ff5893e)

Motivation for this change
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 91041 1

1 package built:
- tendermint


Hiding something

Not saying much here
Test URLs:

Before: https://stage--express--adobecom.hlx.page/express/
After: https://obfuscation--express--adobecom.hlx.page/express/

Codecov Report

Merging #156 (8ef45ea) into stage (c783b2a) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##            stage     #156   +/-   ##
=======================================
  Coverage   35.59%   35.59%
=======================================
  Files          27       27
  Lines        9488     9488
=======================================
  Hits         3377     3377
  Misses       6111     6111

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Two differences between wenet and espnet

Thank you for your nice work!
I found two differences between wenet and espnet:

Layernorm/Batchnorm in conv module
Positional Encoding reverse True/False
Are these modifications necessary？

@whiteshirt0429 Please help explain this.
In my experiments of aishell-1, using batchnorm in the conv module is better than the layernorm. (both coverage speed and were).

@whiteshirt0429 Please help explain this.
In my experiments of aishell-1, using batchnorm in the conv module is better than the layernorm. (both coverage speed and were).

thanks for your feedback.

Layernorm/Batchnorm are both tried in my early experiments, and the decoder results of  layernorm one are a little better, so we use Layernorm instead of  Batchnorm, and the latest  result of layernorm one on aishell test set even can get 4.59. While @placebokkk  gets a different result with me.We still try to compare the difference, also hope you can help us to verify it.
Positional Encoding reverse True/False: reverse param is not used in current code.

thanks for your feedback.

Layernorm/Batchnorm are both tried in my early experiments, and the decoder results of  layernorm one are a little better, so we use Layernorm instead of  Batchnorm, and the latest  result of layernorm one on aishell test set even can get 4.59. While @placebokkk  gets a different result with me.We still try to compare the difference, also hope you can help us to verify it.
Positional Encoding reverse True/False: reverse param is not used in current code.


changing result reader to json

Codecov Report

Merging #742 (5a9e36b) into develop (4544d90) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop     #742   +/-   ##
========================================
  Coverage    86.75%   86.75%
========================================
  Files           51       51
  Lines         2763     2763
========================================
  Hits          2397     2397
  Misses         366      366

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


How to combine custom validation with JSON API Schema?

So I am obviously using AJV with a custom schema to check data that comes in via our API.
I am using the JSON API schema  to deifne how data should be structured, and I've built my custom validation schema around that structure (needing the top level data object, a type string etc) but I'd like to combine the JSON API Schema with my custom one.
Ideally meaning I would only have to write the schema for the attributes (and relationships if they exist) and have the JSON API schema handle everything else.
Is that possible? If so, can I get some insight on how to achieve that?

Not sure what “custom schema” means - possibly you can give an example? Maybe you should look at user-defined keywords (docs/keywords.md)

@epoberezkin custom schema means I am writing an AJV schema in a JSON file that I load in, that defines the validation rules used to check data with AJV.
See your example code here https://github.com/json-api/json-api/blob/gh-pages/schema - that code shows a custom schema.
As opposed to the JSON API schema which someone has written to work with the JSON API specification.
I don't need custom keywords. I need to be able to use the JSON API schema (https://github.com/json-api/json-api/blob/gh-pages/schema) with my custom schema (well, a part of it, "attributes")

You should be able to add API schema to ajv and to use references ($ref) to point to any part of another schema - see docs/validation.md

@epoberezkin I'll be honest, the documentation for AJV isn't very user friendly, especially for someone coming into JSON Schema validation as a newbie.
As I mentioned in my OP, I want to utilise the JSON API Schema file, and merge it with my custom schema to validate the attributes field. I was hoping someone could show me an example of how to achieve this?

I agree - it is quite a large scope - there will be some improvements once the new website is launched in a few months.
Ajv documentation is not attempting to be a replacement for JSON Schema documentation and tutorials - it only covers the basics, and it should be more explicit about it - learning JSON Schema specification elsewhere is critical to effectively use any JSON Schema validator. A very effective place to get support on JSON Schema usage is Stack Overflow - it's not ajv-specific.
On combining schemas I was specifically referring to this section: https://github.com/ajv-validator/ajv/blob/master/docs/validation.md#modular-schemas - it has a simple example that show how to make one schema depend on another.

Hmm, I am writing my schema in a separate JSON file, and the files are not accessible via a public URL, so again, I'm not sure how to implement this as the example uses publicly accessible schema files.

No, they don’t need to be publicly accessible, URIs are just to identify the schemas, they have to be added to ajv using addSchema

Probably it’s worth stating it in the docs explicitly.

@epoberezkin again, the documentation really isn't help me visualise the solution I'm after.
Is it at all possible for you to provide an example where the custom schema is written in a local external JSON file, references the external JSON API Schema and defines custom rules for attributes ?
Right now, the documentation and what your saying, might as well be in Klingon, to be honest.

I meant this example from the link I sent (I've only changed the file names):
const yourSchema = {
  $id: "http://example.com/schemas/schema.json",
  type: "object",
  properties: {
    foo: {$ref: "defs.json#/definitions/int"},
    bar: {$ref: "defs.json#/definitions/str"},
  },
}

const yourJSONApiSchema = {
  $id: "http://example.com/schemas/defs.json",
  definitions: {
    int: {type: "integer"},
    str: {type: "string"},
  },
}

const ajv = new Ajv({schemas: [schema, defsSchema]})
const validate = ajv.getSchema("http://example.com/schemas/schema.json")

did you try it?

@epoberezkin I explained, that won't work for me, as my custom schema is in a JSON file, it's not in the JS code as a const
And as I said before, that example relies on public URIs for the schema locations, which is only applicable for the JSON API Schema, but I'dd likely want to include that in my project as another JSON file.
Sorry, but the exmaple you've provided really is of no help.

@epoberezkin I explained, that won't work for me, as my custom schema is in a JSON file, it's not in the JS code as a const

You can still require it from your code so you have it in the variable.
const schema = require(“./yourjsonfile”)

that example relies on public URIs for the schema locations

no, it doesn’t, they can be replaced with any strings, it’s recommended to use URIs though. They are not public locations, just identifiers, Ajv uses them internally without any access to public locations


Redo: MB-2650 update save-fuel-price-data scheduled task to save-ghc-fuel-price-data

Redoing an old commit and deploying on a different schedule. This will not be merged without coordination with prod deployment.
Description
We are replacing save-fuel-price-data with save-ghc-fuel-price-data as a scheduled task to be run every night at 10 p EST.
Reviewer Notes
I believe the variables required per each environment are the same for save-ghc-fuel-price-data as for save-fuel-price-data.
I removed save-fuel-price-data from the scheduled tasks as requested in the ticket.
Setup
This is going to be done in conjunction with this PR: (reference https://github.com/transcom/terraform-aws-app-environment/pull/21)
Code Review Verification Steps

[ ] Tested in the Experimental environment (for changes to containers, app startup, or connection to data stores)
[ ] Request review from a member of a different team.
[x] Have the Jira acceptance criteria been met for this change?

References

Jira story for this change

Messages

:book:
:link: MB-2650

  Generated by :no_entry_sign: dangerJS against e01d317e6bcef025ddb16df8898e85d5789678c9


Chapter 16 exercise 6

I'm newbie, this program couldn't draw the clock until arrive return guimain(), so the clock hands couldn't update.

Maybe should add a Fl::wait() in the loop


Removing overcloud network as part of cleanup.

The patch takes care of removing the overcloud
network which had to be taken care of manually.
Signed-off-by: Alexander Chuzhoy<EMAIL_ADDRESS>

FWIW,
took all the non-merged commits for a spin - worked fine. Ended up with deployed nodes.

lgtm


Support "current package" imports

I hate having to import the current package to import inner types or static functions written in Java in the same package.
Can we support:
import package { Java { Inner} }

Or:
import . { Java { Inner} }
// for two packages up
import ../.. { Java { Inner} }
// from sibling impl package
import ../impl { Java { Inner} }

I wonder if Windows users will demand support for import ..\impl { … }…

If we did this, I would make this the syntax:
import { Java { Inner }, Foo=Bar }

Well, doesn't it prevent importing from the toplevel package of the default module?

but... but ... you can't import from default module, can you?

No, you can't.

Sure you can, from within the default module you can import any package from that default module, no?

No, you can't import the default package.

OK, but is that a voluntary limitation? Although it does not seem very important to be able to, I can't think of any valid reason why we should disallow that.

I see absolutely no reason at all to let you reference and import from something that has no name.

Regularity? You could consider the nameless package the root of the nameless module. And just like packages from named modules can import their root package, the default module could too. Frankly I'm only arguing to make sure we don't rush ourselves into a corner because that would be an enhancement we would not be able to make later, even though the default module is very much a rare beast.

I'm completely against that change.

Fine.


TypeError: done is not a function

I'm running into an issue with a dependency library.
TypeError: functions.find is not a function     at Strategy.passport.use.Strategy [as _verify]
It seems that there's work arounds though listed in the issue- https://github.com/jaredhanson/passport/issues/421
Anyone else running into this issue?
I may just be implementing the provider wrong. Looking further into the readMe and source code to see if I'm missing something.

Never mind the issue I was running into is resolved when adding a custom callback option in strategyOptions.

@Babbz75 Thanks for posting a followup!
Provider configuration should be much simpler in version 2.0!


Fix examples and snapshot code of MemStorageCore

Signed-off-by: gengliqi<EMAIL_ADDRESS>Issue: close https://github.com/tikv/raft-rs/issues/408
The commit index of LightReady is not handled in examples.
But the test can not pass is mainly due to the bug of generating snapshot in MemStorageCore.
The term in snapshot meta should not be the hard_state.term. It should be the log term of meta.index.
By the way, the snapshot has an assumption that all entries whose index is less than hard_state.commit has been applied, which is not true when using async ready. So I leave a TODO and I will resolve it soon.

@BusyJay @NingLin-P  PTAL, thanks.


comparison in Debug.Assert of MIResults.cs

https://github.com/microsoft/MIEngine/blob/7637a9b6f6a081ed5b03e85b2ba252ddbb16c642/src/MICore/MIResults.cs#L983
v <= 255
i have catch this in str = ...value=\"-1 '\\377'\"...

@paulmaybee


parsedmarc quitting early while elasticsearch is starting up.

I just wanted to point out a slight change in docker-compose.yml to have parsedmarc restart on failure. Since elasticsearch may take some while until it's up parsedmac can retry a few times.
docker-compose.yml.zip

Thanks for pointing this out, solved by #5


define what plugins start and stop in project's .vscode

the visual studio code is more and more popular. but for different project, the plugins is different .
such as vue3 and vue2 and react , it needs different plugins.
such  typescript project and rust project need diffrent plugins.
if i can define in .vscode that which plugins start in one project and not in the other project , it will be fun.

/duplicate
See https://github.com/microsoft/vscode/issues/116740, https://github.com/microsoft/vscode/issues/40239, https://github.com/microsoft/vscode/issues/39272 for example

Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for similar existing issues. See also our issue reporting guidelines.
Happy Coding!


Adds yes php implementation

run php yes.php with no arguments, or with any string as argument to test it

Thank You :+1:


[R] write_parquet expose similar options as python parquet.write_table ?

Describe the enhancement requested
I've found R write_parquet
write_parquet(
  x,
  sink,
  chunk_size = NULL,
  version = "2.4",
  compression = default_parquet_compression(),
  compression_level = NULL,
  use_dictionary = NULL,
  write_statistics = NULL,
  data_page_size = NULL,
  use_deprecated_int96_timestamps = FALSE,
  coerce_timestamps = NULL,
  allow_truncated_timestamps = FALSE
)

missed some options compared to python parquet.write_table
pyarrow.parquet.write_table(table, where, row_group_size=None, version='2.4', use_dictionary=True, compression='snappy', write_statistics=True, use_deprecated_int96_timestamps=None, coerce_timestamps=None, allow_truncated_timestamps=False, data_page_size=None, flavor=None, filesystem=None, compression_level=None, use_byte_stream_split=False, column_encoding=None, data_page_version='1.0', use_compliant_nested_type=False, encryption_properties=None, write_batch_size=None, dictionary_pagesize_limit=None, store_schema=True, **kwargs)

maybe R interface should also expose similar options? the most important options to me is
use_byte_stream_split/ column_encoding, since I'm using R to save parquet file, but it can't specify best column encoding for every column and leads bigger file, I have to use pyarrow to convert it again, which is not very ideal.
Component(s)
R

This is a similar kind of enhancement to https://github.com/apache/arrow/issues/34577 and might even be done in the same bit of work.


Installing testrpc in Ubuntu cannot be used

ubuntu 16.04 LTS
Istall:npm install -g ethereumjs-testrpc
command:testrpc
exception:/usr/local/.../node_modules/web3-provider-engine/node_modules/ethereumjs-util/index.js
exports.SHA3_NULL=Buffer.from(exports.SHA3_NULL_S,'hex')
TypeError:hex is not a fuction
...

Probably it's because node 4.5 minimum is required :(

should probably be surrounded with a try catch and then print that environment should be upgraded

@tinder-dyakobian then engines filed should be added https://docs.npmjs.com/files/package.json#engines
do you want make a PR? I think testrpc team will be happy accept such changes

Ya thats a good idea, I will do once I switch to my personal account after work

What version is your node?

Can all of you give the TestRPC beta a try? First uninstall the normal one, if installed (or partially installed):
$ npm uninstall -g ethereumjs-testrpc

And then install the beta version:
$ npm install -g ethereumjs-testrpc

The beta version significantly improves installation and should bypass your installation issues.
Since this is a beta version, I'd very much appreciate feedback on how it works for you and if you run into any errors during use.

I'm still not able to install testrpc.  The beta for truffle worked fine, but for testrpc:
npm ERR! code 1
npm ERR! Command failed: /usr/bit/git clone --depth=1 -q -b master https://github.com/debris/bignumber.js.git /home//.npm/_cacahe/tmp/git-clone-10a327a5/.git: Permission Denied
npm ERR!
npm ERR! A complete log of this can be found in:
........

Closing due to age.


roomId string or number?

Hi!
I've started having problems today due a mismatch in the type of roomId.
As far as I see, in most places the expected type is to be number, but the roomId returned by the newMessage hook is string.
Is there an expected date to release #102 ?
Is it safe to parse it locally to integer and just ignore the upcoming change?
Thanks!

Hi there,
Currently room IDs should always be numbers. In the next breaking version change we're switching to string room IDs everywhere with the ultimate goal of allowing user provided room IDs. You shouldn't be seeing string room IDs anywhere just yet though... what version of the SDK are you using, and where specifically are you seeing string roomIDs? (in the message object passed to the newMessage hook?)

Hi @callum-oakley, thanks for the prompt reply!
I'm using the version 0.7.17
When I opened this issue the problem was occurring in the onNewMessage hook
user.subscribeToRoom({
    roomId: room.id,
    hooks: {onNewMessage: (message) => dispatch(onNewMessage(message))},`
})

And I've fixed with  message.roomId = parseInt(message.roomId).
I've just tried to remove the parsing and it seems to be working properly. I've also checked the Websocket frame (in the chrome network tab), and now the value seems indeed to be coming as number (but I didn't check back then.)
I guess I didn't collected much data when the error occurred, I supposed the chatkit server was returning the roomId in this specific hook as string.
In any case, I'll keep an eye to see if it happens again and let you know.
Thanks!

Thanks for bringing this to our attention! Turns out it was a bug we'd introduced as part of the aforementioned work towards having room IDs be strings in the future. You shouldn't see this happen again but if you do please do let us know. Cheers :)

how to get individual message from a room through roomID?I am trying "message.text" but i am getting the message as undefined


subscribeToInvoice() call forget invoices after nodejs restarts

If nodejs restarts at the time an invoice is held
invoice with hash: a76fa7f91fffca163edbb1373c0358b065dc216397f02d51761f10f588e3db19 is being held!

Node loses tracking of this event and when releasing, if the invoice is paid, but the subscribeToInvoice does not follow the normal workflow, the status is not changed to PAID_HOLD_INVOICE and as a consequence the buyer is not paid.
We need to think a way of avoid this situation, one is never restart nodejs if at least one invoice is held, but we need to have a procedure to follow if the server crashes.

I've been trying to figure this out. There are some things that I couldn't understand:

How the orders that follow the paths below achieve a SUCCESS status in database?

waitPayment ----> addInvoiceMessage ----> /fiatsent ----> fiatSentMessage ----> /release
waitPayment ----> subscribeInvoice ----> onGoingTakeSellMessage ----> /fiatsent ----> fiatSentMessage ----> /release

We can make some assumptions about the status of the lightning node connected to the bot? That would discard the situation where the node goes offline and the bot server restarts.

I'm biased by the /buy orders because I've never done a /sell order. Is the /release command executed at some point of the transaction? It is not executed? What is the flow of the program in that case?

This is the order workflow
order type=buy
Order published (PENDING) -> taken (WAITING_PAYMENT) -> bot ask buyer invoice (WAITING_BUYER_INVOICE) -> ACTIVE -> /fiatsent (FIAT_SENT) -> /release (PAID_HOLD_INVOICE) -> after buyer's invoice paid (SUCCESS)
order type=sell
Order published (PENDING) -> taken (WAITING_BUYER_INVOICE) -> bot ask seller to pay invoice (WAITING_PAYMENT) -> ACTIVE -> /fiatsent (FIAT_SENT) -> /release (PAID_HOLD_INVOICE) -> after buyer's invoice paid (SUCCESS)
On waitPayment() we create the hold invoice to seller and create a nodejs event to listen when that invoice status change, that way we can monitorize and do stuff when we receive the seller's payment.
The issue is that I don't know how to persist that event if nodejs crash for any reason, we can save it on database and delete it after the seller release the payment but that implies that we need to change our logic on subscribeInvoice(), that's not my first option, I am want to hear ideas before do that.

I was thinking that the we-can re subscribe to the invoice when executing the /release command using the order.hash. We could even recycle the subscribeInvoice function.
On /release execution, if invoice.is_held some messages will be printed again and we should verify that the logic triggered under that condition doesn't roll back things in the database, . If invoice.is_confirmed we should check again that the logic doesn't roll back changes in database, but it will put the order in path to SUCCESS again.
WDYT?

That's sounds great! I think we should check that re-subscribe and tie again the process doesn't get some unexpected errors, but the idea is simple and what I was looking for, great idea 🥇

Good! I will start testing by my own.

I thought about this, the key is re-subscribe, I think the easiest way of doing it is:

nodejs starts
nodejs connects to lnd node
we run getinvoices({ lnd, is_unconfirmed: true })
If we get results with is_held: true we query order by hash
Then we subscribe again subscribeInvoice(bot, hash)

Before push this to production we need to test we can test it each separately.

I've reproduced the behavior detailed above in this branch. I had to create a new function for lightning service and change some things in the files related to the server main process to make it work properly.
I've tested it in the following cases:

Order = BUY.

Situation: The server restarts after invoice is paid and before the command /fiatsent is executed.
Result:

The bot re sends the message asking for an invoice to the buyer. You can send a new invoice or the same invoice used in the first part of the operation.
The bot asks the buyer to re send the command /fiatsent.
The bot asks the seller to execute /release.
The operation is finished successfully.

Order = Buy.

Situation: The server restarts after invoice is paid and before the command /release is executed.
Result:

The bot re sends the message asking for an invoice to the buyer. You can send a new invoice or the same invoice used in the first part of the operation.
The bot asks the buyer to re send the command /fiatsent.
The bot asks the seller to execute /release.
The operation is finished successfully.

Info: In both cases the path followed by the code is: resubscribeInvoices =>  subscribeInvoice => onGoingTakeBuyMessage.
Drawback:  The messages re sent didn't give any clue to the user about what was happening or if something gone wrong with their orders. A message explaining the situation could be helpful.
Caveat: The parameter is_unconfirmed in the function getInvoices seems to be not working, because the use of different values with that parameter return the same responses. I have tested that with the following code:
const unconfirmedInvoices = (await getInvoices({ lnd, is_unconfirmed: true })).invoices;
const confirmedInvoices = (await getInvoices({ lnd, is_unconfirmed: false })).invoices;
console.log(JSON.stringify(confirmedInvoices)==JSON.stringify(unconfirmedInvoices));

Great job!! I just tested and made some small fixes, here is the patch, apply it and try again
diff --git a/ln/resubscribe_invoices.js b/ln/resubscribe_invoices.js
index 52d774a..e0179c7 100644
--- a/ln/resubscribe_invoices.js
+++ b/ln/resubscribe_invoices.js
@@ -14,16 +14,17 @@ const resubscribeInvoices = async (bot) => {
     if (Array.isArray(unconfirmedInvoices) && unconfirmedInvoices.length > 0) {
         const heldInvoices = unconfirmedInvoices.filter(isHeld);
         for (const invoice of heldInvoices) {
-            const orderInDB = Order.findById(invoice.id);
+          const orderInDB = await Order.findOne({ hash: invoice.id });
             if(!!orderInDB) {
-                await subscribeInvoice(bot, invoice.id);
-                invoicesReSubscribed++;
+              console.log(`Re-subscribing: invoice with hash: ${invoice.id} is being held!`);
+              await subscribeInvoice(bot, invoice.id, true);
+              invoicesReSubscribed++;
             }
         };
     }
     console.log(`Invoices resubscribed: ${invoicesReSubscribed}`);
   } catch (error) {
-    console.log(`resuscribeInvoice catch: ${error}`);
+    console.log(`ResuscribeInvoice catch: ${error}`);
     return false;
   }
 };
diff --git a/ln/subscribe_invoice.js b/ln/subscribe_invoice.js
index 8173436..29f93f5 100644
--- a/ln/subscribe_invoice.js
+++ b/ln/subscribe_invoice.js
@@ -4,11 +4,11 @@ const { payToBuyer } = require('./pay_request');
 const lnd = require('./connect');
 const messages = require('../bot/messages');

-const subscribeInvoice = async (bot, id) => {
+const subscribeInvoice = async (bot, id, resub) => {
   try {
     const sub = subscribeToInvoice({ id, lnd });
     sub.on('invoice_updated', async (invoice) => {
-      if (invoice.is_held) {
+      if (invoice.is_held && !resub) {
         console.log(`invoice with hash: ${id} is being held!`);
         const order = await Order.findOne({ hash: invoice.id });
         const buyerUser = await User.findOne({ _id: order.buyer_id });

I've just tested it. It works perfectly. For the sake of completeness I updated my test cases results:

Order = BUY.

Situation: The server restarts after invoice is paid and before the command /fiatsent is executed.
Result:

The bot keeps waiting for the /fiatsent command.
/fiatsent is executed.
/release is executed.
The operation is finished successfully.

Order = BUY.

Situation: The server restarts after invoice is paid and before the command /release is executed.
Result:

The bot keeps waiting for the /release command.
/release is executed.
The operation is finished successfully.

I will open a PR with the changes.


Blazemeter Taurus Manifest

Packaged Blazemeter Taurus Manifest. Please check.
Microsoft Reviewers: Open in CodeFlow

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


Update index.js

Yes I have complete the bot , but the problem is how to use whatsapp
bot.....🤔
On Wed, 6 Jan 2021, 21:58 martin-696<EMAIL_ADDRESS>wrote:

You can view, comment on, or merge this pull request online at:
https://github.com/MhankBarBar/whatsapp-bot/pull/180
Commit Summary

Update index.js

File Changes

M index.js
https://github.com/MhankBarBar/whatsapp-bot/pull/180/files#diff-e727e4bdf3657fd1d798edcd6b099d6e092f8573cba266154583a746bba0f346
(6)

Patch Links:

https://github.com/MhankBarBar/whatsapp-bot/pull/180.patch
https://github.com/MhankBarBar/whatsapp-bot/pull/180.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/MhankBarBar/whatsapp-bot/pull/180, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AR5ZDX72GZJM3JP54HHWC7TSYSFUDANCNFSM4VXYJXGA
.

Yes I have complete the bot , but the problem is how to use whatsapp
bot.....🤔
On Wed, 6 Jan 2021, 21:58 martin-696<EMAIL_ADDRESS>wrote:

You can view, comment on, or merge this pull request online at:
https://github.com/MhankBarBar/whatsapp-bot/pull/180
Commit Summary

Update index.js

File Changes

M index.js
https://github.com/MhankBarBar/whatsapp-bot/pull/180/files#diff-e727e4bdf3657fd1d798edcd6b099d6e092f8573cba266154583a746bba0f346
(6)

Patch Links:

https://github.com/MhankBarBar/whatsapp-bot/pull/180.patch
https://github.com/MhankBarBar/whatsapp-bot/pull/180.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/MhankBarBar/whatsapp-bot/pull/180, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AR5ZDX72GZJM3JP54HHWC7TSYSFUDANCNFSM4VXYJXGA
.


output wrong(shifted) data if add/remove strings

GitLens ignore new line shifts in modified file.
Steps:

open document modify history has few people, for example:
line 1 by user A
line 2 by user B
line 3 by user C
put cursor in end of line 1 and press Enter
check owners of lines 1-4

Expected:
line 1 by user A
line 2 (empty) has no user
line 3 by user B
line 4 by user C
Actual:
line 1 by user A
line 2 (empty) by user B
line 3 by user C
line 4 has no user

@SailorMax Thanks for the report -- there are some definitely issues here and will get them fixed up!

@eamodio Same problem still exist if file was modified by external editor. VSCode catch modifications, but GitLens - not.

@SailorMax can you open a separate issue for that? Also please provide the steps to reproduce it. Thanks!


[CRITICAL] Update our processes for testing on staging / prod

Problem
We've had a ton of "bugs" that have been caused by testers using a combination of prod/staging unknowingly. This can create confusing errors in spotnana, since they have separate databases for prod/staging. We can ask everyone to use production, but that will cot us real $$$, minimally for the booking fee, but also if someone forgets to cancel a trip and get a refund in time.
Solution
Outline a process for testing on staging that all testers across sales/QA/etc can use to avoid this confusion going forward.

Created a SO here to set up testing accounts: https://stackoverflowteams.com/c/expensify/questions/19798/19799#19799

After the next deploy we can send out an email about how this works to make sure that everyone is on the same page

I made a post here in slack with the new testing steps

Do you think we need anything else here @kevinksullivan ?

Nope!


Move cursors container inside lines container

Fixes #15241.
This will ensure that applying any style that changes the location of the lines container will also correctly position the cursors.
@Ben3eeE @ungb: can you help me test this? I can't reproduce the issue anymore by using the no-caffeine-syntax theme or the personal stylesheet provided in https://github.com/atom/atom/issues/15241#issuecomment-322509336, but it'd be nice if you could give this a spin and ensure we didn't break anything else accidentally.
/cc: @nathansobo

@as-cii @nathansobo
With no-caffeine-syntax + Soft Wrap + ctrl-scroll the first line in the file renders other lines. I also see the cursor jumping down the line under the one where it currently is.

@Ben3eeE I can't reproduce either of these things on a fresh build of master at 586b818bae9886649da7d3fbdb231d419b0fbe90.

@nathansobo Same here. Fresh build of master at https://github.com/atom/atom/commit/586b818bae9886649da7d3fbdb231d419b0fbe90. Maybe it's a Windows only or something else going on. It reminds me of https://github.com/atom/find-and-replace/issues/868

@nathansobo @as-cii I see the same issue on a different computer running Windows 7 on a fresh build of Atom this morning. Here are the developer tools for this line:


Add ogondza to sectioned-view team

Description
https://github.com/jenkinsci/sectioned-view-plugin
@recena, @tbingaman

Permissions pull request checklist

Always

[x] Add link to plugin/component Git repository in description above

When adding new uploaders (this includes newly created permissions files)

[x] Make sure to @mention an existing maintainer to confirm the permissions request, if applicable
[x] Use the Jenkins community (LDAP) account name in the YAML file, not the GitHub account name
[x] All newly added users have logged in to Artifactory at least once

Seems @tbingaman hasn't been around for a few years, so this should be fine.


Vary

As discussed in #14

Other than that one nit, this looks good to go!
Thank you!

Other than that one nit

Are you referring to something for me to change?

Other than that one nit

Are you referring to something for me to change?

Woops, sorry! Yeah, I thought I'd finalized my review!

It wasn't clear to me whether you wanted me to use type Error = Infallible and ignore the panic possibility or add a new error variant, so I did the latter.

This one seems ready to merge


[BUG] {{ dl-line chart }} - {{ Ux issue }}

The range selector is not working well.

https://github.com/dataloop-ai/components/assets/121247551/e0bed302-2c85-4244-8708-dcdb912da2dd

@rotemshaham, please describe in details what you'd like to change/improve: what works bad and how'd like to improve the behavior :pray:

@VictorOpenTech The range selector/zoom is not working smoothly. The grab and drag are very difficult to use.

@rotemshaham I tested, brush component works as expected, if it's too small you can make it bigger via props.

@fadiDL, we don't received explicit actions for the line chart from @rotemshaham
you have an option to change the size of the brush from props, do we need to change smthng in design?

@SorinOpt @VictorOpenTech there does seem to be an issue here with the size of the div we click on. from the video it does seem that rotem is clicking on the div and dragging and the dlbrush is not moving at all.
@SorinOpt if you cant reproduce this try in vue2 if neither is reproduced then pleaes close this issue
@rotemshaham since we have a prop to handle size of the brush handlers then it can be mitigated for smaller displays or higher resolution ones on OA side.


Use gRPC by default for Logging/PubSub

Context: https://github.com/GoogleCloudPlatform/google-cloud-php/issues/450
As discussed in issue above, we should hold off on making this switch until we have confirmed that the performance will not suffer too much (or will improve).

Closed by #641.


[Bug]: Logs not respecting category choice for cross-seed torrent file injections.

Describe the Bug
When using the cross-seed funtionality, to inject .torrent files that cross-seed itself has failed to inject, the logs appear to show them being added to an incorrect category. The category displayed would seem to be the fist alphabetical match with the same path. In qbit itself though, the torrent seems to be added to the correct category. Some users use multiple categories with the same path.
Config
# This is an example configuration file that documents all the options.
# It will need to be modified for your specific use case.
# Please refer to the link below for more details on how to set up the configuration file
# https://github.com/StuffAnThings/qbit_manage/wiki/Config-Setup

# qBittorrent parameters
qbt:
  host: qbittorrent-vpn:8080
  user: [redacted]
  pass: [redacted]

settings:
  force_auto_tmm: false
  tracker_error_tag: issue
  ignoreTags_OnUpdate: # When running tag-update function, it will update torrent tags for a given torrent even if the torrent has one or more of the tags defined here.
  - noHL
  - issue
  - cross-seed
  nohardlinks_tag: noHL
directory:
  cross_seed: /cross-seed/
  root_dir: /data/torrents/
  remote_dir: /data/torrents/
  recycle_bin: /data/torrents/.RecycleBin
  torrents_dir: /qbit_appdata
  orphaned_dir: /data/torrents/orphaned_data
cat:
  bhdstudio-1080p: /data/torrents/movies
  bhdstudio-1080p.cross-seed: /data/torrents/movies
  bhdstudio-2160p: /data/torrents/movies-4k
  bhdstudio-2160p.cross-seed: /data/torrents/movies-4k
  cross-seed-data: /data/torrents/cross-seed-data
  cross-seed-data.cross-seed: /data/torrents/cross-seed-data
  framestor-1080p: /data/torrents/movies-4k
  framestor-1080p.cross-seed: /data/torrents/movies-4k
  framestor-2160p: /data/torrents/movies-4k
  framestor-2160p.cross-seed: /data/torrents/movies-4k
  movies: /data/torrents/movies
  movies-completed: /data/torrents/movies
  movies-completed.cross-seed: /data/torrents/movies
  movies.cross-seed: /data/torrents/movies
  movies-4k: /data/torrents/movies-4k
  movies-4k-completed: /data/torrents/movies-4k
  movies-4k-completed.cross-seed: /data/torrents/movies-4k
  movies-4k.cross-seed: /data/torrents/movies-4k
  music: /data/torrents/music
  music-completed: /data/torrents/music
  music-completed.cross-seed: /data/torrents/music
  music.cross-seed: /data/torrents/music
  ratio: /data/torrents/ratio
  ratio.cross-seed: /data/torrents/ratio
  tv: /data/torrents/tv
  tv-4k: /data/torrents/tv-4k
  tv-4k-completed: /data/torrents/tv-4k
  tv-4k-completed.cross-seed: /data/torrents/tv-4k
  tv-4k.cross-seed: /data/torrents/tv-4k
  tv-completed: /data/torrents/tv
  tv-completed.cross-seed: /data/torrents/tv
  tv.cross-seed: /data/torrents/tv
  books: /data/torrents/books
  books-completed: /data/torrents/books
  books.cross-seed: /data/torrents/books
  books-completed.cross-seed: /data/torrents/books
  torrents: /data/torrents/

tracker:
  tleechreload:
    tag: TorrentLeech
    limit_upload_speed: 128
  torrentleech:
    tag: TorrentLeech
    limit_upload_speed: 128
  cinemaz:
    tag: Cinemaz
  localhost.stackoverflow.tech:
    tag: IPTorrents
    limit_upload_speed: 128
  immortalseed.me:
    tag: Immortalseed
  digitalcore.club:
    tag: Digitalcore
  hawke.uno:
    tag: hawke-uno
  blutopia.xyz:
    tag: Blutopia
  blutopia.cc:
    tag: Blutopia
  hdts-announce.ru:
    tag: HDTorrents
  reactor.filelist.io:
    tag: FileList
    limit_upload_speed: 128
  reactor.flro.org:
    tag: FileList
    limit_upload_speed: 128
  beyond-hd:
    tag: Beyond-HD

  routing.bgp.technology:
    tag: routing.bgp.technology
nohardlinks:
  bhdstudio-1080p:
    exclude_tags:
    cleanup: true
    max_ratio: 10.0
    max_seeding_time: 28800
    limit_upload_speed:
    min_seeding_time: 0
    resume_torrent_after_untagging_noHL: true
  bhdstudio-1080p.cross-seed:
    exclude_tags:
    cleanup: true
    max_ratio: 10.0
    max_seeding_time: 28800
    limit_upload_speed:
    min_seeding_time: 0
    resume_torrent_after_untagging_noHL: true
  bhdstudio-2160p:
    exclude_tags:
    cleanup: true
    max_ratio: 10.0
    max_seeding_time: 28800
    limit_upload_speed:
    min_seeding_time: 0
    resume_torrent_after_untagging_noHL: true
  bhdstudio-2160p.cross-seed:
    exclude_tags:
    cleanup: true
    max_ratio: 10.0
    max_seeding_time: 28800
    limit_upload_speed:
    min_seeding_time: 0
    resume_torrent_after_untagging_noHL: true
  cross-seed-data:
    exclude_tags:
    cleanup: true
    max_ratio: 10.0
    max_seeding_time: 28800
    limit_upload_speed:
    min_seeding_time: 0
    resume_torrent_after_untagging_noHL: true
  cross-seed-data.cross-seed:
    exclude_tags:
    cleanup: true
    max_ratio: 10.0
    max_seeding_time: 28800
    limit_upload_speed:
    min_seeding_time: 0
    resume_torrent_after_untagging_noHL: true
  framestor-1080p:
    exclude_tags:
    cleanup: true
    max_ratio: 10.0
    max_seeding_time: 28800
    limit_upload_speed:
    min_seeding_time: 0
    resume_torrent_after_untagging_noHL: true
  framestor-1080p.cross-seed:
    exclude_tags:
    cleanup: true
    max_ratio: 10.0
    max_seeding_time: 28800
    limit_upload_speed:
    min_seeding_time: 0
    resume_torrent_after_untagging_noHL: true
  framestor-2160p:
    exclude_tags:
    cleanup: true
    max_ratio: 10.0
    max_seeding_time: 28800
    limit_upload_speed:
    min_seeding_time: 0
    resume_torrent_after_untagging_noHL: true
  framestor-2160p.cross-seed:
    exclude_tags:
    cleanup: true
    max_ratio: 10.0
    max_seeding_time: 28800
    limit_upload_speed:
    min_seeding_time: 0
    resume_torrent_after_untagging_noHL: true
  movies-completed:
    exclude_tags:
    cleanup: true
    max_ratio: 10.0
    max_seeding_time: 28800
    limit_upload_speed:
    min_seeding_time: 0
    resume_torrent_after_untagging_noHL: true
  movies-completed.cross-seed:
    exclude_tags:
    cleanup: true
    max_ratio: 10.0
    max_seeding_time: 28800
    limit_upload_speed:
    min_seeding_time: 0
    resume_torrent_after_untagging_noHL: true
  movies.cross-seed:
    exclude_tags:
    cleanup: true
    max_ratio: 10.0
    max_seeding_time: 28800
    limit_upload_speed:
    min_seeding_time: 0
    resume_torrent_after_untagging_noHL: true
  movies-4k-completed:
    exclude_tags:
    cleanup: true
    max_ratio: 10.0
    max_seeding_time: 28800
    limit_upload_speed:
    min_seeding_time: 0
    resume_torrent_after_untagging_noHL: true
  movies-4k-completed.cross-seed:
    exclude_tags:
    cleanup: true
    max_ratio: 10.0
    max_seeding_time: 28800
    limit_upload_speed:
    min_seeding_time: 0
    resume_torrent_after_untagging_noHL: true
  movies-4k.cross-seed:
    exclude_tags:
    cleanup: true
    max_ratio: 10.0
    max_seeding_time: 28800
    limit_upload_speed:
    min_seeding_time: 0
    resume_torrent_after_untagging_noHL: true
  music-completed:
    exclude_tags:
    cleanup: true
    max_ratio: 10.0
    max_seeding_time: 28800
    limit_upload_speed:
    min_seeding_time: 0
    resume_torrent_after_untagging_noHL: true
  music-completed.cross-seed:
    exclude_tags:
    cleanup: true
    max_ratio: 10.0
    max_seeding_time: 28800
    limit_upload_speed:
    min_seeding_time: 0
    resume_torrent_after_untagging_noHL: true
  music.cross-seed:
    exclude_tags:
    cleanup: true
    max_ratio: 10.0
    max_seeding_time: 28800
    limit_upload_speed:
    min_seeding_time: 0
    resume_torrent_after_untagging_noHL: true
  ratio:
    exclude_tags:
    cleanup: true
    max_ratio: 10.0
    max_seeding_time: 28800
    limit_upload_speed:
    min_seeding_time: 0
    resume_torrent_after_untagging_noHL: true
  ratio.cross-seed:
    exclude_tags:
    cleanup: true
    max_ratio: 10.0
    max_seeding_time: 28800
    limit_upload_speed:
    min_seeding_time: 0
    resume_torrent_after_untagging_noHL: true
  tv-4k-completed:
    exclude_tags:
    cleanup: true
    max_ratio: 10.0
    max_seeding_time: 28800
    limit_upload_speed:
    min_seeding_time: 0
    resume_torrent_after_untagging_noHL: true
  tv-4k-completed.cross-seed:
    exclude_tags:
    cleanup: true
    max_ratio: 10.0
    max_seeding_time: 28800
    limit_upload_speed:
    min_seeding_time: 0
    resume_torrent_after_untagging_noHL: true
  tv-4k.cross-seed:
    exclude_tags:
    cleanup: true
    max_ratio: 10.0
    max_seeding_time: 28800
    limit_upload_speed:
    min_seeding_time: 0
    resume_torrent_after_untagging_noHL: true
  tv-completed:
    exclude_tags:
    cleanup: true
    max_ratio: 10.0
    max_seeding_time: 28800
    limit_upload_speed:
    min_seeding_time: 0
    resume_torrent_after_untagging_noHL: true
  tv-completed.cross-seed:
    exclude_tags:
    cleanup: true
    max_ratio: 10.0
    max_seeding_time: 28800
    limit_upload_speed:
    min_seeding_time: 0
    resume_torrent_after_untagging_noHL: true
  tv.cross-seed:
    exclude_tags:
    cleanup: true
    max_ratio: 10.0
    max_seeding_time: 28800
    limit_upload_speed:
    min_seeding_time: 0
    resume_torrent_after_untagging_noHL: true
  books-completed:
    exclude_tags:
    cleanup: true
    max_ratio: 10.0
    max_seeding_time: 28800
    limit_upload_speed:
    min_seeding_time: 0
    resume_torrent_after_untagging_noHL: true
  books-completed.cross-seed:
    exclude_tags:
    cleanup: true
    max_ratio: 10.0
    max_seeding_time: 28800
    limit_upload_speed:
    min_seeding_time: 0
    resume_torrent_after_untagging_noHL: true
  books.cross-seed:
    exclude_tags:
    cleanup: true
    max_ratio: 10.0
    max_seeding_time: 28800
    limit_upload_speed:
    min_seeding_time: 0
    resume_torrent_after_untagging_noHL: true

recyclebin:
  enabled: true
  empty_after_x_days: 3
  save_torrents: true
  split_by_category: false

orphaned:
  exclude_patterns:
  - '**/.DS_Store'
  - '**/Thumbs.db'
  - '**/@eaDir'
  - '**/*.!qB'
  empty_after_x_days: 3

notifiarr:
  apikey: [redacted]
  instance: qBittorrent-VPN

webhooks:
  error: notifiarr
  run_start: notifiarr
  run_end: notifiarr
  function:
    cross_seed: notifiarr
    recheck: notifiarr
    cat_update: notifiarr
    tag_update: notifiarr
    rem_unregistered: notifiarr
    rem_orphaned: notifiarr
    tag_nohardlinks: notifiarr
    empty_recyclebin: notifiarr
    tag_tracker_error:

bhd:
  apikey: [redacted]

Logs
https://gist.github.com/yammes08/995d696469e0c9ff5563069f9205f6c0
Screenshots
No response
Installation
Unraid
Version Number
3.6.3
What branch are you on?
develop

Can you please test @yammes08 ?

Nice one - I'll see if I can get a file in there to trigger it and test.

Hmm, I ended up with a slightly different issue. Steps:

Grab a file from usenet
Cross-seed found a match, created a hardlink, and saved the .torrent in the watch folder (I set cross-seed config to save for testing)
Ran qbitm, it rejected the .torrent file as it wasn't already in qbit and orphaned the cross-seeded hardlink
Going to see if I can find a different set of files to prove out the fix to the original issue.

Ran a more representative test:

Grabbed a torrent that was available on multiple trackers
Cross-seed found and saved the file
qbitm picked it up and added to the correct category, and the logs reported the correct category

So, I'd say the original issue is solved :)


sample solution for supplying attributes to content areas

Summary
Example solution for supplying attributes to content areas
Related Issues #285
Other Information
Results of pairing with @joelhawksley

ping @jonspalmer

I'm a little confused about how this implementation solves the original problem in #285. This doesn't look like it allows arguments to be passed into the content areas. Instead it's provide a way to decorate those areas with other static properties. I don't think that's the same thing.

Thanks for doing this spike @andrewmcodes! We're going pursue a different approach to this change ❤

@joelhawksley sounds good! Sorry this change slipped off my radar due to some personal events but I am excited to see what everyone came up with! Thanks for working on this with me!


Stop working on remote notebooks when updating

Hi,
When connected via Remote - SSH, Pylance stop working on notebooks when updating file.
Versions

VSCode 1.87.0, Remote  - SSH 0.107.1 (I'm constraint to work on this version because of this issue)
Issue does at least occur on pylance last versions, 2024.2.1, 2024.2.2, and pre-release 2024.2.105.
Does not occur on python scripts.

Description
When opening .ipynb file, Pylance hovering, ctrl+clic, highlighting etc. all work. But when updating cells, all features are frozen. For instance, when moving the code, Pylance will show highlighting and hovering infos where the code was and not where it is now.
On opening (working):

On updating (broken):

Reloading window resets features adequately, but break again on new update.
Get output error Received change text document command for closed file, so maybe linked to #5326?
Thanks in advance!

Thanks for the issue. This should be a bug in VS code:
https://github.com/microsoft/vscode/issues/206487
I'm marking your issue as a dupe of this one:
https://github.com/microsoft/pylance-release/issues/5543
Which is already tracking the VS code problem.
You should be able to go back to the 1.86.2 version of VS code to fix this problem.


Consider using Microsoft.Azure.Services.AppAuthentication for S2S calls

Please review this article. There might be opportunity to simplify sample project and documentation.
https://docs.microsoft.com/en-us/azure/key-vault/service-to-service-authentication
This is how I modified sample to get it to run in the context of logged in user.
        private static async Task<HttpClient> SetupHttpClient(ILogger logger, AppSettings appSettings)
        {
            var httpClient = new HttpClient(new LoggingHttpHandler(logger))
            {
                BaseAddress = new Uri(appSettings.BaseUrl),
            };

            var tokenProvider = new AzureServiceTokenProvider();
            var accessToken = await tokenProvider.GetAccessTokenAsync("0b07f429-9f4b-4714-9392-cc5e8e80c8b0");

            //var accessToken = (await Authentication.GetToken(logger, appSettings));
            httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + accessToken);
            httpClient.DefaultRequestHeaders.Add("x-ms-flighting-udf-execution-manually-enabled", "true");
            return httpClient;
        }

@sup-s, you might be interested in this as well.

Thank you @stansw for the suggestion. Fernando is our point of contact for engineering and he has marked this as enhancement project. The engineering team should be able to make this modification soon.
FYI @alinamstanciu.

Yes, we've got this. I think anyone can do this workaround based on above code if they need to. I am planning to postpone this for now. The reason is we need to focus on vNext (GA) samples unless we hear many people need this fix.
Thank you
--Alina


Feedback for “Page Configuration”

I added this configuration, but the folder still shows in the sidebar. it didn't work.

Fixed in v3

Fixed in v3

okay, thanks~


Query fee too high on mainnet

I paid 0.02 ETH per query which is much higher than advertised $0.01/query in current ETH prices (~$40 => $0.8/query). See transaction logs of my contracts:
https://etherscan.io/address/0x443dcadf55a41d7caf347b4d925041065fec66f6#internaltx
https://etherscan.io/address/0x0b78438d1b83d529f192729734979c83f0369e56#internaltx
I also tried to call oraclize getPrice and it returns the same price I paid:
> var contractAddress = "0x001a589Dda0D6Be37632925EAf1256986b2c6AD0"
> var oraclize = web3.eth.contract(ABI).at(contractAddress)
> web3.fromWei(oraclize.getPrice.call("URL",1000000))
{ [String: '0.02033266799733865'] s: 1, e: -2, c: [<PHONE_NUMBER>733,<PHONE_NUMBER>0000 ] }

Hello @polybioz,
as explained in our documentation, when calling oraclize_query you don't pay just for the price of the query (0.01 USD for the URL datasource w/o authenticity proofs), but you also cover the gas cost of the callback transaction that Oraclize will need to send back to your contract to deliver the result. The only exception is the first oraclize_query call from each contract, where you don't have to pay anything as we don't charge anything for the query and we do cover ourselves the cost we have for sending the callback transaction (up to 200k gas).
I won't dive into the first query case, as in your case you are specifying a custom gas cost of 1 million gas and so the first free query doesn't apply - but note that at current prices the 200k gas risk we take, is worth over 0.16 USD.
If we look at your specific case, for a callback gas cost of 1M, getPrice is returning an amount of 0.02033266799733865 ETH to be paid, around 0.82 USD. Your 1M gas is currently costing (with the default gasPrice of 20 GWei) more than 0.81 USD, so the actual fee you are paying for the query is less than 1 cent. The reason why it is not exactly 1 cent but lower, is that we update the onchain price from time to time and given the current volatility there could be some small difference.
By looking at your transactions, it seems like the callback transactions (for example this one) never use more than ~180k gas. Setting the custom oraclize gas cost in your contract to 1M is probably way too high and hence costing much more, you could set it to something much lower than that.
This is due to the unused callback tx gas price not being refunded (as explained in our docs). There are two main reasons why we don't refund the unused gas cost of the callback gas:

there is no way in principle to know in advance the exact gas cost of a tx before it will be confirmed, you can just make an estimate but depending on the order of the txs in a block or even the block itself, the gas cost can vary a lot. Oraclize has to commit for the worst case, meaning that we have no choice but to ask you to pay for the full gas you want us to set in your callback tx
after the tx is confirmed, there is no safe way in general to send back to the contract the unspent ETH as such contract should handle it (increasing its complexity) and will likely enter in an unknown state (or those funds would be lost there forever)
Given that, we have chosen to leave this choice up to the user when specifying the gas limit for the callback tx (which you do in oraclize_query, as a last optional argument - default is 200k gas). Any unused gas will not be refunded. The only expection is when you pay offchain for the Oraclize calls, the billing being different this whole problem doesn't apply.

As a consequence the title of this issue should be "Query fee too low on mainnet" instead :)
I hope this help!

Thanks for the thorough explanation! It makes perfect sense now, I should pay more attention to my gas limit (and docs :)).

This makes it very tricky to choose a correct gas limit. As you already said, the number of gas units spent depends on many factors. So as a developer, the only safe choice is to overestimate the gas limit, where you know you will lose some money (by giving it for free to oraclize) but at least the transaction will be completed.

after the tx is confirmed, there is no safe way in general to send back to the contract the unspent ETH as such contract should handle it

Well, sure there are alternatives. Just, off the top of my head:

Calls to oraclize could include a wallet address that unspent gas get matched to. And then, you can just provide a function that allows people to claim their unspent ether. I mean, if someone does use this in a production scale system we are easily talking about a few hundred bucks worth of unspent gas monthly, at least.

You could make the getPrice function take into account how much gas has the contract given away to oraclize, and depending on that return a different price for the transaction.

Comparing it to the whole oraclize stack, the technology involved in making it work, and the geniuses behind it, one would think that implementing a fair alternative to "we will just take the unspent gas for ourselves" wouldn't be much of a problem.

We do already have a solution to this in testing. There's many issues trying to implement a fair on-chain solution that works autonomously, as the same solution cannot be applied to every contract. However, contracts even now have the ability to avoid unspent gas going to Oraclize, by allowing the caller to customize the callback gas manually (albeit the only benefit here is if the callback will exceed 200k gas, as 200k as the default minimum, and the other issue, if they're wrong, the callback will be broadcast, but won't be included as it will run out of gas). So that's a solution developers can do themselves.
The other solution we've been working on is an off-chain payment system, which we'll be looking to make available in the coming weeks, and are already testing it. You'll be able to pay us off-chain, so no charging happens on-chain, you will just be charged for the spent gas + oraclize fees of the queries.


Display problem for Selects with antd 4.10.0

Describe the bug
antd change how the select component is displayed, and it broke the style of the select component used by the Cron picker.
To Reproduce
Install antd 4.10.0, and use the cron component.
CodeSandbox: https://codesandbox.io/s/magical-grass-37w0x
You can see that text inside selects is not vertically centered and placeholder have a huge left padding.
Expected behavior
Text inside selects is vertically centered and placeholder is perfectly displayed.
Screenshots
Before 4.10.0

After 4.10.0

Additional context
Seems to come from this PR: https://github.com/ant-design/ant-design/pull/28520

New release 1.2.1 with a fix 🥳
There is no breaking change and antd versions since 4.6.0 will still work!


Calling .shape on dask array extracted from dask dataframe results in NaN

What happened:
I have a dask array that's extracted from a dask dataframe using .values. Calling .shape on said dask array gives back NaN.
What you expected to happen:
.shape returns the actual shape of the dask array.
Minimal Complete Verifiable Example:
>>> import pandas as pd
>>> import dask.dataframe as dd
>>> pandas_df = pd.DataFrame({'a': [1, 2, 3, 4], 'b': [5, 6, 7, 8]})
>>> dask_df = dd.from_pandas(pandas_df, npartitions=1)
>>> extracted_arr = dask_df.loc[:, 'a'].values
>>> type(extracted_arr)
<class 'dask.array.core.Array'>
>>> extracted_arr.shape
(nan,)
>>> pandas_df.loc[:, 'a'].values.shape  # Doing the same with pandas gives the expected result
(4,)

Anything else we need to know?:
If I create the array directly with da.from_array -- as opposed to extracting from a dask dataframe -- the issue seems to go away.
>>> import dask.array as da
>>> numpy_arr = pandas_df.loc[:, 'a'].values
>>> dask_arr = da.from_array(numpy_arr)
>>> dask_arr.shape
(4,)

Environment:

Dask version: 2.20.0
Python version: 3.8.6
Operating System: macOS Catalina 10.15.7
Install method (conda, pip, source): conda

That's expected, since dask dataframe doesn't know the length of each partition.
You can use https://docs.dask.org/en/latest/array-api.html#dask.array.Array.compute_chunk_sizes to compute the size of the unknown chunks (but this may be expensive)

Thanks for the explanation @TomAugspurger.
In the example I posted above, both dask_df and dask_arr consist of a single chunk/partition. Can you help me understand why the dataframe is  not aware of its shape (more specifically, the number of rows), whereas the array is? Is this difference an intentional design choice?
>>> dask_df.shape
(Delayed('int-f9c8703c-3af3-4ee9-b773-bb39bae4ef52'), 2)
>>> dask_arr.shape
(4,)

It's just the implementation for now. There's another GitHub issue dedicated for dataframe partition lengths if you search for it.

It's just the implementation for now. There's another GitHub issue dedicated for dataframe partition lengths if you search for it.

Linking #5633 here (please do correct me if I'm mistaken)

Thanks both for the help and the additional context.


add agenda for Socratic Seminar 5

To-add News and more reading material for Taproot assets & RGB.
Suggestions appreciated: @GeorgeTsagk @koidis

Sorry guys, committed agenda and news directly to master. Will play by the book next time. :)

Sorry guys, committed agenda and news directly to master. Will play by the book next time. :)

That was actually a better move!


_NativeCameraModule.CameraModule.getLocationPermissionStatus is not a function (it is undefined)🔧

How were you trying to build the app?
I am  using expo to build the app lication and i run npx expo start --dev-client to  run the app
Full build logs
TypeError: _NativeCameraModule.CameraModule.getLocationPermissionStatus is not a function (it is undefined)

This error is located at:
    in Test (at AuthenticateQRCode.js:44)
    in RCTView (at View.js:116)
    in View (at AuthenticateQRCode.js:36)
    in AuthenticateQRCode (at SceneView.tsx:132)
    in StaticContainer
    in EnsureSingleNavigator (at SceneView.tsx:124)
    in SceneView (at useDescriptors.tsx:218)
    in RCTView (at View.js:116)
    in View (at Screen.tsx:63)
    in RCTView (at View.js:116)
    in View (at Background.tsx:13)
    in Background (at Screen.tsx:58)
    in Screen (at DrawerView.tsx:234)
    in RNSScreen (at createAnimatedComponent.js:54)
    in Unknown (at src/index.native.tsx:314)
    in Suspender (at src/index.tsx:27)
    in Suspense (at src/index.tsx:26)
    in Freeze (at src/index.native.tsx:206)
    in DelayedFreeze (at src/index.native.tsx:313)
    in InnerScreen (at src/index.native.tsx:566)
    in Screen (at ScreenFallback.tsx:39)
    in MaybeScreen (at DrawerView.tsx:227)
    in RNSScreenContainer (at src/index.native.tsx:398)
    in ScreenContainer (at ScreenFallback.tsx:30)
    in MaybeScreenContainer (at DrawerView.tsx:188)
    in RCTView (at View.js:116)
    in View (at Drawer.tsx:364)
    in RCTView (at View.js:116)
    in View (at createAnimatedComponent.tsx:579)
    in AnimatedComponent(View) (at createAnimatedComponent.tsx:596)
    in Unknown (at Drawer.tsx:363)
    in RCTView (at View.js:116)
    in View (at createAnimatedComponent.tsx:579)
    in AnimatedComponent(View) (at createAnimatedComponent.tsx:596)
    in Unknown (at Drawer.tsx:354)
    in PanGestureHandler (at Drawer.tsx:345)
    in Drawer (at DrawerView.tsx:261)
    in DrawerViewBase (at DrawerView.tsx:306)
    in RNGestureHandlerRootView (at GestureHandlerRootView.android.tsx:21)
    in GestureHandlerRootView (at DrawerView.tsx:305)
    in RNCSafeAreaProvider (at SafeAreaContext.tsx:92)
    in SafeAreaProvider (at SafeAreaProviderCompat.tsx:55)
    in SafeAreaProviderCompat (at DrawerView.tsx:304)
    in DrawerView (at createDrawerNavigator.tsx:128)
    in PreventRemoveProvider (at useNavigationBuilder.tsx:718)
    in NavigationContent (at useComponent.tsx:35)
    in Unknown (at createDrawerNavigator.tsx:127)
    in DrawerNavigator (at App.js:40)
    in EnsureSingleNavigator (at BaseNavigationContainer.tsx:433)
    in BaseNavigationContainer (at NavigationContainer.tsx:132)
    in ThemeProvider (at NavigationContainer.tsx:131)
    in NavigationContainerInner (at App.js:39)
    in App (at withDevTools.js:18)
    in withDevTools(App) (at renderApplication.js:57)
    in RCTView (at View.js:116)
    in View (at AppContainer.js:127)
    in RCTView (at View.js:116)
    in View (at AppContainer.js:155)
    in AppContainer (at renderApplication.js:50)
    in main(RootComponent) (at renderApplication.js:67), js engine: hermes

Project dependencies
{
  "name": "qrscanner",
  "version": "1.0.0",
  "main": "node_modules/expo/AppEntry.js",
  "scripts": {
    "start": "expo start",
    "android": "expo run:android",
    "ios": "expo run:ios",
    "web": "expo start --web"
  },
  "dependencies": {
    "@react-native-masked-view/masked-view": "0.3.0",
    "@react-navigation/drawer": "^6.6.15",
    "@react-navigation/native-stack": "^6.9.26",
    "axios": "^1.6.8",
    "expo": "~50.0.14",
    "expo-dev-client": "~3.3.11",
    "expo-status-bar": "~1.11.1",
    "react": "18.2.0",
    "react-native": "0.73.6",
    "react-native-fs": "^2.20.0",
    "react-native-gesture-handler": "~2.14.0",
    "react-native-reanimated": "~3.6.2",
    "react-native-safe-area-context": "4.8.2",
    "react-native-screens": "~3.29.0",
    "react-native-vector-icons": "^10.0.3",
    "react-native-vision-camera": "4.0.4",
    "react-native-webview": "13.6.4",
    "react-native-worklets-core": "^0.4.0"
  },
  "devDependencies": {
    "@babel/core": "^7.20.0"
  },
  "private": true
}

VisionCamera Version
4.0.4
Target platforms
Android
Operating system
Windows
Can you build the VisionCamera Example app?
I didn't try (⚠ your issue might get ignored & closed if you don't try this)
Additional information

[X] I am using Expo
[ ] I have enabled Frame Processors (react-native-worklets-core)
[X] I have read the Troubleshooting Guide
[X] I agree to follow this project's Code of Conduct
[X] I searched for similar issues in this repository and found none.

It is  closed as  the build is not done properly


Replace IpcChannel used by test launcher with the one from ipcjson

This functionality already exists in visualstudio_py_ipcjson.py. We just need to derive from the IpcChannel and SocketIO classes instead of implementing it here.
The change is pretty trivial and would get rid of duplicated code.  The files live in separate locations, but are all copied to the same target folder, so there should not be any effect on deployment.
class _IpcChannel(object):
    def __init__(self, socket):
        self.socket = socket
        self.seq = 0
        self.lock = thread.allocate_lock()

    def close(self):
        self.socket.close()

    def send_event(self, name, **args):
        with self.lock:
            body = {'type': 'event', 'seq': self.seq, 'event':name, 'body':args}
            self.seq += 1
            content = json.dumps(body).encode('utf8')
            headers = ('Content-Length: %d\n\n' % (len(content), )).encode('utf8')
            self.socket.send(headers)
            self.socket.send(content)

Need to investigate why making this changes causes regression in TestExecutorTests.TestMulitiprocessing test.

Not worth doing, given that the debugger's IpcChannel Python implementation will eventually be removed from this repository when the AD7 debugger is removed.


Revert deprecation of Cairo0 / V1 transactions

Feature Request
v1 transactions were removed in this PR https://github.com/software-mansion/starknet.py/pull/1451/files
As part of this epic: https://github.com/software-mansion/starknet.py/issues/1334
This is problematic for people that are still using CairoZero and V1 transactions, notably for:

local development (katana, devnet, etc do not have the same restrictions as sn mainnet)
appchain teams (that run a custom stack and still use CairoZero / v1 tx)

Please revert the commits involved to bring back the feature.

Hey @enitrat, thanks for your report. Will update you on this once we discuss the idea internally in our team 👍 .

@enitrat fyi: We reverted the changes :).

Thank you!


pyogrio.errors.DataLayerError: Layer 'NetworkLinks' could not be opened

Looks like network-model-simple.gpkg doesn't contain them

This is a bug but not in this repository but in the base network-model GeoPKG file downloaded from the https://github.com/openraildata/network-rail-gis and is detailed here and was fixed in patch-request 4.
It can be most easily seen if you run:
$ ogrinfo network-model.gpkg
INFO: Open of `network-model.gpkg'
     using driver `GPKG' successful.
1: VectorNodes (Point)
2: Waymarks (Point)
3: ReferenceLines (Line String)
4: NetworkLinks (Line String)

The reason for this was that the FoI base SHP file changed layer names between the original and the latest, and as a result the NetworkLinks layer got flattened.
There are then two options, I'll ask the maintainer to run a release on the openraildata/network-rail-gis data with the now fixed code and then I'll update the link in the download script.
If you want a quick fix, clone the repository network-rail-gis repository from (here)[https://github.com/openraildata/network-rail-gis] and run the ./shp2gpkg.sh script. This will create a local network-model.gpkg which should be copied into woodpecker/data/network-model.gpkg and delete any -simple.gpkg files before running the scripts again.
Please let me know how you get on. When the next FoI centre-line track-model release is dropped this will be fixed.


[Feature] Built-in VelaQL query capability to Vela-Cli

Is your feature request related to a problem? Please describe.

BackGround
VelaQL(Vela Query Language) is a resource query language for KubeVela, used to query application-level resource status. more details refer to doc.
The purpose of VelaQL is to help developer better query status of resources created by Application. or use the extensible interface provided by velaQL to customize query resource information to improve the observability of Application.
Problem
But now the use of VelaQL needs to rely on the apiserver in the velaux addon, and query the resource status needs to request a specific api, like:
curl http://<IP_ADDRESS>:8000/api/v1/query?velaql=component-pod-view{appName="test-app"}

This method is suitable for paas platforms like VelaUx, but it's unfriendly to developers and SRE.
Imporve
In order to improve the experience of using VelaQL, we need to build the query capability of VelaQL into vela-cli. developer can use command like vela ql , and input the VelaQL.(vela ql is an interactive command, The user can input the VelaQL repeatedly.)
Describe the solution you'd like

Built into vela-cli
We should add a new vela command vela ql. In fact, the vela status command has already used the capabilities of VelaQL, so we can refer to the code.
Friendly interactive experience
You must have used ipython, ipython friendly interactive experience can help us write python code better. https://github.com/c-bata/go-prompt can help you use the golang to provide users with an ipython-like interactive experience.

you can also refer to https://github.com/c-bata/kube-prompt

Syntax completion
Views and query conditions are the core components of VelaQL, To be able to provide friendly syntax completion on the command line, you can refer to the vela show command.
Pretty print
The query data should be printed pretty, we can use https://github.com/olekukonko/tablewriter
Describe alternatives you've considered

Additional context

#3511


Semver?

Hi!
Does this library use semantic versioning?
If semver is used it would be good if the Readme mention it.
Thanks!

Hey,
Yes, it does! Thanks for the notice, I'll add versioning information later this afternoon.

Done.


adios2_variable_selection_size => adios2_selection_size

Appears to be the correct name:
https://adios2.readthedocs.io/en/latest/api_full/api_full.html#_CPPv421adios2_selection_sizeP6size_tPK15adios2_variable

ADIOS2.jl seems to require Julia 1.6 now. That change snuck in because ADIOS2_jll now depends on Bzip2_jll, which doesn't exist for Julia <1.6. I corrected the dependency declarations on the ADIOS2.jl main branch.


Support third party key stores

There are various key stores that near shell can support:

Mac's Keychain
GNU GPG, supports ED25519 and SECP256K1 https://wiki.gnupg.org/ECC
Ledger support

CC @damons

Promising library suggested by @mikedotexe: https://github.com/atom/node-keytar#keytar---node-module-to-manage-system-keychain


Imports should be logged

At least in diagnostic logging, <Import/> elements should be output (including condition evaluation if skipped).

I've been thinking about this as part of #1331, because it will be very noisy.
Note that you can get this information today by using the preprocessor, which evaluates conditions and shows all imports with their full path.

@miloush we're thinking about updating the output of the preprocessor which currently shows what's being imported but does not fully explain why an import is left out.  So the current output looks like this:
<!--<Import Project="SomeProject" Condition=" '(SomeProperty)' == 'true' And Exists('SomeProject') " />-->

And it would instead say:
<!--
<Import Project="SomeProject" Condition=" '(SomeProperty)' == 'true' And Exists('SomeProject') " />
 Not imported because the condition evaluated to " '' == 'true' And false "
-->

Would that suffice?  Putting it in the logger output would be very noisy and we think using the preprocessor is better for troubleshooting missing imports.

Yes, that looks like it would do for what I was after!

Closed by 5d44f341e1dd3a5149e13144ba00d36030f87ff4


Build problems

First, thanks for putting this kit in the public - much needed things for MacOS and Swift.
The build fails with the following detail:
Static stored properties not supported in generic types in Tutorial+Demo.swift.
Also, when running the demo, you need to add the https://github.com/danielsaidi/OnboardingKit.git package to the project.

Hi @pkasson
Thank you for reaching out regarding this.
This is the result of me changing the tutorial type to a generic type. Although I want it that way, it makes it hard to extend it with app-specific types :/
I will take a look and hopefully come up with a solution, but I'm currently very busy with another project that I have to wrap up first.

This should be fixed in the latest version.


Improve detection of whether mapToProps functions depends on props.

When using this version with the latest version of reselect, the props are not been passed to the  mapStateToProps selector generated by createStructuredSelector that the form HOC from redux-form takes for its second argument. The reason for that is that it does not accurately report its arity
as seen here
https://github.com/reduxjs/reselect/blob/master/src/index.js#L68.
This case is handled in the react-redux library  here
https://github.com/reduxjs/react-redux/blob/72ed6db1947913bdd4900b324243c43a490b4c5a/src/connect/wrapMapToProps.js#L22
I just copied it over and made sure we treat it the same way.

Published in v5.4.0.


Observation & Measurement Clarifications

1.OMSourceId, OMCodeId, OMCode and CodeComponents are defined, but the definitions are abstract.  Without a real-world example to cross reference, I suspect I'm not the only one who cannot make sense of them.   We need to clarify these definitions.
In the case of OMSourceId and OMCodeId, the definitions say "mostly" this or that.   Can we define the exceptions?

The above 4 properties, plus Grower, Place, SpatialExtent and TimeScopes are duplicated on Obs and ObsCollection.
a. Following the general issue defined in #38, does the duplication of the properties imply that an ObsCollection can only contain like values of its constituents, and all constituents must agree, or that when present, an OMCode, collection of CodeComponents or GrowerId on the Collection override the individual Obs?
b. For TimeScopes and SpatialExtent, is the intent that the data publisher would summarize constituents into comprehensive values?

Obs.Value indicates that its meaning is described by OMCodeDefinition.   There is no object by this name.  Do we mean OMCode?

Following a similar issue in #52 relating to ContextItemDefinitions, does the OMCode definition belong in ADAPT, or is this intended to be used in a model of an external system for vocabularies?    Does the presence of the entity in ADAPT convey that one may create these codes on demand, without any acknowledgement of a governing vocabulary, or that they are necessarily read-only copies of data in external systems included here for convenience?

As alluded to in #55 and #37, is the root Observations entity present only to conform to the existing Document base in ADAPT, or is there a use case for grouping ObsDatasets into a single entity.   If so, can we change this to ObsDatasetCollection so that we may reserve the "Observation" name for Obs (see #55)?

3/4 of the OM enumerations are not used.   OMSemanticResourceStatusEnum, OMSemanticResourceLevelEnum and OMCodeComponentPartEnum will be omitted going forward pending a place to use them.   TelemetryMediumEnum is also present but unused.

From discussion with @aferreyra
Re point 1, we've reworked the definitions for the standard.
Re point 2,  this is a template pattern.   See #73.
Re point 3, we do mean Observation Code (fka OMCode)
Re point 4, for the same reasons we need ad-hoc context items, we need ad-hoc observation codes.
Re point 5, we've adopted the following unabbreviated terminology
Observations Document
Observations Dataset
Observations Collection
Observation
Re point 6, these are parts of the PAIL standard not otherwise reference (or currently needed) in ADAPT.

Closing old Observations issues.  Observations was removed from Scope of ADAPT Standard 1.0.   We will work through a revised implementation indepedently of what was in the ADAPT Framework.