Preview feature feedback: Order by Relations support (orderByRelation)

Please share your feedback about the orderByRelation functionality that was released in v2.16.0 in this issue.

If you encounter a bug, please open a bug report in this repo.
If the feature is working well for you, please share this in a comment below or leave a 👍 on this issue.

If you have any questions, don't hesitate to ask them in the #prisma-client channel in the Prisma Slack.

The feature is working great, but if it could not only count the number of relations, but also sum, avg, min and max some specific attribute of the relations, it would make it a killer feature.
For example, a very common use case:
Top 10 students with the best grades
await prisma.students.findMany({
  take: 10,
  orderBy: {
    exams: {
      avg: {
        points: 'desc'
      }
    }
  },
});

Hi,
I prepare a simple project. There are 3 entities with composite keys. The last entity (TASK) has reference to Company and Project. I Can order tasks by ProjectName, but I cannot order them by CompanyName.
prismaClientUnknownRequestError2 [PrismaClientUnknownRequestError]:  Invalidprisma.task.findMany() invocation: Error occurred during query execution: ConnectorError(ConnectorError { user_facing_error: None, kind: QueryError(Error { kind: Db, cause: Some(DbError { severity: "ERROR", parsed_severity: Some(Error), code: SqlState("42804"), message: "argument of JOIN/ON must be type boolean, not type record", detail: None, hint: None, position: Some(Original(383)), where_: None, schema: None, table: None, column: None, datatype: None, constraint: None, file: Some("parse_coerce.c"), line: Some(1156), routine: Some("coerce_to_boolean") }) }) })  at cb (/prisma-schema-orderby/node_modules/@prisma/client/runtime/index.js:35105:17)     at processTicksAndRejections (internal/process/task_queues.js:93:5) {   clientVersion: '2.23.0' }
prisma-schema-orderby.zip

For me it doesn't work very well with skip. Not that this is a bug, but when the relation has the same quantity the order of the objects in the response may vary. I think this will only be solved when it becomes possible to sort by multiple fields

Closing this now that this has been released to General Availability in the 3.0.1 release


Render form utils and add forms to index file

Issue #, if available:
Description of changes:

Add utils file renderer
Refactor validation function to use ts factory to conform to render templating
Update test generators to include forms and utils rendering
@kpranoto-aws : remove locale dependency on date formatting

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Codecov Report

Merging #536 (1126137) into tagged-release/forms-and-views (85d7be1) will decrease coverage by 0.76%.
The diff coverage is 64.28%.

@@                        Coverage Diff                         @@
##           tagged-release/forms-and-views     #536      +/-   ##
==================================================================
- Coverage                           89.46%   88.69%   -0.77%
==================================================================
  Files                                  73       74       +1
  Lines                                2676     2715      +39
  Branches                              748      755       +7
==================================================================
+ Hits                                 2394     2408      +14
- Misses                                270      294      +24
- Partials                               12       13       +1

Impacted Files
Coverage Δ

.../codegen-ui-react/lib/forms/react-form-renderer.ts
75.55% <ø> (ø)

...es/codegen-ui/lib/utils/form-component-metadata.ts
14.28% <0.00%> (-10.72%)
:arrow_down:

...-react/lib/react-utils-studio-template-renderer.ts
33.33% <33.33%> (ø)

...ges/codegen-ui-react/lib/utils/forms/validation.ts
96.20% <96.77%> (-1.17%)
:arrow_down:

packages/codegen-ui-react/lib/index.ts
100.00% <100.00%> (ø)

...-react/lib/react-index-studio-template-renderer.ts
100.00% <100.00%> (ø)

packages/codegen-ui/lib/utils/string-formatter.ts
91.93% <100.00%> (+0.26%)
: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 85d7be1...1126137. Read the comment docs.


[Featrue-14214][Parameter] Support CRUD of project-level parameters

Purpose of the pull request

close: #14214

Brief change log
Support CRUD of project-level parameters
Verify this pull request

queryProjectParameterListPaging

createProjectParameter

updateProjectParameter

queryProjectParameterByCode

batchDeleteProjectParametersByCodes

Hi, @calvinjiang, I've done the backend part of CURD of project parameters, please help review this.
To conduct the front-end and back-end joint debugging ASAP, I will put UT and documents in another pr
cc @zhongjiajie

Codecov Report

Merging #14264 (7ff4b5b) into dev (66e09dc) will decrease coverage by 0.15%.
 Consider uploading reports for the commit c160277 to get more accurate results

@@             Coverage Diff              @@
##                dev   #14264      +/-   ##
============================================
- Coverage     38.65%   38.51%   -0.15%
+ Complexity     4534     4527       -7
============================================
  Files          1236     1238       +2
  Lines         43185    43284      +99
  Branches       4779     4766      -13
============================================
- Hits          16695    16672      -23
- Misses        24651    24781     +130
+ Partials       1839     1831       -8

Impacted Files
Coverage Δ

.../api/service/impl/ProjectParameterServiceImpl.java
1.57% <1.57%> (ø)

...ler/api/controller/ProjectParameterController.java
15.38% <15.38%> (ø)

.../org/apache/dolphinscheduler/api/enums/Status.java
100.00% <100.00%> (ø)

... and 39 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Hi, @calvinjiang , Thanks a lot for your comments. I've fixed them and please review again


Fix names longer than term width causing div zero err with 'follows'

I have a follow on batoto for a manga with a ridiculously long 95 character name (uchi-no-musume-no-tame-naraba-ore-wa-moshikashitara-maou-mo-taoseru-kamo-shirenai), which causes a division by zero error on attempt to 'cum follows'.

Amended to make first line < 65 chars rather than < 72 chars

Your fix is uncovered. Please write a test.

@sizer99 why did you close this and delete your fork?

I realized that dealing with people who care more about spacing that divide by zero errors is more work than it's worth - if you really cared about unit test coverage on this you'd have found the error long ago.  The fix is easily confirmed by basic code review.
But deleting the fork was too extreme, I apologize for that. So https://github.com/sizer99/cum - either take the fixes or don't, I won't be doing pull requests.

C'mon - if you really cared about unit test coverage on this you'd have found the error yourselves long ago.

We do actually care about unit test coverage. It is what we use to catch regression errors, such as this one. cum's unit tests currently cover 97.5% of the codebase and would probably cover higher if we had continuous integration on Windows for all the fixes we need to make to achieve some sort of working state on Windows, which none of the current developers use.

So dealing with your bureaucratic obstruction to outsiders is more work than fixing the bugs is worth for me. I just gave up.

We have a contribution guide.  Everything that was pointed out to you already existed in the contribution guide.

"The first line in a commit message should be a summary of the changes, in 65 characters or less."
"When adding new code paths, please also add tests to cover them."
"The coding style is based on the Pocoo Style Guide with a 79 character limit."

Contribution guides are not actually rare. In fact, Github is currently suggesting projects to add them if it cannot find one in the repository. If you do not care about making patches that conform to the project's requirements, Pull requests is the wrong section for you. Go to "Issues", open a new issue, describe your problem and wait for someone who can adhere to the contribution guide to actually fix it.


python3Packages.dash: use new python naming scheme, clean up

Description of changes
This PR applies some small changes to the dash python package.
Firstly, I formatted the source code with nixfmt.
Then, I updated the python builder to use the new names for defining dependencies: build-system, dependencies, optional-dependencies.
Lastly, I added --offline to a yarn call and changed --replace to --replace-fail.

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

in the future it's good to keep in mind that ofborg won't build commits that only specify python3Packages, only explicit versions (i.e., python311Packages)

@ofborg build python31Packages.dash python311Packages.dash


Performance improvements [HIGH PRIORITY]

The app can feel a bit sluggish when zoomed out
Optimise performance of the app
Potentially contribute back to neo4dj3 if any optimisations apply there

Pretty pleased with these results: https://www.webpagetest.org/result/181228_TB_7e9ae122f72f92ec5d7ce0ddc1cd45c9/ Any ideas of places to improve from that? A few of the .svgs weren't cached in that test run and the .svgs took a long time before they started downloading.

Performance in this graph is really good and it is similar to this repo's graph https://bl.ocks.org/almsuarez/4333a12d2531d6c1f6f22b74f2c57102

Related to #111

Added the branch performance-fix with a possible temporary patch. There is not a ton of information about how to manipulate or use canvas with d3. Another option I considered was a library change from neo4jd3 to WebGL or similar, but I would like to exhaust all options first.
Let me know your thoughts.

Sorry, completely missed this comment @CrayCrayDecay !
I really love this temporary change. It makes the app feel a lot snappier. I do like the never ending physics currently on the site, but the low framerate makes it feel bad. Maybe if we find other improvements we can go back to it sometime.
Definitely PR that change in :)

Observation: framerate increases the more you zoom in. Is it related to the rendering of .svgs?
However, tick relationship text and tick relationship outlines take way too long to compute, is it related to the the processing of the physics/positions of the .svgs?

#209 should dramatically reduce performance issues by reducing the number/length of "forced redraws". After this, the main bottlenecks will be:

The complexity of the calculations used in transforms. Can there be code optimisations here or faster estimates?
The length of the recalculate style + layout operations (these now only happen after the processing). They take quite a few ms, can anything be optimised to reduce their duration?


Remove gpg-suite Mail.app plugin

The plugin autodecrypts messages, which exposes users to EFAIL vulnerability.
https://efail.de/
https://www.eff.org/deeplinks/2018/05/attention-pgp-users-new-vulnerabilities-require-you-take-action-now

