String translation for production release

Prepare strings for translation for the next release:
@tomy-pg

[x] Upload new and updated app strings to weblate so that can be downloaded as csv

@cherrielam

[x] Write copy for App Store and play store listings

@ArtiBPG

[ ] Translate app strings and play store listing text

Acceptance Criteria

All new/updated strings should be translated and tested

@ArtiBPG to update this issue and then assign to @tomy-pg.

One round of translation done, some issues found:
-Latest translations corresponding to source strings wtih changes do not appear on Staging: 1.18.0
Translations are in Weblate but can also be found here in files with Edit in the filename i.e. ui-strings-jsx_strings-fr_Edit

String not available for translation on Weblate, should added to the next translation drop:

Near my location was not available for translation when I extracted ui-strings as it was not wrapped by a Lingui trans tag. I

Remaining strings for the production release are now on Weblate. After this translation period, we will be on string freeze.


fix(start-lambda): Fix for stackTrace not returned in new Lambda containers.

Original PR #1620
Initial reverted PR #1621
This reverts commit c75944e66b0c30007bfd4d1cd0bda70af382ba63.
Issue #, if available:
Description of changes:
Checklist:

[ ] Write Design Document (Do I need to write a design document?)
[ ] Write unit tests
[ ] Write/update functional tests
[ ] Write/update integration tests
[ ] make pr passes
[ ] Write documentation

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Already fixed #1620

@sanathkr that pr was reverted in #1621


Fixed; multiple-rpc-port-error-bug;

PROBLEM
As a user follows the tutorial for simulating a network, an error occurs when copying and pasting the commands to start the blockchain via account Alice and to add a node via account Bob :
error: the argument '--rpc-port <PORT>' cannot be used multiple times
SOLUTION
Fixes #2037
Fixes https://github.com/paritytech/substrate/issues/14741
Add && after the primary --rpc-port options, --rpc-port 9945 and --rpc-port 9946
Run these commands and they initiate the nodes as intended:
Alice:
./target/release/node-template \
--base-path /tmp/alice \
--chain local \
--alice \
--port 30333 \
--rpc-port 9945 && \
--rpc-port 9933 \
--node-key<PHONE_NUMBER>000000000000000000000000000000000000000000000000000001 \
--telemetry-url "wss://telemetry.polkadot.io/submit/ 0" \
--validator

Bob:
./target/release/node-template \
--base-path /tmp/bob \
--chain local \
--bob \
--port 30334 \
--rpc-port 9946 && \
--rpc-port 9934 \
--telemetry-url "wss://telemetry.polkadot.io/submit/ 0" \
--validator \
--bootnodes /ip4/<IP_ADDRESS>/tcp/30333/p2p/12D3KooWEyoppNCUx8Yx66oV9fJnriXwCcXwDDUA2kj6vnc6iDEp

The 2nd --rpc-port doesn't do anything. Specifying --rpc-port 9945 is enough to allow the WS to listen on 9945.

The 2nd --rpc-port doesn't do anything. Specifying --rpc-port 9945 is enough to allow the WS to listen on 9945.

Ah, but indeed the second RPC ports are needed because they offer different communication protocols and serve different use cases. RPC is typically used for querying data and submitting transactions, while WS are useful for receiving real-time updates from the node.
Common RPC calls to Substrate:
chain_getBlock: Gets information about a specific block.
state_getStorage: Retrieves the value stored at the specified storage key.
author_submitExtrinsic: Submits an extrinsic (transaction) to the Substrate node.
system_health: Checks the health and status of the Substrate node.
Common WebSocket calls to Substrate:
chain_subscribeNewHeads: Subscribes to new block headers as they are added to the blockchain.
chain_subscribeFinalizedHeads: Subscribes to finalized block headers.
state_subscribeStorage: Subscribes to changes in a specific storage key.
author_submitAndWatchExtrinsic: Submits an extrinsic (transaction) and subscribes to its status updates.

Ah, but indeed the second RPC ports are needed because they offer different communication protocols and serve different use cases.

The command you provided does not open two ports in my case. If I run using --rpc-port 9945 && --rpc-port 9933 will open only port 9945. You can check the ports that are listening by running ss -tlnp or netstat -tlnp. You can test this by running the command you specified:
$ ./target/release/node-template \
        --base-path /tmp/alice \
        --chain local \
        --alice \
        --port 30333 \
        --rpc-port 9945 && \
        --rpc-port 9933 \
        --node-key<PHONE_NUMBER>000000000000000000000000000000000000000000000000000001 \
        --telemetry-url "wss://telemetry.polkadot.io/submit/ 0" \
        --validator

And after that checking the ports that got opened:
$ ss -tlnp | grep node
LISTEN 0      1024         <IP_ADDRESS>:30333      <IP_ADDRESS>:*    users:(("node-template",pid=755980,fd=31))
LISTEN 0      1024       <IP_ADDRESS>:9945       <IP_ADDRESS>:*    users:(("node-template",pid=755980,fd=33))
LISTEN 0      1024       <IP_ADDRESS>:9615       <IP_ADDRESS>:*    users:(("node-template",pid=755980,fd=34))
LISTEN 0      1024            [::]:30333         [::]:*    users:(("node-template",pid=755980,fd=29))

As you can see, 9933 is nowhere in the list, so the 2nd --rpc-port didn't actually open the 2nd port.
Running the command and specifying port 9945 only once will start the node and will actually allow websocket connections on 9945. This is a recent modification as the node was previously expected to receive the --ws-port parameter which can not be find in the --help at the moment.
You can try running the node with this command:
./target/release/node-template \
        --base-path /tmp/alice \
        --chain local \
        --alice \
        --port 30333 \
        --rpc-port 9945 \
        --node-key<PHONE_NUMBER>000000000000000000000000000000000000000000000000000001 \
        --telemetry-url "wss://telemetry.polkadot.io/submit/ 0" \
        --validator

You can test this out by going to this website: https://substrate-developer-hub.github.io/substrate-front-end-template/?rpc=ws://localhost:9945
At the end of the URL, you can see ws://localhost:9945 (the websocket protocol is specified). You can use the developer tools in your browser to actually confirm the websocket is working on localhost:9945:

The two ports get mentioned in the table too, and the description is a bit confusing:
https://github.com/substrate-developer-hub/substrate-docs/blob/694d906e082dc622d8514ff5207f45182d735930/content/md/en/docs/tutorials/build-a-blockchain/simulate-network.md?plain=1#L94-L95
I think we have the same issue on the add-trusted-nodes page:
https://github.com/substrate-developer-hub/substrate-docs/blob/694d906e082dc622d8514ff5207f45182d735930/content/md/en/docs/tutorials/build-a-blockchain/add-trusted-nodes.md?plain=1#L306-L307

I've noticed another issue though. If the command to start the Alice node leaves out --rpc-port 9933 , there is an error:
2023-08-16 10:52:44 ❌ Error while dialing /dns/telemetry.polkadot.io/tcp/443/x-parity-wss/%2Fsubmit%2F: Custom { kind: Other, error: Timeout } .
But if the command has  --rpc-port 9945 && --rpc-port 9933 the error doesn't occur.
If rpc-ports 9933 && 9934 are to be left out then I should also cut out this snippet from the tutorial and/or input the one with the error:
2022-08-16 15:29:56 Running JSON-RPC WS server: addr=<IP_ADDRESS>:9945, allowed origins=Some(["http://localhost:*", "http://<IP_ADDRESS>:*", "https://localhost:*", "https://<IP_ADDRESS>:*", "https://polkadot.js.org"])

Should I edit most of https://docs.substrate.io/build/remote-procedure-calls/ as well ?


xcode project

can you add a xcode project for ios example? i'm new in xcode :)

There are instructions for generating an Xcode project in the readme. Cmake is required.


1BRC - Read using Streams Parallel

NOTE: This challenge closes for submissions on Jan 31 23:59:59 UTC. No new pull requests for adding submissions will be accepted after that time.
Any pending pull requests will be reviewed over the next few days, as described here.
The final leader board will be published by Feb 5.
Check List:

[x] You have run ./mvnw verify and the project builds successfully
[x] Tests pass (./test.sh <username> shows no differences between expected and actual outputs)
[x] All formatting changes by the build are committed
[x] Your launch script is named calculate_average_<username>.sh (make sure to match casing of your GH user name) and is executable
[x] Output matches that of calculate_average_baseline.sh
[ ] For new entries, or after substantial changes: When implementing custom hash structures, please point to where you deal with hash collisions (line number)

Execution time:
Execution time of reference implementation:

Hey, thx for opening this. Unfortunately, it was submitted after the cut-off time for entering new submissions (Jan 31 23:59:59 UTC). So I'll go ahead and close it.


Levels

Currently we have a bunch of test levels. But they are not sufficient for production.
Needed for #93

Btw, looks like it's GET!

@ForNeVeR I believe you wanted to work on this. :)

Resolved by a460cd8b06e77cb8a5440af33381a576730014a5


Add to-JSON-dumping for non-JSON data types

Data types that have no equivalent in JSON should be convertible to JSON using a configurable mechanism.
The obvious conversions mechanisms that we should provide by default are:

conversion of non-JSON data types to null
throwing an exception if an incompatible data type is encountered
custom conversion:

binary to base64 or something similar
UTCDate to integer

All of this should be configurable via options for the Dumper.

date.toISOString() can also be desired for date objects. References and especially circular dependencies are probably best dealt with by substitution with null, although some special syntax could be introduced to later recover the inter references.


download using youtube_dl tracks add meta data and lyrics like spotdl

isue not related spotdl but i hope , you provide perfect solution this
please provide code like detail manner......

??? Be clear.

download using youtube_dl tracks add meta data and lyrics like spotdl

Ok. YouTube-dl is hard to use in comparison with pytube3.
We embed metadata. We used to embed lyrics but have discontinued that feature for a multitude of reasons.


Update aws-core, http-client-spi, ... to 2.29.29

About this PR
📦 Updates

software.amazon.awssdk:aws-core
software.amazon.awssdk:http-client-spi
software.amazon.awssdk:netty-nio-client

from 2.28.29 to 2.29.29
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "software.amazon.awssdk" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "software.amazon.awssdk" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, commit-count:1

Superseded by #1368.


[Feature Request] Enable Language Injection

It would be nice to have language injection for multiline strings, e.g.:
---@lang json
local myJson = [[
{
    "hello": "world"
}
]]

Maybe @language as a tag is more descriptive.

duplicate with #316
Considering that another issue uses Chinese to communicate, I will keep this issue open and give some explanation.
Simply put, VSCode does not support this feature (unless I missed something).
I know you are curious about how markdown does it, and I was curious as well until I found this: https://github.com/microsoft/vscode/blob/cca3e817a2608225d4ae8715308195c91f765bad/extensions/markdown-basics/syntaxes/markdown.tmLanguage.json#L1784-L1946


src: fix lint on licenser file

Also split function responsibility on cli.js

Coverage remained the same at 94.828% when pulling 10ca525898ab7dcfe2552b8742b6f44382c196f6 on helio-frota:master into 3f85cc4852ab427fba3c6b0fda9df0f33b6245cb on bucharest-gold:master.


NeuralNetworkGPU does not work when using the brain.js package through CDN

What is wrong?
NeuralNetworkGPU does not detect the gpu.js when using the brain.js package through CDN.

