RUMM-2422 Process Session Replay touch and orientation change events

What does this PR do?
A brief description of the change being made with this pull request.
Motivation
What inspired you to submit this pull request?
Additional Notes
Anything else we should know when reviewing?
Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] Make sure you discussed the feature or bugfix with the maintaining team in an Issue
[ ] Make sure each commit and the PR mention the Issue number (cf the CONTRIBUTING doc)

Codecov Report

Merging #1014 (6b72c53) into mconstantin/rumm-2421/process-snapshots-as-fullsnapshotrecords (82339be) will increase coverage by 0.05%.
The diff coverage is 92.98%.

@@                                        Coverage Diff                                         @@
##           mconstantin/rumm-2421/process-snapshots-as-fullsnapshotrecords    #1014      +/-   ##
==================================================================================================
+ Coverage                                                           83.09%   83.14%   +0.05%
==================================================================================================
  Files                                                                 320      320
  Lines                                                               10296    10334      +38
  Branches                                                             1697     1704       +7
==================================================================================================
+ Hits                                                                 8555     8592      +37
- Misses                                                               1207     1208       +1
  Partials                                                              534      534

Impacted Files
Coverage Δ

...d/sessionreplay/utils/SessionReplayTimeProvider.kt
100.00% <ø> (ø)

...oid/sessionreplay/utils/SessionReplayRumContext.kt
58.33% <33.33%> (-8.33%)
:arrow_down:

...droid/sessionreplay/processor/SnapshotProcessor.kt
93.00% <96.30%> (+5.31%)
:arrow_up:

...ain/java/com/datadog/opentracing/PendingTrace.java
58.62% <0.00%> (-1.72%)
:arrow_down:

...rc/main/java/com/datadog/opentracing/DDTracer.java
56.07% <0.00%> (-0.42%)
:arrow_down:

...src/main/kotlin/com/datadog/android/DatadogSite.kt
86.67% <0.00%> (ø)

...android/v2/core/internal/DatadogContextProvider.kt
81.03% <0.00%> (ø)

...rsistence/file/batch/PlainBatchFileReaderWriter.kt
89.22% <0.00%> (+0.98%)
:arrow_up:

...android/rum/internal/ndk/DatadogNdkCrashHandler.kt
88.30% <0.00%> (+1.06%)
:arrow_up:


Capture error when file comes to a service without a token

Error appear when a file comes to the service with an http path but without a token.
[31-Oct-2017 12:44:49 UTC] PHP Fatal error:  Uncaught Katana\Sdk\Exception\InvalidValueException: Missing token for File: body in .../vendor/kusanagi/katana-sdk-php7/src/Api/File.php:96

That happens when a token for a file in the command message is missing, which should not happens.
Anyways, I've prepared a patch that will capture most of what could happen during the parsing. That way the request will fail anyways, but the component won't crash. Will land in 1.2.7.


Running Clippy + rustfmt and add them to CI

When I was working on #120, I noticed that Clippy and rustfmt are not run in this project. I didn't run them in #120 to avoid polluting the PR but I thought I'd do them in a separate PR. Feel free to reject this but I've personally always found that rustfmt and Clippy highly improve the quality of the code in a Rust project.

@mmghannam what do you suggest I do regarding the code coverage failures?

@mmghannam what do you suggest I do regarding the code coverage failures?

Well, they just failed because rustfmt sperated a method call to 3 lines instead of 1, nothing to worry about. So in this case it's easy we just ignore it 😄

Thanks a lot @mohammadfawaz! This would improve the future contributions of this repo a whole lot! One thing I'm concerned about is the need to add this #[allow(clippy::too_many_arguments)] before some function definitions for which all arguments are necessary I believe and it bloats the repo a bit. Anyways I believe this does more good than harm in general.

Good point regarding the annoying annotation. We can instead add the following to Cargo.toml:
[lints.clippy]
too_many_arguments = "allow"

I'll open a separate issue to track that.


CUtlRBTree overflow is not completely solved

Even if I turn every function off, I still get this message box in the game.

Show memory usage (in Task Manager) of csgo.exe at the time of error.

try to create new config, old configs made me crash, that was a problem.

when you crash,can you see a messagebox CUtlRBTree overflow?

@danielkrupinski  hello,daniel.As Shiv3RPolak says, old configs also made crash.When i create new config,this problem solved.


PLR6104 rewrites numbers w/o the base indicator

input
test = 0x5
test = test + 0xBA

test2 = b""
test2 = test2 + b"\000"

Run  ruff check --fix --unsafe-fixes --preview --select=PLR6104 --isolated
output
test = 0x5
test += 186

test2 = b""
test2 += b"\x00"

Ruff version 0.4.7

Yeah, common theme with Generator usage, we don't preserve verbatim numbers.

Once #11457 is completed, this can be solved by including number related flags on TokenFlags, propagating it to the NumberLiteral node and using that in the Generator. This would be similar to the flags on the string nodes. This is actually one of the potential use-case me and Micha discussed for TokenFlags.


Update security-roadmap.md

Updated URL's for Secure score

@JohanFreelancer9 Please copy review

Issue#https://github.com/MicrosoftDocs/microsoft-365-docs/issues/6042


not possible to run mpn install

I'm going step by step but I can't run npm install. Is there something I'm missing??

I've installed nodejs from official site.

It sounds like npm is not (properly) installed. npm is bundled with the latest version nodejs, so if you've installed that, it should work.

try to run "npm install" from the git console, or from the console nodejs, NOT from cmd

@Benj4 thanks for help. Running npm install from the git console helped.


Change prohibitedTransitions to prohibitedTurns in the schema. Also c…

…hange the documentation so that it refers to the resatrcition as turn restriction but still call transition to describe the act. This will also require change in the combobulator which will be done once this is approved

I'm not super-aligned with the executive decision to switch from prohibitedTransitions to prohibitedTurns, as this is something that did argue over at length between yourself, myself, and @AleksandraDebicka-TomTom and now this seems like an eleventh-hour decision to undo the previous decision.
The arguments mentioned in the meeting this morning about seeing things called "turn restrictions" in other APIs etc. don't resonate hugely with me because we are not them, and their method of modeling is not our method of modeling. (Also, OpenStreetMap doesn't even call them turn restrictions. That's an informal phrase. They're just restriction relations and not every type references a "turn". Just like us.)

As a Git nit, the following isn't an ideal commit stream:
1) Change prohibitedTransitions to prohibitedTurns in the schema. Also c…
2) Missed test fixes in the first

This creates a bloated commit history full of low-value commits. In 1 month or 3 years, nobody wants to have to navigate through someone's local development process (one commit with most of the change, a second commit to fix the problems from the first commit), The ideal is each commit represents one business unit of change. In this case, one could consider a "fixup" merge of commit no. 2 into commit no. 1 leaving one commit that creates a single atomic working change....

I am not sure I understand your second comment - can you explain? I forgot to fix the tests during my first commit, so what should be the process? Abandon my first commit and redo the whole thing in a single commit?

As for the turn vs. transition, it seems you are the only one who does not like turn :) I am not sure how the decision making should work here, but if you have the final say for the task force, then so be it, I will force myself to change it, otherwise, I will leave it as is.... As I was saying every other provider calls it turns (including OSM) how exactly are we different from every other map data providers on the planet?

Aha! I get your git-nit comment, yeah thats a better idea...but the deed is already done :)


Support setting the active-class attribute for  to an empty string to prevent setting a class.

What problem does this feature solve?
I would like to prevent the setting of the class attribute on a router-link component. Setting it to an empty string has no effect, I have to set it to " " currently to prevent the class being set.
What does the proposed API look like?
e.g.:
<router-link tag="button" to=".." active-class="" append>Cancel</router-link>

why do you need this? You could set it to an unused class if it's about styling purposes

In the example I am creating a <button>, and I thought it was strange that it would receive the same styling that I had already defined for the other router-link elements, so I tried to deactivate it. It's not a big deal, I'm using a.router-link-active for the other styling now so it does not clash any longer, but I was a bit surprised that this wouldn't work.


Desktop ent 2102

Adding changelos for Desktop <IP_ADDRESS> release

Deploy preview for docsdocker ready!
Built with commit 54310d4edc043180e5beeff4ffe8288ad9dc97a0
https://deploy-preview-9140--docsdocker.netlify.com


Fix proxy url

Fix proxy_url support in CloudFiles
Description
I ran into a couple issues when trying to use the cloudfiles driver behind an HTTP proxy.

libcloud was not configuring the requests library proxy settings correctly.
The cloudfiles driver was not passing the proxy into the identity connection.
The proxy documentation was referencing the wrong argument name.

This PR closes these issues, but there may be other related issues in other drivers.
Status
Done, ready for review. This could probably use some additional tests, and a review of other code for similar bugs. It looks like 2.5.1 has other proxy changes, so I wanted to get the PR in sooner rather than later and kept it simple.
Checklist

[x] Code linting (required, can be done after the PR checks)
[x] Documentation
[x] Tests
[] ICLA (required for bigger changes)

Codecov Report

Merging #1324 into trunk will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##            trunk    #1324   +/-   ##
=======================================
  Coverage   86.26%   86.26%
=======================================
  Files         367      367
  Lines       75262    75262
  Branches     6882     6882
=======================================
  Hits        64927    64927
  Misses       7559     7559
  Partials     2776     2776

Impacted Files
Coverage Δ

libcloud/test/test_connection.py
99.62% <ø> (ø)
:arrow_up:

libcloud/common/openstack_identity.py
77.08% <ø> (ø)
:arrow_up:

libcloud/http.py
91.17% <ø> (ø)
:arrow_up:

libcloud/common/openstack.py
83.42% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 52195a6...20865c4. Read the comment docs.

Thanks for the contribution. I will look into and test the changes.
There were indeed some bugs with handling of HTTP proxies which were supposed to be fixed in - #1314.
Biggest problem is that not all the drivers correctly pass all the constructor arguments to the parent driver and connection class and as such, proxy is not set when using constructor argument approach.
In such scenario, it's recommended to use either environment variable or driver.connection.connection.set_http_proxy method approach.
I will also make sure to add a note about that to the documentation.

I've added a note to the documentation on support drivers not supporting constructor method (62c52c027823f23db1b03286f40b4d39f2c5468d) and will go ahead and merge this into trunk.
Thanks again for your contribution.

Merged, thanks.


Prod not picking up build candidates

Staging is correctly reporting the influx of build candidates after 5.4 was deployed with 2.28.0:

However, prod isn't:

On the other hand, we have triggered 5.4 builds on prod: https://swiftpackageindex.com/cgarciae/Stream/builds

Running the candidate query against prod selects 3683, as expected.
However, it doesn't appear to be just a reporting problem, because there's no increase in build jobs being triggered.