[Closes #531]

This would break the asdf install of nodejs which attempts to verify the package signatures. We can disable this check when installing nodejs, but then any future installs of nodejs would need to know to do this.
Another alternative would be to rm /Library/Mail/Bundles/GPGMail.mailbundle

@derekprior from what I can tell, the asdf node installation uses gpg cli, which doesn't require the entire gpg-suite installation. I think just brew install gpg2 would work.

If I've understood the vulnerabilities correctly, they require the message to not only be decrypted but also rendered in a mail agent that downloads images, styles, etc. by default.
Seems like Derek's proposed solution (rm …/GPGMail.mailbundle) would mitigate that, without needing to remove the whole of the GPG suite.
See https://efail.de/ for more.

This PR was made against master, so I needed to recreate it. I also wanted to test it on a fresh install of macOS Monterey. While searching, I found an alternative brew package which does not install the mail extension and I opened a PR for that instead https://github.com/thoughtbot/laptop/pull/607

thanks @cpytel sounds good!


Fix HUP notifications on windows

Currently, on windows, when receiving a "writeable" notification, HUP interest is disabled. This results in not receiving HUP notifications.
Fixes: https://github.com/tokio-rs/tokio/issues/2982

Created  #1372 to address my own comments.


array

How create an array in redis with predis ?

Don't really get your question but if you need to store values in an array-like structure (with numerical indices) in Redis then you need lists (see list-related commands), on the other hand if you need a dictionary-like structure (named arrays in PHP) then you need hashes (see hash-related commands). Note that this is just a rough approximation.


Replace Dropwizard with Airlift

Description
Resolve #41
Commits cannot be built and tested individually. This is caused by the mass dependency conflict between Dropwizard and Airlift. It is impossible to replace Dropwizard part by part and keep each commit buildable. Also, it will be very difficult to review if all changes are squashed into one commit.
TODO in this PR

[x] Fix docker build & health-check
[ ] Update docs on how to config & run
[ ] Document the incompatible changes and provide a migration guide.
[x] Find out if there are better ways to handle the configuration (yaml vs .properties)
[x] HTTPS support

Follow-up later in other PRs

Refactor and make the use of dependency injection consistent
Merge requestRouter, applicationConnectors and adminConnectors ports

How to run in Intellij
VM options: -Xmx1g -Djdk.attach.allowAttachSelf=true -Dlog.levels-file=gateway-ha/etc/log.properties
Main class:  io.trino.gateway.ha.HaGatewayLauncher
Argument: docs/quickstart-config.yaml
Working directory: $ProjectFileDir$

Release notes
(x) Release notes are required, with the following suggested text:
* Replace Dropwizard with Airlift
* (TODO) Document the incompatible changes

I assume this is ready for PR right?

I assume this is ready for PR right?

Yes. the all-or-nothing changes are done in this PR. Reviews are welcome.
I'm still working on merging different ports into one. The changes are big and they can be tested individually. I'd like to create another PR for that.
Docs will come afterward.

I've address the UI path issue in #382 with the following changes:
Path change for WebUI
The root path for Trino Gateway WebUI has been changed from / to /tgw. By
default, access to / will be redirected to /tgw. This behavior can be
changed by adding / to extraWhitelistPaths, which will route / to
Trino.
Format of extraWhitelistPaths
The path setting in extraWhitelistPaths is now a regex matches the full
URI in request. The old version will forward requests with a URI prefix that
matches any path in extraWhitelistPaths. The new version takes regexes from
extraWhitelistPaths and forwards only those requests with a URI that exactly
matches any of the regexes. This changes is required because in the old
version, / will match and forward every request.
Be sure to use single-quoted strings so that escaping is not required. The
following configurations are equal.
Old config:
extraWhitelistPaths:
    - "/ui"
    - "/v1/custom"

New config:
extraWhitelistPaths:
    - '/ui.*'
    - '/v1/custom.*'

I've address the UI path issue in #382 with the following changes:
Path change for WebUI
The root path for Trino Gateway WebUI has been changed from / to /tgw. By default, access to / will be redirected to /tgw. This behavior can be changed by adding / to extraWhitelistPaths, which will route / to Trino.
Format of extraWhitelistPaths
The path setting in extraWhitelistPaths is now a regex matches the full URI in request. The old version will forward requests with a URI prefix that matches any path in extraWhitelistPaths. The new version takes regexes from extraWhitelistPaths and forwards only those requests with a URI that exactly matches any of the regexes. This changes is required because in the old version, / will match and forward every request.
Be sure to use single-quoted strings so that escaping is not required. The following configurations are equal.
Old config:
extraWhitelistPaths:
    - "/ui"
    - "/v1/custom"

New config:
extraWhitelistPaths:
    - '/ui.*'
    - '/v1/custom.*'

is the naming of tgw up for discussion? personally i prefer the explicit noun based naming /trino-gateway/vX where you'd abstract away the clustering from the user with <?more than 1 gateway?>.trinodb.<org domain>.com/trino-gateway/
is the issue with it the potential lengths of the URL? i see added readability as tgw isn't a well known abbreviation

We will need to ensure we add a breaking release notes entry with upgrade info (or link to docs with the info would be even better).
Also I think the longer path would actually be nice ..

I'm fine with /trino-gateway. I am not aware of any practical limitations for having a longer URL path. We can finalize the decision in today's meeting.

Let's land this and improve in follow-ups.

@mosabua thoughts?


After reflashing 1.7.1 - 90% of my channels disconnected and every rebalance shows error insufficient_balance

WIth version 1.7.0 everything was fine. Now after the update when I start the Raspiblitz most of the channels  are online and active. After a few hours 90% of my channels are offline. I have to restart the hardware (which takes at least double as longer than with version 1.7.0) to bring back the channels into an active state. Bos reconnect doesn't work here.
Rebalances are not successful. Always ends with error: "Insufficient_balance", even though I have enough balance in the channels.
Edit: Tor isn't connecting, which could be the reason for the errors. lnd.log shows ttl expired and general socks failure.
Edit2: After a hardware restart, tor.log shows
Nov 08 14:00:13 raspberrypi tor[936]: Nov 08 14:00:13.000 [notice] Bootstrapped 100% (done): Done
Nov 08 14:00:16 raspberrypi tor[936]: Nov 08 14:00:16.000 [warn] Failed to find node for hop #1 of our path. Discarding this circuit.
Nov 08 14:00:17 raspberrypi tor[936]: Nov 08 14:00:17.000 [notice] Our circuit 0 (id: 132) died due to an invalid selected path, purpose Hidden service: Establishing introduction point. This may be a torrc configuration issue, or a bug.
Nov 08 14:01:13 raspberrypi tor[936]: Nov 08 14:01:13.000 [notice] No circuits are opened. Relaxed timeout for circuit 92 (a General-purpose client 3-hop circuit in state waiting to see how other guards perform with channel state open) to 60000ms. However, it appears the circuit has timed out anyway.

Edit3: Updating Tor now ...
Edit4: After updating Tor, everything seems to be running stable.

@nyxnor @openoms was there any problem with a tor update in v1.7.1? Any similar reports on the support chats?
Something to be addressed for the v1.7.2 released here?

no similar reports to investigate

OK .. no similar reports since two weeks. Closing issue - but anybody that will run into the same please report still so that we can reopen.


Require Implement guide

Hello sir,
can you please share the document how to configure this app
Thanks

Hi Mehul,
This is a basic project using Android Studio. I think you can run the app simply by downloading the zip folder and opening it with Android Studio. Although you may need to update certain dependencies as the project is quite old and new versions may have been released.
Regards,
Pulkit


RT-1.27: Static route to BGP redistribution

Following changes are in this PR -

Adding script static_route_bgp_redistribuon_test.go
Following new deviations are added -
- skip_bgp_send_community_type
- use_vendor_native_tag_set_config
- table_connections_unsupported

“This code is a Contribution to the OpenConfig Feature Profiles project (“Work”) made under the Google Software Grant and Corporate Contributor License Agreement (“CLA”) and governed by the Apache License 2.0. No other rights or licenses in or to any of Nokia’s intellectual property are granted for any other purpose. This code is provided on an “as is” basis without any warranties of any kind.”

Pull Request Functional Test Report for #2900 / 48b5427223f3d2d37413bfbc5778cfbb64ae2faa
Virtual Devices

Device
Test
Test Documentation
Job
Raw Log

Arista cEOS

RT-1.29: Static Route BGP Redistribution

Cisco 8000E

RT-1.29: Static Route BGP Redistribution

Cisco XRd

RT-1.29: Static Route BGP Redistribution

Juniper ncPTX

RT-1.29: Static Route BGP Redistribution

Nokia SR Linux

RT-1.29: Static Route BGP Redistribution

Openconfig Lemming

RT-1.29: Static Route BGP Redistribution

Hardware Devices

Device
Test
Test Documentation
Raw Log

Arista 7808

RT-1.29: Static Route BGP Redistribution

Cisco 8808

RT-1.29: Static Route BGP Redistribution

Juniper PTX10008

RT-1.29: Static Route BGP Redistribution

Nokia 7250 IXR-10e

RT-1.29: Static Route BGP Redistribution

Help

Not able to update the UUID. Probably we need to change this script folder in the repo based on -
$ go run ./tools/addrundata --fix
Test found in a bad path: feature/bgp/static_route_bgp_redistribution/static_route_bgp_redistribution_test.go
F0416 17:40:15.705688   43930 main.go:47] Problems found under feature root.  Please make sure test paths follow feature/<feature>/<subfeature>/<testkind>/<testname>/<testname>_test.go and all tests have an accompanying README.md in the test directory.
exit status 1

Please suggest.

Not able to update the UUID. Probably we need to change this script folder in the repo based on -
$ go run ./tools/addrundata --fix
Test found in a bad path: feature/bgp/static_route_bgp_redistribution/static_route_bgp_redistribution_test.go
F0416 17:40:15.705688   43930 main.go:47] Problems found under feature root.  Please make sure test paths follow feature/<feature>/<subfeature>/<testkind>/<testname>/<testname>_test.go and all tests have an accompanying README.md in the test directory.
exit status 1

Please suggest.

Let's move the files to below directory,

feature/bgp/static_route_bgp_redistribution/otg_tests/static_route_bgp_redistribution_test/static_route_bgp_redistribution_test.go
feature/bgp/static_route_bgp_redistribution/otg_tests/static_route_bgp_redistribution_test/README.md
feature/bgp/static_route_bgp_redistribution/otg_tests/static_route_bgp_redistribution_test/metadata.textproto

Also update https://github.com/openconfig/featureprofiles/blob/129ac0a4eff8a5bfd3bea777ccdb2c5421ccd5e6/testregistry.textproto#L490

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 55.448%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1949

Relevant Lines:
3515

💛  - Coveralls

Updated paths as per comment.


error installng on Linux mint 17KDE

encoutered the following error when install JSBIN
┌─[±][master ✓][jsbin][]
└─▪ npm install

<EMAIL_ADDRESS>postinstall /home/coder/Developer/jsbin
grunt build && npm run selenium:install

Running "concat:dist" (concat) task
File "public/js/prod/jsbin-3.39.14.js" created.
Running "concat:runner" (concat) task
File "public/js/prod/runner-3.39.14.js" created.
Running "uglify:dist" (uglify) task
File "public/js/prod/jsbin-3.39.14.min.js" created.
Running "uglify:runner" (uglify) task
File "public/js/prod/runner-3.39.14.min.js" created.
Running "uglify:embed" (uglify) task
File "public/js/embed.min.js" created.
Running "uglify:addons" (uglify) task
File "public/js/prod/addon-tern-3.39.14.min.js" created.
Done, without errors.

<EMAIL_ADDRESS>selenium:install /home/coder/Developer/jsbin
selenium-standalone install

sh: 1: selenium-standalone: not found
npm ERR! Linux 3.13.0-24-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "run" "selenium:install"
npm ERR! node v4.4.7
npm ERR! npm  v2.15.8
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR<EMAIL_ADDRESS>selenium:install: selenium-standalone install
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>selenium:install script 'selenium-standalone install'.
npm ERR! This is most likely a problem with the jsbin package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     selenium-standalone install
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs jsbin
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!
npm ERR!     npm owner ls jsbin
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     /home/coder/Developer/jsbin/npm-debug.log
npm ERR! Linux 3.13.0-24-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! node v4.4.7
npm ERR! npm  v2.15.8
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>postinstall: grunt build && npm run selenium:install
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script 'grunt build && npm run selenium:install'.
npm ERR! This is most likely a problem with the jsbin package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     grunt build && npm run selenium:install
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs jsbin
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!
npm ERR!     npm owner ls jsbin
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     /home/coder/Developer/jsbin/npm-debug.log
┌─[±][master U:1 ?:1 ✗][jsbin][]
└─▪ sudo npm install
[sudo] password for coder:
Sorry, try again.
[sudo] password for coder:
npm WARN cannot run in wd<EMAIL_ADDRESS>grunt build && npm run selenium:install (wd=/home/coder/Developer/jsbin)
npm WARN cannot run in wd<EMAIL_ADDRESS>npm run snyk-protect (wd=/home/coder/Developer/jsbin)
npm WARN unmet dependency /home/coder/Developer/jsbin/node_modules/snyk/node_modules/snyk-resolve-deps/node_modules/clite/node_modules/update-notifier/node_modules/configstore/node_modules/mkdirp requires<EMAIL_ADDRESS>but will load
npm WARN unmet dependency /home/coder/Developer/jsbin/node_modules/snyk/node_modules/snyk-resolve-deps/node_modules/minimist,
npm WARN unmet dependency which is version 1.2.0
npm WARN unmet dependency /home/coder/Developer/jsbin/node_modules/sqlite3/node_modules/node-pre-gyp requires<EMAIL_ADDRESS>but will load
npm WARN unmet dependency /home/coder/Developer/jsbin/node_modules/semver,
npm WARN unmet dependency which is version 5.3.0