When this code is exectued:
            const network = new brain.NeuralNetworkGPU({
                activation: 'sigmoid',
                hiddenLayers: [4],
                learningRate: 0.6,
            });

How do we replicate the issue?

Add  <script src="https://unpkg.com/brain.js"></script> to your HTML file then try to create the new NeuralNetworkGPU in next <script> tag.

Expected behavior (i.e. solution)

The documentation has to be updated with the CDN gpu.js package or maybe it should somehow link that package from brain.js itself.
Version information
Nodejs:
Browser: Chrome
Brain.js: 2.0.0-beta.4
How important is this (1-5)?

4
Other Comments

This has been resolved in the latest version of brain.js https://www.npmjs.com/package/brain.js/v/2.0.0-beta.11.  Here is a working version: https://observablehq.com/@robertleeplummerjr/brain-js-issue-747


Convert to deadpool conn pool

Converting to use custom Postgres connection Pool instead of sqlx's buggy one. Will attempt moving back once bugs are ironed out.

I'm curious. In what way is the sqlx pool buggy? It's an interesting topic as I keep finding bugs in other pool implementations. I'm only looking at those as they claim being faster. Every time I give them a try I find them having rather serious bugs like deadlocks and/or memory leaks. :see_no_evil:
I'm looking into speeding up the deadpool internals and have a fork that performs ~2-3 better for synthetic loads. But - and it's a big but: it depends on a semaphore implementation that isn't fair. In a worst case scenario a worker could wait all eternity for a semaphore permit. Something that definitely isn't right and should be avoided.
Correctness beats performance. Always. :wink:

@bikeshedder The main reasons look to have been corrected which is nice. But there were many issues and fixes in the implementation we due to leaky connections, not bubbling up errors etc.
Correctness always trumps all:

Make it work
Make it work correctly
Make it work efficiently

Since the issues appear to have been dealt with I'll likely stick with the current sqlx pool for the time being but nice to know the option exists to use deadpool.


Loot dropping upon death

Description
This PR adds a system for creating Loot objects when an entity with a DropsLoot component dies. Loot is the DS object that is created when certain SolObjects (e.g. ships) are destroyed. The logic was pulled from Asteroid, although SolShip uses a similar structure.
This is built upon PRs #519 and #522. It makes use of the DestroyEvent from 519, as well as Position and Velocity from 522.
Testing
First, copy/paste the following three fields to SolApplication:
private boolean madeLootEntity = false;
    private int counter = 0;
    EntityRef entity;