Ok, build trigger is crashing:
2021-05-03T09:44:01.866096834Z app_trigger_builds.1.xayuuzgncyz8@p3    | /bin/bash: line 1:    63 Illegal instruction     (core dumped) ./Run trigger-builds --env prod --limit 2
2021-05-03T09:45:01.887492933Z app_trigger_builds.1.xayuuzgncyz8@p3    | [ INFO ] Triggering builds (limit: 2) ... [component: trigger-builds]
2021-05-03T09:46:03.781488745Z app_trigger_builds.1.xayuuzgncyz8@p3    | [ INFO ] Triggering builds (limit: 2) ... [component: trigger-builds]
2021-05-03T09:47:05.662915867Z app_trigger_builds.1.xayuuzgncyz8@p3    | [ INFO ] Triggering builds (limit: 2) ... [component: trigger-builds]
2021-05-03T09:48:07.643657456Z app_trigger_builds.1.xayuuzgncyz8@p3    | [ INFO ] Triggering builds (limit: 2) ... [component: trigger-builds]
2021-05-03T09:49:09.564664232Z app_trigger_builds.1.xayuuzgncyz8@p3    | [ INFO ] Triggering builds (limit: 2) ... [component: trigger-builds]
2021-05-03T09:50:11.513233641Z app_trigger_builds.1.xayuuzgncyz8@p3    | [ INFO ] Triggering builds (limit: 2) ... [component: trigger-builds]
2021-05-03T09:51:13.884395051Z app_trigger_builds.1.xayuuzgncyz8@p3    | [ INFO ] Triggering builds (limit: 2) ... [component: trigger-builds]
2021-05-03T09:51:15.242867482Z app_trigger_builds.1.xayuuzgncyz8@p3    | [ INFO ] Finding missing builds for package id: 49BA1D3C-4FEB-478B-809D-33252671EC55 [component: trigger-builds]
2021-05-03T09:51:15.272832585Z app_trigger_builds.1.xayuuzgncyz8@p3    | [ INFO ] Triggering 8 builds for package name: SwiftExif, ref: master [component: trigger-builds]
2021-05-03T09:51:15.276513285Z app_trigger_builds.1.xayuuzgncyz8@p3    | [ INFO ] Triggering 32 builds for package name: SwiftExif, ref: 0.0.6 [component: trigger-builds]
2021-05-03T09:51:16.226477976Z app_trigger_builds.1.xayuuzgncyz8@p3    | [ WARNING ] server: duplicate key value violates unique constraint "uq:builds.version_id+builds.platform+builds.swift_ve
rsion+v2" (_bt_check_unique) [component: server]
2021-05-03T09:51:17.171989467Z app_trigger_builds.1.xayuuzgncyz8@p3    | Fatal error: Error raised at top level: server: duplicate key value violates unique constraint "uq:builds.version_id+bui
lds.platform+builds.swift_version+v2" (_bt_check_unique): file Swift/ErrorType.swift, line 200
2021-05-03T09:51:17.172026167Z app_trigger_builds.1.xayuuzgncyz8@p3    | Current stack trace:
2021-05-03T09:51:17.172283967Z app_trigger_builds.1.xayuuzgncyz8@p3    | 0    libswiftCore.so                    0x00007fc9c0e39990 swift_reportError + 50
2021-05-03T09:51:17.172441567Z app_trigger_builds.1.xayuuzgncyz8@p3    | 1    libswiftCore.so                    0x00007fc9c0ead260 _swift_stdlib_reportFatalErrorInFile + 115
2021-05-03T09:51:17.172572967Z app_trigger_builds.1.xayuuzgncyz8@p3    | 2    libswiftCore.so                    0x00007fc9c0b92925 <unavailable> + 1399077
2021-05-03T09:51:17.172682267Z app_trigger_builds.1.xayuuzgncyz8@p3    | 3    libswiftCore.so                    0x00007fc9c0b92567 <unavailable> + 1398119
2021-05-03T09:51:17.172822467Z app_trigger_builds.1.xayuuzgncyz8@p3    | 4    libswiftCore.so                    0x00007fc9c0b92b02 <unavailable> + 1399554
2021-05-03T09:51:17.172940567Z app_trigger_builds.1.xayuuzgncyz8@p3    | 5    libswiftCore.so                    0x00007fc9c0b90fa0 _assertionFailure(_:_:file:line:flags:) + 517
2021-05-03T09:51:17.173085467Z app_trigger_builds.1.xayuuzgncyz8@p3    | 6    libswiftCore.so                    0x00007fc9c0bfa6b6 <unavailable> + 1824438
2021-05-03T09:51:17.173101767Z app_trigger_builds.1.xayuuzgncyz8@p3    | 7    Run                                0x000056501e78b111 <unavailable> + 11620625
2021-05-03T09:51:17.173106967Z app_trigger_builds.1.xayuuzgncyz8@p3    | 8    libc.so.6                          0x00007fc9be8aeb10 __libc_start_main + 231
2021-05-03T09:51:17.173111267Z app_trigger_builds.1.xayuuzgncyz8@p3    | 9    Run                                0x000056501ddfc52a <unavailable> + 1598762
2021-05-03T09:51:17.319775981Z app_trigger_builds.1.xayuuzgncyz8@p3    | 0x7fc9c083097f
2021-05-03T09:51:17.319808381Z app_trigger_builds.1.xayuuzgncyz8@p3    | 0x7fc9c0b911b2
2021-05-03T09:51:17.319813881Z app_trigger_builds.1.xayuuzgncyz8@p3    | 0x7fc9c0bfa6b5
2021-05-03T09:51:17.319817781Z app_trigger_builds.1.xayuuzgncyz8@p3    | 0x56501e78b110, main at /build/<compiler-generated>:0
2021-05-03T09:51:17.319822481Z app_trigger_builds.1.xayuuzgncyz8@p3    | 0x7fc9be8aebf6
2021-05-03T09:51:17.319826081Z app_trigger_builds.1.xayuuzgncyz8@p3    | 0x56501ddfc529
2021-05-03T09:51:17.319829681Z app_trigger_builds.1.xayuuzgncyz8@p3    | 0xffffffffffffffff
2021-05-04T09:19:03.206779072Z app_trigger_builds.1.vw5p06mj77g7@p3    | 0x5594bc714f10, main at /build/<compiler-generated>:0
2021-05-04T09:19:03.206783872Z app_trigger_builds.1.vw5p06mj77g7@p3    | 0x7f5dc2686bf6
2021-05-04T09:19:03.206787672Z app_trigger_builds.1.vw5p06mj77g7@p3    | 0x5594bbd86529
2021-05-04T09:19:03.206791872Z app_trigger_builds.1.vw5p06mj77g7@p3    | 0xffffffffffffffff
2021-05-04T09:19:03.333480671Z app_trigger_builds.1.vw5p06mj77g7@p3    | /bin/bash: line 1:    19 Illegal instruction     (core dumped) ./Run trigger-builds --env prod --limit 2
2021-05-04T09:20:03.352600645Z app_trigger_builds.1.vw5p06mj77g7@p3    | [ INFO ] Triggering builds (limit: 2) ... [component: trigger-builds]
2021-05-04T09:20:04.510303943Z app_trigger_builds.1.vw5p06mj77g7@p3    | [ INFO ] Finding missing builds for package id: B2F97245-3FD8-4398-9E44-ED4A905AA1C1 [component: trigger-builds]

It's also interesting that this is triggering 32 builds for ref 0.0.6. Unless 8 other builds already existed, this should be 40.

#1066 fixed it!

That fixes the candidate display but I still don't see many builds kicking off:

We should be running full throttle from now on for a while.

It looks like we’re not triggering any builds at all at the moment:

Rolling back to 2.27.0 to see if that at least fixes the 5.3- builds

Ok, that kicked off builds:

Something went wrong with the 5.4 trigger.
2.27.0 doesn't trip over the key violation error, for instance, despite not being caught explicitly:
2021-05-04T17:52:39.784859332Z app_trigger_builds.1.tb8vtlzcyt2w@p3    | [ INFO ] Triggering builds (limit: 2) ... [component: trigger-builds]
2021-05-04T17:52:41.213788201Z app_trigger_builds.1.tb8vtlzcyt2w@p3    | [ INFO ] Finding missing builds for package id: DE52FBFE-B07D-4C65-8E44-F2C817334FCE [component: trigger-builds]
2021-05-04T17:52:41.217079401Z app_trigger_builds.1.tb8vtlzcyt2w@p3    | [ INFO ] Finding missing builds for package id: 74DBE085-3C2D-40BA-8ED6-EFDB2265FFB4 [component: trigger-builds]
2021-05-04T17:52:41.265848289Z app_trigger_builds.1.tb8vtlzcyt2w@p3    | [ INFO ] Triggering 16 builds for package name: Pagination, ref: 2.0.0-alpha.1 [component: trigger-builds]
2021-05-04T17:52:41.272983688Z app_trigger_builds.1.tb8vtlzcyt2w@p3    | [ INFO ] Triggering 16 builds for package name: Pagination, ref: master [component: trigger-builds]
2021-05-04T17:52:41.279556286Z app_trigger_builds.1.tb8vtlzcyt2w@p3    | [ INFO ] Triggering 16 builds for package name: Pagination, ref: 1.0.9 [component: trigger-builds]
2021-05-04T17:52:41.299398082Z app_trigger_builds.1.tb8vtlzcyt2w@p3    | [ INFO ] Triggering 16 builds for package name: Pool, ref: 1.3.0 [component:
trigger-builds]
2021-05-04T17:52:41.306349480Z app_trigger_builds.1.tb8vtlzcyt2w@p3    | [ INFO ] Triggering 16 builds for package name: Pool, ref: master [component: trigger-builds]
2021-05-04T17:52:42.424982321Z app_trigger_builds.1.tb8vtlzcyt2w@p3    | [ ERROR ] triggerBuilds: server: duplicate key value violates unique constraint "uq:builds.version_id+builds.platform+builds.swift_version+v2" (_bt_check_unique) [component: trigger-builds]
2021-05-04T17:54:19.517975057Z app_trigger_builds.1.fr7wlwvilkkn@p3    | [ INFO ] Triggering builds (limit: 2) ... [component: trigger-builds]

Something else must have changed between these two revision to cause trigger to fail.

Ok, I've managed to reproduce the problem. It's not actually the 5.4 builds that are the issue but the innocent seeming change from 5.3.0 → 5.3.3 in #1057.
What's happening is that the missing build detection is matching full swift version numbers and is now also noticing that 5.3.3 builds are missing. It triggers them but when it tries to save the pending build record, it comes across this unique key:
CREATE UNIQUE INDEX "uq:builds.version_id+builds.platform+builds.swift_version+v2"
ON builds(version_id uuid_ops,platform text_ops,(swift_version -> 'major'::text) jsonb_ops,(swift_version -> 'minor'::text) jsonb_ops);

which (correctly) ignores swift patch versions. The problem is that in findMissingBuilds I do Set math with the full Swift version:
        let existing = v.builds.map { BuildPair($0.platform, $0.swiftVersion) }
        let pairs = Set(BuildPair.all).subtracting(Set(existing))

This then leads to 5.3.3 being included in pairs even though a package has existing 5.3.0 builds.
When these are attempted to be saved as pending builds after triggering, it raises our friend  duplicate key value violates unique constraint "uq:builds.version_id+builds.platform+builds.swift_version+v2".
Because we didn't use to handle this exception this bubbled up and exited triggering early. I.e. only the first package version was actually being triggered.

I've rolled back to 2.27.0 again but the 5.3.3 change is actually older and we need it or no 5.3 builds would trigger successfully at all. Since this only affects existing package builds, 2.27.0 is safe to run:

new packages or versions have no issues, because there are no unique key violations that could happen
when triggering a 5.3.3 build for a package that has 5.3.0 builds is the unique key violation simply blocks writing a pending record. The build still proceeds with 5.3.3 and even reports back (for the first package/version), which is ok, and the absence of a pending record doesn't matter, because from a front-end point of view there's the 5.3.0 build showing the build status instead.

I'm going to fix this in two steps:

make findMissingBuilds ignore patch version
then tackle #1062, which should make the whole process ignore Swift patch versions consistently and reduce coupling

Ok, that sorted the exception and the triggering:
2021-05-05T08:06:47.794282456Z app_trigger_builds.1.wo8ukwsmxqny@p2    | [ INFO ] Triggering builds (limit: 2) ... [component: trigger-builds]
2021-05-05T08:06:49.441648975Z app_trigger_builds.1.wo8ukwsmxqny@p2    | [ INFO ] Finding missing builds for package id: 475B292F-E0AA-42DF-82F5-81B6DB571589 [component: trigger-builds]
2021-05-05T08:06:49.445078390Z app_trigger_builds.1.wo8ukwsmxqny@p2    | [ INFO ] Finding missing builds for package id: D630555A-25B7-4590-AE26-E22850715D3C [component: trigger-builds]
2021-05-05T08:06:49.493463605Z app_trigger_builds.1.wo8ukwsmxqny@p2    | [ INFO ] Triggering 8 builds for package name: XCOpen, ref: develop [component: trigger-builds]
2021-05-05T08:06:49.497113221Z app_trigger_builds.1.wo8ukwsmxqny@p2    | [ INFO ] Triggering 8 builds for package name: XCOpen, ref: 0.2.0 [component: trigger-builds]
2021-05-05T08:06:49.514987001Z app_trigger_builds.1.wo8ukwsmxqny@p2    | [ INFO ] Triggering 8 builds for package name: swiftreplmadness, ref: 2.0.1 [component: trigger-builds]
2021-05-05T08:06:49.518382016Z app_trigger_builds.1.wo8ukwsmxqny@p2    | [ INFO ] Triggering 8 builds for package name: swiftreplmadness, ref: master [component: trigger-builds]