Hmm, we should make the selenium optional deps I think. CC @kirjs


Standardize HTML charset to UTF-8

With this changes, I fixed the problem when charset of HTML isn't UTF-8.
Let me know if I should improve something or if would be necessary tests for new code.

Hello Denys,
Thanks for your interest in goquery, but this change would add two 3rd party dependencies to goquery, with one that uses cgo, for all users of the package even if they don't need the conversion. I prefer to leave goquery "utf8-only" and have those that need it do the conversion before passing the reader to goquery, using the packages they prefer (because the official x/text/encoding package also supports this transformation, without relying on cgo).
Thanks, sorry for rejecting the PR but hopefully you understand the motivation,
Martin

Hello Martin,
Thank you for the explanation. Yes, it makes sense. Okay, I'll do it passing the reader already with UTF-8 charset.
PS. Thanks for creating this library!
Regards,
Denys


Fix R.nth doc

Fix arguments order in doc of R.nth

:deciduous_tree: Thank you, @fobos!

thanks -- not sure how that slipped past

curse you @davidchambers ! too fast for me again

@davidchambers @buzzdecafe  You are welcome, guys :) Let me know if I can help you somehow


Expat CMake configure error

debian unstable
-- GLVND supported
-- Setting namespace to 'OpenColorIO_v2_1dev' as none was specified.
CMake Deprecation Warning at CMakeLists.txt:216 (message):
Option OCIO_BUILD_SHARED is deprecated.  Please use the cmake standard
BUILD_SHARED_LIBS=ON (default ON)
-- Could NOT find pystring (missing: pystring_INCLUDE_DIR pystring_LIBRARY) (Required is at least version "1.1.3")
-- Installing pystring: /home/lowy/OpenColorIO/build/ext/dist/lib/libpystring.a (version "1.1.3")
-- OpenImageIO includes     = /usr/include
-- OpenImageIO libraries    = /usr/lib/x86_64-linux-gnu/libOpenImageIO.so
-- OpenImageIO library_dirs = /usr/lib/x86_64-linux-gnu
-- OpenImageIO oiiotool     = OIIOTOOL_BIN-NOTFOUND
CMake Warning at src/bindings/python/CMakeLists.txt:44 (message):
Building PyOpenColorIO with OCIO_BUILD_DOCS disabled will result in
incomplete Python docstrings.
-- Configuring done
CMake Error in tests/cpu/CMakeLists.txt:
Imported target "expat::expat" includes non-existent path
"/usr/lib/include"

in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

The path was deleted, renamed, or moved to another location.

An install or uninstall procedure did not complete successfully.

The installation package was faulty and references files it does not
provide.

CMake Error in tests/cpu/CMakeLists.txt:
Imported target "expat::expat" includes non-existent path
"/usr/lib/include"

in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

The path was deleted, renamed, or moved to another location.

An install or uninstall procedure did not complete successfully.

The installation package was faulty and references files it does not
provide.

CMake Error in src/OpenColorIO/CMakeLists.txt:
Imported target "expat::expat" includes non-existent path
"/usr/lib/include"

in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

The path was deleted, renamed, or moved to another location.

An install or uninstall procedure did not complete successfully.

The installation package was faulty and references files it does not
provide.

CMake Error in src/OpenColorIO/CMakeLists.txt:
Imported target "expat::expat" includes non-existent path
"/usr/lib/include"

in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

The path was deleted, renamed, or moved to another location.

An install or uninstall procedure did not complete successfully.

The installation package was faulty and references files it does not
provide.

-- Generating done
CMake Generate step failed.  Build files cannot be regenerated correctly.

Imported target "expat::expat" includes non-existent path

Same error here on Haiku, had to comment out the line in src/OpenColorIO/CMakeLists.txt

Hi @Begasus , I cannot test in your context (only access to macOS, ubuntu (docker) and centOS (docker)). But I was expecting that some one on debian could help you, but no response. Did you make some progress?

I reproduced the problem under Ubuntu: docker run -it ubuntu:21.10
apt update
apt install -y build-essential git cmake libexpat1-dev
cd /home
git clone --depth 1 https://github.com/AcademySoftwareFoundation/OpenColorIO
cd OpenColorIO
mkdir build
cd build
cmake .. -DOCIO_BUILD_APPS=OFF -DOCIO_BUILD_GPU_TESTS=OFF -DOCIO_BUILD_PYTHON=OFF

The problem is in /usr/lib/x86_64-linux-gnu/cmake/expat-2.4.1/expat.cmake:
# Compute the installation prefix relative to this file.
get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
if(_IMPORT_PREFIX STREQUAL "/")
  set(_IMPORT_PREFIX "")
endif()

# Create imported target expat::expat
add_library(expat::expat SHARED IMPORTED)

set_target_properties(expat::expat PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
)

The script starts at the current folder, then goes 3 folders up to determine the import prefix  /usr/lib. This is correct for the library that is located at /usr/lib/x86_64-linux-gnu/libexpatw.so.1.8.1. However, the same prefix is used to append /include which results in /usr/lib/include but that folder does not even exist. The main header is at /usr/include/expat.h.
Changing the .cmake file to go one folder up further to construct the include path fixes the problem:
+get_filename_component(_IMPORT_PREFIX_PARENT "${_IMPORT_PREFIX}" PATH) # headers in /usr/include, not /usr/lib/include
 set_target_properties(expat::expat PROPERTIES
-  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
+  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX_PARENT}/include"
 )

Note that if you re-use the _IMPORT_PREFIX variable instead, then the library won't be found anymore (not in /usr/x86_64-linux-gnu) because that variable appears to be used by a script that gets included (not immediately apparent).
I don't know whether this is an expat bug or if the layout of the installed files is somehow non-standard (not a Linux person) and should be fixed by the maintainer who packages this library.

I filed a bug report over on Launchpad for the expat source package: https://bugs.launchpad.net/ubuntu/+source/expat/+bug/1956202

Hi @hodoulp someone in our team changed the value for expat in a later commit then mine which seems to fix the issue so far (https://github.com/haikuports/haikuports/commit/4e1e2894c19bfb8de6e6496cf64ab0429d126afd#diff-275d3ac5bcfddc1bc6fe57977c22b2ad0c495e39243e032827ba4ce1853796ff).
I also made adjustments for the installation of OCIO to follow a bit more the gnuinstalldirs. The recipe and patches can be found here: https://github.com/haikuports/haikuports/pull/6086/files
Need to have a look at your patch @Simran-B if it fixes the same here.

Doing some digging I found issues for the same error:

https://github.com/libexpat/libexpat/issues/501
https://github.com/NixOS/nixpkgs/pull/128997

My understanding is that ubuntu use autotools to configure / build expat and pass a custom lib folder --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) which is not correctly reflected in the CMake config script generated later. @hartwork is already aware of the issue and said the easiest fix is on the packaging side.

@remia I confirm. If someone has resources to team up with me on a fix upstream, please get in touch.

Closing as I believe this was addressed by PR #1578.


abaplint bin command fix

to #297

hmm, I changed it a while back, so that it is possible to add --experimental-worker in the executeable

I see ...
Well, in my machine this works (abaplint file) - of course should be tested in the environment you want it to work ...
#!/usr/bin/env node --experimental-worker

const worker = require('worker_threads'); <<< TO CONFIRM FLAG IS ACTIVE

require("./build/src/cli");

Option 2: separate bin for experimental run e.g. abaplint-beta or abaplint-with-node-params
or .... ? just to ignore this issue

doesnt seem to work, running on windows,

Hmmm ... OK ... it is a bit controversial  at least at my level of shell knowledge.
the file above works if installed as package e.g.
npm link (or real npm install)
abaplint -h

If I understand correctly this is because npm actually wraps the script in a shell script which ignores shebang stuff in the file itself and ACCEPTS params
npm link
which abaplint
cat ... ^^^

#!/bin/sh
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")

case `uname` in
    *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
esac

if [ -x "$basedir/node" ]; then
  "$basedir/node"  --experimental-worker "$basedir/node_modules/abaplint/abaplint" "$@"
  ret=$?
else
  node  --experimental-worker "$basedir/node_modules/abaplint/abaplint" "$@"
  ret=$?
fi
exit $ret

running ./xxxx --param does not work indeed. However there is a param -S which allows this.
#!/usr/bin/env -S node --experimental-worker

Then I can run from dev dir directy
./abaplint -h

BUT this stops working with npm !!!
Imho to summarize: to add additional script with -S. If this is used for developer experiments then it should be just fine and for npm scripts use the one without additional params. (see last commit)

also does not seem to work,

Hmmmmm, will have a look

OK, here is a new approach. Seems like -S is not available in all environments. Also I checked my older js projects how I did there and this is it. So the key fact is that shebang seems to be non universal.

abaplint renamed to abaplint.js (this is JS file isn't it ?)
bin in package.json refers to abaplint.js
js file keeps shebang. Seems like npm installs it differently in case of with and without shebang.
The above ensures npm related scenarion work (npm link, npm install), so AG scenario will also work (as it uses npm install)
Checked npm link + abaplint -h in irrelevant dir: works both for bash and cmd
added abaplint, 755, shell script, runs node abaplint.js. To run in dev env. ./abaplint -h works
added abaplint.bat, cmd script, runs node abaplint.js. To run in dev env on win on cmd. 'abaplint -h' at dev dir works

1: IMHO, no, it starts with #!/usr/bin/env node which is not JavaScript

1: but it calls require :) Anyway the point was to make abaplint (the file w/o extension) a shell script and not a js file. We can keep abaplint name, just remove shebang from it and rename shell script to abaplint.sh
The final goal imho is:

abaplint works after npm install (invoked by "user")
abaplint can be called from dev dir for experiment with parameters (which is achieved by dedicated shell scripts for win/unix) (invoked by "developer")

And the problem is that it seems that it is not possible to do with one single file for all environments (at least from what I understand)

any tips for reproducing the issue? see original issue

what is the minimal solution to get it running, while ignoring the worker threads issue? Could just force users wanting to use the worker threads to do manual commands