Next, add the following code after line 231 (inside the if statement that confims that solGame isn't null):
            if (!madeLootEntity) {

            entity = entitySystemManager.getEntityManager().createEntity(new DropsLootOnDeath(), new Position(), new Velocity(), new Size());

            Position position = entity.getComponent(Position.class).get();
            position.position = solGame.getHero().getPosition().cpy();
            position.position.x += 1;
            position.position.y += 3;
            entity.setComponent(position);

            Size size = new Size();
            size.size = 20;
            entity.setComponent(size);

            madeLootEntity = true;
        }
        counter++;
        if (counter == 500) {
            entitySystemManager.sendEvent(new DestroyEvent(), entity);
        }

That code does a few things:

Creates an entity with the requisite components to drop loot upon dying
Moves the entity one unit down and three to the right, so that the loot won't be absorbed by the station
After several seconds, the EntitySystemManager will send a DestroyEvent to the entity, causing loot to appear on screen

I read "loot dropping" I post links:

https://lostgarden.home.blog/2014/12/08/loot-drop-tables/
https://gamedev.stackexchange.com/questions/140979/modern-loot-table-concepts

These are basically two resources I found while briefly looking into loot tables for Terasology. Maybe they are helpful, maybe not - I honestly didn't look at the PR 🙈


OsStr support?

Do we need OsStr support?

Most uses of OsStr will be for ArgMatches which is out of the scope of clap-serde.
While the builder API has some parts that accept OsStr, it would mostly be for if someone dynamically generates the value from the system, like providing std::env::current_dir as a default.  Since this can't b done with clap-serde, there doesn't seem much value.
However, thinking of the idea I put in #33, if the deserializer was made stateful, users could provide "variables" to be used in different places.
Going back to the std::env::current_dir idea, this could look like
let de = clap_serder::Deserialize::new()
    .register("current_dir", std::env::current_dir());
let cmd = de.deserialize(serde_json::Deserializer::from_str(data);

with data being
{
    "args": [
        {
            "id": "input",
            "default_value": { "variable": "current_dir" }
        }
    ]
}

(inspiration: https://github.com/rust-lang/rfcs/blob/master/text/2906-cargo-workspace-deduplicate.md#package-metadata-can-reference-other-workspace-members)


crystal compiler bug

I'll continue to investigate but currently I have the following issue:
BUG: called type_id for Hash(String, JSON::Any)+.class (Crystal::VirtualMetaclassType) (Exception)
  from /crystal/src/string.cr:5672 in 'type_id'
  from /crystal/src/compiler/crystal/codegen/type_id.cr:9:5 in 'type_id'
  from /crystal/src/compiler/crystal/codegen/primitives.cr:67:15 in 'visit'
  from /crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
  from /crystal/src/compiler/crystal/codegen/codegen.cr:2409:7 in 'visit'
#...
  from /crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
  from /crystal/src/compiler/crystal/codegen/codegen.cr:2392:9 in 'codegen_assign'
  from /crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
  from /crystal/src/enumerable.cr:510:7 in '??'
  from /crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
  from /crystal/src/compiler/crystal/codegen/codegen.cr:2362:7 in 'codegen'
  from /crystal/src/compiler/crystal/compiler.cr:202:16 in 'compile:combine_rpath'
  from /crystal/src/compiler/crystal/command.cr:358:5 in 'run'
  from /crystal/src/compiler/crystal.cr:11:1 in '__crystal_main'
  from /crystal/src/crystal/main.cr:129:5 in 'main'
  from src/env/__libc_start_main.c:95:2 in 'libc_start_main_stage2'
Error: you've found a bug in the Crystal compiler.

to reproduce (tested on 1.11.2 and 1.12.0)
git clone -b crystal-compiler-bug https://github.com/PlaceOS/rest-api.git
shards install
crystal build ./src/app.cr

I've created that branch so this continues to be reproducible

possibly related to #11668

resolved it by not inheriting generics
https://github.com/place-labs/redis_service_manager/commit/0fa47efabcfb3f7528e4129597e956f6780696a3
maybe that should be considered a syntax error?
Feel free to close unless you want the issue for tracking

related to #2665
will close as a duplicate


Get throbber image properly. Parallel init ops. Reset parts of form if language or part of speech is changed.

This is a  rather trivial change I made before I got distracted around Christmas time.

It retrieves the image URL for a throbber (Q1447854) in a more proper way
It initializes the throbber, counts the total number of lexemes in the database, and loads the languages into the select element in parallel

The rest of the form is now reset if the language or part of speech is changed.


Add Dpnp implementations to dpbench

Port dpnp implementations from main_old to main.
The following benchmarks are available in main_old:

[x] blackscholes
[x] pairwise_distance
[x] pca

Note: The l2_distance benchmark was rewritten in main and the existing dpnp implementation is no longer applicable.

The above listed dpnp implementations are currently available in dpbench.


Theme Breakpoints and NextJS SSR do not render

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Steps to reproduce 🕹
Link to live example: Sandbox Here
As you can see in the example, I've placed text red in three situations.
The first, with no breakpoints - works, the text is red
The second using theme.breakpoints.only - does not work, the text is not red (and the styling does not show in inspect)
The third using theme.breakpoints.up - does not work.
Current behavior 😯
Using theme.breakpoints doesn't seem to render or work in NextJS/SSR
Expected behavior 🤔
CSS defined in Theme.breakpoints should render
Context 🔦
I understand that media queries and SSR have issues playing nicely. I'm wondering if there's a solution for this situation, and I am fine with doing client-side rendering,  but can't seem to get that to work either.
I'm converting an SPA application to NextJS. We reference theme.breakpoints in almost every single component we have (hundreds) because it is critical to the business that the site is viewable on different devices. In SPA, we handled this using sx and theme.breakpoints, as well as a custom hook to check screen width to conditionally render components. I solved the conditional rendering by replacing it with react-device-detect, but I can't seem to solve the css rendering with theme.breakpoints
I have tried following this documentation and added this snippet to the theme:
const theme = createTheme({
  components: {
    MuiUseMediaQuery: {
      defaultProps: {
        noSsr: true,
      },
    },
  },
});

but it seems this will only apply to areas using useMediaQuery hook (unless I'm mistaken).
Is there some way that I can keep the theme.breakpoints or is there a workaround I can implement that i can still utilize the code?
Your environment 🌎

package.json
 "@emotion/react": "^11.4.1",
        "@emotion/server": "^11.10.0",
        "@emotion/styled": "^11.3.0",
        "@mui/codemod": "^5.0.4",
        "@mui/icons-material": "^5.0.4",
        "@mui/lab": "^5.0.0-alpha.47",
        "@mui/material": "^5.10.11",
        "@mui/styles": "^5.0.1",
       "next": "13.1.5",
        "react": "18.2.0",
        "react-device-detect": "^2.2.3",
        "react-dom": "^18.2.0",

@JanieHuang in your CSB, all three lines of text show up correctly in red for me when the media query condition is satisfied (>= 1200px viewport width)

@mj12albert Thanks Albert. I feel like an idiot!
It's odd. Our old SPA has the exact same breakpoint and theme definitions, but looks drastically different from the NextJS. It seems though that it's something I'll have to look into on my end.

Happy to help ~ @JanieHuang
If you are trying out NextJS, you can have a look at our MaterialUI-NextJS example here
Not sure if it's directly related to your issue but I noticed that some of the code in your sandbox is out of date (e.g. jssStyles should no longer matter for current v5 Material UI)


BUG-Installation

Bug description
I was trying to run the project but I got an error on the installation guide step 2.
Screenshots

Thank you for reporting this problem @Satoshi-Sh.
That is due to a bug in the setup process relying on unaccessible repositories.
I'll be working on this one.


release 0.1

Remaining tasks for the release:

[x] docs (#20)
[x] testing functions (#24)
[x] inline reprs (#20)
[ ] ~sel / loc~
[x] remove placeholder functions (plus_minus, to_base_units, to_system) (#29)
[x] fix the properties (#31)
[x] rework and document the global registry mechanism (#7, #26, #32)

(feel free to add to this list)

gentle ping, @jthielen. Any updates on this?

@keewis So sorry for the delay! These past couple weeks really got out of hand for me. I hope to take care of this sel/loc port as well as addressing the requested reviews later this week.

sure, I just wanted to make sure this was not forgotten.

@jthielen, what do you think about releasing after merging #31 and #32? I think it should be fine to include sel / loc in 0.2.

:+10000:
There's lots of value in releasing and letting people try it out.

pint-xarray is on PyPI :tada:

Someone should tweet this out and the xarray handle can then retweet it.

:+1:, although I can't do that myself since I don't use twitter


vvencapp --version no longer works

Running vvencapp --version on 1.3.0 no longer gives any output, and simply exits with an exit status of 1.  vvencFFapp --version does work, however.

Indeed. Thanks for reporting, we'll have a look

Thanks for the fix in 1.3.1.  I now see the version string, but it reports the incorrect version (1.3.1 claims it is 1.3.0).

Of course it says 1.3.0, since we forgot to update the version...
I updated it and re-tagged. It's not a best practice, but I hope bcs of the weekend not so many people pulled it yet. Otherwise using -f should do the trick.


Postgres: Prisma push/migrate with custom unique index fails

Bug description
When there is custom unique index (altered migration file generated by Prisma), Prisma cannot see it and generates the same index with default unique parameters.
Custom index:
CREATE UNIQUE INDEX "Mixture_aromaId_boosterId_baseId_nicotine_key" ON "Mixture"(hash_record_extended(("aromaId", "boosterId", "baseId", "nicotine"), 0));

Prisma wants/generates:
CREATE UNIQUE INDEX "Mixture_aromaId_boosterId_baseId_nicotine_key" ON "Mixture"(("aromaId", "boosterId", "baseId", "nicotine"));

model Mixture {
  id              String        @id @default(cuid())
  // total size of a bottle
  volume          Decimal       @db.Decimal(10, 2)
  // amount of liquid in a bottle
  content         Decimal       @db.Decimal(10, 2)
  // amount of available space to be filled
  available       Decimal       @db.Decimal(10, 2)
  // volume - content => amount of extra or missing liquid
  diff            Decimal       @db.Decimal(10, 2)
  // amount of nicotine (mg/ml)
  nicotine        Decimal       @db.Decimal(10, 2)
  nicotineToRound Int
  // vg/pg ratio
  vg              Decimal       @db.Decimal(10, 2)
  pg              Decimal       @db.Decimal(10, 2)
  // vg/pg in ml
  vgToMl          Decimal       @db.Decimal(10, 2)
  // rounded VG ratio (for example 70 instead of 76)
  vgToRound       Int
  pgToMl          Decimal       @db.Decimal(10, 2)
  // rounded PG ratio (for example 70 instead of 76)
  pgToRound       Int
  aromaId         String
  aroma           Aroma         @relation(fields: [aromaId], references: [id], onDelete: Cascade)
  boosterId       String?
  booster         Booster?      @relation(fields: [boosterId], references: [id], onDelete: Cascade)
  boosterCount    Int
  baseId          String?
  base            Base?         @relation(fields: [baseId], references: [id], onDelete: Cascade)
  baseMl          Decimal       @db.Decimal(10, 2)
  error           MixtureError?

  Liquid Liquid[]

  @@unique([aromaId, boosterId, baseId, nicotine])
}

Given error is not showstopper, but makes DX a much harder as it fails on push.
How to reproduce

(on Postgres)
create model with multiple unique columns
alter generated .sql file slightly (like example provided)
reset database to execute updated migrations (what to say, you know the best what to do :) )
basically in any time execute prisma push; it will try to add already created unique index

Expected behavior
Prisma detects uniqe keys at least by name and do not try to add it again with it's (prisma's) defaults.
Prisma information
"@prisma/client": "^3.13.0",
Environment & setup

OS: Docker (alpine linux)
Database: Postgres
Node.js version: v16.13.0

Prisma Version
prisma                  : 3.13.0
@prisma/client          : 3.13.0
Current platform        : windows
Query Engine (Node-API) : libquery-engine efdf9b1183dddfd4258cd181a72125755215ab7b (at<EMAIL_ADDRESS>Migration Engine        : migration-engine-cli efdf9b1183dddfd4258cd181a72125755215ab7b (at<EMAIL_ADDRESS>Introspection Engine    : introspection-core efdf9b1183dddfd4258cd181a72125755215ab7b (at<EMAIL_ADDRESS>Format Binary           : prisma-fmt efdf9b1183dddfd4258cd181a72125755215ab7b (at<EMAIL_ADDRESS>Default Engines Hash    : efdf9b1183dddfd4258cd181a72125755215ab7b
Studio                  : 0.459.0

db push always creates SQL according to your Prisma Schema and can not consider any manual SQL in the migration files, so that it tries to create the Unique index that you put into the schema is expected.
What exactly is hash_record_extended in this case - just a normal PostgreSQL function, or is this some specific kind of index?

I understand that, the problem is Prisma trying to create already existing index. I was expecting Prisma gets indexes by name (is that possible?) and does not create them if they exists.
For the hash: on new Postgres it's possible to create unique index on fields including null values, thus this method (hash_record_extended). It's quite edge case, but it would be nice to prevent creation of already existing indexes.
Source of the finding:
https://stackoverflow.com/questions/69330676/unique-index-with-a-lots-of-columns

Right now Prisma reads the existing database state, but only considers what it fully understand. Here it seems to now understand the index, and hence try to recreate. Switching to also use the index name is a good suggestion.

I got it, or at least it would be nice to be able to bypass this kind of errors (flag, or warning or so) as it nows kills the entire process and I must migrate reset, which works, but oviously, I loose data (for dev not so much problem).
Thank a lot!

I reproduced in https://github.com/floelhoeffel/issue13184
I guess the only workaround is to remove the index from prisma schema which comes at the cost of that impact on client.

The feature "expression indexes" is tracked here: https://github.com/prisma/prisma/issues/2504
The bug is fundamentally caused by us not supporting that (yet). Upvotes on that issue would be helpful.


[liburing] Build error

Package: liburing:x64-linux -> 2.3#1
Host Environment

Host: x64-linux
Compiler: GNU 10.5.0
vcpkg-tool version: 2023-08-02-6d13efa755f9b5e101712d210199e4139b4c29f6
vcpkg-scripts version: 1e9cf6939 2023-08-03 (6 hours ago)

To Reproduce
vcpkg install liburing
Failure logs
-- Using cached axboe-liburing-liburing-2.3.tar.gz.
-- Cleaning sources at /root/vcpkg/buildtrees/liburing/src/buring-2.3-6ee4feb69d.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source /root/vcpkg/downloads/axboe-liburing-liburing-2.3.tar.gz
-- Applying patch fix-configure.patch
-- Applying patch disable-tests-and-examples.patch
-- Using source at /root/vcpkg/buildtrees/liburing/src/buring-2.3-6ee4feb69d.clean
-- Getting CMake variables for x64-linux-dbg
-- Getting CMake variables for x64-linux-rel
-- Configuring x64-linux-dbg
-- Configuring x64-linux-rel
CMake Error at scripts/cmake/vcpkg_configure_make.cmake:878 (find_program):
  Could not find Z_VCPKG_MAKE using the following names: make
Call Stack (most recent call first):
  ports/liburing/portfile.cmake:13 (vcpkg_configure_make)
  scripts/ports.cmake:147 (include)

Additional context

@kahotv, Thanks for posting this issue, I can't repo this error:
test@vzhli17001:~/vcpkg$ ./vcpkg install liburing --editable
Computing installation plan...
The following packages will be built and installed:
    liburing:x64-linux -> 2.3#1
Installing 1/1 liburing:x64-linux...
Building liburing:x64-linux...
-- Downloading https://github.com/axboe/liburing/archive/liburing-2.3.tar.gz -> axboe-liburing-liburing-2.3.tar.gz...
-- Extracting source /home/test/vcpkg/downloads/axboe-liburing-liburing-2.3.tar.gz
-- Applying patch fix-configure.patch
-- Applying patch disable-tests-and-examples.patch
-- Using source at /home/test/vcpkg/buildtrees/liburing/src/buring-2.3-6ee4feb69d
-- Getting CMake variables for x64-linux-dbg
-- Getting CMake variables for x64-linux-rel
-- Configuring x64-linux-dbg
-- Configuring x64-linux-rel
-- Building x64-linux-dbg
-- Installing x64-linux-dbg
-- Building x64-linux-rel
-- Installing x64-linux-rel
-- Fixing pkgconfig file: /home/test/vcpkg/packages/liburing_x64-linux/lib/pkgconfig/liburing.pc
-- Fixing pkgconfig file: /home/test/vcpkg/packages/liburing_x64-linux/debug/lib/pkgconfig/liburing.pc
-- Installing: /home/test/vcpkg/packages/liburing_x64-linux/share/liburing/copyright
-- Installing: /home/test/vcpkg/packages/liburing_x64-linux/share/liburing/usage
-- Performing post-build validation
Elapsed time to handle liburing:x64-linux: 3.7 s
Total install time: 3.7 s
The package liburing can be imported via CMake FindPkgConfig module:

    find_package(PkgConfig)
    pkg_check_modules(liburing REQUIRED IMPORTED_TARGET GLOBAL liburing>=2.0)

    target_link_libraries(main PRIVATE PkgConfig::liburing)

please run command:
.\vcpkg upgrade

and when you are happy with it:
.\vcpkg upgrade --no-dry-run

CMake Error at scripts/cmake/vcpkg_configure_make.cmake:878 (find_program):
  Could not find Z_VCPKG_MAKE using the following names: make

You need to install make. And probaly a few other essential tools for building software (libtool, autoconf, autoconf-archive...)

thank you!
apt-get install make


Text roles and whitespace control

Contrary to body elements, preserving original whitespace is important for inline elements.
Some tests on the Symfony test repository are failing because of missing spaces before an inline  element, as well as new lines after a  tag. (EDIT: missing space before is probably due to a bit too heavy whitespace removal by the tests)
An inline newline is converted to a space in HTML, which works out most of the time but not when e.g. you put an inline literal before a final stop or comma (like at the end of the test case below).
See e.g. this test output:
3) SymfonyDocsBuilder\Tests\HtmlIntegrationTest::testBlocks with data set "text-roles/reference-and-code.rst" ('/home/runner/work/symfony-doc...de.rst', '/home/runner/work/symfony-doc...e.html')
Failed asserting that two strings are equal.
--- Expected
+++ Actual
@@ @@
-'
Next, create the template used to render the field in theindexanddetail\n
-CRUD pages.
\n
+'
Next, create the template used to render the field in theindex\n
+anddetailCRUD pages\n
+.
\n

More about CRUD pages.
'

/home/runner/work/symfony-docs-guides/symfony-docs-guides/lib/docs-builder/tests/integration/HtmlIntegrationTest.php:29```

@wouterj  what was exactly was your input? Could you move your test into this repository

Good call, see this branch for a failing test case: https://github.com/phpDocumentor/guides/compare/main...wouterj:guides:issue-305
It also seems to indicate that this does work as expected for emphasis, but not for inline literals.

I cherry picked your tests into #385, some of the issues had already been resolved, I resolved one more issues: templates in inline code caused unwanted newlines.


SVGPathElement is missing methods: isPointInStroke, isPointInFill

Bug Report
🔎 Search Terms
SVGPathElement, isPointInStroke, isPointInFill
🕗 Version & Regression Information
This is the behavior in every version I tried.
⏯ Playground Link
https://www.typescriptlang.org/play?ts=4.3.2#code/DYUwLgBAhhBc0DsCeEC8EEFdjANwCgAKGKAZwgGUA1AcQAUowALAUVAFsQEwBKAOgCWpOgHsB3AJIIAYgJyEeBYtHLUaNECM5gATkjYhO3fkNHiwU2fMVA
💻 Code
let a : any = null;
(a as SVGPathElement).isPointInFill();
(a as SVGGeometryElement).isPointInFill();

🙁 Actual behavior
Line 2 throws an error
🙂 Expected behavior
Line 2 should compile, cause path has this method

#44336

@RyanCavanaugh
hopefully now it's better

SVGPathElement should extend SVGGeometryElement and not SVGGraphicsElement

see mozilla doc's https://developer.mozilla.org/en-US/docs/Web/API/SVGPathElement

I believe more element are wrong as a lot are extending SVGGraphicsElement instead of the correct one

Look like it works in the latest TypeScript (at this moment, it's v4.6.2)
https://www.typescriptlang.org/play?#code/DYUwLgBAhhBc0DsCeEC8EEFdjANwCgAKGKAZwgGUA1AcQAUowALAUVAFsQEwBKAOgCWpOgHsB3AJIIAYgJyEeBYtHLUaNECM5gATkjYhO3fkNHiwU2fMVA
I think we can close this ticket now.


Remove patching of the downloaded CMSIS code.

Patching was added to support the need for full include paths for the Arduino build (and presumably other IDEs).
However, it turns out there is a second find and replace of the include paths that happens somewhere in the project generation makefile magic via the transform_source.py script:
https://github.com/tensorflow/tensorflow/blob/f9818f12c332e8a35dbc9042af55649be64f30c4/tensorflow/lite/micro/tools/make/helper_functions.inc#L223-L317
As a result, we do not need to patch the downloaded CMSIS directory and still support at least the Arduino. This allows us to avoid some of the challenges described in https://github.com/tensorflow/tensorflow/issues/44013 and https://github.com/tensorflow/tensorflow/issues/44261
Since exactly how the paths are updated during the Arduino project generation is a bit of a mystery, here are some quick steps to confirm that the Arduino projects continue to have full include paths:
Generate the hello_world project:
make -f tensorflow/lite/micro/tools/make/Makefile clean clean_downloads
make -f tensorflow/lite/micro/tools/make/Makefile generate_hello_world_arduino_project TARGET=arduino TAGS=cmsis-nn

Confirm that the downloaded CMSIS does not have any modifications to the include paths:
cd tensorflow/lite/micro/tools/make/
head -n 35 downloads/cmsis/CMSIS/NN/Source/ActivationFunctions/arm_nn_activations_q7.c

Output:
#include "arm_math.h"
#include "arm_common_tables.h"
#include "arm_nnfunctions.h"

Confirm that the cmsis code within the Arduino tree has full paths:
cd tensorflow/lite/micro/tools/make/
head -n 35 gen/arduino_x86_64/prj/hello_world/arduino/src/tensorflow/lite/micro/tools/make/downloads/cmsis/CMSIS/NN/Source/ActivationFunctions/arm_nn_activations_q7.c

Output:
#include "tensorflow/lite/micro/tools/make/downloads/cmsis/CMSIS/DSP/Include/arm_math.h"
#include "tensorflow/lite/micro/tools/make/downloads/cmsis/CMSIS/DSP/Include/arm_common_tables.h"
#include "tensorflow/lite/micro/tools/make/downloads/cmsis/CMSIS/NN/Include/arm_nnfunctions.h"

@mansnils @freddan80: keeping you in the loop that I have confirmed Mans' result that patching the downloaded CMSIS is not needed and this PR removes it so that follow-on changes can be simplified.


Enable session security

Using the new Laravel 5.1 cipher :)
/cc @cachethq/owners

Could you run composer update again plz?

Yep.. Squashing after btw

No changes lol

No changes lol

Oh yeh, the time in the lock file isn't BST. Forgot my timezone is +1 atm, lol/

Lol


TxBody's Mint field and TxOut should not use the same Value type

There should be a special MintValue type that allows negative values and does not contain any ADA, while TxOut can continue using the Value type.

resolved by  #2954


Breeding glitch

Rn there is a breeding glitch which prevents you from breeding your pokemon if you leave the chunk i togheter with katadreme has tested many different areas and pokemon with no succes please look into the issue. I believe whats happening is that the pokemons names turn into "uknown" but we don't know.

forgot to give a screenshot so here

This is a Pixelmon bug, please report to the Reforged bug tracker: https://www.pixelmonmod.com/tracker.php?p=2


[Doc] Fixed a reference in the index page

Found while building docs with the new Symfony doc builder.

thanks


Create section for planet facts

This section of code can be used for each planet to have a unifying affect.

@juancwu I don't understand why this posted directly to main instead of asking me to make a pull request.  I made a branch in my local folder, wrote the snippet code, then pushed, I think.


Debug mode doesn't log enough information

We're trying to debug an issue where the XML isn't parsing but there's no way to get a log of the XML that was received. Reading through the code it seems that logging in general is very limited. It would be great if this could be greatly improved, ideally with multiple levels of logging supported, integrated with Monolog.

That suggestion seems a good improvement for the 3.0.0 branch.
Meanwhile, you can use getLastRequestXML and getLastResponseXML methods.


It is unnecessary to judge restcontroller in spring mvcclientbean postprocessor,

Describe the bug

It is unnecessary to judge restcontroller in spring mvcclientbean postprocessor, because restcontroller is also a controller
Environment

Soul version(s): [e.g. 2.2.1]

Steps to reproduce
Expected behavior

delete the RestController,just use Controller
Debug logs

Click to expand

I will do it.


Improve the performance of access logs

Welcome!

[X] Yes, I've searched similar issues on GitHub and didn't find any.
[X] Yes, I've searched similar issues on the Traefik community forum and didn't find any.

What did you expect to see?
Traefik v3 has a new logging engine (zerolog by #9515), which is more performant than the previous replaced one (logrus).
After improving the main logs, it would be beneficial to bring performance improvements to access logs as well to gain performance in this area, too. The original PR is worded as "This PR is only about Traefik logs and not access logs, the access logs will be handled in another PR." so the issue is addressing this part.
Note: OpenTelemetry (Otel) tracing and metrics are available for v3 as well, and recently, the Otel logs status went from unavailable to "in development" for Go but there is a separate issue for that in https://github.com/traefik/traefik/issues/10056.

Kind of duplicate of #9453

Duplicated of https://github.com/traefik/traefik/issues/9453 and https://github.com/traefik/traefik/issues/10056


Update API Doc informat and outformat

Please update the possible values for informat and informat in these endpoints:
POST /e-entity/dbpedia-spotlight/documents
POST /e-entity/freme-ner/documents
POST /e-link/documents/
POST /e-terminology/tilde
POST /e-translation/tilde
These endpoints support these values for both informat and outformat:

text/html
text/xml
application/x-xliff+xml
application/x-openoffice

Should I also add the new formats to possible Content-Type/Accept headers?

Yes please add the same information for Content-Type and Accept headers. Thanks for reminding me :-)


Add an attribute for structs indicating whether they are interesting for Interop

We need an attribute on a struct to indicate whether a struct is interesting for interop. We have similar attribute(https://msdn.microsoft.com/en-us/library/system.runtime.interopservices.unmanagedfunctionpointerattribute(v=vs.110).aspx) for struct.

Should this be filed in the CoreFX repo then as a formal API proposal then?
Btw, reflection side has similar needs and what we did there is:

Implemented a subset of RD.XML in ILCompiler\src\RdXmlRootProvider.cs as a temporary crutch.
And we'll be adding support for consuming information from global analysis that uses data flow/RD.XML at a later stage.


Testing Stripe with react-testing-library

Summary
Hi, we're trying to test our new checkout that is using Stripe with react-stripe-elements using react-testing-library.
Our problem at the moment is that when we try to render the application it crashes and I traced it down to the injectStripe HOC that wraps our payment form. As soon as I use CardNumberElement, CardExpiryElement or CardCvcElement react-testing-library crashes when rendering.
What I had to do to get this far:

I had to download the stripe.js lib and require it manually in our setupTests file (ew, i know but loading a script doesn't work in jest)
Wrap the whole test application in the StripeProvider and set a test apiKey

Any thoughts on how to make this work? I couldn't find any documentation around testing applications that use react-stripe-elements which I found slightly shocking. Might be good to add in some documentation around that in the future (happy to contribute once a proper method has been established)
Look forward to hearing from you!
Thanks :)

Also experiencing a very similar issue to the one explained above ^

Hey! I don't remember where exactly I found this solution but it has worked great so far. Let me know if it works for you.

Mock the functions used in the Stripe Elements and Stripe Provider.
Set window.Stripe to return the Stripe mock.
You will still need to wrap your components in the Stripe provider and pass it an API key.
You create a token creation response by mocking Stripe's createToken function.

Here's an example of a test:
it('Charges a card', () => {
  // Arrange

  // Mocking Stripe object
  const elementMock = {
    mount: jest.fn(),
    destroy: jest.fn(),
    on: jest.fn(),
    update: jest.fn(),
  };

  const elementsMock = {
    create: jest.fn().mockReturnValue(elementMock),
  };

  const stripeMock = {
    elements: jest.fn().mockReturnValue(elementsMock),
    createToken: jest.fn(() => Promise.resolve()),
    createSource: jest.fn(() => Promise.resolve()),
  };

  // Set the global Stripe
  window.Stripe = jest.fn().mockReturnValue(stripeMock);

  // Ex. of a token successfully created mock
  stripeMock.createToken.mockResolvedValue({
    token: {
      id: 'test_id',
    },
  });

  // Ex. of a failure mock
  stripeMock.createToken.mockResolvedValue({
    error: {
      code: 'incomplete_number',
      message: 'Your card number is incomplete.',
      type: 'validation_error',
    },
  });

 // Act
 // Wrap component in provider
  const { getByText } = render(
    <StripeProvider apiKey="random_key">
      <ComponentWithStripeElements />
    </StripeProvider>
  )

  // Do stuff with the components, api calls, etc as you would normally do with React Testing Library
})

Awesome, thanks for your reply!
Interesting, I'm pretty sure I've tried something similar before but will try again to get this to work.
How did you set Stripe on the window? Did you in your setup file literally do
window.Stripe = StripeMock

?
Will try as soon as possible and let you know :)
Thanks

Hey man!
Awesome, thank you SO much for your reply! I actually got it to work but what I'm struggling with is setting the values for the different stripe card elements.
What I've tried was trying to get the stripe input by the input name so something like
const cardNumberInput = container.querySelector('input[name=cardnumber]')
but that returns null.
Would you mind sharing your snippet and how you actually fill in data?
Thanks a lot again, this really helped!
David

Actually, after looking over our tests, it seems like we do not add the credit card information on the Stripe elements with RTL (I remember attempting to do this as well but it never did work out). If I'm not mistaken, Stripe hosts the credit card form inputs on their server. So it's not rendered with React. I'm not sure about the details of how Stripe React Elements actually gets that data and passes it to the provider though.
In the end, we just trusted the library's test suite to ensure that it gets the input correctly. (Which isn't ideal but their existing tests put our minds at ease a bit). The only thing we mock is the response from the createToken API call to Stripe.com.
If our form has other values (such as name, address, etc), we fill those out with RTL. And then we just move to the submit phase and test the failure and success scenarios.
Sorry that I couldn't be of more help. Perhaps one of the library's maintainers can provide some more insight. Good luck!

Aaah ok!
Interesting.. I would be fine with that if our "Pay" button wasn't enabled unless the user enters their credit card information...
I wonder if there's any way around it, for example mocking the stripe input in test and replacing it with a standard input or something like that...
Thanks a lot for your help anyways!! Hopefully the stripe maintainers chime in soon

Here is what I did and it works for me. What do you folks think about this?
jest.mock('react-stripe-elements', () => {
    return {
        injectStripe: () => {
            const PremiumCheckoutFormTest2 = require('./PremiumCheckoutForm').PremiumCheckoutFormTest;
            return PremiumCheckoutFormTest2;
        },
        CardElement: () => {
            return
CardElement
;
        },
    };
});

Sources:

https://thoughtbot.com/blog/mocking-react-components-with-jest
https://github.com/facebook/jest/issues/2567#issuecomment-271937555
https://stackoverflow.com/questions/31780616/how-change-require-to-import-with-key-in-es6
https://stackoverflow.com/a/31783409/5405197

@ademidun  answer worked for me as well. I also added mocking the <Elements> component from react-stripe-elements
jest.mock('react-stripe-elements', () => {
    return {
        injectStripe: () => {
            const CardFormWithOutStripeInjection = require('./StripeCardForm').CardFormWithOutStripeInjection;
            return CardFormWithOutStripeInjection;
        },
        CardElement: () => {
            return
CardElement
;
        },
        Elements: ({children}) => {
            return (

                    {children}

            )
        }
    };
});

As an example, I've included the imported CardForm component below.
import { CardElement, injectStripe } from 'react-stripe-elements';

class CardForm extends React.Component<ComponentProps> {
    render() {
        return (

                    <CardElement
                        onChange={}

                    />

        );
    }
}
export { CardForm as CardFormWithOutStripeInjection };
export default injectStripe(CardForm);

Thanks for the great suggestions in the thread, everybody! Closing this as this project has migrated to React Stripe.js. If you believe more is still needed in this area, please re-open it there.


SimpleVoxelViewer doesn't work on linux if changed quirks

SimpleVoxelViewer show "ERROR: No data available. Waited for 2000 ms" and cannot find any data on PCL viewer, if we modified the parameter of uvcvideo by command "sudo modprobe  uvcvideo quirks=640". The following is the reproduce steps.

sudo rmmod uvcvideo
sudo modprobe uvcvideo quirks=640
plug-in device
run SimpleVoxelViewer
The below is output message.

./SimpleVoxelViewer
INFO: CameraSystem: Successfully loaded factory from library /usr/lib/voxel/libvoxeld.so.0.6.0
INFO: CameraSystem: Successfully loaded factory from library /usr/lib/voxel/libtintincdk.so.0.6.0
INFO: CameraSystem: Successfully loaded factory from library /usr/lib/voxel/librts5825camera.so.0.6.0
INFO: CameraSystem: Successfully loaded factory from library /usr/lib/voxel/libhaddockcdk.so.0.6.0
INFO: CameraSystem: Successfully loaded factory from library /usr/lib/voxel/libvoxel14.so.0.6.0
INFO: UVC: Connecting to UVC device '/dev/video1'
ERROR: UVCXU: 0::0bda:5825::200901010001 UVCIOC_CTRL_QUERY failed.
WARNING: VoxelXUProgrammer: Could not get XU version.
INFO: UVC: Connecting to UVC device '/dev/video1'
INFO: UVC: Connecting to UVC device '/dev/video1'
INFO: UVCStreamer: 0::0bda:5825::200901010001 supports streaming modes
INFO: UVCStreamer: 0::0bda:5825::200901010001 supports mmap
INFO: ParameterDMLParser: Found register map with name 'OPT9220A' (vPG1P0)
ERROR: UVCXU: 0::0bda:5825::200901010001 UVCIOC_CTRL_QUERY failed.
ERROR: VoxelXUProgrammer: Could not set read register address 0x5c78
ERROR: VoxelProgrammerBase: Could not read register for address 0x5c78
ERROR: DepthCamera:Could not get value for parameter RTS5825Camera(0::0bda:5825::200901010001).scratch2
INFO: DepthCamera: Setting parameter 'unambiguous_range'
INFO: DepthCamera: Setting parameter 'sub_frame_cnt_max'
INFO: DepthCamera: Setting parameter 'quad_cnt_max'
INFO: DepthCamera: Setting parameter 'intg_time'
INFO: DepthCamera: Setting parameter 'illum_volt'
INFO: CameraSystem: Successfully refreshed parameters for RTS5825Camera(0::0bda:5825::200901010001).
INFO: ToFCameraBase: Starting with 320x240@25fps
_dealiasedPhaseMask = 0, _dealiasedPhaseMaskInPhaseOffset = 0
ERROR: No data available. Waited for 2000 ms
ERROR: No data available. Waited for 2000 ms
ERROR: No data available. Waited for 2000 ms
ERROR: No data available. Waited for 2000 ms
ERROR: No data available. Waited for 2000 ms
ERROR: No data available. Waited for 2000 ms
ERROR: No data available. Waited for 2000 ms
ERROR: No data available. Waited for 2000 ms
ERROR: No data available. Waited for 2000 ms
ERROR: No data available. Waited for 2000 ms
ERROR: No data available. Waited for 2000 ms
ERROR: No data available. Waited for 2000 ms
ERROR: No data available. Waited for 2000 ms
ERROR: No data available. Waited for 2000 ms
ERROR: No data available. Waited for 2000 ms
ERROR: No data available. Waited for 2000 ms
ERROR: No data available. Waited for 2000 ms
ERROR: No data available. Waited for 2000 ms
ERROR: No data available. Waited for 2000 ms
ERROR: No data available. Waited for 2000 ms
ERROR: No data available. Waited for 2000 ms
ERROR: No data available. Waited for 2000 ms
ERROR: No data available. Waited for 2000 ms
ERROR: No data available. Waited for 2000 ms

Could you please explain more about the quirk "modprobe uvcvideo
quirks=640" -- Why you are using it and what does it do?
On 12 January 2016 at 15:05, JAHAHA<EMAIL_ADDRESS>wrote:

SimpleVoxelViewer show "ERROR: No data available Waited for 2000 ms" and
cannot find any data on PCL viewer, if we modified the parameter of
uvcvideo by command "sudo modprobe uvcvideo quirks=640" The following is
the reproduce steps
1 sudo rmmod uvcvideo
2 sudo modprobe uvcvideo quirks=640
3 plug-in device
4 run SimpleVoxelViewer
The below is output message
/SimpleVoxelViewer
INFO: CameraSystem: Successfully loaded factory from library
/usr/lib/voxel/libvoxeldso060
INFO: CameraSystem: Successfully loaded factory from library
/usr/lib/voxel/libtintincdkso060
INFO: CameraSystem: Successfully loaded factory from library
/usr/lib/voxel/librts5825cameraso060
INFO: CameraSystem: Successfully loaded factory from library
/usr/lib/voxel/libhaddockcdkso060
INFO: CameraSystem: Successfully loaded factory from library
/usr/lib/voxel/libvoxel14so060
INFO: UVC: Connecting to UVC device '/dev/video1'
ERROR: UVCXU: 0::0bda:5825::200901010001 UVCIOC_CTRL_QUERY failed
WARNING: VoxelXUProgrammer: Could not get XU version
INFO: UVC: Connecting to UVC device '/dev/video1'
INFO: UVC: Connecting to UVC device '/dev/video1'
INFO: UVCStreamer: 0::0bda:5825::200901010001 supports streaming modes
INFO: UVCStreamer: 0::0bda:5825::200901010001 supports mmap
INFO: ParameterDMLParser: Found register map with name 'OPT9220A' (vPG1P0)
ERROR: UVCXU: 0::0bda:5825::200901010001 UVCIOC_CTRL_QUERY failed
ERROR: VoxelXUProgrammer: Could not set read register address 0x5c78
ERROR: VoxelProgrammerBase: Could not read register for address 0x5c78
ERROR: DepthCamera:Could not get value for parameter
RTS5825Camera(0::0bda:5825::200901010001)scratch2
INFO: DepthCamera: Setting parameter 'unambiguous_range'
INFO: DepthCamera: Setting parameter 'sub_frame_cnt_max'
INFO: DepthCamera: Setting parameter 'quad_cnt_max'
INFO: DepthCamera: Setting parameter 'intg_time'
INFO: DepthCamera: Setting parameter 'illum_volt'
INFO: CameraSystem: Successfully refreshed parameters for
RTS5825Camera(0::0bda:5825::200901010001)
INFO: ToFCameraBase: Starting with 320x240@25fps
_dealiasedPhaseMask = 0, _dealiasedPhaseMaskInPhaseOffset = 0
ERROR: No data available Waited for 2000 ms
ERROR: No data available Waited for 2000 ms
ERROR: No data available Waited for 2000 ms
ERROR: No data available Waited for 2000 ms
ERROR: No data available Waited for 2000 ms
ERROR: No data available Waited for 2000 ms
ERROR: No data available Waited for 2000 ms
ERROR: No data available Waited for 2000 ms
ERROR: No data available Waited for 2000 ms
ERROR: No data available Waited for 2000 ms
ERROR: No data available Waited for 2000 ms
ERROR: No data available Waited for 2000 ms
ERROR: No data available Waited for 2000 ms
ERROR: No data available Waited for 2000 ms
ERROR: No data available Waited for 2000 ms
ERROR: No data available Waited for 2000 ms
ERROR: No data available Waited for 2000 ms
ERROR: No data available Waited for 2000 ms
ERROR: No data available Waited for 2000 ms
ERROR: No data available Waited for 2000 ms
ERROR: No data available Waited for 2000 ms
ERROR: No data available Waited for 2000 ms
ERROR: No data available Waited for 2000 ms
ERROR: No data available Waited for 2000 ms
—
Reply to this email directly or view it on GitHub
https://github.com/3dtof/voxelsdk/issues/53.

--
~ Prasad Bhat

There are two cameras on our device. One is RBG, another is TOF. Running these two cameras in Ubuntu14.04 results in the the following error:
libv4l2: error turning on stream: No space left on device
VIDIOC_STREAMON: No space left on device
"quirks=128" forces uvcvideo driver to  calculate their bandwidth usage instead of requesting their maximum.

Underlying primary problem as I understand is that there two devices which
are connected to one USB host controller and hence they are being
arbitrated for bus access. Both these devices in this case are pumping
large data periodically causing this issue.
Three options:

Does quirks=128 itself work out for you, rather than quirks=640?
See whether your RGB camera supports compressed format such as MPEG or
MJPEG. If so, use it for that. See
http://superuser.com/questions/431759/using-multiple-usb-webcams-in-linux
See whether you can plug the two cameras to different USB host
controllers. Typically one PC or laptop has at least two USB host
controllers whose physical ports are at different locations. An adjacent
pair of USB ports are typically going to one USB host controller. Avoid
that and try out different ports.

On 14 January 2016 at 08:20, JAHAHA<EMAIL_ADDRESS>wrote:

There are two cameras on our device. One is RBG, another is TOF. Running
these two cameras in Ubuntu14.04 results in the the following error:
libv4l2: error turning on stream: No space left on device
VIDIOC_STREAMON: No space left on device
"quirks=128" forces uvcvideo driver to calculate their bandwidth usage
instead of requesting their maximum.
—
Reply to this email directly or view it on GitHub
https://github.com/3dtof/voxelsdk/issues/53#issuecomment-171514323.

--
~ Prasad Bhat

Actually our device includes two cameras that are connected to one USB hub that connect PC via USB cable. So I cannot connect our device to different USB host controller.
My question is why the voxel SDK cannot work if quirks=128? Even if I doesn't run RGB camera.

Could you please confirm that the camera works if you do not pass the quirks=128 parameter?
(We want to ensure the camera is functional by itself).
Also, please let us know your platform (PC or ARM?), Linux distribution and kernel version (output from uname -a command will do).

Yes, the camera works fine if don't pass the quirks=128 parameter.
My platform is Ubuntu 14.04(Intel PC) and kernel version is 3.13.0-32-generic.

Is your problem that the RGB camera is not working without the quirks?
On 15 January 2016 at 14:04, JAHAHA<EMAIL_ADDRESS>wrote:

Yes, the camera works fine if don't pass the quirks=128 parameter.
My platform is Ubuntu 14.04(Intel PC) and kernel version is
3.13.0-32-generic.
—
Reply to this email directly or view it on GitHub
https://github.com/3dtof/voxelsdk/issues/53#issuecomment-171901592.

--
~ Prasad Bhat

I depends on which camera starts to work first. If our application start to run TOF camera, then RGB doesn't work due to "No space left on device". Otherwise TOF camera doesn't work.

Okay, we can reproduce the issue with quirks=128, but I am not sure this is the right quirk to use.
Could you please let us know what mode you use the RGB camera in (MJPEG or YUY2), and at what resolution?

From the code, it looks like setting this quirk causes the dwMaxPayloadTransferSize to be recalculated and programmed to a different value than the default.
http://lxr.free-electrons.com/source/drivers/media/usb/uvc/uvc_video.c#L162
This might not be supported correctly by the camera firmware. Please contact your camera chipset vendor (Realtek) to investigate this - this is not related to the VoxelSDK.

You are right about uvcvideo driver.
I used another application "guvcview" to double check this issue.  I found that this application is able to receive the data from TOF camera, but VoxelSDK show "ERROR: No data available. Waited for 2000 ms" at the same test scenario. So if I report it to USB chip vendor, I think they should use the general application to verify this issue as well.
Do you have idea why the general webcam viewer can receive the data with quirks=128?

Okay, I can reproduce this too. guvcview can stream data while VoxelSDK cannot.

What USB chip-set is on your board? Is it Realtek, too?

I have the same board with the Realtek chipset (USB VID:PID 0bda:5825 for TOF).

Are you still investigating this issue and then provide the solution?

We are investigating this but it might take some time. For now, we don't have any workaround other than to not use that quirk.

Some observations:

I tried to use Voxel-A (Voxel14) with quirks=128 and it works fine with SDK.
I've checked and seen that there is no different between information reported by v4l2-ctl for Voxel-A and yours.
guvcview is unable to get stream from yours for a few attempts, after which it gets stream successfully.  This is not case with guvcview streaming from Voxel-A. Need to see why.

It needs some more analysis.


Possible bug, or improvement in Get-DbaUserPermission

Hi guys good afternoon
I've run this particular script against a server of a client where all the databases have the first character of the name a number as example 4PEOPLE. This script basically ignores all the databases on that server.
Example:
Get-DbaUserPermission -SqlInstance SQLDEV -Database 4PEOPLE -ExcludeSystemDatabase | Out-GridView

What does it mean "ignores"...please provide requested details if you consider this a bug.
All that command does is execute this script: https://github.com/sqlcollaborative/dbatools/blob/development/bin/stig.sql

I know the script stig.sql, ignores means it doesn't do nothing, empty output/result set.
I've tested in my local machine that has multiple databases and i've created a new one with name 4Test and it scans all the other db's except that one.

Just provided a fix for that...


pull request for e2e test at 12/05/2016 00:56:02

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Build configuration for appVeyor should be source controlled

[x] add an appVeyor.yml file
[x] improve nuget specifications by dynamically setting the last year of copyright
[x] add request to build for SQL Server 2019
[x] exclude testing dlls from packaging

Merged at the beginning of work on v1.20


Integrate with Firebase Storage

Hi. Will there be an AngularJS binding for firebase storage or should I use the vanilla firebase api?

Changing title to make this issue a bit more permanent. We don't have anything built into AngularFire to support Storage at the moment, so you should definitely use the vanilla Firebase API for now (Storage docs are here). It's unclear if we will ever add anything special to this version of AngularFire with regards to Storage, but we will probably add something to AngularFire2 at some point.
I'll keep this issue open to track support for Storage in this library. If anyone out there wants to see it happen, click on the emoji reactions above my comment. Please try to avoid doing a "+1" or "me too" comments unless you have something to add to the conversation like an API proposal.

Thanks for your response. With file events, I'm assuming I should manually call $apply(). Since everyone's probably new to the file storage api, are there anything to keep in mind when integrating with angular?

I haven't used Angular and Firebase Storage in combination yet to be honest. I've actually never done anything with images in Angular. I definitely assume you'll have to manually get the digest loop to run via $apply() or $timeout() or the like.
Hopefully someone else in the community can share some more concrete ideas though!

@omoki @jwngr
I've been experimenting with AngularFire2 and Firebase Storage locally, and it's given me some ideas for AngularFire 1.
If everyone is interested I could spend some time integrating the two together here.
There's two important bits for AngularFire, upload/download tasks and a gs://url directive.
Upload/Download Tasks
This would be a simple wrap of of the Storage API, but it's necessary for monitoring the uploads and downloads.
Directive
This feature would be awesome. You could use a directive rather than worry about programatically downloading the URL or knowing the unguessable URL.

This would cut down on a lot of code!

@davideast that would be great. Perhaps using a promise along with progress/notify to track uploads. I think the new storage api provides this via snapshot.bytesTransferred. I am currently using a custom server-side solution to upload to Amazon AWS and it was a big headache building a directive that handles different file types. There's just so many things to take care of. I'm also handling transcoding server-side and am keeping my fingers crossed that Firebase will also include transcoding capabilities in the near future. This will get me very close to zero interaction between client and my private server.
A directive (which may be out of scope for angularfire) would set the stage for the next iteration of Firebase API. If the Firebase team doesn't stop at providing data storage (I hope not), then they will be expanding into the territory of other companies such as Filepicker. Then Firebase will provide an api for handling different file types such as cropping, transcoding, etc. Maybe angularfire will introduce methods such as $firebaseStorage.$imageAction('resize', 500, 500)
And your directive would include other properties such as resize:

@jwngr
By the way, I should add that when I posted this, I had been waiting for the new release and anticipated that there would be a new $firebaseStorage object in the api. I'm aware that angularfire never included 100% coverage of the vanilla api in the past.
However, if the storage api will not be supported by angularfire, then I think this would set a new philosophical direction in your development. Am I correct in thinking this? And if so, would you kindly provide guidance as to the scope of the project?
I'm also wondering if I should start to migrate to Angular2. I haven't had a chance to really look at it yet, but it's my understanding that this kind of manual digest cycle is no longer necessary with non-angular events in Angular2.
I'm basically wondering if you are starting to phase out of support for Angular 1 and treating it more like legacy support which is understandable.

AngularFire was built primarily as a tool to help synchronize arrays and objects to your views, and to assist with authentication and routing. It will continue to do so. It's perfectly reasonable to consider storage as an addition and might be a possible addition
You're pretty much on the cutting edge here. If this is a production app, you'll want to slow up a bit. If not, forge ahead and submit some PRs along the way.
Angular 2 is not yet out of beta and the Firebase support (i.e. AngularFire2) is still fairly experimental. It doesn't yet include support for the Firebase 3 SDK. These two platforms are both changing rapidly in parallel, so it takes a while for the synchronized tools like AngularFire to catch up, and really requires stable versions to do so.
One thing I would note here is how quickly we were able to upgrade AngularFire compared to AngularFire2. This is primarily because AngularFire2 is still experimental, but partially because AF2 is more ambitious. Part of AF1's success has been its focus and simplicity, and the fact that we haven't tried to conquer every possibly use case.
So we would need to consider carefully how storage affects that, and whether it would be better served as its own tool (or if one is even necessary) before getting too far down this path.

@davideast - Proposal looks good to me. As I mentioned, I haven't played a lot with Storage, so I don't know exactly what can of "Angular magic" we can inject in it, but both of those suggested items seems like good ideas. Handling the $digest loop automatically and simplifying URL management are great. Maybe @mcdonamp can comment on if these make sense since he is quite familiar with Storage even though he doesn't have a ton of Angular background.
@omoki - As Kato mentioned, I wouldn't call this a shift in the philosophical direction of AngularFire. We have limited resources and want to invest in where developers are going. It's always been this way, and for a long time, AngularFire did not include any authentication methods, just the database. So, Storage not being included is not that much different. Plus, Storage just came out two weeks ago and we need to see what pain points people have before we can solve them in AngularFire.
As for Angular 2, @davideast is working closely with that team and it is clear that is the future of the framework. Without limited resources, that seems like the better investment at this point. AngularFire for Angular 1 is still alive and well (as can be seen by all the activity here), but it will probably see more maintenance and less investment that AngularFire2 for Angular 2 in the same way Angular 1 sees more maintenance and less investment from the Angular team than Angular 2 does.

+1 to the directive for gs:// URLs, this will provide download auth checks and is generally in line with best practices. I have no idea what the upload/download thing is, but if we can easily expose a progress bar interface for uploads/downloads, that seems like we can successfully reduce boilerplate :)
@omoki Long term, we'd like to natively support resize/crop/filter etc. a la: , and you can do some of it client side, but that's going to be a ton of work for now and it's probably better if we punt.
We're planning on integrating Storage with FirebaseUI on Android and iOS, so I could see us surfacing similar concepts in the *Fire libraries for web components, primarily around wrapping gs:// URLs. Very long term, I feel like the *Fire libs are parallels for the FirebaseUI libs, and can provide opinionated bindings for relevant Firebase features to the various web frameworks--but as has been mentioned, we don't have a short term strategy fully worked out as there are few of us and lots of JS frameworks ;)

Thanks @mcdonamp!  FYI that the upload / download thing is just tying the progress / completion / failure events of the vanilla Storage API into the Angular $digest cycle so that your Angular view updates when an event occurs. By default, Angular won't update your view unless you tell it to. So we can mirror what we do with the Database API and force the Angular view to update so that developers don't have to do it themselves.

@mcdonamp That's all great news. Thanks for the update.
@katowulf Thanks for the info. This does answer my questions and in that case would make sense for angularfire to provide angular bindings for storage events in the near future. I'm of course being as greedy as possible since understanding your intensions allow me to code with the future in mind :) But I do appreciate all of your hard work and am very happy to see new features added.

I'm closing this issue but opening up a new one with the API proposal. Feel free to comment there 😄

@davideast can you share new one link here


add type disabled to GoogleSigninButton

Typescript complains of disabled attribute not being available on GoogleSigninButton
Property 'disabled' does not exist on type 'IntrinsicAttributes & IntrinsicClassAttributes & Readonly<{ children?: ReactNode; }> & Readonly'.
Environment

react-native : 0.57.2
react-native-google-signin: 1.0.0-rc6

hi! types are being added in https://github.com/react-native-community/react-native-google-signin/pull/496 but that PR got a little delayed. Please add a PR to that PR's branch, or join the discussion if you want to help! Thanks.


关于图片尺寸问题

我要生成1024乘1024的图片,用control net导入图片生成pose图,那么导入图片的尺寸有什么要求?节点的参数怎么设置会影响清晰度?

sorry, I can't help, never learned this language, even if it could be very interesting, but I have no affinity to learn languages, already learning English was difficult for me, since it is not my mother tongue (but I already have my issues to learn my native language). Maybe some other user can help you, If you post your question in English?

sorry, I can't help, never learned this language, even if it could be very interesting, but I have no affinity to learn languages, already learning English was difficult for me, since it is not my mother tongue (but I already have my issues to learn my native language). Maybe some other user can help you, If you post your question in English?

example: i use sdxl size is 1024by1024,but the pose image size is 512by512 for controlnet ,Does this affect the resolution?How to set controlnet up to make the picture clear

no it does not affect the output resolution, control net size will only be used for detection, of the image, with higher resolutions you has probably the issue that the pose will not be detected properly for example if you use reolution with 4096x4096, the same with lower resolutions, as the controlnet was trained with a specified resolution. The output depends on your used modell and the choosen output resolution.

no it does not affect the output resolution, control net size will only be used for detection, of the image, with higher resolutions you has probably the issue that the pose will not be detected properly for example if you use reolution with 4096x4096, the same with lower resolutions, as the controlnet was trained with a specified resolution. The output depends on your used modell and the choosen output resolution. To get an image sharp you have to play with cfg, choose a bigger size of output resolution, as you need, for, example if you need 1024x1024, try 1152x1152 and rescale than with ultrasharp 4x, or leave it untouched if it is ok for you

thank you ,i think i know^-^


Keyboard is closed when trying to delete mention

Describe the bug
When trying to delete the mention, it doesn't work and I also lose focus to the input, causing the keyboard to be closed.
To Reproduce
Steps to reproduce the behavior:

Go to 'Demo page'
Type @ to see the mentions list and pick one
Try to delete the mention
It doesn't work and I lose focus to the input

Expected behavior
The mention should be deleted and I still keep focus on the input
Video
https://github.com/sodenn/lexical-beautiful-mentions/assets/64638082/e519a3e7-c619-425e-bce3-a534cdb09609
Smartphone (please complete the following information):

Device: Xiaomi Redmi K40 Gaming
OS: Android 13
Browser: Chrome

Additional context
The bug only happens on Android phone's Chrome (Xiaomi specifically)

we are also facing the same issue

Facing the same issue on Xiaomi devices

After looking into it, there is no easy way to fix this issue. Other rich text editors have to deal with very similar problems. For example: https://github.com/ProseMirror/prosemirror/issues/565. Unfortunately, it is a known issue with the Android'a virtual keyboard in contenteditable elements.
One possible workaround is to switch from DecoratorNode to TextNode, so the mention nodes would no longer have contenteditable=false. But that would change the current behavior and other known GBoard issues would still persist. For example: https://github.com/facebook/lexical/issues/4636.

To anyone who is still seeing this, I was able to fix this while working on https://10play.github.io/10tap-editor/docs/examples/mentions
The fix I had was to wrap the contenteditable=false with contenteditable=true in addition to adding these two special characters to the end of the node \uFEFF \u200B and now it works great!
This fix is for tiptap/prosemirror but since the underlying problem is a browser bug this might help you guys as-well
 renderHTML({options, node}) {
  return [
    'span',
    {contenteditable: true},
    [
      'span',
      mergeAttributes(
        {class: classes.join(' '), contenteditable: false},
        options.HTMLAttributes,
      ),
      `${options.suggestion.char}${
        node.attrs.label ?? node.attrs.id
      }`,
    ],
    ['span', {}, '\uFEFF'],
    ['span', {}, '\u200B'],
  ];


PDF support?

I was wondering if there is PDF support. We are building an Electron app and our use case is that we need to convert a PDF to an image (could be multipage, as well) so we can print the image(s) using node-printer.
When I try to use sharp with a PDF, it says it is not supported (or invalid).
We need to be able to bundle everything with the Electron app, so it would be great if there were no external dependencies.
I'm also trying to work with node-gm and node-imagemagick-native, as well, to try to handle this. node-gm has ghostscript / graphicsmagick dependencies, and node-imagemagick-native does not work with multi-page PDFs.
I'm up for other suggestions, as well.
Great module, by the way!

Hello, libvips can be compiled with support for libpoppler, but its use of GPL would mean the source of your Electron app becomes GPL as it all runs in the same process.
To avoid runtime dependencies you'd need to build your own sharp-compatible pre-compiled binary tarball - see https://github.com/lovell/sharp/tree/master/packaging#using-a-custom-tarball - but it's not straightforward.

Thanks for your input! I think we are going to end up writing a service to do this in the long run, so it will take the conversion out of the app.
Good info to know, though! Thanks, again, and great work on this!

Look like lipvips has a new option for loading pdf's:

"There’s a new, optional PDF loader based on Google’s PDFium project. libvips has had a PDF loader based on poppler-glib for a while, but the poppler GPL licence is unsuitable for some projects. This new PDFium loader should be more widely useful." - https://jcupitt.github.io/libvips/2018/07/26/What's-new-in-8.7.html

Is there any chance sharp could be updated to use this to enable pdf support by default?

@supermoos pdfium has made (and is still making?) breaking changes to its API so the libvips integration doesn't work at the moment anyway - see https://github.com/libvips/libvips/issues/957
In terms of adding to the pre-built binaries, I'd need to assess the build-time complexity and the extra download weight it brings; the shared libraries were huge (>50MB) when I last looked.


Add IPFS Encrypted Share

Website Reddit
IPFS encrypted share is a file encrypter - uploader with focus on easy to use yet secure.

replaced with https://github.com/ipfs/awesome-ipfs/pull/432


Add udacity link to JavaScript Tutorials

@avinash201199 Here is the PR https://github.com/avinash201199/Free-courses-with-Certificates/pull/48


Parameters with schema not used (OpenAPI 3.0)

In version 3.0, it looks like you put the schema for a parameter under the schema field. The code in buildParametersValidation doesn't seem to look there yet.
I can file a PR with a fix and test if this is a real issue. Thanks!

Hi @thomas4019,
Nice find and thanks for your feedback!
We've already extracted the OpenAPI validation logic to https://github.com/Zooz/api-schema-builder and we intend to use it as a package in express-ajv-swagger-validation, as you can see in #54
You're more than welcome to issue a PR in api-schema-builder.
Thanks


Numeric operators for default types are not defined on their types

I don't know where they are defined or if it's just a magic feature.

Added them to reflection manually in https://github.com/RobinKa/netprints/commit/0d01dc03d935addf36e9621a78f4dfff67e637ac


Avoid EventListener.start race condition

I need to do some more testing, but I believe that EventListener.start can end up getting called after EventListener.onBeforeCreateListener because the body of DisposableEffect runs in parallel with the rest of the composition, and therefore can race.
I can reproduce this reliably with an EventListener like the one below
class MyEventListener(
    private val screen: Screen,
    private val context: CircuitContext
) : EventListener {
  private lateinit var rootTransaction: ITransaction
  private lateinit var createPresenterSpan: ISpan

  override fun start() {
    rootTransaction = Sentry.startTransaction(screen.javaClass.simpleName, "circuit")
  }

  override fun onBeforeCreatePresenter(
    screen: Screen,
    navigator: Navigator,
    context: CircuitContext
  ) {
    createPresenterSpan = rootTransaction.startChild("createPresenter")
  }
  ...
}

Crashes because rootTransaction has not been initialized when onBeforeCreatePresenter is called.
I think we should pull the eventListener.start() call out of the DisposableEffect should do the trick. Maybe invoke it inside the remember call when creating the EventListener.

Hmm, interesting 🤔 . You are correct. I was under the impression that a DisposableEffect block was run immediately (similar to a remember) but that's clearly not the case.
Calling eventListener.start() from the remember or after it (but before the DisposableEffect) both feel like good options to me. When you're done, mark the PR as ready for review and I'll sign off.
Thanks for fixing this 👍

Drive-by at the request of @ZacSweers :)
DisposableEffect does not run in parallel with composition. It's driven by a RememberObserver, and RememberObservers are run strictly after recomposition completes during the applyChanges step, after the Applier performs any tree manipulations. These all happen on the frame as defined by the MonotonicFrameClock used to call Recomposer.runRecomposeAndApplyChanges, before control flow is yielded - i.e. during a Choreographer frame callback before the view's performTraversals step continues on Android.
The process of composition is side effect-free; due to the behavior described above RememberObservers/DisposableEffects may be used to queue up side effects to execute once composition has successfully completed.
If performing side effects during recomposition cannot be avoided, e.g. getOrPut type operations in the body of a remember {}, RememberObserver.onAbandoned may be used to roll back those side effects should recomposition fail to complete/commit.

Hey @adamp, thanks for the explanation. Trying to wrap my head around this as it's a little deeper into Compose than I've waded so far.
High level the goal is that we have an EventListener for the lifetime of a given circuit (or duration of that screen being shown). For instrumentation purposes, we want to call EventListener.start when that screen is first composed, and EventListener.dispose when it is... disposed.
If I'm understanding your suggestion would it be to do something instead like (pardon the terrible naming).
private class EventListenerRememberObserver(val eventListener: EventListener) : RememberObserver {
  override fun onAbandoned() = Unit // Do nothing. Never started

  override fun onForgotten() = eventListener.dispose()

  override fun onRemembered() = eventListener.start()
}

@Composable
internal fun CircuitContent(
  screen: Screen,
  modifier: Modifier,
  navigator: Navigator,
  circuitConfig: CircuitConfig,
  unavailableContent: (@Composable (screen: Screen, modifier: Modifier) -> Unit),
  context: CircuitContext,
) {
  val eventListener =
    remember(screen, context) {
      val eventListener = circuitConfig.eventListenerFactory?.create(screen, context) ?: EventListener.NONE
      EventListenerRememberObserver(eventListener)
    }

  val presenter =
    remember(eventListener, screen, navigator, context) {
      eventListener.eventListener.onBeforeCreatePresenter(screen, navigator, context)
      @Suppress("UNCHECKED_CAST")
      (circuitConfig.presenter(screen, navigator, context) as Presenter<CircuitUiState>?).also {
        eventListener.eventListener.onAfterCreatePresenter(screen, navigator, it, context)
      }
    }

    ...
}

Well, this at least corrects the behavior. Probably worth revisiting to see how such an event listener might be invoked in a more canonically Compose manner.


bug: Special use item not in "Can Use" filter

Reference
Just noticed that features with action cost "special" seem to be getting filtered out of Can Use.
https://discord.com/channels/915186263609454632/1180720388070711357/1225982525189390396

More context: Can Use is just missing some use cases.
See https://discord.com/channels/915186263609454632/1180720388070711357/1226214898258808872
For a sample actor and features that should appear on Can Use.
Additional discussion points included:
Add Can Use scenario for features with activation cost that either have no resource requirements or whose requirements are met.
If the "requirements are met" part is too complex or risky to code, then skip that part and still include features with an activation cost. Note: None is an eligible cost.


Consolidate PseudoTerminal setup

The PseudoTerminal is/will be reused in all tasks, and has lot of common code. There can be class that defines the functionality for the same.

fixed with commit ade80997463e95dad27516987008d55ee56e4bc0


Update APIErrorExceptionMapper to generate response for user onboard api error

Purpose
The APIErrorExceptionMapper needs to map exceptions to responses when the api exception is being thrown by the user onboard api.
This PR updates the toResponse method to perform the mapping if the exception is an instance of org.wso2.carbon.identity.api.user.onboard.common.error.APIError
Related Issue

https://github.com/wso2/product-is/issues/19456

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/7842293980

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/7842293980
Status: failure

PR builder has failed due to identity-rest-dispatcher not being supported in the PR builder


RSWG does not appear on meeting proceedings

RSWG does not currently show up in the proceedings for the IETF meetings during which it met.
It should.
In the meantime, the meeting materials can be found via, for example, https://datatracker.ietf.org/meeting/116/session/rswg

Should this go under a new section "RFC Editor"?

IETF 114 rsab is missing in IETF 114 proceedings.

As discussed with @rjsparks, rsab and rswg proceedings will appear under a new section "Editorial Stream".


[AUTOPATCHER] Patches CVE-2021-44573 for libsolv

        Patches CVE-2021-44573 for libsolv.
        This patch and PR was automatically generated and needs human verification before merging.

Fixed by:

#1724


Update visual_theme.js

line 198-199: switched firstChild for firstElementChild, fixes error with visual_theme.js where img.tagName was undefined

Thank you, I addressed the same issue in a similar way in 2caab5f.


ci: use devnet for javascore contract uat deployment

Use devnet for javascore contract uat deployment check

@bcsainju Does it cover by E2E framework, as this job was used before we had E2E framework ready? If E2E covers this, we can remove this action.


NodeConnection._cleanup error on Brackets-to-Node callback

I am implementing a Brackets extension in StarUML, using the Brackets-to-Node communication pattern documented here:  Brackets Node Process:  Overview for Developers.  I'm hitting an error in some cases with the asynchronous callback pattern, where an error:  NodeConnection._cleanup is returned.  When invoking the same methods from the terminal with mochajs, the method returns successfully.
The odd situation is that some async callbacks are completed with no issue in the Brackets environment, but others (which invoke nodejs modules) are failing.
For example, the following interaction pattern succeeds:
// main.js
// Simple Hello World async with callback
    function handleHelloWorld() {
        xcodeDomain.exec("helloWorld")
            .done(function(someResponse) {
                window.alert("Hello, world with: " + someResponse);
            }).fail(function (err) {
                console.error(err);
            });
    }

domainManager.registerCommand(
            "xcode",               // domain name
            "helloWorld",        // command name
            cmdHelloWorld,   // command handler function
            true,                     // is async, expects err back
            "Returns something",
            [{
                    name: "someResponse", // return values
                    type: "object",
                    description: "hello world response"
                }]
);

// Sample Hello World implementation, which invokes `fs.stat()`
function cmdHelloWorld(cb) {
    fs.stat(projectPath, function(err, stats) {
        cb(err, stats);
    });
}

But, the following production request is failing.  It is using the node-walk API.  It seems like there is some cleanup that is breaking on the nodejs side, when it invokes the errback to pass response to the main.js.  So weirdly, the correct result exists, and the correct onEnd handler is invoked.  But, an error cleanup is returned to main.js instead of the result payload--even though a null error is passed to the callback.
// main.js
// invokes node-walk API, which should return a JSON object containing <fileName, absolutePath>
function getProjectDirectoryContents(rootDirectory) {
    var result = new $.Deferred();
    xcodeDomain.exec("getDirectoryContents", rootDirectory, false)
        .done(function(filesArray) {
            console.log("filesArray: " + JSON.stringify(filesArray, null, 2));
            result.resolve(filesArray);
        })
        .fail(function (err) {
            console.log('err: ' + err);
/*
 * Prints:
 * err: cleanupmain.js:148
 * (anonymous function)thirdparty.min.js:18
 * o.Callbacks.jthirdparty.min.js:18
 * o.Callbacks.k.fireWiththirdparty.min.js:18
 * o.extend.Deferred.o.each.e.(anonymous function)/utils/NodeConnection.js:218
 * (anonymous function)/utils/NodeConnection.js:217
 * NodeConnection._cleanup/utils/NodeConnection.js:315
 * NodeConnection.connect/utils/NodeConnection.js:254
 * NodeConnection.connect.self._ws.onclose
 */
            result.reject(err);
        });
    return result.promise();
}

domainManager.registerCommand(
    "xcode",       // domain name
    "getDirectoryContents",    // command name
    cmdGetDirectoryContents,   // command handler function
    true,
    "Returns an object containing map of file names & absolute path",
    [{
            name: "rootDirectory", // parameters
            type: "string",
            description: "Root directory of the xcode project"
        }],
    [{
            name: "directory contents", // return values
            type: "array",
            description: "array of all files in the project, with [name, fullyqualifiedpath]"
        }]);

function cmdGetDirectoryContents(rootDirectory, cb) {
    var directoryContents = {};
    var walker = walk.walk(rootDirectory, {followLinks: false});

    walker.on('file', function (path, stat, next) {
        var fullyQualifiedPath = [path, '/', stat.name].join('');
        directoryContents[stat.name] = fullyQualifiedPath;
        next();
    });
    walker.on('error', function (path, err, next) {
        // ignore
        next();
    });
    walker.on('end', function () {
        console.log('on end: ');
        console.log('directoryContents: ' + JSON.stringify(directoryContents, null, 2));
/*
 * Prints:
 * on end:
 *
 * Prints:
 * { "myfile.swift": "/mypath/my/path", ... }     // correct result payload
 */
/*
 *Prints:
 *[node-error 2:53:10 PM] [Launcher] uncaught exception at top level, exiting. TypeError: boolean is not a function
 *  at Walker.<anonymous> (/Users/i826181/Library/Application Support/StarUML/extensions/user/HelloWorld/node/xcode.js:147:9)
 *  at Walker.EventEmitter.emit (events.js:92:17)
 *  at Walker._wNext (/Users/i826181/Library/Application Support/StarUML/extensions/user/HelloWorld/node_modules/walk/lib/walk.js:278:10)
 *  at Walker._wNext (/Users/i826181/Library/Application Support/StarUML/extensions/user/HelloWorld/node_modules/walk/lib/walk.js:273:17)
 *  at Walker._wNext (/Users/i826181/Library/Application Support/StarUML/extensions/user/HelloWorld/node_modules/walk/lib/walk.js:273:17)
 *  at Walker._wNext (/Users/i826181/Library/Application Support/StarUML/extensions/user/HelloWorld/node_modules/walk/lib/walk.js:273:17)
 *  at Walker._wNext (/Users/i826181/Library/Application Support/StarUML/extensions/user/HelloWorld/node_modules/walk/lib/walk.js:273:17)
 *  at Walker._wOnEmitDone (/Users/i826181/Library/Application Support/StarUML/extensions/user/HelloWorld/node_modules/walk/lib/walk.js:125:8)
 *  at nextWhenReady (/Users/i826181/Library/Application Support/StarUML/extensions/user/HelloWorld/node_modules/walk/lib/node-type-emitter.js:69:29)
 *  at Object.emitPluralEvents [as emitNodeTypeGroups] (/Users/i826181/Library/Application Support/StarUML/extensions/user/HelloWorld/node_modules/walk/lib/node-type-emitter.js:77:5)
 */
        cb(null, directoryContents);
    });
}

Does this NodeConnection._cleanup() look familiar?  @zaggino , you seem to be the one guy who's hit this, any ideas you could share?

Closing, for now, looks related to an extra boolean parameter left over from the sample.   Removing it appears to resolve.


Bug: Error thrown on combat creation

Seems to happen regardless of pc/npc count. Isn't obviously impeding functionality. 11.304/5.1.0

Upstream issue


fix fix regression test set and unset command failed by accident

What problem does this PR solve?
Issue Number: close #xxx
Related PR: #43103
Problem Summary:
When set and unset commands set the same variable, it would failed by accident
Release note
None
Check List (For Author)

Test

[x] Regression test
[ ] Unit Test
[ ] Manual test (add detailed scripts or steps below)
[ ] No need to test or manual test. Explain why:

[ ] This is a refactor/code format and no logic has been changed.
[ ] Previous test can cover this change.
[ ] No code files have been changed.
[ ] Other reason

Behavior changed:

[x] No.
[ ] Yes.

Does this need documentation?

[x] No.
[ ] Yes.

Check List (For Reviewer who merge this PR)

[ ] Confirm the release note
[ ] Confirm test cases
[ ] Confirm document
[ ] Add branch pick label

run buildall


Type on input

Every time i type anything focus on the input and write. Or never live input focus
check the cursor and its movement ( not corresponding with the char weight

closed 0e07439


What are "Libraries" used for?

Hello,
Thanks a lot for sharing the source code and writing the detailed tutorials.
I am still confused what and how "Libraries" folder should be used.  I know I should put "ROS" folder into my ros src folder in VM ubuntu, and put "Unity3D" folder into my unity assets in windows. It looks like I never need "Libraries" folder.
Thank you!

Please read the section Custom Message Types here.


Suppressing a returning error (would mean the world to me <3)

Description

I have never had any bad issues with luckperms, I love luckperms and I expect to be using it for a long time.
I do have one suggestion which would really help clean up my console, I believe it is the only error I keep seeing returning frequently because my players level up pretty quickly.
When someone levels up we give them a suffix with a few symbols in them declaring the level of the player (pvp related).
Giving these suffixes with symbols causes an error to be put in console, and I'd be really happy if we coud somehow get rid of this error: https://pastebin.com/30fgnCs7
My suggestion is that maybe you could make a configurable "suppress" option for this specific error
Proposed behaviour

An option in config to suppress this error as it doesn't seem to break/malfunction when giving the suffix

Wouldn't this be more of a bug report rather than a suggestion? I don't think your LP should be spitting errors like that.

You need to run this MySQL command in your LuckPerms database:
ALTER TABLE luckperms_messenger CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

Assuming your table prefix is the default luckperms_ (if you didn't change it, that's what it still is)


composition-api version

I completly refactored the code to upgrade it to Vue 3. It now uses typescript and the new composition API, but thanks for the PR :)


Add missing React SyntheticEvent methods…

isDefaultPrevented(): boolean
isPropagationStopped(): boolean

See SyntheticEvent interface

Sorry for unrelated sniping here, but does React even expose runtime bindings for SyntheticEvent and it's subclasses? If it does, shouldn't the type be scoped to the react module? If it doesn't, I have a few concerns:

It should be declared as an interface, so Flow doesn't introduce a runtime binding.
The type should still be scoped to the module.
How is this type useful? We can't do a type test (e instanceof SyntheticEvent). No other part of the declared React API returns or consumes them.

@samwgoldman AFAICT the SyntheticEvent constructor is not directly exposed anywhere (one could theoretically access it through instance.constructor though)
I, personally, can't say why a type would be more useful than an interface in this context as I don't have enough experience with Flow.

Yeah, it was probably wrong of me to make SyntheticEvent global...maybe React should export it as a type or something like that, so you have to do
import type { SyntheticEvent } from 'React';

Anyway, that can be future work. This PR looks good to me. Thanks @gf3 for adding these methods in!

@facebook-github-bot shipit


Remove Diff method from ComMatrix struct

This PR removes the Diff Method of the ComMatrix struct was removed, since it is not necessary when having the MatrixDiff struct which represents the diff between two comMatrices.
Also, comments were added to the MatrixDiff struct to make it's components and purpose clearer.

/lgtm

/retest

/retest

/approve


refactor: Changed the method for generating UID

Pull Request Test Coverage Report for Build #271
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.06%) to 81.31%

Totals

Change from base Build #269:
0.06%

Covered Lines:
509

Relevant Lines:
626

💛  - Coveralls