and the build queue is starting to ramp up as expected:


feat(docs): translate escape hatches

Hi @neighborhood999, thank you for your valuable suggestion, please take a look again.


Fix simctrl terminate message change on v19

The simtrl terminate error has changed again which is causing the Detox tests to fail for people still using the v19.
Can we have a new release of 19.13.1 including this fix pls. Ty
This was already fixed for v20 https://github.com/wix/Detox/pull/4171

@jasminmif is there an objective reason why migrating to 19.x is impossible for you?

@jasminmif is there an objective reason why migrating to 19.x is impossible for you?

V20 does not support Mocha so it's going to be a bug lift doing the migration.

Uh-oh, I see.
Well, our build pipeline is not well optimized for backport releases, unfortunately, so it's going to be quicker for you to download detox 19.x tgz from npm. Patch it, and republish it as a scoped package, e.g. @jasminmif/detox .
I can't promise to return to build workflow tweaks/customizations/improvements earlier than mid-summer, so the previous advise may be more feasible for you.

Uh-oh, I see.
Well, our build pipeline is not well optimized for backport releases, unfortunately, so it's going to be quicker for you to download detox 19.x tgz from npm. Patch it, and republish it as a scoped package, e.g. @jasminmif/detox .
I can't promise to return to build workflow tweaks/customizations/improvements earlier than mid-summer, so the previous advise may be more feasible for you.

Yeah, thats what I ended up doing. Thanks, will close this one.


video and audio both media play at same time in flutter app for both android and iOS.

I am trying to play video and audio at same time in flutter by using
assets_audio_player: ^2.0.9+2 ==> For assets  audio file playing
audioplayers: ^0.16.1 ==> for URL audio file playing
video_player: 0.10.12+2 ==> for URL Video file playing
but when play audio and video in same time at same screen that time video was stack and video volume is stopped.
Thanks

Hi @bhallaramdhatarwal,
Except video_player plugin, rest of the plugins you mentioned are 3rd party. Please consider opening this issue in their respective repository, since it doesn't seem to be an issue with Flutter and it's plugin.
Closing this as non-issue from Flutter side. If you disagree, write in comments and I'll reopen.
Thanks


Updated ic-1.ipynb

Fixed most of the issues in ic-1.ipynb (hiding code cells, execution problem...).
One issue left: some output indicators are hidden, while some still appear (.output_prompt has been set to be transparent in custom.js, and this problem doesn't exist in other notebooks)

updated gd, ic, ct

Thank you for all the modifications. I did not see any issues with the lesson modifications. Will merge the pull request so that others can comment and review.


set __NEXT_STRICT_MODE

and __NEXT_STRICT_MODE_APP
next.js PR: https://github.com/vercel/next.js/pull/43575

Current dependencies on/for this PR:

main

PR #2878   👈

This comment was auto-generated by Graphite.


Illegal characters in Host.domain

Putting http://domain.com/ in Host.domain breaks the server, because we don't match for these characters in urls.py (only \w regex).
I think we could make a validator that disallows \W characters.

Today another user stumbled upon this error. I must fix it for v0.9.


ADD: Article Recommendations section

First pass at my articles list. Note that the home page seems to order lexicographically so "Article Recommendations" trumps everything else. Is that ok with you guys?

@beljun I removed to empty lines to keep consistency with the other topics in article.
As for the ordering, I am not too concerned. Do we want to enforce some ordering? @lukkiddd


[Add] add new community - campus ambassador program geeksforgeeks

Site URL
https://www.geeksforgeeks.org/campus-ambassador-program-by-geeksforgeeks/
Description of the above provided site
Wants to add a new program that will help students while they are in college.
Category
Frontend
Sub Category
COMMUNITIES
Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I am willing to work on this issue (optional)
[X] I am a GSSoC'23 contributor

@gulshanjakhon is it something like an event? could you please elaborate a bit more onto this?

Work Experience Certificate as a Campus Ambassador at GeeksforGeeks on successful completion of one year program

LinkedIn recommendation after completion of the program

Add Geeksforgeeks Campus Ambassador Program experience to your resume

You can credit yourself as a Campus Ambassador in your email signatures, LinkedIn profile, blogs, Facebook pages, personal pages etc

Eligible for Paid internship opportunities with GeeksforGeeks

Interact with new people from your college, university, country and all over the world

You may Exclusively Invite team Geeksforgeeks for technical sessions, tech fests and placement preparation guidance talk to your campus

@gulshanjakhon thanks, i guess we can place it under other/other-resources


[R] R package roadmap

This is for our roadmap for mxnet R package. Please feel free to add more. @tqchen @terrytangyuan @ziyeqinghan @hetong007

[x] Better method to set default ctx. #2392
[ ] Autoenconders in R. #1518
[ ] Compatible with Rdata, integrate with caret. #362
[x] RNN documents. @ziyeqinghan
[x] More examples, including inception/googlenet/alexnet
[ ] Multi-GPU examples
[ ] Multi-Input Support #1269 #2266
[ ] Sparse Matrix Input Support #1524 #2902
[ ] add code examples in the documentation
[ ] Add a deep art example with mxnetR

Multi-Input Support #1269 #2266
Sparse Matrix Input Support #1524 #2902

[ ] add code examples in the documentation

[ ] Add a deep art example with mxnetR

Print methods for fitted model objects
More detailed documentation.
For example:

list the possible values for out_activation in mx.mlp().
References to papers
Some functions do not have examples. eg: mx.callback.log.train.metric()

[ ] Solve issue with multi device in multi GPU #3633
[ ] Add imagenet example #3832
[ ] Implement Speedometer

[ ] Add more RNN tutorials (for easy and advanced level)

[ ] Multi-Input Support

Make the model object can be saved in RDS format

Any progress on this?

Really busy with the thesis. No time or energy for this now. @topepo

Why not just take RStudio's approach and use the reticulate package?
https://tensorflow.rstudio.com/
https://rstudio.github.io/keras/
I'm currently using reticulate to utilize the experimental Python RNN API in R.
I personally prefer working with dplyr for data munging and ggplot2 for data visualization instead of pandas and seaborn.
I also use mlr  for hyperparameter tuning.


Read "A vehicle routing problem for biological sample transportation in healthcare".

Looked through the paper.
It is interesting to find out how the scientific papers in the Operation Research are currently written.
The task solved in the paper is prety hard but only vaguely resembles what I need.
I will keep the task in mind.


Update Altinity_ClickHouse_Operator_dashboard.json

fix the chi_clickhouse_event_DistributedConnectionFailAtAll expr

please follow the pr, it's need to wait all data is ready. If had many chi pod, the data was not compeleted


fix: updated deps and fixed assert checks

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Review NOTICE file for incubator-openwhisk-runtime-swift

Init PR: https://github.com/apache/incubator-openwhisk-runtime-swift/pull/43#pullrequestreview-109331752
file: https://github.com/apache/incubator-openwhisk-runtime-swift/blob/master/NOTICE.txt

Closing in favor of tracking with LICENSE issues here: https://github.com/apache/incubator-openwhisk-release/issues/100


Login register page.

What is the feature?

Add tailwind css to login and register page

How to test?

Test by manual access to feature link in each page.

Screen shot

Codecov Report

Merging #32 (f9695ab) into beta (770ee2a) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             beta      #32   +/-   ##
=======================================
  Coverage   81.74%   81.74%
=======================================
  Files          17       17
  Lines         378      378
  Branches       26       26
=======================================
  Hits          309      309
  Misses         51       51
  Partials       18       18

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 770ee2a...f9695ab. Read the comment docs.

why color is difference

I not sure why but I have same issue before I think you need tailwind build and install then start again

I think when user go to login page it shouldn't have alert message pop up


[CHANGE] Harmonised European Standard

On https://a11y.canada.ca/en/standards/ I do love that the goal clearly is to move to Harmonised European Standard.
But which version? The link provided points to EN 301 549 V3.2.1 (2021-03).
That's great. I expect this may be good to 2024-2025. At that point, hopefully EN 301 549 moves up to supporting WCAG 2.2 (which should be the recommendation of the W3C's WAI later this year).
Like the internet, the Harmonised European Standard is a moving target. The alignment should be clearly, "We are harmonizing with the latest version of the Harmonised European Standard ..."
This will help keep it evergreen and ensure that we don't need to debate this in 2025 when the new ETSI standard is released.

This is clarified in 2.3, but should be just written out in other documents too.


AMBARI-23456. Add mkdocs support & markdown skeletons

What changes were proposed in this pull request?

fix some docs
generate output shipper configs as well
add mkdocs support
put javadoc + rest api doc as well to generated site
add markdown skeletons (i will need to fill those + add nice pictures)

note: probably we will use docker for mkdocs build, right now it is expected to be installed
How was this patch tested?
full test: make serve-site, it can take long because of 2 web build, if modules are already installed then its enough to run: make javadoc, make prop-docs-only then make serve-site-only
Please review @g-boros

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-LogSearch-Github-PR-Builder/106/
Test PASSed.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-LogSearch-Github-PR-Builder/107/
Test FAILed.
Test FAILured.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-LogSearch-Github-PR-Builder/108/
Test PASSed.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-LogSearch-Github-PR-Builder/109/
Test PASSed.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-LogSearch-Github-PR-Builder/110/
Test PASSed.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-LogSearch-Github-PR-Builder/111/
Test PASSed.


stray line across plot

Reported by Ansley B Manke on 10 Nov 2003 18:37 UTC
Linux only, not Solaris or windows.
Andrew Wittenberg, 24-Sep-03
I see the following bug in all Linux versions since v5.52beta.  I do not
see the problem in Linux v5.51, nor in Irix v5.53beta5.
yes? use monthly_navy_winds
yes? set window 1
yes? can v
yes? set v upper
yes? plot/nolab uwnd[label 7e3 1 -1 0 .25 "See the stray line through the middle of the figure?"
yes? say strfloat("02")
!-> MESSAGE/CONTINUE 2
2
yes? set v lower
yes? plot/nolab uwnd[i=81,j=37](i=81,j=37]
yes?)
yes? frame/file=stray_line.gif
If you remove the STRFLOAT call, the stray line in the middle
of the plot disappears!  And if you delete the label or change
the length of the label, the length/position of the stray line
changes.
Andrew
Migrated-From: http://dunkel.pmel.noaa.gov/trac/ferret/ticket/680

Comment by<EMAIL_ADDRESS>on 15 Mar 2004 22:46 UTC
I reproduced this when Andrew first reported it, but
can no longer reproduce it with either v5.53 or 5.54.

Comment by<EMAIL_ADDRESS>on 29 Mar 2004 21:53 UTC
Andrew still sees this.  I can replicate it on machine
ferret with the ferret_v552beta executable but not with
v553 or v560.

Comment by<EMAIL_ADDRESS>on 17 May 2006 20:47 UTC
I saw this in v5.81 and earlier versions, but now I no longer see the stray line
in v6.00beta.

Comment by<EMAIL_ADDRESS>on 1 Jun 2007 01:23 UTC
Nor does this bug show up in v6.03.  So let's call it fixed.

Comment by ansley.b.manke on 4 Nov 2008 19:50 UTC
Adding Andrew to the CC list where he is mentioned in the ticket comments.

Attachment from<EMAIL_ADDRESS>on 27 Jan 2006 17:30 UTC
Illustration of stray line bug
REPLACE THIS TEXT WITH UPLOADED FILE ./attachments/TRAC_680_GIT_332/stray_line.gif


BdkFlutter.createWallet will create incorrect default wallet if only mnemonic is provided