ok. attempt number 3 :) Have a look. (don't merge if OK, there a debug log output)
$ ./abaplint -h
worker_threads NOT found
Usage: abaplint [options] [file ...]
...
$ ./abaplint-x -h
worker_threads found!
Usage: abaplint [options] [file ...]
...

after npm link
bash

cmd

this looks good 👍
the spawn and abaplint-x will work until/if worker threads are enabled by default
if you remove the debug output, then I'll merge it

done
:tada: :smile:

will release a new version tomorrow, if I remember it

1.5.2 published, try again

Works now :tada:


Component Tree vertical scrollbar is underneath the Info Panel

When I scroll the Component Tree vertically, and the content overflows hunder the Info Panel; scroll bars are visible overtop the info panel.

This was resolved by #702.


Neilzon/38 video cards

description
Add video card component
closes: #38

The clock icon should be white

@aureentuluvacal  The dark colour of the clock wasn't reproducing on my machine locally but I tried changing the way I pass the colour to it so maybe that might help but please lmk if it works on your side!


telegram-alpha: Add min. OS requirement and additional name

[ ] brew cask audit --download {{cask_file}} is error-free.
[ ] brew cask style --fix {{cask_file}} reports no offenses.
[ ] The commit message includes the cask’s name and version.

Verified locally.


Fix: cannot access context in onSwipe when no cards left then "destroy" the widget tree

Description
Step to Reproduce Issue:

Create a StatefulWidget for a page:

class FirstPage extends StatefulWidget {
  ...
}

class _FirstPageState extends State<FirstPage> {
  final List<Model> datas = [
    ...
  ];

  int currentIndex = 0;

  @override
  Widget build(BuildContext context) {
    return currentIndex == (datas.length - 1)
      ? NoDataLeft() // Another widget to show no data message
      : MyCards(
          datas: datas,
          onLiked: (index) {
            currentIndex = index;
            setState(() {});
          },
        );
    }
}

Create a single common widget

class MyCards extends StatelessWidget {
  final List<Model> datas;
  final ValueChanged<int> onLiked;

  const MyCards({super.key, required this.datas, required this.onLiked});

  @override
  Widget build(BuildContext context) {
    return CardSwiper(
      onSwipe: (previousIndex, currentIndex, direction) {
        // If the last card swiped and disposed, this block cannot access context's inheritance anymore
        // For example:
        context.read<MyProvider>();
      },
      cardsCount: widget.items.length,
      cardBuilder: (context, index, xPercent, yPercent) {
        return MyCardItemView(
          onLiked: () {
            onLiked(index);
          },
        );
      },
    );
  }
}

Error will appears and points to card_swiper.dart line 251.
This PR will fix the issue, just to arrange order when to call super.dispose().
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[ ] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.
[ ] I updated CHANGELOG.md to add a description of the change, following repository CHANGELOG style.
[ ] I updated/added relevant documentation (doc comments with ///).
[x] All existing and new tests are passing.

Visual reference

thank you!


Allow embedding outputs from deployed apps

You should be able to embed the output of a deployed app, so you can, for example, attach them to notion.so and other places.
To do so, we will generate a URL with a token. The token should be generated in function of the password ("" if there is no password) and contain a reference to the index of the output type. For example, the second graph in the cell. Changing the password will make the token invalid.

Btw, you should be able to embed the whole app without problems and that's most likely the most robust way to share it that does not depend on specific location of outputs.
However, once we introduce #2109, then you should be able to share rows of a panel just as well.


The ESP32S3 runs the i2s_recorder example, and the data of the MEMS microphone cannot be collected (IDFGH-11216)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
5.0.3
Espressif SoC revision.
esp32-s3
Operating System used.
Windows
How did you build your project?
VS Code IDE
If you are using Windows, please specify command line type.
None
Development Kit.
esp32-s3
Power Supply used.
USB
What is the expected behavior?
This is my serial port has been output data, I think it should be the change of data
[0] -30935 [1] -30935 [2] -30935 [3]-30935 ...
[0] -30935 [1] -30935 [2] -30935 [3]-30935 ...
[0] -30935 [1] -30935 [2] -30935 [3]-30935 ...
[0] -30935 [1] -30935 [2] -30935 [3]-30935 ...
What is the actual behavior?
This is my serial port has been output data, I think it should be the change of data
[0] -30935 [1] -30935 [2] -30935 [3]-30935 ...
[0] -30935 [1] -30935 [2] -30935 [3]-30935 ...
[0] -30935 [1] -30935 [2] -30935 [3]-30935 ...
[0] -30935 [1] -30935 [2] -30935 [3]-30935 ...
Steps to reproduce.
/*

SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD

SPDX-License-Identifier: Unlicense OR CC0-1.0
*/

/* I2S Digital Microphone Recording Example */
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <sys/unistd.h>
#include <sys/stat.h>
#include "sdkconfig.h"
#include "esp_log.h"
#include "esp_err.h"
#include "esp_system.h"
#include "esp_vfs_fat.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/i2s_pdm.h"
#include "driver/gpio.h"
#include "driver/spi_common.h"
#include "sdmmc_cmd.h"
// #include "format_wav.h"
static const char *TAG = "pdm_rec_example";
#define NUM_CHANNELS        1
#define SAMPLE_SIZE         16 * 1024
#define BYTE_RATE           44100 * 2
#define I2S_DATA_GPIO       35
#define I2S_CLK_GPIO        36
#define REC_TIME     15
i2s_chan_handle_t rx_handle = NULL;
static int16_t i2s_readraw_buff[SAMPLE_SIZE];
size_t bytes_read;
void init_microphone(void)
{
i2s_chan_config_t chan_cfg = I2S_CHANNEL_DEFAULT_CONFIG(I2S_NUM_AUTO, I2S_ROLE_MASTER);
ESP_ERROR_CHECK(i2s_new_channel(&chan_cfg, NULL, &rx_handle));
i2s_pdm_rx_config_t pdm_rx_cfg = {
    .clk_cfg = I2S_PDM_RX_CLK_DEFAULT_CONFIG(BYTE_RATE),
    /* The default mono slot is the left slot (whose 'select pin' of the PDM microphone is pulled down) */
    .slot_cfg = I2S_PDM_RX_SLOT_DEFAULT_CONFIG(I2S_DATA_BIT_WIDTH_16BIT, I2S_SLOT_MODE_MONO),
    .gpio_cfg = {
        .clk = I2S_CLK_GPIO,
        .din = I2S_DATA_GPIO,
        .invert_flags = {
            .clk_inv = false,
        },
    },
};
ESP_ERROR_CHECK(i2s_channel_init_pdm_rx_mode(rx_handle, &pdm_rx_cfg));
ESP_ERROR_CHECK(i2s_channel_enable(rx_handle));

}
void app_main(void)
{
printf("PDM microphone recording example start\n--------------------------------------\n");
// Acquire a I2S PDM channel for the PDM digital microphone
init_microphone();
while (1)
{
    // Read the RAW samples from the microphone
    if (i2s_channel_read(rx_handle, (char *)i2s_readraw_buff, SAMPLE_SIZE, &bytes_read, 1000) == ESP_OK) {
        printf("[0] %d [1] %d [2] %d [3]%d ...\n", i2s_readraw_buff[0], i2s_readraw_buff[1], i2s_readraw_buff[2], i2s_readraw_buff[3]);
    } else {
        printf("Read Failed!\n");
    }
    vTaskDelay(100/portTICK_PERIOD_MS);
}
ESP_LOGI(TAG, "Recording done!");

I (291) sleep: Configure to isolate all GPIO pins in sleep state
I (297) sleep: Enable automatic switching of GPIO sleep configuration
I (305) app_start: Starting scheduler on CPU0
I (309) app_start: Starting scheduler on CPU1
I (309) main_task: Started on CPU0
I (319) main_task: Calling app_main()
PDM microphone recording example start
--------------------------------------
[0] 0 [1] 41 [2] -30273 [3]-31424 ...
[0] -30935 [1] -30935 [2] -30935 [3]-30935 ...
[0] -30935 [1] -30935 [2] -30935 [3]-30935 ...
[0] -30935 [1] -30935 [2] -30935 [3]-30935 ...
[0] -30935 [1] -30935 [2] -30935 [3]-30935 ...
[0] -30935 [1] -30935 [2] -30935 [3]-30935 ...
[0] -30935 [1] -30935 [2] -30935 [3]-30935 ...
[0] -30935 [1] -30935 [2] -30935 [3]-30935 ...
[0] -30935 [1] -30935 [2] -30935 [3]-30935 ...
[0] -30935 [1] -30935 [2] -30935 [3]-30935 ...

More Information.
NO

This isn't helpful, sorry, but I thought I'd chime in that I arrived here by searching "esp32 30935" as it turns out I am having the exact same problem. I have a very basic setup, just following examples, which enables I2S for RX in PDM mode. I've tried various data pins, including one just grounded, and I only ever read this -30935 value.
I also tried the same thing with all Arduino functions (see here), and I got the same result.
I'm pretty confused where I'm going wrong since I'm just setting up the very basic functionality.

Hi @huangdiajd @endotronic , I've tried the example with 88200Hz sample rate and 35 & 36 GPIO pins, I can receive the correct data like:

If the connection of pin is correct, please check whether there are clock and data on the pin via oscilloscope or logic analyzer, some PDM micro phone has limitation of the oversampling rate, while exceed or below the required clock frequency, there won't be data on the data line, you may also need to check the datasheet of the PDM mic.

I really appreciate the reply @L-KAYA.
I've tried pulling the data line high, and I still see only -30935 in the buffer. I also enabled PDM2PCM, expecting that after this transformation, I would see 0 instead of -30935, but even after this, I still get only -30935 in the buffer!
  REG_SET_BIT(I2S_RX_CONF_REG(I2S_NUM_0), I2S_RX_PDM2PCM_EN);

  Serial.print("I2S_RX_CONF_REG =");
  Serial.println(REG_READ(I2S_RX_CONF_REG(I2S_NUM_0)), HEX);

The value I got for this register was 0x00309404, which looks correct, though I didn't go through every bit.
I have been doing this on non-default pins, and I have been building with PlatformIO instead of ESP-IDF directly. I am going to try to create the simplest possible test with default pins and only ESP-IDF tools, and I'll see what happens.

Alright, I set up ESP-IDF 5.1.1 in VSCode (fresh installation), I created a new project based on the i2s_pdm example, and I changed only the pins used and I forced it into the RX mode. Now running this with a monitor, I am seeing 4 bytes of -30935 and 4 bytes that have some noise but mostly repeat values around -30935 to -18596.
While this is running, I've manually shorted the data pin to power and ground just trying to change the data I'm seeing, but there is no change. I've also tried various other pins for data and clock (EXAMPLE_PDM_RX_CLK_IO and EXAMPLE_PDM_RX_DIN_IO in the example code), including actual data out from a PDM mic, and the data I get is exactly the same. I can't seem to do anything that leads to any change in the values I'm seeing over the serial monitor.
I don't have an oscilloscope or logic analyzer available to me right now (I'm just a hobbyist), but I'll try to get something or borrow one. With that said, I really would have expected shorting the data pin to ground and power to show me something in the output.

You can disregard my comments. I got a logic analyzer, and I can see that my PDM mic is not working.

Thanks for your reply! If the PDM mic does not work, these checks might help:

Check if there is faulty soldering;
Check if the power supply and the ground voltage of the mic are correct;
Check if the oversample rate is out of support range (referring to the PDM datasheet);
Change a PDM mic to check if the mic is broken;

I appreciate the tips. I'm guessing soldering must be the issue. I got a PDM mic breakout board from Adafruit and it worked immediately, no code changed, worked as expected on the first try.
It probably doesn't matter, but the PDM mic I was trying to use was a IMP34DT05TR. Seems like it should have been fine. Maybe I had the land pattern wrong or something.


Improve documentation on filter using SOURCE_REFERENCE_COLUMN.

Improve documentation on filter using SOURCE_REFERENCE_COLUMN.

moved to https://github.com/exasol/virtual-schema-common-document-files/issues/94


rare fails at runtime

Describe the bug
on nixpkgs-unstable, rare fails to start
Steps To Reproduce

nix-shell -p rare
rare

Expected behavior
should display a GUI
Additional context
$ rare
Traceback (most recent call last):
  File "/nix/store/pwkh2p8pd4qbizrbqjw87s4r1jc8r7ma-rare-1.9.2/bin/.rare-wrapped", line 9, in <module>
    sys.exit(main())
  File "/nix/store/pwkh2p8pd4qbizrbqjw87s4r1jc8r7ma-rare-1.9.2/lib/python3.10/site-packages/rare/__main__.py", line 104, in main
    from rare.app import start
  File "/nix/store/pwkh2p8pd4qbizrbqjw87s4r1jc8r7ma-rare-1.9.2/lib/python3.10/site-packages/rare/app.py", line 15, in <module>
    from rare.components.dialogs.launch_dialog import LaunchDialog
  File "/nix/store/pwkh2p8pd4qbizrbqjw87s4r1jc8r7ma-rare-1.9.2/lib/python3.10/site-packages/rare/components/dialogs/launch_dialog.py", line 10, in <module>
    from rare.components.dialogs.login import LoginDialog
  File "/nix/store/pwkh2p8pd4qbizrbqjw87s4r1jc8r7ma-rare-1.9.2/lib/python3.10/site-packages/rare/components/dialogs/login/__init__.py", line 13, in <module>
    from .import_login import ImportLogin
  File "/nix/store/pwkh2p8pd4qbizrbqjw87s4r1jc8r7ma-rare-1.9.2/lib/python3.10/site-packages/rare/components/dialogs/login/import_login.py", line 8, in <module>
    from legendary.utils.wine_helpers import read_registry, get_shell_folders
ModuleNotFoundError: No module named 'legendary.utils.wine_helpers'

Notify maintainers
@WolfangAukang
Metadata
 - system: `"x86_64-linux"`
 - host os: `Linux 6.0.6, NixOS, 22.11 (Raccoon), 22.11.20221103.a2a7775`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.11.0`
 - nixpkgs: `/nix/store/brqf6qdrsq5s3k0siv47wbgrgz1i9dxz-source`

a bisect led to this faulty commit:
e82d8ad758a651ead3495e37e1ced2c4389f46c6 is the first bad commit
commit e82d8ad758a651ead3495e37e1ced2c4389f46c6
Author: R. Ryantm<EMAIL_ADDRESS>Date:   Wed Oct 26 19:56:44 2022 +0000

    legendary-gl: 0.20.29 -> 0.20.30

 pkgs/games/legendary-gl/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Reported upstream: https://github.com/Dummerle/Rare/issues/257.


ERROR: sudo: ./redsocks/redsocks: command not found

Hi, Got this error.
" Authenticate to password
CONNECTED SUCCESSFULLY
---Tunneling  starts-----
sudo: ./redsocks/redsocks: command not found
KILLING PROCESS...."
what could be the problem?

Fixed 👍

chmod: cannot access 'redsocks': No such file or directory
sudo: ./redsocks: command not found
now i get this.

Contact me on telegram: @Abdoxfox_official


Stutter Playback on Livestream DRM

Media3 Version
Media3 1.0.1
Devices that reproduce the issue

Samsung A31 running on Android 12
Xiaomi Poco M4 Pro running on Android 11
Asus Zenfone Max Pro M1 running on Android 9

Devices that do not reproduce the issue
No response
Reproducible in the demo app?
Yes
Reproduction steps

Watch Livestream DRM Video

Expected result
The media play smooth
Actual result
Stutter occurs
Media
Will be sent to email<EMAIL_ADDRESS>Bug Report

[x] You will email the zip file produced by adb bugreport to<EMAIL_ADDRESS>after filing this issue.

Hi, is there anything I can help to investigate this issue?
hope this may help the investigation, there are several audioTrackUnderrun on the log
05-04 10:18:46.486 10351 10506 10506 E EventLogger: audioTrackUnderrun [eventTime=16.54, mediaPos=23.04, window=0, period=0, 120832, 684, 33]
05-04 10:18:46.507  1000   783  1170 E PQ      : [PQ][PQSessionManager] PQSessionManager::getPQSession m_PQSupport == 0
05-04 10:18:46.538  1041   825  1409 I SoundAlive_SRC384 arch64: SoundAlive_SRC384: Instance 1194 Init(outFs 8, InFs 7, chnum 2, outBW 3, inBW 3)
05-04 10:18:46.538  1041   825  1409 I Samsung_SoundAlive_SRC arch64: SRC384 version Samsung SoundAlive SRC ver320 arch64  2021.08.04 (Cppref for ARM64, ver.300.c 32bit 07_10_2016 based)
05-04 10:18:46.540  1000   783  1170 E PQ      : [PQ][PQSessionManager] PQSessionManager::getPQSession m_PQSupport == 0
05-04 10:18:46.554 10351 10506 10506 E EventLogger: audioTrackUnderrun [eventTime=16.61, mediaPos=23.11, window=0, period=0, 120832, 684, 30]
05-04 10:18:46.566 10045  1835  1930 D NetworkController: SignalStrength from intent slotId=0
05-04 10:18:46.566 10045  1835  1930 D NetworkController.MobileSignalController(0/2147483647): new mSignalStrength=SignalStrength:{mCdma=Invalid,mGsm=CellSignalStrengthGsm: rssi=-69 ber=2147483647 mTa=0 mLevel=4,mWcdma=Invalid,mTdscdma=Invalid,mLte=Invalid,mNr=Invalid,SignalBarInfo{ gsmLevel=4 },rat=16,primary=CellSignalStrengthGsm}
05-04 10:18:46.566 10045  1835  1930 D NetworkController.MobileSignalController(0/2147483647): Display signal bar by emergency only[true][true]
05-04 10:18:46.574  1000   783  1170 E PQ      : [PQ][PQSessionManager] PQSessionManager::getPQSession m_PQSupport == 0
05-04 10:18:46.576  1000  1433  1718 D SemNscXgbMsL1: Probability - Cloud gaming: [0.007305817]
05-04 10:18:46.576  1000  1433  1718 D SemNscXgbMsL1: Probability - Real time: [0.22444561]
05-04 10:18:46.576  1000  1433  1718 D SemNscXgbMsL1: Probability - Non real time: [0.9578367]
05-04 10:18:46.576  1000  1433  1718 D SemNscXgbMsL1: 1 sample inference time: 0.616615 msecs
05-04 10:18:46.577  1000  1433  1718 D SemNscXgbL2Rt: L2 RT 1 sample inference time: 0.673846 msecs
05-04 10:18:46.578  1000  1433  1718 D SemNscXgbL2Nrt: L2 NRT 1 sample inference time: 1.192615 msecs
05-04 10:18:46.602  1041   825  1409 I SoundAlive_SRC384 arch64: SoundAlive_SRC384: Instance 1194 Init(outFs 8, InFs 7, chnum 2, outBW 3, inBW 3)
05-04 10:18:46.602  1041   825  1409 I Samsung_SoundAlive_SRC arch64: SRC384 version Samsung SoundAlive SRC ver320 arch64  2021.08.04 (Cppref for ARM64, ver.300.c 32bit 07_10_2016 based)
05-04 10:18:46.608  1000   783  1170 E PQ      : [PQ][PQSessionManager] PQSessionManager::getPQSession m_PQSupport == 0
05-04 10:18:46.615 10351 10506 10506 E EventLogger: audioTrackUnderrun [eventTime=16.67, mediaPos=23.17, window=0, period=0, 120832, 684, 32]
05-04 10:18:46.641  1000   783  1170 E PQ      : [PQ][PQSessionManager] PQSessionManager::getPQSession m_PQSupport == 0
05-04 10:18:46.667  1041   825  1409 I SoundAlive_SRC384 arch64: SoundAlive_SRC384: Instance 1194 Init(outFs 8, InFs 7, chnum 2, outBW 3, inBW 3)
05-04 10:18:46.667  1041   825  1409 I Samsung_SoundAlive_SRC arch64: SRC384 version Samsung SoundAlive SRC ver320 arch64  2021.08.04 (Cppref for ARM64, ver.300.c 32bit 07_10_2016 based)
05-04 10:18:46.675  1000   783  1170 E PQ      : [PQ][PQSessionManager] PQSessionManager::getPQSession m_PQSupport == 0
05-04 10:18:46.679 10351 10506 10506 E EventLogger: audioTrackUnderrun [eventTime=16.73, mediaPos=23.24, window=0, period=0, 120832, 684, 31]
05-04 10:18:46.708  1000   783  1170 E PQ      : [PQ][PQSessionManager] PQSessionManager::getPQSession m_PQSupport == 0
05-04 10:18:46.730  1041   825  1409 I SoundAlive_SRC384 arch64: SoundAlive_SRC384: Instance 1194 Init(outFs 8, InFs 7, chnum 2, outBW 3, inBW 3)
05-04 10:18:46.731  1041   825  1409 I Samsung_SoundAlive_SRC arch64: SRC384 version Samsung SoundAlive SRC ver320 arch64  2021.08.04 (Cppref for ARM64, ver.300.c 32bit 07_10_2016 based)
05-04 10:18:46.736 10351 10506 10506 E EventLogger: audioTrackUnderrun [eventTime=16.79, mediaPos=23.30, window=0, period=0, 120832, 684, 30]
05-04 10:18:46.741  1000   783  1170 E PQ      : [PQ][PQSessionManager] PQSessionManager::getPQSession m_PQSupport == 0
05-04 10:18:46.775  1000   783  1170 E PQ      : [PQ][PQSessionManager] PQSessionManager::getPQSession m_PQSupport == 0
05-04 10:18:46.809  1000   783  1170 E PQ      : [PQ][PQSessionManager] PQSessionManager::getPQSession m_PQSupport == 0
05-04 10:18:46.842  1000   783  1170 E PQ      : [PQ][PQSessionManager] PQSessionManager::getPQSession m_PQSupport == 0
05-04 10:18:46.846  1041   825  1409 I SoundAlive_SRC384 arch64: SoundAlive_SRC384: Instance 1194 Init(outFs 8, InFs 7, chnum 2, outBW 3, inBW 3)
05-04 10:18:46.846  1041   825  1409 I Samsung_SoundAlive_SRC arch64: SRC384 version Samsung SoundAlive SRC ver320 arch64  2021.08.04 (Cppref for ARM64, ver.300.c 32bit 07_10_2016 based)
05-04 10:18:46.859  1000   783  1170 E PQ      : [PQ][PQSessionManager] PQSessionManager::getPQSession m_PQSupport == 0
05-04 10:18:46.870 10351 10506 10506 E EventLogger: audioTrackUnderrun [eventTime=16.92, mediaPos=23.41, window=0, period=0, 120832, 684, 53]
05-04 10:18:46.893  1000   783  1170 E PQ      : [PQ][PQSessionManager] PQSessionManager::getPQSession m_PQSupport == 0
05-04 10:18:46.959  1000   783   783 I hwcomposer: [HWCDisplay] [Display_0 (type:1)] fps:36.262115,dur:1020.35,max:34.27,min:13.30
05-04 10:18:46.960  1000   783  1170 E PQ      : [PQ][PQSessionManager] PQSessionManager::getPQSession m_PQSupport == 0
05-04 10:18:46.972  1041   825  1409 I SoundAlive_SRC384 arch64: SoundAlive_SRC384: Instance 1194 Init(outFs 8, InFs 7, chnum 2, outBW 3, inBW 3)
05-04 10:18:46.972  1041   825  1409 I Samsung_SoundAlive_SRC arch64: SRC384 version Samsung SoundAlive SRC ver320 arch64  2021.08.04 (Cppref for ARM64, ver.300.c 32bit 07_10_2016 based)
05-04 10:18:46.996 10351 10506 10506 E EventLogger: audioTrackUnderrun [eventTime=17.05, mediaPos=23.50, window=0, period=0, 120832, 684, 52]

More detail log in bug report also already sent to<EMAIL_ADDRESS>Looking forward for your response, thanks in advance.

I'm not sure if it's the same issue, but on some devices decryption slows down the decoding process and we added an asynchronous mode to ExoPlayer's renderer that should help with this general symptom. It's automatically enabled on devices with API >= 31 and you can manually enable it on lower API versions by calling DefaultRenderersFactory.forceEnableMediaCodecAsynchronousQueueing() (and pass this DefaultRenderersFactory to ExoPlayer.Builder.setRenderersFactory). See https://github.com/google/ExoPlayer/issues/6348 where this was originally reported.

Thanks for replying @tonihei
Actually, I'm aware of the forceEnableMediaCodecAsynchronousQueueing() API, after attempting to implement those API, unfortunately, the playback is still experiencing stutter.
Also, we already tried several things as well. One thing that comes to mind is that it might be caused by performance stuff, so we attempt to set up several modes to adjust performance issues. We're following the guide from here
We also attempt to expand the buffer by customizing the LoadControl. Please see the code below:
val loadControl = DefaultLoadControl.Builder()
            .setBufferDurationsMs(
                10_000,
                DefaultLoadControl.DEFAULT_MAX_BUFFER_MS,
                DefaultLoadControl.DEFAULT_BUFFER_FOR_PLAYBACK_MS,
                DefaultLoadControl.DEFAULT_BUFFER_FOR_PLAYBACK_AFTER_REBUFFER_MS
            )
            .setPrioritizeTimeOverSizeThresholds(true)
            .build()

And last, we thought it might be due to hardware decoder issues, so we forced the playback to Widevine L3, yet still stuttered.

Do you have similar streams or other DRM-protected streams (e.g. from the ExoPlayer demo app) you can try? There is a chance that there is something wrong with the media itself. Also, are there any devices where it works well? (If not, then it's very likely a media issue).

I have sent a new link to the bug report via email. Please check your inbox for the updated access to the Google Drive.
We don't have any special configuration in DefaultLoadControl. The DefaultLoadControl that we previously shared was an attempt to fix the issue, but it didn't resolve it. If there is a possibility that the issue is related to the LiveStream content, we will try to generate the Stream URL and send it via email for further testing.

Thanks for the bugreport. I can see the same logs you already shared above, but no other particularly interesting log lines. It still looks like playback is trying to continue too early before we have enough buffer available. If you have a stream URL for testing, that would be ideal to debug this further.

Here is the Link: Stream and MPD
Unfortunately, DRM Secret has 10 minutes expiry duration and we cannot extend its expiration duration.
So, the issue only occurs with DRM-protected content. We have consulted with our DRM partner but have yet to find any solution.
No issue was found in the license issuance process from the DRM partner.

I can't access the MPD unfortunately (also tried with VPN to Indonesia). You can also send files and links to<EMAIL_ADDRESS>with "Issue #385" in the subject if needed.

Okay, just sent the mpd files through the email<EMAIL_ADDRESS>

I'm afraid I'm still getting Access Denied messages when opening the URL.

Hi @tonihei ,
Can you open the attachment File? Or do you need to access the URL directly?

Sorry, I didn't see the attachment, only the link in the email! I checked the manifest now and it looks fairly normal with nothing unusual or suspicious.
I'm afraid that means I can help you further if I have proper access to the live stream (and use one of the mentioned devices) to reproduce myself. The problem is likely in the DRM management, in the media or how the AudioTrack is configured.
Two things you could try to debug this further are:

Debug DefaultLoadControl.shouldStartPlayback to see at which bufferedDurationUs it returns false. The value shouldn't be too close to zero.
Override DefaultRenderersFactory.buildAudioSink, create the default one (using super.buildAudioSink) and then use setAudioTrackBufferSizeProvider on the DefaultAudioSink that sets a large buffer size. You can provide a DefaultAudioTrackBufferSizeProvider and set setMinPcmBufferDurationUs to something like two seconds (2_000_000) for example.

Yes, unfortunately, DRM secret has only a 600s expiry time and also we cannot extend the duration due to global configuration for the entire content expiry time.
But, let's see if we could create one stream and we'll share it with you through email.
Thanks for the debug tips, I will get back to you with the debug result.

Hi @tonihei,
We've tried to reproduce with the point 2 solution as you mentioned, but the stutter still exists
Also, we have put an information log on DefaultLoadControl as mentioned, here is the log on reproducing from the APK without setMinPcmBufferDurationUs()
2023-07-05 08:19:18.451 21110   275 I PLAYBACK: LoadControl: [shouldStartPlayback: true, bufferedDurationUs: 11166667, playbackSpeed: 1.0, rebuffering: false, targetLiveOffsetUs: -9223372036854775807

On using setMinPcmBufferDurationUs(), we found below log
2023-07-05 08:11:10.153 12236   251 I PLAYBACK: LoadControl: [shouldStartPlayback: false, bufferedDurationUs: 1933233, playbackSpeed: 1.0, rebuffering: false, targetLiveOffsetUs: -9223372036854775807
2023-07-05 08:11:10.158 12236   251 I PLAYBACK: LoadControl: [shouldStartPlayback: false, bufferedDurationUs: 1933233, playbackSpeed: 1.0, rebuffering: false, targetLiveOffsetUs: -9223372036854775807
2023-07-05 08:11:10.166 12236   251 I PLAYBACK: LoadControl: [shouldStartPlayback: true, bufferedDurationUs: 5904611, playbackSpeed: 1.0, rebuffering: false, targetLiveOffsetUs: -9223372036854775807

Thanks for checking. Looks like we can discard problems with the LoadControl at least.
I'll leave this issue open for now, but I think we can only make further progress if we can find a way for us to reproduce ourselves.

Hi @tonihei,
I have sent an email with the stream URL to<EMAIL_ADDRESS>please help to check,
Thank you

Thanks for sharing the stream. I'm afraid I still only get 404 replies when trying to access this stream (also tested with VPN to Indonesia). Is there anything else needed besides the DRM config details you sent via email? The potentially short expiry also makes it quite hard to debug in general, because I won't be able to look into this immediately until I can get hold of one of the mentioned devices.

Hi @tonihei ,
Thanks for checking the stream,
Unfortunately, it should've already been terminated by our operation team.
We'll recreate the stream and reshare it for you. Anyway, do you mind sharing your availability time for checking the stream?
The stream secret itself only can remain for 4 hours. So, it is best that we could set the stream to match your availability time.

We have conducted experiments on several LiveStreaming DRM contents in the ExoPlayer demo app and encountered the same issue

I re-discovered this comment. Are you saying that other DRM live streams show the same problem in the ExoPlayer demo app? Is there another stream you used for testing that is more easily shareable?

The stream secret itself only can remain for 4 hours

This is really too restrictive for debugging. Even if we manage to reproduce the issue, there is hardly any time to investigate, fix and verify anything within this timeframe.

I think the main hypothesis is still that the devices are just too slow to manage decoding and decryption at the same time. The observation that this happens only for live streams and not encrypted VOD content leaves the possibility that something else is going on too. One thing I haven't asked you about is which resolution and frame rate your test content is in. And whether the test content for the working VOD stream is any different in its resolutions and frame rate. Could you check these values to see if this may just be the difference? See also https://github.com/androidx/media/issues/544#issuecomment-1651540908 where a similar question has been addressed with links to the official limits that should be supported.

We have now sent the content URL instead of the manifest URL. This content URL can also be used to obtain the manifest URL and DRM Token as explained in the email.

One thing I haven't asked you about is which resolution and frame rate your test content is in. And whether the test content for the working VOD stream is any different in its resolutions and frame rate.

As for the resolution we already tested for resolution as low as 144p, and the Stutter still occurs.

Unfortunately our contents for DRM Livestream currently have single audio track for all of them.

The bug report shared with us had multiple audio tracks, hence my question. But it seems this is unrelated to the problem.

We tried to do some additional testing with forcing L3 and disabling audio track and got following result for stutter status:

This is very helpful. If the problem can be solved with forcing L3, it may be some DRM issue, but it could also mean that not using the secure path does not trigger other problems because the device is using less CPU for example. I'll assign to @rrfrias for now to see if there is anything DRM-related that could be wrong here.
Rahul - the issue reporter shared a bugreport with our email alias (10th May) and a reliable way to play the stream (1 Aug) in separate emails.

One other note: we already force L3 for Asus Zenfone 2 as a result of https://github.com/google/ExoPlayer/issues/4413. This is interesting because another Asus Zenfone is part of the mentioned devices.

Waiting on access to the bugreport.

Hi @rrfrias we've sent the bug report under subject Issue #385 on May 10 and the link with updated permission in its reply on June 23.
Kindly provide your email address so I can forward it to you.

Hi @rrfrias is there any update regarding this?
We've turned off the test stream since there's no update from exoplayer team.
Kindly tell us in case you need the test stream.
Thanks

I took a look at the bugreport. There are no obvious issues. It seems surprising that the stutter issues might improve with L3 at high resolutions.
Might it be possible to share a demo app to reproduce the problem. Will you be willing to give approval if we share the app with Samsung to investigate furthur?


resolved embedded value in annotation @ApolloConfigChangeListener

What's the purpose of this PR
Make ApolloConfigChangeListener's value more dynamic.
Which issue(s) this PR fixes:
#3091
Brief changelog
The value in ApolloConfigChangeListener can be resolved now.
One can write like follow:
  @Configuration
  @EnableApolloConfig
  static class TestResolveExpressionFromSystemPropertyConfiguration {

    @ApolloConfigChangeListener(value = {ConfigConsts.NAMESPACE_APPLICATION,
        "${redis.namespace}"})
    private void onChange(ConfigChangeEvent event) {
    }
  }

"${redis.namespace}" will be resolved.
If there is property
redis.namespace=xxx

then "${redis.namespace}" will get xxx
If there is property
redis.namespace=yyy

then "${redis.namespace}" will get yyy

Also one can write code like follow:
  @Configuration
  @EnableApolloConfig
  static class TestResolveExpressionSimpleConfiguration {

    @ApolloConfigChangeListener("${simple.application:abc}")
    private void onChange(ConfigChangeEvent event) {
    }
  }

"${simple.application:application}" will be resolved to abc if there is no property for key simple.application
Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Read the Contributing Guide before making this pull request.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Write necessary unit tests to verify the code.
[x] Run mvn clean test to make sure this pull request doesn't break anything.

Looks good! Will take a detailed look soon

@Anilople I'm thinking is it necessary to support embedded value for @EnableApolloConfig and @ApolloConfig?

@Anilople I'm thinking is it necessary to support embedded value for @EnableApolloConfig and @ApolloConfig?

Implement BeanFactoryAware for DefaultApolloConfigRegistrarHelper to process @EnableApolloConfig.
But I'm not sure it will work.

@Anilople I'm thinking is it necessary to support embedded value for @EnableApolloConfig and @ApolloConfig?

Implement BeanFactoryAware for DefaultApolloConfigRegistrarHelper to process @EnableApolloConfig.
But I'm not sure it will work.

Meet java.lang.NullPointerException... Let me try another way.

Codecov Report

Merging #3349 into master will increase coverage by 0.04%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master    #3349      +/-   ##
============================================
+ Coverage     51.45%   51.50%   +0.04%
- Complexity     2303     2309       +6
============================================
  Files           442      442
  Lines         13741    13755      +14
  Branches       1399     1400       +1
============================================
+ Hits           7071     7085      +14
  Misses         6179     6179
  Partials        491      491

Impacted Files
Coverage Δ
Complexity Δ

...o/spring/annotation/ApolloAnnotationProcessor.java
94.73% <100.00%> (+0.79%)
11.00 <3.00> (+2.00)

...pollo/spring/annotation/ApolloConfigRegistrar.java
100.00% <100.00%> (ø)
3.00 <2.00> (+1.00)

...spring/spi/DefaultApolloConfigRegistrarHelper.java
100.00% <100.00%> (ø)
6.00 <3.00> (+3.00)

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 fa92051...b096d8f. Read the comment docs.

Please see some comments below.
BTW is it possible to make it work for xml configuration? i.e. to resolve the namespace placeholder in com.ctrip.framework.apollo.spring.config.NamespaceHandler.BeanParser#doParse

Use org.springframework.util.SystemPropertyUtils#resolvePlaceholders(java.lang.String) to do it.

In my machine(Win10), there is a test Failure in DefaultConfigTest.testGetIntPropertyMultipleTimesWithShortExpireTime:280.
Results :

Failed tests:
  DefaultConfigTest.testGetIntPropertyMultipleTimesWithShortExpireTime:280
properties.getProperty("someKey");
Wanted 2 times:
-> at com.ctrip.framework.apollo.internals.DefaultConfigTest.testGetIntPropertyMultipleTimesWithShortExpireTime(DefaultConfigTest.java:280)
But was 1 time:
-> at com.ctrip.framework.apollo.internals.DefaultConfig.getProperty(DefaultConfig.java:77)

Tests in error:
  RemoteConfigRepositoryTest.testLongPollingRefresh:298 ? Timeout Waited 5000 mi...

Tests run: 293, Failures: 1, Errors: 1, Skipped: 0

I don't know why.
Maybe a bug in mockito? Or exists some concurrent problem between tests?
It seems ok on Linux platform.

In my machine(Win10), there is a test Failure in DefaultConfigTest.testGetIntPropertyMultipleTimesWithShortExpireTime:280.
Results :

Failed tests:
  DefaultConfigTest.testGetIntPropertyMultipleTimesWithShortExpireTime:280
properties.getProperty("someKey");
Wanted 2 times:
-> at com.ctrip.framework.apollo.internals.DefaultConfigTest.testGetIntPropertyMultipleTimesWithShortExpireTime(DefaultConfigTest.java:280)
But was 1 time:
-> at com.ctrip.framework.apollo.internals.DefaultConfig.getProperty(DefaultConfig.java:77)

Tests in error:
  RemoteConfigRepositoryTest.testLongPollingRefresh:298 ? Timeout Waited 5000 mi...

Tests run: 293, Failures: 1, Errors: 1, Skipped: 0

I don't know why.
Maybe a bug in mockito? Or exists some concurrent problem between tests?
It seems ok on Linux platform.

This test was not well written, I'll fix it later.


webapp:moreSettings.json undocumented and GitHub comments are wrong.

The correct format for 'moreSettings.json' is a JSON array in this format:
[
  {
    "name": "MY_APPSETTING_ONE",
    "value": "SomeValue",
    "slotSetting": false
  },
  {
    "name": "MY_APPSETTING_TWO",
    "value": "AnotherImportantValue",
    "slotSetting": false
  }
]

This was discovered using the new bulk edit option in the new Configuration Blade in the Portal. Please document to save others time!

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 30f2ae52-2c7f-7e7e-8a62-f1b614f281d3
Version Independent ID: 9f23ff17-14e0-7800-0094-fb50a5fa91d6
Content: az webapp config appsettings
Content Source: latest/docs-ref-autogen/webapp/config/appsettings.yml
Service: app-service-web
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

does anyone can help me .  how to use --settings @moreSettings.json ? . i use  this on powershell . always show the error

It does work with powershell, the syntax is --settings<EMAIL_ADDRESS>

This  {
"name": "MY_APPSETTING_TWO",
"value": "AnotherImportantValue",
"slotSetting": false
} i.e "slotSettings" is a portal concept & not a platform or API level format so don't use this for CLI. For CLI just use a name value pair. Thanks!

How come this is not documented? I just spent almost ah hour bashing my head because:

I don't know the JSON format expected for @settings.json
Calling az webapp config appsettings set -g MyResourceGroup -n MyUniqueApp --settings mySetting=value @moreSettings.json in Azure CLI (poweshell) throws an error. The exact command which is in the docs

I had to come to this ticket to:

Know that the format of the JSON file can just be:

{
  "mySetting": "some-value",
  "mySetting2": "some-value",
  "mySetting3": "some-value",
}

instead of (see @panchagnula comment above)
{
    "name": "APPINSIGHTS_PROFILERFEATURE_VERSION",
    "value": "1.0.0",
    "slotSetting": true
  }

That it's not @settings.json like it's in the docs, but<EMAIL_ADDRESS>
Can someone please fix this in the docs, and also in the helpers for az webapp config appsettings set --help?

Documentation seriously needs to be update to reflect @joaopgrassi 's comment.


Spec Review feedback

Description
Please add an informative description that covers that changes made by the pull request and link all relevant issues.
If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
All SDK Contribution checklist:

[ ] The pull request does not introduce [breaking changes]
[ ] CHANGELOG is updated for new features, bug fixes or other significant changes.
[ ] I have read the contribution guidelines.

General Guidelines and Best Practices

[ ] Title of the pull request is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

@singankit this is a much better looking PR. Thank you sir!
Please note that huge number of builds triggered by previous PR has blown through git token utilization, so we need to let it cool down a bit.
That is the source of your code 128 issues with the build.

/azp run python - ai - ci


mac-27, mac-29 and mac-6 lost external connection from phone device.

Type of Request
bug
Infrastructure Environment
LUCI, Github, Cocoon scheduler, Autosubmit, etc...
What is happening?
mac-27, mac-29 and mac-6 lost external connection from phone device.

Steps to reproduce
Step 1:
Step 2:
..
Step n:
Expected results
I expect to see X when Y is finished.

Rebooting both machines and phone devices all above machines to restore all connections.


handle nameRequest object for numbered business

Issue #: /bcgov/entity#3962
Description of changes:

in a draft, allow nameRequest object without nrNumber
always save nameRequest object with legalType
make nrNumber and legalName optional
removed unneeded fallback values
added some handy getters
update unit tests
misc cleanup

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the bcrs-entities-create-ui license (Apache 2.0).

Looks good. Thanks for the clean up as well!

Thank you for reviewing promptly. And you're welcome :)


[FEAT]: write lance

@samster25 any idea why this is failing only for 3.8 ray
https://github.com/Eventual-Inc/Daft/actions/runs/9685879782/job/26727018529?pr=2421

@samster25 any idea why this is failing only for 3.8 ray
https://github.com/Eventual-Inc/Daft/actions/runs/9685879782/job/26727018529?pr=2421

It looks like it's failing for all 3.8 CI jobs that use pyarrow 8+ (where the lance tests actually get triggered)

@samster25 any idea why this is failing only for 3.8 ray
https://github.com/Eventual-Inc/Daft/actions/runs/9685879782/job/26727018529?pr=2421

It looks like it's failing for all 3.8 CI jobs that use pyarrow 8+ (where the lance tests actually get triggered)
write_fragments() got an unexpected keyword argument 'storage_options'

is ray using an older version of lance or something? because storage_options is definitely a valid argument
https://lancedb.github.io/lance/api/python/lance.html#lance.fragment.write_fragments
https://github.com/lancedb/lance/blob/acf750a9a702c2bb322fed8ef7dc4fcaffdb9c71/python/python/lance/fragment.py#L511

@universalmind303 I dug into the bug a bit and was able to repro on a linux machine under python 3.8. It looks like the version installed under 3.8 just doesn't have storage options as an argument. Maybe they dropped support for 3.8?

To fix this, we should require a minimum version of lance where they introduced storage options.
cc: @wjones127

It looks like lance requires >=3.9
https://github.com/lancedb/lance/blob/acf750a9a702c2bb322fed8ef7dc4fcaffdb9c71/python/pyproject.toml#L9C1-L9C26


[Refactor] Upgrade Step + Upgrade Geo with templates

Upgraded Geo
Using Geo Templates now
Refactored some styling
Upgraded Step
Using Step Locking now

Reviews
0/1

More info

Reviews
1/1

brad-larson
1

Pull request is reviewed and can be merged to master!
More info

Reviews
1/1

brad-larson
1

Pull request is reviewed and can be merged to master!
More info


Bridging assets to a different owned address

The current Avalanche Bridge (https://core.app/bridge) only supports asset bridging between identical addresses on Ethereum and C-chain controlled by the user. It does not permit bridging to a different address, even if owned by the same user.
This limitation poses an issue. For instance, if I use a new "Account Abstraction" wallet or an embedded (MPC) wallet for an app, and I want to bridge assets from Ethereum directly to this wallet, the platform doesn't allow it in a single step. However, allowing asset bridging to another address controlled by the user doesn't significantly elevate the risk.
Therefore, it would be beneficial if Avalanche Bridge could enable asset bridging to different addresses on the receiving chain, provided they are owned by the user.

Thanks for submitting this request, and sorry we did not see it until now.
The Avalanche Bridge backend only allows for transferring assets between the same wallet on both chains (including Bitcoin), primarily for regulatory reasons. MPC wallets should theoretically be possible to use still, since they present as any other EOA on chain), but totally recognize that this limitation prohibits account abstraction and other possibilities.


Variable size messages

In progress, addressing #66.

The Rust version is now complete -- messages can have variable size.
Next: add it to the hacspec version.

Hacspec version works, last thing missing is handling several cipher suites in hacspec version.

Thanks for the review, I have reverted the changes about cipher suite parsing. I will consider your comments and add them to the other PR that only deals with that part.

All comments have been addressed.


[SPARK-31041][BUILD] Show Maven errors from within make-distribution.sh

What changes were proposed in this pull request?
This PR makes dev/make-distribution.sh a bit easier to use by not hiding errors thrown by Maven.
Why are the changes needed?
It's surprising for command-line options to be position-dependent. The errors that get thrown when you pass the correct option (like --pip) but in the wrong order are confusing.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
I ran a few invocations of make-distribution.sh to confirm that, when passed incorrect options, I can actually see the errors thrown directly by Maven.

Test build #119356 has started for PR 27800 at commit ecaad9e.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/24093/
Test PASSed.

Test build #119356 has finished for PR 27800 at commit ecaad9e.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/119356/
Test PASSed.

@nchammas, the patch looks good to me. We can make one more improvement though.
The command dev/make-distribution.sh's usage help, makes it very clear that maven cli option should be at the end.
Since the error output if the user makes a mistake with the position of the MAVEN_CLI_OPTIONS is very misleading. So this patch is helpful !
The improvement, I would recommend is, is the user gives a misspelled CLI option, the error output is still misleading, it might as well be good to fix the error output. e.g.
./dev/make-distribution.sh --pip -r --tgz
Produces the error:
+ VERSION=' -X,--debug                             Produce execution debug output'
Which is not at all helpful.

Yes, that is the same error you get today if you pass the correct Maven options but in the wrong order, which I mentioned in the Jira.
Hmm, so we want some way to validate the Maven options, or perhaps make it clearer to the user that the reason the command is failing is because they provided an incorrect option. (And perhaps that would eliminate the need to make the options position-independent in the first place.)
I think we can solve that by not redirecting Maven's error output to /dev/null.

Test build #119401 has started for PR 27800 at commit 4524fa3.

OK, new debug statements:
diff --git a/dev/make-distribution.sh b/dev/make-distribution.sh
index 3c562b0f91..cb68610836 100755
--- a/dev/make-distribution.sh
+++ b/dev/make-distribution.sh
@@ -90,6 +90,15 @@ while (( "$#" )); do
   shift
 done

+echo "--tgz $MAKE_TGZ"
+echo "--pip $MAKE_PIP"
+echo "--r $MAKE_R"
+echo "--mvn $MVN"
+echo "--name $NAME"
+echo "mvn-opts: ${MAVEN_CLI_OPTS[@]}"
+
+# exit 1
+
 if [ -z "$JAVA_HOME" ]; then
   # Fall back on JAVA_HOME from rpm, if found
   if [ $(command -v  rpm) ]; then
@@ -148,6 +157,13 @@ SPARK_HIVE=$("$MVN" help:evaluate -Dexpression=project.activeProfiles -pl sql/hi
     # because we use "set -o pipefail"
     echo -n)

+echo "VERSION: $VERSION"
+echo "SCALA_VERSION: $SCALA_VERSION"
+echo "SPARK_HADOOP_VERSION: $SPARK_HADOOP_VERSION"
+echo "SPARK_HIVE: $SPARK_HIVE"
+
+exit 1
+
 if [ "$NAME" == "none" ]; then
   NAME=$SPARK_HADOOP_VERSION
 fi

And new tests:
$ ./dev/make-distribution.sh --pip -r --tgz

Using `mvn` from path: .../spark/build/apache-maven-3.6.3/bin/mvn
Unable to parse command line options: Unrecognized option: -r
+ VERSION=' -X,--debug                             Produce execution debug output'

$ ./dev/make-distribution.sh \
    --name custom-spark \
    --pip --r --tgz \
    -Psparkr \
    -Phadoop-2.7 \
    -Phive -Phive-thriftserver \
    -Pmesos -Pyarn -Pkubernetes

VERSION: 3.1.0-SNAPSHOT
SCALA_VERSION: 2.12
SPARK_HADOOP_VERSION: 2.7.4
SPARK_HIVE: 1

Test build #119401 has finished for PR 27800 at commit 4524fa3.

This patch fails build dependency tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/119401/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/24138/
Test PASSed.

At this point I suppose we can revert the change to accept Maven options at any position, and just have the bit that shows Maven's error output so the user can figure out what's going on more easily.
What do you think?

At this point I suppose we can revert the change to accept Maven options at any position, and just have the bit that shows Maven's error output so the user can figure out what's going on more easily.
What do you think?

Although, I am unsure, why the error output of those maven commands was turned off in the first place. Only reason could be limiting the amount of output that is generated.
This should work better in practice.

Test build #119474 has started for PR 27800 at commit e58bb6c.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/24205/
Test PASSed.

Test build #119474 has finished for PR 27800 at commit e58bb6c.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/119474/
Test PASSed.

Yes, the aim is to pass along to the user any errors thrown by Maven, because right now they are all suppressed. This makes it very confusing to understand why, for example, ./dev/make-distribution.sh -Phadoop-cloud --pip doesn't work.
I don't follow the issue with the download information that you are describing. Are you suggesting we should suppress the download progress bars from ./build/mvn? If so, I'd be happy to do that as part of this PR.

For me, it's too annoying and the benefit is big. While it gave us big regression, I'm not sure how many time this PR gives us the benefit.

Although I'm a little negative, I'll not be against if someone else are merging this.

I'm mildly in favor of it if it helps debugging. The extra log output is a little extra noise in Jenkins, sure.

Got it. Please feel free to merge this, @srowen ~

I believe we can explicitly suppress the download progress bars and not have that noise. If that's all the concern is about, why don't I address that as part of this PR? Or, if you prefer, I can make a follow-up PR to do that.
If I'm understanding the concern correctly, we just need to tweak the options here so that the downloads are always quiet: https://github.com/apache/spark/blob/d21aab403a0a32e8b705b38874c0b335e703bd5d/build/mvn#L38-L47
(And for the record, it seems that the current behavior is already to suppress download progress output on Jenkins. It's outside of AMPLab Jenkins that progress bars are shown.)

If you can suppress it here, go for it.

Test build #119585 has started for PR 27800 at commit dcc0df7.

Ok, curl and wget will now never show progress bars, but they will still show errors they encounter:
$ ./build/mvn
exec: curl --silent --show-error -L https://downloads.lightbend.com/zinc/0.3.15
/zinc-0.3.15.tgz
exec: curl --silent --show-error -L https://downloads.lightbend.com/scala/2.12.
10/scala-2.12.10.tgz
exec: curl --silent --show-error -L https://www.apache.org/dyn/closer.lua?action=download&filename=/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
Using `mvn` from path: .../spark/build/apache-maven-3.6.3/bin/mvn
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
...

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/24315/
Test PASSed.

Test build #119585 has finished for PR 27800 at commit dcc0df7.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/119585/
Test PASSed.

Merged to master

Thank you, @nchammas and @srowen .


nixos/doc: Source links are broken, pointing at "release-19.09"

Describe the bug
"Declared by" source links are broken in the NixOS manual's Appendix A. Configuration Options
To Reproduce
Run nixos-help
Click next to go to Appendix A
Click on a source link
Expected behavior
I should land at the appropriate link for my Nixpkgs version, e.g. https://github.com/NixOS/nixpkgs/blob/8746c77a383/nixos/modules/config/appstream.nix
Actual behaviour
I land at a broken link for "release-19.09" e.g.
https://github.com/NixOS/nixpkgs/blob/release-19.09/nixos/modules/config/appstream.nix
Metadata
 - system: `"x86_64-linux"`
 - host os: `Linux 5.2.8, NixOS, 19.09pre188690.8746c77a383 (Loris)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.2.2`
 - channels(craig): `""`
 - channels(root): `"nixos-19.09pre188690.8746c77a383"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

I suppose those links were never made with unstable in mind, only releases.

Yeah we don't really differentiate between released and unreleased. Those links just come from the revision field:
https://github.com/NixOS/nixpkgs/blob/86f31274eb5e26cdb9f062ac7cbf06514ead1491/doc/doc-support/lib-function-locations.nix#L60

It appears that it is supposed to be the git revision, but it's falling back:
https://github.com/NixOS/nixpkgs/blob/86f31274eb5e26cdb9f062ac7cbf06514ead1491/doc/doc-support/lib-function-locations.nix#L3
nix-repl> lib.trivial.revisionWithDefault null
"3f6d0a981a56a55c47cdbdc5f44ddb0372d00909"

https://github.com/NixOS/nixpkgs/blob/86f31274eb5e26cdb9f062ac7cbf06514ead1491/lib/trivial.nix#L151-L160
$ cat /nix/var/nix/profiles/per-user/root/channels/nixos/.git-revision
54c76638733ca5e85aefea3caefd3286e8b537c5

So why doesn't it work? :confused:

There are two different things here:

The revision used for the links to option declarations in the NixOS manual (what this issue is about AFAICT) is currently determined by lib.trivial.release, which points to the next release on the unstable branches, hence the broken links. This is fixed by the introduction of manualRevision in https://github.com/NixOS/nixpkgs/pull/199363.
The revision used for the links to the sources of library functions in the nixpkgs manual, which is determined by nixpkgs/doc/doc-support/lib-function-locations.nix. This doesn't seem too broken, except that it points to master even in the stable manual, so it should probably be made to use manualRevision as well.

The manual rendering has since been reimplemented. The new n-r-d toolchain supports linking to master but expects local as a revision to do that:
https://github.com/NixOS/nixpkgs/blob/40066ba0d8bb20a611c618fffa7ee0706c5de6d5/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/options.py#L59-L62
but that does not appear to be set anywhere.
Nixpkgs manual uses master instead:
https://github.com/NixOS/nixpkgs/blob/87bc60cf2e7104c368d8a3c5a9302ad1b8d3d864/doc/default.nix#L137
And NixOS manual receives it from argument to default.nix:
https://github.com/NixOS/nixpkgs/blob/87bc60cf2e7104c368d8a3c5a9302ad1b8d3d864/nixos/doc/manual/default.nix#L125
Which is set in the documentation module to a hardcoded version:
https://github.com/NixOS/nixpkgs/blob/6ee6ce815a89ac0d1e105884f5a7223005e92b5e/nixos/modules/misc/documentation.nix#L57

This issue has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/links-in-unstable-nixos-manual-appendix-are-broken/46395/3


557 post mode now uses Welford algorithm for standard deviation.

The previous, straight-forward calculation of standard deviation was prone
to run-off error, which could lead to negative variances and imaginary
standard deviation.  This new formulation uses the Welford algorithm which
is more resistent to loss of precision.  Note, however, that the algorithm
is only used when processing multiple ensemble members; if a single
deterministic run is processed, standard deviation is just set to missing.

DO NOT APPROVE THIS PULL REQUEST JUST YET.
Some discussion is probably warranted on whether the "smoothing exception list" should have been removed.  If we decide to keep it, I can update this request to reinstate the list.

I believe this pull request is ready.  Further changes to what variables should be smoothed will be handled in a different pull request, and will be handled by scripts.