If I understand correctly the API, if the developer only passes a mnemonic to the createWallet() method the descriptor created will use the pk() function (type: Descriptor.P2PK) with a default descriptor path for a testnet BIP84 wallet ("m/84'/1'/0'/0").
2 things to note:

This will create an non-standard descriptor, mixing the path for a BIP84 testnet with a pk() function (should be wpkh())
If the user provides a network that is not testnet (say mainnet), the descriptor will also be wrong because it will use mainnet but with a derivation path for testnet (node 3 in the derivation path should be set to 0).

var key = await createDescriptors(
    network: network??DEFAULT_NETWORK,
    mnemonic: mnemonic.toString(),
    password: password,
    type: Descriptor.P2PK,
    descriptorPath: DEFAUTLT_DESCRIPTOR_PATH,
    changeDescriptorPath: DEFAUTLT_CHANGE_DESCRIPTOR_PATH
);

There is a lot going on here, and I don't pretend to know exactly the perfect API, but here are some thoughts:

The default network coupled with the default path creates problems because it means you can create provide one and it won't match what the other is set to. A short-term first stab at the issue would be to require the network and not allow a default one. That forces the developer to be explicit and know what they build the wallet for (also help reviewers).
The bitcoindevkit has always been about using descriptors and enforcing that. Why not enforce it here as well? You could have helper functions that help developers build descriptors from their mnemonic, but the BdkFlutter.createWallet() could take descriptors only. That way you ensure by the time they create the wallet, they're all good to go, decoupling the issue of building correct descriptors from the action of initializing the wallet.

Thanks @thunderbiscuit I think the best will be to align the wallet creation to the interface to what bdk-ffi currently provides.


[Feature Request] Hamburger Menu

I see that the example for AMP uses the AMP Sidebar component. I would love to see a function that works nearly identically to that but built in.
Ideally it would show as a collapsed menu at when the screen size is too small to show the full nav and be fully expanded as a nav when the screen is large enough.
If you are prescribing AMP as this solution I would love a declaritive statement to that fact - or whatever method you would condone.
Thanks for the great product!

Hi @jensenbox,
Here is a link to a comment I made in another issue.
https://github.com/picocss/pico/issues/19#issuecomment-881861597

Icons could be a nice addition but are not exactly in the Pico spirit. Pico is more like a "Css reboot on steroids", focused on semantics HTML elements.
...

But you are right. Both a hamburger menu and a collapsing component are pretty generic and could land one day in Pico.
I'm open to Pull Requests.
For the AMP example, I just used the <amp-sidebar> element in the AMP documentation.

+1 this is the one feature I was looking for and couldn't find in Pico.

@lucaslarroche and @jubishop , i wrote a series of articles on how github has its own UI controls out of pure semantic css. And one of the episodes is about hamburger menu. I got the same encouragement to bring the dropdown component for PIco. Here's the link for the article about hamburger menu: How they made controls at Github?. Probably this may help to have an hamburger in PicoCSS 😄

Hello,
I have made a simple hamburger with silde out menu.
Used https://codepen.io/nlfonseca/pen/RGqRWN  for inspiration :-)
I have created a copdepen with css (4 classes) to have a hamburger menu working: https://codepen.io/dnweij/pen/VwdQKeL
Hope this helps ayone :-)

This looks very nice, although the background of the slide-out menu needs some work for when the window is shorter than the contents (or you expand all the submenus to be taller than the viewport). Scrolling the menu reveals part of the white page background.
Walter

On Nov 21, 2022, at 4:56 PM, DNWEIJ @.***> wrote:
Hello,
I have made a simple hamburger with silde out menu.
Used https://codepen.io/nlfonseca/pen/RGqRWN for inspiration :-)
I have created a copdepen with css (4 classes) to have a hamburger menu working: https://codepen.io/dnweij/pen/VwdQKeL
Hope this helps ayone :-)
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.

I agree with @jubishop that PicoCSS not having a responsive hamburger menu is the "elephant in the room."  Consequently I have created a responsive CSS-only hamburger menu for PicoCSS (no JavaScript).

It works both with and without the position: fixed property specified in the nav element.
It was designed to work with a site having the body (or enclosing element) set with the container class.

It is compatible with the container class, on condition the nav element itself is declared with the container class. Note: this latter condition was necessary because once position: fixed is declared, and nav exits the "flow" of the document, it no longer has container rules applied which indicate the proper dynamic width.  But if container is attached directly to the nav, that problem is solved.

Issues:

Because(?) it is purely flexbox, I don't know how to make a cool animation for the "revealing" of the menu (I tried, as can be seen in the CSS, but it isn't working).  Ultimately I don't care...I'd rather PicoCSS has something it offers for a responsive menu, rather than nothing.
I did not bother (yet) to make the hamburger icon animated.  That certainly could be done, but this is as much as I've created so far.
I'm sure more could be done to make it even more "seamless" for PicoCSS, such as making the container class reference optional, but this is a start.

I suggest, let's go for it...let's polish this and make it officially part of PicoCSS!

I suggest, let's go for it...let's polish this and make it officially part of PicoCSS!

Did the @brentarias solution become part of PicoCSS?


Make the client accept a server URL to connect to

This URL is a string with the form grpc://hostname[:<port:int=9090>][?ssl=<ssl:bool=false>], meaning that the port and ssl are optional and default to 9090 and false respectively.
This makes it more convenient to take server URLs from config files and enviroment variables, but it also means gRPC channels are not exposed directly to users anymore, so the internal implementation to connect to the gRPC server can be changed without it being a breaking change (we could potentially even change the protocol completely to use something else rather than gRPC).

Enabling auto-merge.


enabled sitemap generation through sphinx module in the docs

added extension to docs/conf.py
set base url in docs/conf.py
this will automatically generate a sitemap for every docs build

Codecov Report

Merging #6844 into master will increase coverage by 0.04%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #6844      +/-   ##
============================================
+ Coverage     82.95%   82.99%   +0.04%
- Complexity    13266    13270       +4
============================================
  Files          1526     1526
  Lines         49371    49371
  Branches       5939     5939
============================================
+ Hits          40957    40977      +20
+ Misses         5612     5592      -20
  Partials       2802     2802

Impacted Files
Coverage Δ
Complexity Δ

...exceptions/GroupByOnArrayUnsupportedException.java
66.66% <0%> (-33.34%)
1% <0%> (-1%)

...engine/collect/collectors/OrderedDocCollector.java
90% <0%> (-10%)
5% <0%> (-1%)

...a/io/crate/execution/dml/TransportShardAction.java
79.62% <0%> (-9.26%)
13% <0%> (-1%)

.../collect/collectors/LuceneOrderedDocCollector.java
76.47% <0%> (-5.89%)
14% <0%> (-1%)

...n/java/io/crate/analyze/ShowStatementAnalyzer.java
94.44% <0%> (-5.56%)
19% <0%> (-1%)

.../java/io/crate/blob/TransportDeleteBlobAction.java
75% <0%> (-5%)
4% <0%> (-1%)

...ion/engine/collect/sources/ShardCollectSource.java
81.62% <0%> (-3.79%)
29% <0%> (-3%)

...main/java/io/crate/blob/v2/BlobIndicesService.java
68.05% <0%> (-2.78%)
20% <0%> (-1%)

...aggregation/impl/StandardDeviationAggregation.java
64.7% <0%> (-1.97%)
11% <0%> (ø)

...ecution/dml/delete/TransportShardDeleteAction.java
80% <0%> (-1.82%)
10% <0%> (-1%)

... and 26 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d8cf4eb...b643537. Read the comment docs.


bugfix: Fixed race condition with userJustSubmitted

Changed the boolean to a datetime representing the last time the event was received.
Resolves: #28

Awesome thanks so much


Install Berp 1.3.0 using dotnet tools

So use:
dotnet tool update Berp --version 1.3.0 --tool-path /usr/bin

https://github.com/cucumber/common/blob/ec9a174170ae9abf936e40b5e4f0702daf75346e/gherkin/java/default.mk#L74-L77
This important because .Net 5.0 has been deprecated and is no a bit harder to install on Ubuntu. So we may still have to use the image for a while.

This is solved in https://github.com/cucumber/build/commit/fd42069ff95b5045cb8bdea021397073ea9f7696


Error: Cannot find module 'monaco-editor/esm/vs/editor/contrib/fontZoom/fontZoom'

The following error is occurring when using npm to install dependencies instead of yarn
MacBook-Pro-de-Rodrigo:rebirthdb-desktop rodrigooler$ npm run dev

><EMAIL_ADDRESS>dev /Users/rodrigooler/projects/rebirthdb-desktop
> cross-env START_HOT=1 cross-env START_HOT=1 npm run start-renderer-dev

><EMAIL_ADDRESS>start-renderer-dev /Users/rodrigooler/projects/rebirthdb-desktop
> cross-env NODE_ENV=development node --trace-warnings -r babel-register ./node_modules/webpack-dev-server/bin/webpack-dev-server --mode development --config webpack.config.dev.js

/Users/rodrigooler/projects/rebirthdb-desktop/node_modules/webpack-dev-server/bin/webpack-dev-server.js:343
    throw err;
    ^

Error: Cannot find module 'monaco-editor/esm/vs/editor/contrib/fontZoom/fontZoom'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)
    at Function.resolve (internal/modules/cjs/helpers.js:30:19)
    at resolveMonacoPath (/Users/rodrigooler/projects/rebirthdb-desktop/node_modules/monaco-editor-webpack-plugin/index.js:21:18)
    at use.options.pre.featurePaths.map (/Users/rodrigooler/projects/rebirthdb-desktop/node_modules/monaco-editor-webpack-plugin/index.js:107:51)
    at Array.map (<anonymous>)
    at createLoaderRules (/Users/rodrigooler/projects/rebirthdb-desktop/node_modules/monaco-editor-webpack-plugin/index.js:107:31)
    at MonacoWebpackPlugin.apply (/Users/rodrigooler/projects/rebirthdb-desktop/node_modules/monaco-editor-webpack-plugin/index.js:50:19)
    at webpack (/Users/rodrigooler/projects/rebirthdb-desktop/node_modules/webpack/lib/webpack.js:37:12)
    at startDevServer (/Users/rodrigooler/projects/rebirthdb-desktop/node_modules/webpack-dev-server/bin/webpack-dev-server.js:335:16)
    at processOptions (/Users/rodrigooler/projects/rebirthdb-desktop/node_modules/webpack-dev-server/bin/webpack-dev-server.js:309:5)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>start-renderer-dev: `cross-env NODE_ENV=development node --trace-warnings -r babel-register ./node_modules/webpack-dev-server/bin/webpack-dev-server --mode development --config webpack.config.dev.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>start-renderer-dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!      /Users/rodrigooler/.npm/_logs/2018-09-06T04_48_45_100Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>dev: `cross-env START_HOT=1 cross-env START_HOT=1 npm run start-renderer-dev`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!      /Users/rodrigooler/.npm/_logs/2018-09-06T04_48_45_137Z-debug.log
MacBook-Pro-de-Rodrigo:rebirthdb-desktop rodrigooler$

Hey how far along are you with this issue? Just came across this from another project, and happened to have found out that it's the incompatibility of the monaco-editor-webpack-plugin. In my case I let it fallback to v0.14.0 and the error is gone. FYI my monaco-editor is at v0.13.*. Hope this'd help!

Getting same error.
@DMXL Did you fix it by using<EMAIL_ADDRESS>

Getting same error.
@DMXL Did you fix it by using<EMAIL_ADDRESS>
@chinchang No I meant the webpack plugin is v.0.14.0, and monaco is v.0.13.1.

@rodrigooler can we close this?


Ruby specific things outside Ruby section

We noticed (Wes and I) that there are a few things that seem to be Ruby specific, but should also work for Elixir.

[ ] Custom metrics
[ ] enable_host_metrics for elixir?
[ ] This part:

[ ] Front-end error catching
[ ] Debugging appsignal

There is probably a developer who knows this better than us, but we should check it before Milestone 1.0 :)

Yes, we have an open issue for these things: https://github.com/appsignal/appsignal-docs/issues/69

I added custom metrics, tagging, etc to that list
enable_host_metrics is available as a config option: http://docs.appsignal.com/elixir/configuration/options.html#code-appsignal_enable_host_metrics-code-code-enable_host_metrics-code
Front-end error catching is not something I would want to support in its current version for Elixir. We should make a language independent JS-only version for this.
Debugging AppSignal, see PR #74


Observability: Access Logging

xref: https://github.com/envoyproxy/gateway/issues/699
base on https://github.com/envoyproxy/gateway/pull/1121, provide access log setting per EnvoyProxy
cc @arkodg @AliceProxy @kflynn @Xunzhuo

@zirain Quick question: if you specify both text and fields for OpenTelemetry logging, does that send two requests to the OTel provider, or one?

@kflynn one request
after offline talk with @arkodg , will simply the design, will update later.

@kflynn sorry, can you take a look again?

thanks for updating the PR, +1 on the overall layout of fields, added some comments around field names

Looks good, thanks! When this starts getting implementations, we'll (of course) need tests, but for defining the API I think this is good to go. 🙂

yes, we already setup e2e framework.


cannot convert float NaN to integer

Dear owner,
I wanted to test the code and I have tried to start the python create_train_test_set.py -s processed_data -t train_test_data code after python preprocessing.py -s data/VPN-PCAPS-01/ -t processed_data. I used dataset from README VPN-PCAPS-01.zip.
I got an error cannot convert float NaN to integer in 57 line: min_label_count = int(label_count_df["count"].min()). Of course I can change the line as min_label_count = int(label_count_df["count"].min()) if not label_count_df["count"].empty else 0, but I understand that data from packet is empty and after finished the code the data will be empty.
If I run the code as python create_train_test_set.py -s processed_data -t train_test_data --under_sampling False (1), than I will be able get some result:
label   count
0      7   15991
1      6  127016
2      9  269115
3      5   40164
4     10  900984
I will get an error Please pass features or at least one example when writing data in evaluation_cnn.ipynb line 6 with model on the output of result (1) train_test_data.
How I need to start python create_train_test_set.py -s processed_data -t train_test_data after preprocessing.py? Because it doesn't work in the current README.
Also, it's not clear for me how you set label for pcap packets and on which a step: processed or train? I saw that you used prefix = path.name.split(".")[0].lower(). I'm not sure that used name of file is good idea. Why you don't use the IP list? How I can understand that the model works clear if I can't see lables by IP?
Thanks.

And if you take the model from README, then the result looks like the recognition does not work. So, I'm not sure in correct Evaluation Result. I have inspected on PCAPs with label Facebook, Skype, Youtube, VPN.

Try to correct the processed_data ,open one of the .json file,check the app_label and traffic_label ，if value is null that means u should add the specific prefix-id according to your dataset in utlis.py


Question: does nHost support database transactions from client side?

I could not find an answer to this question in the documentation. And given that not Supabase nor PostgREST support it, I would like to know if nHost does before diving deeper into this project.
Thanks

Yes but with some caveats. Graphql supports sending multiple queries/mutations in a single request and all queries/mutations included in a single request are executed in a single transaction. Multi-request transactions are not supported.
Closing as this isn't an issue. If you have further questions don't hesitate to use discussions or join us on Discord.


BUG - @sap/ux/odata-service-inquirer: Partial destinations service path validation errors

Description
Users are allowed to continue with invalid service paths.

Steps to Reproduce
Steps to reproduce the behavior:

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

Expected results
Actual results
Screenshots
If applicable, add screenshots to help explain the problem.
Version/Components/Environment
Add any other context about the problem here
OS:

[ ] Mac OS
[ ] Windows
[ ] Other

Root Cause Analysis
Problem
{describe the problem}
Fix
{describe the fix}
Why was it missed
{Some explanation why this issue might have been missed during normal development/testing cycle}
How can we avoid this
{if we don’t want to see this type of issues anymore what we should do to prevent}

The "fix" incorrectly sets the validatedUrl only when auth is not required or authenticated instead of just reachable. This means the basic auth credential prompts will never be shon for full/partial urls.


Add MLP/lm_head tp grain size setting.

This PR aims to add MLP/lm_head tp size granularity setting to deepspeed.init_inference() API. It will be more flexible to set the MLP/lm_head sharding grain size.
DNN library favors tensor size in granularity of power of 2, we pick 64 as a default size.
We aim to be able to set the MLP/lm_head tp grain size flexibly. This is a preliminary solution. If there is a better solution, we can discuss it together. Thanks~

@delock, @Yejing-Lai, thanks for the PR. I agree that updating init_inference is right choice. However, I am curious whether it is better to make grain_size a sub-field of the existing tensor_parallel field.
https://github.com/microsoft/DeepSpeed/blob/1b58ba5ec04493a112fae10d9cc9c824dfbd40ca/deepspeed/inference/config.py#L132-L136
Did you guys consider this choice? Either way, I have approved the PR.

@delock, @Yejing-Lai, thanks for the PR. I agree that updating init_inference is right choice. However, I am curious whether it is better to make grain_size a sub-field of the existing tensor_parallel field.
https://github.com/microsoft/DeepSpeed/blob/1b58ba5ec04493a112fae10d9cc9c824dfbd40ca/deepspeed/inference/config.py#L132-L136
Did you guys consider this choice? Either way, I have approved the PR.

Thank you for your advice. I updated the code. Please review~

Thank you for your advice. I updated the code. Please review~

@Yejing-Lai, thanks for updating the code. LGTM.


handle webserver URLs with query parameters

The webserver fails to handle requests with a URL that contains a query component (some/path?key1=value). It will either report 404 or repeatedly append a '/' to the end of the URL until it runs out of redirects. This should be reproducible by trying to access something like http://<IP_ADDRESS>:1990/some/page?foo.

Thanks!


webp color swap

Creating webp images with cwebp lossless it appears that color information is interpreted incorrectly. The following code takes an image that displays correctly in my web browser and makes it display correctly on my device
def swap_palette(frame):
    r, g, b = frame.convert("RGB").split()
    return Image.merge("RGB", (b, r, g))

I don't think this is a problem with PIL as images I create with Preview on my mac and convert with cwebp have the same issue.

I'm seeing the same thing


Documented that cache keys are strings

Some libraries have mistakenly used bytes for cache keys.

I found this in django-waffle, fix at jsocol/django-waffle#226. I'm pretty sure Django only accepts strs for cache keys but would like clarification 😄

I didn't look in detail but maybe http://sendapatch.se/projects/pylibmc/misc.html#python-3-str-vs-bytes-keys helps.

Just because pylibmc allows bytes doesn't mean that all cache backends should. It's problematic with LocMemCache which only uses a dict, and bytes and str objects happily live in the same dict:
>>> {b'a':1, 'a':1}
{b'a': 1, 'a': 1}

Also it's only memcached that only allows ascii keys without spaces, other backends allow all unicode characters, like DatabaseCache.

In principle it makes sense -- I don't see a reason for a cache to mix str and bytes, though I'm not sure if using basestring on Python 2 (e.g. no unicode_literals or no u'' prefixes) is problematic.
cache.set(b"key", "value")
self.assertEqual(cache.get(b"key"), "value")

... seems to pass the test suite. I guess the "should" wording doesn't imply "must" so it's probably fine, I'm not certain I understand all the implications though.

By "seems to pass the test suite" you mean in both Python 2 and 3 right?
The way that cache.set(b'key', value just happens to work with Django-MySQL's MySQLCache backend is that the repr() of b'key' gets used in the full cache key, which is not intuitive. You might as well pass in any other object with a repr(). I think it might be the same for DatabaseCache and others, but haven't checked.

I'm not certain I understand all the implications though

Me neither but I think having the more restrictive typing makes it easier to work with cache code and it's also more intuitive. I never once considered the possibility of cache keys being bytes when I made MySQLCache.

Right, but repr(basestring) on Python 2 wouldn't add a b'' prefix. Anyway, Python 2 is so close to end of support for Django that I'm not sure it needs clarification.

It'll need clarification when type annotations get added 😸

merged in 968f61b99180a17e1752432df38f28f192c6cf86, thanks!


Add critical info to TreeItem.set_custom_draw documentation

Indicates that the method needs 2 arguments to be called
Resolves #21374

Looks good, thanks!

Cherry-picked for 3.0.7.


[OAP-1804][Doc]Update Docs for OAP 0.8.4

What changes were proposed in this pull request?
Update Docs for OAP 0.8.4
How was this patch tested?
N/A

@yao531441 Please help review it.


Concurrent checkouts leads to incorrect value for product stock

When two customers check out concurrently for the same product, only one of the checkouts may be reflected in the final value for product stock.
Steps to reproduce:

Start demo site, create two customers, create/pick test product.
Both customers add the product their cart and Perform a checkout concurrently, making sure both customers finish checkout (click the Submit Order button) as close to the same time as possible.

We have reproduced this behavior on a single machine, by performing the above steps with one customer in one browser window and another customer in a second browser window with a short communication delay (100 ms) between the database and application.  If connecting to the database using unix sockets, the following script can act as a proxy that delays packets:
https://gist.github.com/TWarszawski/a0d8dd8aea9eb5b774d64c9f826de6db
Expected Result:
The final product stock value is original - 2.
Actual Result:
The final product stock value is original - 1, or the application crashes.  See log:
stacktrace.txt

Should be fixed in dev. Please reopen if it's not the case.
https://github.com/diefenbach/django-lfs/pull/205/commits/5c53fc82126b7a227b1b31d312589e29dd77a910


docs: fix various typos and wording issues

@JulienZD thanks a lot for the corrections.
You might want to take a look at the issues and build stuff. If you are adding any new features please log an issue just to make sure we all are on same page.


dbeaver/dbeaver#4896 add handlers for native execute

Closes dbeaver/dbeaver#4896
Adds native executor action for Oracle, MySQL, Postgre can be executed for script file with required datasource or in execute context menu from SQL Editor

Now when executed from SQL editor the dialog should be prompted which has options to save the script before execution, also it allows to cancel the execution.

I'm not sure it should be made exclusively for this feature. We also have data transfer that can execute SQL scripts and etc.


Request: use the latest sheetjs (v0.18.12)

As mentioned in the readme, the library currently uses v0.18.5 of the official sheetjs library.
Since then the sheetjs library has received 7 patch updates with the last one commited on the 22nd of September (changelog for reference).
It would be good if xlsx-js-style gets the same treatment so we have the latest fixes and improvements from sheetjs

Bumping this issue and also providing an additional information. It turns out the GitHub repo of XLSX js is no longer supported and they moved on to their own repo and CDN packages. So today I learned that the "latest" version 0.18.12 is not latest at all, but in fact it's 0.19.3 that is latest, you just have do look for it in other place: https://github.com/SheetJS/sheetjs/issues/2822#issuecomment-1536025937
To make matters worse, the 0.18.12 package now has vulnerability detected by NPM so it's not the best idea to sync xlsx-js-style with it.
Here's more info on the continued project:
https://cdn.sheetjs.com
https://docs.sheetjs.com/docs/getting-started/installation/frameworks/
https://git.sheetjs.com/SheetJS/sheetjs (the official repo)

I tried to downgrade my SheetJs package to v0.18.5 to use xlsx-js-style to style my worksheet with a simple bold and it failed. Any ideas?

I tried to downgrade my SheetJs package to v0.18.5 to use xlsx-js-style to style my worksheet with a simple bold and it failed. Any ideas?

I'm not sure if I understand your question. SheetJS (xlsx) and xlsx-js-style are two different packages and you should use either one or the other.

I also see the problem where using { font: { bold: true } } creates an invalid xlsx file


Integrations

@danhper I'd like to help with this if I can, (send coverage status on pull requests). Opening a PR for visibility.

Hi and thanks for proposing to help.
So there are quite a few things to do to get this to work.
GitHub is deprecating services to move to what they call "GitHub apps" so I think this would be the way to go.

[x] Link GitHub account
[ ] List GitHub project
A list of GitHub projects should be shown when clicking on the Add from GitHub. I think it would probably involve calling this API: https://developer.github.com/v3/apps/installations/#list-repositories-accessible-to-the-user-for-an-installation
[ ] Install app to GitHub repository
When the project is added, we need to install OpenCov to the GitHub repository. I suppose it would be through this endpoint: https://developer.github.com/v3/apps/installations/#add-repository-to-installation and will require the write permission on checks
[ ] Create a "check" on GitHub when the coverage is processed.
This will be done through this API https://developer.github.com/v3/checks/runs/#create-a-check-run I think it would be good to start by simply showing the change in the coverage and we can later on think about configure the build to fail if the coverage drops by more than X or these kind of things.

I guess this should be enough to get a first working version.
It would be awesome if you had time to give it a shot. I would of course be more than happy to review any PR.
Thanks.

@relistan I'm happy to know that it is working for you.
Thanks for the comment.
I do not have much time to work on this now but help would definitely be welcome.

https://github.com/yknx4/librecov
I've added support for both PR comments and commit checks in my form in case you are still interested

@yknx4 Nice!! If you'd like to send a PR I'd be happy to merge it in!


fix: quantum extension elements test

Change test in Quantum extension to support capability toggle.
! NO EXTENSION RELEASE NEEDED FOR THIS COMMIT!
This checklist is used to make sure that common guidelines for a pull request are followed.
Related command
az quantum
General Guidelines

[X] Have you run azdev style <YOUR_EXT> locally? (pip install azdev required)
[X] Have you run python scripts/ci/test_index.py -q locally? (pip install wheel==0.30.0 required)
[X] My extension version conforms to the Extension version schema

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
You only need to update the version information in file setup.py and historical information in file HISTORY.rst in your PR but do not modify src/index.json.

Thank you for your contribution! We will review the pull request and get back to you soon.

/azp run

@AllyW, @necusjz, please help review the PR.


Aqara FP2: adding device doesn't work anymore

Edit: there's the problem:
2024-09-27T22:47:45.440063966Z ERROR Aqara Presence Sensor  get_credential : ip = <IP_ADDRESS>, failed to get token, error = wantread
2024-09-27T22:47:45.445295882Z WARN Aqara Presence Sensor  credential is nil
2024-09-27T22:47:45.450356841Z ERROR Aqara Presence Sensor  failed to get credential. dni= 54:EF:44:5C:4C:98, ip= <IP_ADDRESS>

Can't add the device anymore! Removed the device, deleted the driver, added driver, tried to add the device. Tried it with main, beta, and PR channel to make sure.
It worked about a month ago. Since then, changes were made to discovery.lua, init.lua, device_manager.lua...
Can someone please check if adding the device still works?
Device firmware: 1.2.7_0011.0080
Hub firmware:<PHONE_NUMBER>9
ST app (Android): <IP_ADDRESS>
Device works with the Aqara Home app.
This is the complete log and it looks like the driver lifecycle ends?
2024-09-25T10:34:03.597153457Z TRACE Aqara Presence Sensor  Setup driver aqara-fp2 with lifecycle handlers:
DeviceLifecycleDispatcher: aqara-fp2
  default_handlers:
    infoChanged:
    added:
    init:
    removed:
    driverSwitched:
  child_dispatchers:

2024-09-25T10:34:03.609944082Z TRACE Aqara Presence Sensor  Setup driver aqara-fp2 with Capability handlers:
CapabilityCommandDispatcher: aqara-fp2
  default_handlers:
    refresh:
      refresh
    multipleZonePresence:
      createZone
      deleteZone
      updateZoneName
  child_dispatchers:

2024-09-25T10:34:03.616156957Z INFO Aqara Presence Sensor  Created dispatcher [SecretDataDispatcher]aqara-fp2 that had no handlers
2024-09-25T10:34:03.628525582Z TRACE Aqara Presence Sensor  Setup driver aqara-fp2 with Secret Data handlers:
SecretDataDispatcher: aqara-fp2
  default_handlers:
  child_dispatchers:

2024-09-25T10:34:03.686260707Z TRACE Aqara Presence Sensor  Received event with handler driver_lifecycle
2024-09-25T10:34:03.707111916Z INFO Aqara Presence Sensor  received driver startupState: {"hub_zigbee_id":"KG2XAAILh00=","hub_node_id":1,"hub_ipv4":"<IP_ADDRESS>"}
2024-09-25T10:34:03.712373791Z TRACE Aqara Presence Sensor  Received event with handler discovery
2024-09-25T10:34:03.718594541Z INFO Aqara Presence Sensor  discovery_mdns.find_device_ips
2024-09-25T10:34:04.889382333Z INFO Aqara Presence Sensor  found_name = _Aqara-FP2._tcp
2024-09-25T10:34:04.941494333Z INFO Aqara Presence Sensor  ip = <IP_ADDRESS>
2024-09-25T10:34:04.959243583Z INFO Aqara Presence Sensor  found_name = _Aqara-FP2._tcp
2024-09-25T10:34:04.972437916Z INFO Aqara Presence Sensor  ip = <IP_ADDRESS>
2024-09-25T10:34:05.017133958Z TRACE Aqara Presence Sensor  unknown dni= 54:EF:44:5C:4C:98, ip= <IP_ADDRESS>
2024-09-25T10:34:05.041282958Z TRACE Aqara Presence Sensor  try_add_device : dni= 54:EF:44:5C:4C:98, ip= <IP_ADDRESS>
2024-09-25T10:34:05.075223208Z INFO Aqara Presence Sensor  54:EF:44:5C:4C:98 Creating TCP socket for REST Connection
2024-09-25T10:34:05.097121666Z INFO Aqara Presence Sensor  54:EF:44:5C:4C:98 Setting TCP socket timeout for REST Connection
2024-09-25T10:34:05.118858583Z INFO Aqara Presence Sensor  54:EF:44:5C:4C:98 Connecting TCP socket for REST Connection
2024-09-25T10:34:05.394824874Z INFO Aqara Presence Sensor  54:EF:44:5C:4C:98 Set Keepalive for TCP socket for REST Connection
2024-09-25T10:34:05.408426249Z INFO Aqara Presence Sensor  54:EF:44:5C:4C:98 Creating SSL wrapper for for REST Connection
2024-09-25T10:34:05.423615083Z INFO Aqara Presence Sensor  54:EF:44:5C:4C:98 Performing SSL handshake for for REST Connection
2024-09-25T10:34:07.962791666Z INFO Aqara Presence Sensor  54:EF:44:5C:4C:98 Successfully created TCP connection
2024-09-25T10:35:02.506882839Z TRACE Aqara Presence Sensor  Received event with handler discovery
2024-09-25T10:35:02.574833131Z TRACE Aqara Presence Sensor  Received event with handler driver_lifecycle

Hey @ldeora - Thank you for reporting this issue. I am sorry for the inconvenience. SmartThings has recently introduced a new driver to support the Aqara FP2 device, and today we made a change that may resolve your issue.
Could you please delete your device and attempt to rejoin? If the issue persists, can you please share the device firmware version the FP2 device has?
Thank you for your time.

The driver worked very well a month ago. When I came back from vacation I wanted to switch from the PR driver channel to main (or beta).
See my comment(s) here:
https://github.com/SmartThingsCommunity/SmartThingsEdgeDrivers/pull/1546
"today we made a change that may resolve your issue"
Can you please be more specific (which commit)?

The change wasnt related to a commit made in the driver itself, it was elsewhere. The action we took was just to install the newly deployed LAN Aqara Presence Sensor driver on Hubs. It may take up to 24 hours for all hubs to get the change.
I would encourage you to wait 24 hours, then reattempt. Also, if the issue continues, please remember to report what version of firmware you have on your Aqara FP2 device.

I'll try again tomorrow.
Device firmware: 1.2.7_0011.0080
Hub firmware:<PHONE_NUMBER>9
ST app (Android): <IP_ADDRESS>

I see that you added the FP2 to the supported devices. When I try to add it, the app downloads something (add-on/plug-in?) and then it is stuck at "Preparing your device":

The logcat from the Aqara Presence Sensor FP2 driver is the same as above. Keep in mind that I had the FP2 connected since about two weeks when the PR showed up. I deleted and added it successfully about four weeks ago as a test. When I tried to delete and add it two days ago, it failed.

Getting the error code 34-302

Could this be the reason?
Until now, the init lifecycle was executed before the doConfigure lifecycle.
I just saw in a log that a user sent me, that now Added is executed first, then doConfigure and then init.
https://community.smartthings.com/t/aeotec-smart-home-hub-2018-2015-model-hub-firmware-release-notes-0-54-10/287182/16

Got a full log now.
The interesting part:
2024-09-27T22:47:45.440063966Z ERROR Aqara Presence Sensor  get_credential : ip = <IP_ADDRESS>, failed to get token, error = wantread
2024-09-27T22:47:45.445295882Z WARN Aqara Presence Sensor  credential is nil
2024-09-27T22:47:45.450356841Z ERROR Aqara Presence Sensor  failed to get credential. dni= 54:EF:44:5C:4C:98, ip= <IP_ADDRESS>

Complete:
2024-09-27T22:46:40.619765579Z TRACE Aqara Presence Sensor  Setup driver aqara-fp2 with lifecycle handlers:
DeviceLifecycleDispatcher: aqara-fp2
  default_handlers:
    init:
    infoChanged:
    added:
    driverSwitched:
    removed:
  child_dispatchers:

2024-09-27T22:46:40.635536829Z TRACE Aqara Presence Sensor  Setup driver aqara-fp2 with Capability handlers:
CapabilityCommandDispatcher: aqara-fp2
  default_handlers:
    refresh:
      refresh
    multipleZonePresence:
      createZone
      updateZoneName
      deleteZone
  child_dispatchers:

2024-09-27T22:46:40.644384663Z INFO Aqara Presence Sensor  Created dispatcher [SecretDataDispatcher]aqara-fp2 that had no handlers
2024-09-27T22:46:40.705979413Z TRACE Aqara Presence Sensor  Setup driver aqara-fp2 with Secret Data handlers:
SecretDataDispatcher: aqara-fp2
  default_handlers:
  child_dispatchers:

2024-09-27T22:46:40.722801579Z TRACE Aqara Presence Sensor  Received event with handler driver_lifecycle
2024-09-27T22:46:40.727416621Z INFO Aqara Presence Sensor  received driver startupState: {"hub_zigbee_id":"KG2XAAILh00=","hub_node_id":1,"hub_ipv4":"<IP_ADDRESS>"}
2024-09-27T22:46:40.738916079Z TRACE Aqara Presence Sensor  Received event with handler discovery
2024-09-27T22:46:40.747689663Z INFO Aqara Presence Sensor  discovery_mdns.find_device_ips
2024-09-27T22:46:41.539953621Z INFO Aqara Presence Sensor  found_name = _Aqara-FP2._tcp
2024-09-27T22:46:41.551640830Z INFO Aqara Presence Sensor  ip = <IP_ADDRESS>
2024-09-27T22:46:41.560703163Z INFO Aqara Presence Sensor  found_name = _Aqara-FP2._tcp
2024-09-27T22:46:41.566640538Z INFO Aqara Presence Sensor  ip = <IP_ADDRESS>
2024-09-27T22:46:41.573283746Z TRACE Aqara Presence Sensor  unknown dni= 54:EF:44:5C:4C:98, ip= <IP_ADDRESS>
2024-09-27T22:46:41.577807538Z TRACE Aqara Presence Sensor  try_add_device : dni= 54:EF:44:5C:4C:98, ip= <IP_ADDRESS>
2024-09-27T22:46:41.582340580Z INFO Aqara Presence Sensor  54:EF:44:5C:4C:98 Creating TCP socket for REST Connection
2024-09-27T22:46:41.586796455Z INFO Aqara Presence Sensor  54:EF:44:5C:4C:98 Setting TCP socket timeout for REST Connection
2024-09-27T22:46:41.591843205Z INFO Aqara Presence Sensor  54:EF:44:5C:4C:98 Connecting TCP socket for REST Connection
2024-09-27T22:46:41.664880538Z INFO Aqara Presence Sensor  54:EF:44:5C:4C:98 Set Keepalive for TCP socket for REST Connection
2024-09-27T22:46:41.837995496Z INFO Aqara Presence Sensor  54:EF:44:5C:4C:98 Creating SSL wrapper for for REST Connection
2024-09-27T22:46:41.855930580Z INFO Aqara Presence Sensor  54:EF:44:5C:4C:98 Performing SSL handshake for for REST Connection
2024-09-27T22:46:45.358401372Z INFO Aqara Presence Sensor  54:EF:44:5C:4C:98 Successfully created TCP connection
2024-09-27T22:47:45.440063966Z ERROR Aqara Presence Sensor  get_credential : ip = <IP_ADDRESS>, failed to get token, error = wantread
2024-09-27T22:47:45.445295882Z WARN Aqara Presence Sensor  credential is nil
2024-09-27T22:47:45.450356841Z ERROR Aqara Presence Sensor  failed to get credential. dni= 54:EF:44:5C:4C:98, ip= <IP_ADDRESS>
2024-09-27T22:47:45.742896591Z INFO Aqara Presence Sensor  discovery_mdns.find_device_ips
2024-09-27T22:47:47.004599132Z INFO Aqara Presence Sensor  found_name = _Aqara-FP2._tcp
2024-09-27T22:47:47.011283341Z INFO Aqara Presence Sensor  ip = <IP_ADDRESS>
2024-09-27T22:47:47.021633716Z INFO Aqara Presence Sensor  found_name = _Aqara-FP2._tcp
2024-09-27T22:47:47.033793132Z INFO Aqara Presence Sensor  ip = <IP_ADDRESS>
2024-09-27T22:47:47.038557632Z TRACE Aqara Presence Sensor  unknown dni= 54:EF:44:5C:4C:98, ip= <IP_ADDRESS>
2024-09-27T22:47:47.049819716Z TRACE Aqara Presence Sensor  try_add_device : dni= 54:EF:44:5C:4C:98, ip= <IP_ADDRESS>
2024-09-27T22:47:47.057299299Z INFO Aqara Presence Sensor  54:EF:44:5C:4C:98 Creating TCP socket for REST Connection
2024-09-27T22:47:47.080912716Z INFO Aqara Presence Sensor  54:EF:44:5C:4C:98 Setting TCP socket timeout for REST Connection
2024-09-27T22:47:47.089521132Z INFO Aqara Presence Sensor  54:EF:44:5C:4C:98 Connecting TCP socket for REST Connection
2024-09-27T22:47:47.116578299Z INFO Aqara Presence Sensor  54:EF:44:5C:4C:98 Set Keepalive for TCP socket for REST Connection
2024-09-27T22:47:47.353437341Z INFO Aqara Presence Sensor  54:EF:44:5C:4C:98 Creating SSL wrapper for for REST Connection
2024-09-27T22:47:47.397943758Z INFO Aqara Presence Sensor  54:EF:44:5C:4C:98 Performing SSL handshake for for REST Connection
2024-09-27T22:47:50.674634508Z INFO Aqara Presence Sensor  54:EF:44:5C:4C:98 Successfully created TCP connection
2024-09-27T22:48:50.803410432Z ERROR Aqara Presence Sensor  get_credential : ip = <IP_ADDRESS>, failed to get token, error = wantread
2024-09-27T22:48:50.808347723Z WARN Aqara Presence Sensor  credential is nil
2024-09-27T22:48:50.813440682Z ERROR Aqara Presence Sensor  failed to get credential. dni= 54:EF:44:5C:4C:98, ip= <IP_ADDRESS>
2024-09-27T22:48:51.069608890Z INFO Aqara Presence Sensor  discovery_mdns.find_device_ips
2024-09-27T22:48:52.324482265Z INFO Aqara Presence Sensor  found_name = _Aqara-FP2._tcp
2024-09-27T22:48:52.332481599Z INFO Aqara Presence Sensor  ip = <IP_ADDRESS>
2024-09-27T22:48:52.344583515Z INFO Aqara Presence Sensor  found_name = _Aqara-FP2._tcp
2024-09-27T22:48:52.355385765Z INFO Aqara Presence Sensor  ip = <IP_ADDRESS>
2024-09-27T22:48:52.363825765Z TRACE Aqara Presence Sensor  unknown dni= 54:EF:44:5C:4C:98, ip= <IP_ADDRESS>
2024-09-27T22:48:52.368662640Z TRACE Aqara Presence Sensor  try_add_device : dni= 54:EF:44:5C:4C:98, ip= <IP_ADDRESS>
2024-09-27T22:48:52.381606974Z INFO Aqara Presence Sensor  54:EF:44:5C:4C:98 Creating TCP socket for REST Connection
2024-09-27T22:48:52.387539974Z INFO Aqara Presence Sensor  54:EF:44:5C:4C:98 Setting TCP socket timeout for REST Connection
2024-09-27T22:48:52.392373140Z INFO Aqara Presence Sensor  54:EF:44:5C:4C:98 Connecting TCP socket for REST Connection
2024-09-27T22:48:52.425812307Z INFO Aqara Presence Sensor  54:EF:44:5C:4C:98 Set Keepalive for TCP socket for REST Connection
2024-09-27T22:48:52.593265932Z INFO Aqara Presence Sensor  54:EF:44:5C:4C:98 Creating SSL wrapper for for REST Connection
2024-09-27T22:48:52.609604724Z INFO Aqara Presence Sensor  54:EF:44:5C:4C:98 Performing SSL handshake for for REST Connection
2024-09-27T22:48:55.814006016Z INFO Aqara Presence Sensor  54:EF:44:5C:4C:98 Successfully created TCP connection
2024-09-27T22:49:40.692051688Z TRACE Aqara Presence Sensor  Received event with handler discovery
2024-09-27T22:49:40.724452979Z TRACE Aqara Presence Sensor  Received event with handler driver_lifecycle

I'm pretty sure now that the very last commit right before the PR was merged into main broke the driver.
https://github.com/SmartThingsCommunity/SmartThingsEdgeDrivers/pull/1546/commits/640f0667a413440b9674c6adc6228d57c2f236fc
I was on vacation when I saw it and thought that this is quite a large change and this should be tested extensively. When I came back I just did that and yeah...
First I thought that the firmware has an expiration date for the REST GET /authcode . Then I thought that the SSL certificate has been replaced for the next firmware update, but it's the same. The log confirms that the SSL/TCP/HTTPS connection is successfully established.
There's a change from Request to HttpMessage, function recv_additional_response(original_response, sock) has been removed completely and this could be the culprit, because in the luasec documentation it says that wantread is a response to an incomplete response. And so on...
Quite a lot of changes to break the REST communication with the FP2 REST API.
I might be wrong but there were absolutely no changes on my side: same firmware (device, hub), only after the commit, I can't re-add the device.

Thanks, ChatGPT!
The "wantread" error in luasec (a Lua library for SSL/TLS support) typically indicates that a non-blocking operation is expected to read more data from the network (e.g., receiving SSL/TLS data) but hasn't yet completed. It usually happens in a context where the underlying socket or connection isn't ready to read data immediately.
In simpler terms, the socket is telling you that it wants more time to read data, and your program needs to try again later. This is common in non-blocking or asynchronous networking operations, where the program doesn't stop and wait for an operation to finish.
Possible solutions:

Use ssl.wrap with blocking I/O: If you're working with a blocking socket, ensure that your socket is blocking so it waits for the data to come in.

Check the socket readiness: If you're using non-blocking I/O, you may need to use a select mechanism (like socket.select) to check if the socket is ready for reading before you try to read from it.

Example:
local readable, _, _ = socket.select({sock}, nil, timeout)
if readable then
    -- Now safe to read from 'sock'
end

Handle the error gracefully: When you get the "wantread" error, it may be appropriate to handle it by retrying the read operation after a small delay or using non-blocking I/O effectively.

By dealing with the "wantread" error properly, you can ensure your program handles networking more smoothly without blocking or failing unexpectedly.
The "wantread" message is not specific to luasec alone but is commonly associated with Lua's socket library (specifically luasocket), which is often used for non-blocking network operations.
In the context of luasocket, the wantread message indicates that the socket is not ready to read data yet and the operation should be retried later. This happens in non-blocking mode when you're trying to read data from a socket, but the data isn't available at that moment.
Where it's seen:
luasocket: In non-blocking socket operations, the "wantread" message is returned when trying to perform a read operation on a socket that is not yet ready to provide data.
luasec: Since luasec builds on top of luasocket for SSL/TLS connections, you may encounter the same wantread behavior if the SSL/TLS connection is waiting to be able to read more data.
In summary:
luasocket commonly returns "wantread" during non-blocking I/O operations.
luasec, being built on luasocket, inherits this behavior when using non-blocking SSL/TLS connections.
In both cases, the solution generally involves checking the readiness of the socket using a select mechanism (like socket.select), or adjusting the socket to blocking mode if non-blocking is not required.

@seojune79 Is there a reason why the FP2 can't be added anymore? Maybe a hidden expiration date for /authcode or the whole REST in firmware version 1.2.7_0011.0080?

If something goes wrong while removing FP2 from the ST app, the device won't be onboarded.
If this happens, removing and onboarding the FP2 in the Aqara home app and then trying to onboard in the ST app should resolve the issue.

Thanks, @seojune79

Not fixed. Another user has the same issue. Read the comments here (conversation between Andreas_Roedl and ewimer2):
https://community.smartthings.com/t/aqara-fp2-tested-with-smartthings/270688/136
User has hub firmware 54.x, FP2 firmware 1.2.8x.
Keep in mind that the rollout of the FP2 firmware isn't completed yet and these are the first users who are trying to connect the FP2 to ST.

@seojune79

If something goes wrong while removing FP2 from the ST app, the device won't be onboarded.
If this happens, removing and onboarding the FP2 in the Aqara home app and then trying to onboard in the ST app should resolve the issue.

Doesn't seem to work for some users.

@seojune79

If something goes wrong while removing FP2 from the ST app, the device won't be onboarded.
If this happens, removing and onboarding the FP2 in the Aqara home app and then trying to onboard in the ST app should resolve the issue.

Doesn't seem to work for some users.

It would be nice to check the IPs of those devices.
I think it is necessary to check the IP of those devices.

This is from the logcat of the user:
2024-10-16T00:29:58.667069064Z ERROR Aqara Presence Sensor get_credential : ip = <IP_ADDRESS>, failed to get token, error = wantread
2024-10-16T00:29:58.669291523Z WARN Aqara Presence Sensor credential is nil
2024-10-16T00:29:58.689109731Z ERROR Aqara Presence Sensor failed to get credential. dni= 54:EF:44:5B:E4:1F, ip= <IP_ADDRESS>```

Connection established.

More and more users report that it doesn't work:
https://community.smartthings.com/t/aqara-fp2-tested-with-smartthings/270688/176

Make sure to read through the comments in this issue: https://github.com/SmartThingsCommunity/SmartThingsEdgeDrivers/issues/1654

Looks like the REST API isn't (correctly) activated, despite having the device added to the Aqara Home app / cloud. I had the same problem, but after removing and onboarding it, it worked. At least two users now report that even that doesn't work.
If I remember correctly, the first request is a GET /authcode and this fails. Haven't looked at the code since weeks.

I am attaching the procedure, video, and logcat that I tested, so please check it
recorded screen
20sec: onboarding fail in ST app
26sec: remove fp2 in Aqara app
32sec: onboarding fpr2 in Aqara app( fp2 reset required -> press and hold the reset button for more than 10 seconds )
1min 22sec: onboarding in ST app
1min 43sec: success
logcat.txt

Going to communicate that to the affected users and give feedback here.
Thanks.

I can replicate this issue here with the driver from the original PR, the production and the beta driver.
Here's the log that is pretty much identical to the logs from other people with the same problem:
2024-10-22T00:56:29.144965610Z TRACE Aqara Presence Sensor Setup driver aqara-fp2 with lifecycle handlers:
DeviceLifecycleDispatcher: aqara-fp2
  default_handlers:
    infoChanged:
    init:
    driverSwitched:
    removed:
    added:
  child_dispatchers:

2024-10-22T00:56:29.147693598Z TRACE Aqara Presence Sensor Setup driver aqara-fp2 with Capability handlers:
CapabilityCommandDispatcher: aqara-fp2
  default_handlers:
    multipleZonePresence:
      createZone
      deleteZone
      updateZoneName
    refresh:
      refresh
  child_dispatchers:

2024-10-22T00:56:29.149793481Z INFO Aqara Presence Sensor Created dispatcher [SecretDataDispatcher]aqara-fp2 that had no handlers
2024-10-22T00:56:29.158295438Z TRACE Aqara Presence Sensor Setup driver aqara-fp2 with Secret Data handlers:
SecretDataDispatcher: aqara-fp2
  default_handlers:
  child_dispatchers:

2024-10-22T00:56:29.162515714Z TRACE Aqara Presence Sensor Received event with handler environment_info
2024-10-22T00:56:29.165943719Z TRACE Aqara Presence Sensor Received event with handler environment_info
2024-10-22T00:56:29.168631020Z DEBUG Aqara Presence Sensor Z-Wave hub node ID environment changed.
2024-10-22T00:56:29.172345627Z TRACE Aqara Presence Sensor Received event with handler environment_info
2024-10-22T00:56:29.178248035Z TRACE Aqara Presence Sensor Received event with handler discovery
2024-10-22T00:56:29.182683751Z TRACE Aqara Presence Sensor Received event with handler driver_lifecycle
2024-10-22T00:56:29.184981066Z INFO Aqara Presence Sensor received driver startupState: {"hub_zigbee_id":"KG2XAAILh00=","hub_node_id":1,"hub_ipv4":"<IP_ADDRESS>"}
2024-10-22T00:56:29.192462180Z INFO Aqara Presence Sensor discovery_mdns.find_device_ips
2024-10-22T00:56:30.493928505Z INFO Aqara Presence Sensor found_name = _Aqara-FP2._tcp
2024-10-22T00:56:30.504129019Z INFO Aqara Presence Sensor ip = <IP_ADDRESS>
2024-10-22T00:56:30.504909117Z INFO Aqara Presence Sensor found_name = _Aqara-FP2._tcp
2024-10-22T00:56:30.505597503Z INFO Aqara Presence Sensor ip = <IP_ADDRESS>
2024-10-22T00:56:30.511888438Z TRACE Aqara Presence Sensor unknown dni= 54:EF:44:5C:4C:98, ip= <IP_ADDRESS>
2024-10-22T00:56:30.515899693Z TRACE Aqara Presence Sensor try_add_device : dni= 54:EF:44:5C:4C:98, ip= <IP_ADDRESS>
2024-10-22T00:56:30.516701010Z INFO Aqara Presence Sensor 54:EF:44:5C:4C:98 Creating TCP socket for REST Connection
2024-10-22T00:56:30.553897683Z INFO Aqara Presence Sensor 54:EF:44:5C:4C:98 Setting TCP socket timeout for REST Connection
2024-10-22T00:56:30.555842405Z INFO Aqara Presence Sensor 54:EF:44:5C:4C:98 Connecting TCP socket for REST Connection
2024-10-22T00:56:30.608109483Z INFO Aqara Presence Sensor 54:EF:44:5C:4C:98 Set Keepalive for TCP socket for REST Connection
2024-10-22T00:56:30.611883911Z INFO Aqara Presence Sensor 54:EF:44:5C:4C:98 Creating SSL wrapper for for REST Connection
2024-10-22T00:56:30.797716489Z INFO Aqara Presence Sensor 54:EF:44:5C:4C:98 Performing SSL handshake for for REST Connection
2024-10-22T00:56:33.581176024Z INFO Aqara Presence Sensor 54:EF:44:5C:4C:98 Successfully created TCP connection
2024-10-22T00:57:26.030374607Z TRACE Aqara Presence Sensor Received event with handler discovery
2024-10-22T00:57:26.095867837Z TRACE Aqara Presence Sensor Received event with handler driver_lifecycle

That's all. These warnings and errors from previous versions are gone:
2024-10-16T00:28:57.487769932Z INFO Aqara Presence Sensor 54:EF:44:5B:E4:1F Successfully created TCP connection
2024-10-16T00:29:58.667069064Z ERROR Aqara Presence Sensor get_credential : ip = <IP_ADDRESS>, failed to get token, error = wantread
2024-10-16T00:29:58.669291523Z WARN Aqara Presence Sensor credential is nil
2024-10-16T00:29:58.689109731Z ERROR Aqara Presence Sensor failed to get credential. dni= 54:EF:44:5B:E4:1F, ip= <IP_ADDRESS>

Since there's no real logging in the driver to see if there's even an attempt to get the auth token, it's impossible to debug.
Several users tried everything over the curse of a week now. Deleted the device everywhere, reset everything, tried every available driver version.
I've read through the code a dozen times and I'm on my wits end.
BTW: the mdns discovery doesn't even work on TV hubs, driver isn't started, but that's a different issue.
Read this thread from bottom up to see that we tried everything.
Does anybody care at all if it works? And no, code reviews and "LGTM" is NOT enough. It just doesn't work in the real world.

@ldeora
Hello, I will write down what I understand as much as possible.
FP2 basically does not generate additional credentials once it generates credentials.
In order to generate the credential again, the following method is required.

Reset when initialized with button long press
Reset if erased from aqara app
(When the driver has the credential well) Delete it from the smartthings app

if a problem occurs, method 3 cannot be used and reset through 1 or 2 is required.
And, in the case below, onboarding may fail.
case A. When onboarding is attempted in the version before hub 54.0011
case B. If this device is created after credential creation and lost before set filed completion
in the case of A, I understand that @cjswedes has already solved it.
in the case of B, As far as I know, the modified PR has been merged, and the driver with this has not been released yet.
https://github.com/SmartThingsCommunity/SmartThingsEdgeDrivers/pull/1685
if onboarding fails once due to the case of a or b, onboarding is not possible again until initialization because the credential has already been issued.
And if the user presses back without waiting enough when onboarding again after reset, the credential may be lost again.
For those who fail to reset and retry, I suspect that it is because they have already pressed back too quickly in 'search near by' after reset due to their experience of failure.
The guides that can be done at the moment are as follows:

Please clarify the reset
Please 'search near by' in smartthings. At this time, do not press the back button for enough time and wait until the device is added.

@hdlee27
Thanks for the clarification.

Can we agree that the onboarding process should be more straightforward?
The logging in the driver is pretty much useless as it is - see my logs.
I've tested the very latest version (2024-10-21T19:30) with the changes regarding the credentials management and of course I read the code and I wondered what would happen if the cache has invalid data. Is there a mechanism to clear the cache?
Users affected stopped pressing the back button while "search nearby" a long time ago. Why? Because we are collecting logs every time.
I've been testing this driver from the start with the very first PR. I was able to remove and add the device without problems but this doesn't work anymore. Something must have changed in the meantime - and I am still not convinced that it wasn't the last commit in the original PR that updated the lunchbox.
If someone like me has problems with a WWST device, maybe it shouldn't be certified.
We don't know how many people out there have the same issue but it doesn't look good... There wasn't a real public beta test...

Dear @ldeora
Your opinion is correct as a whole.
There was a problem. I'm terribly sorry. It's my fault and I'd like to correct it now.
Can you help me to fix it?
Is the problem reproduced in very latest version (2024-10-21T19:30)?
I'm really sorry, but there is no problem when attaching fp2 to my v3 and smartthings station. I wonder if it depends on the user environment.
the problem that mdns is not found on TV seems to need further analysis.

Is the problem reproduced in very latest version (2024-10-21T19:30)?

See my comment above...

Dear @ldeora
I'm sorry. I didn't know it was tested with 2024-10-21T19:30

Dear @ldeora
Could you check if it is normal onboarding with the driver below?
This is a pr that uses the lunchbox of the initial version of the first pr
You may be tired because you have already repeated it countless times, but please reset it again and onboard it.
https://github.com/SmartThingsCommunity/SmartThingsEdgeDrivers/pull/1711
https://bestow-regional.api.smartthings.com/invite/kVlnxzapzLM4

THIS WORKS!!!
And you know what? That's what I was trying to tell everyone involved: the latest commit that updated the lunchbox broke the driver! Here just one example:
https://github.com/SmartThingsCommunity/SmartThingsEdgeDrivers/issues/1654#issuecomment-2385241234
And if I remember correctly several times right after the commit!
So now we have to create a diff between the current version and the one that works for me.
I'd do it, clone/branch the driver, add some more logging and so one, but I realized that I don't work for Samsung, SmartThings or Aqara and I'm not getting paid for it - quite the opposite: I paid for the device and spent countless hours to debug the driver.
To summarize: roll back the lunchbox update, do some rebasing to include the important changes/commits.

Dear @ldeora
Thank you very much for your confirmation and we will try to reflect this as soon as possible.
And again, I'm terribly sorry.

Just send me the upcoming Aqara Light Switch H2 EU (no neutral) for all the troubles...

BTW: reports are coming in increasingly that the current production driver doesn't work:

I am stuck on the “prepare your device” page within SmartThings app even after the following:
Installing the Aqara FP2 driver
Updating the FP2 firmware to 1.2.8
Removing and readding the device in Aqara Home app

https://community.smartthings.com/t/aqara-fp2-tested-with-smartthings/270688/239
On the other hand, there are reports that it works out of the box...

Food for thought: What would happen if the current production driver suddenly worked after the driver from this PR worked, which I will test later. That would mean that the cache and/or the fields would survive a delete/add. I don't know how persistent the fields are stored. The fields contain everything important for the adding to work.
That would explain why some users don't have any issues at all. Users with the installed production version of the drivers who tried to add the device to ST the very first time. Not like those users who tried it before with the very first version from the PR!
It still doesn't explain why the lunchbox rollback makes a difference or does it?
Just thinking out loud...

Sooo...
I tested it now back and forth:
Installed driver from PR (see above): works
Installed driver from main, production, beta: doesn't work
Installed driver from PR again: works
Installed driver from main, production, beta: doesn't work
Installed driver from  PR again: works
Between driver changes, the exact same procedure: delete/add device in Aqara Home app, scan in ST.
This is the proof that the lunchbox update broke the driver!


Can Supabase Extension for VS Code work with Supabase Cloud?

I've installed it and it wants me to run supabase start - but so far I have done everything via the cloud.  Is it necessary? When I ran supabase start before it felt like it was creating another version that would 'compete' with the cloud. Do I have that right or do I need to run local to use the extension?

Currently the extension relies on the supabase stack running locally. But we're planning to integrate it with the management API so you can log in with your Supabase account. You can follow along here: https://github.com/supabase-community/supabase-vscode-extension/issues/9

@thorwebdev thanks! is there any downside to me using supabase start if i'm using the cloud? will they conflict or get out of sync or anything like that?

@joewinke you will want to use a workflow like this: https://supabase.com/docs/guides/cli/managing-environments
So once you've got the CLI installed, follow these steps:

Init your local project: supabase init
Link your cloud project to your local project: supabase link
Pull down the database from your cloud project: supabase db pull


table_list api docs have an empty bullet point in the Related commands section

http://rethinkdb.com/api/javascript/table_list/
I looked at the source, and it seems tableDrop and tableCreate are supposed to be there, but it isn't being rendered for whatever reason. Maybe it's a syntax error or something in the yaml header

edited the title, it's table_list, not db_list

Ok, I just realized it seems none of these are rendering for any api page

ping @chipotle

Well, that's fascinating. I've deployed the site and they're back now.


Add CoC, DCO and update README

I guess this is @nodejs/tsc jurisdiction (I am spamming folks a lot today, sorry for the noise!)