Use a cargo workspace

Fixes #411.
Uses a "virtual" Cargo.toml as we don't have a root crate.

Do we need to update each of the children to point to the workspace as well?

The compile-fail tests can't seem to find the necessary crates (log).

@sgrif That should not be necessary because of implicit relations.

The package.workspace can be omitted if it would only contain ../ (or some
repetition of it). That is, if the root of a workspace is hierarchically the
first Cargo.toml with [workspace] above a crate in the filesystem, then that
crate can omit the package.workspace key.

LGTM.
Seems to save a bit of time, but not that much. Is the diesel crate built with different features multiple times in the same build (e.g. diesel_test using different features than when building the diesel crate itself)? If so, can we reduce this further?
Totally unscientific timings from travis:

Test
master
PR branch

nightly sqlite
8:46
7:07

nightly pg
10:11
9:38

Long CI builds are luckily not really that much of a problem here, as Travis times out after an hour and one build only takes about 10min right now. (Getting incremental compilation for development will be much more of a difference.)

Yeah it gets built with different features. Shame those don't get cached. I'm less concerned with the time of CI and more with bin/test. Maybe we can reorder those so the SQLite tests all happen together and then the PG tests?

Just force pushed because I failed the commit message...

Reordering the tests in bin/test didn't really improve times on my system but I also don't really know how the different crates and features work together so maybe I did it suboptimally.
  (cd diesel && cargo test --features "unstable chrono sqlite")
  (cd diesel_cli && cargo test --features "postgres" --no-default-features)
  (cd diesel_tests && cargo test --features "unstable_postgres" --no-default-features)
  (cd diesel_codegen_syntex && cargo test --features "postgres" --no-default-features)
  (cd diesel_cli && cargo test --features "sqlite" --no-default-features)
  (cd diesel_tests && DATABASE_URL=/tmp/test.db cargo test --features "unstable_sqlite" --no-default-features)
  (cd diesel_compile_tests && cargo test)

FYI, Postgres and SQLite are build by different travis jobs, so that won't matter here. Adding cache: cargo to the .travis.yml might bring more visible improvements.
@Bobo1239 can you reorder it so that everything with 'sqlite' in it is at the top? That should be as good as we can currently get here.

@Bobo1239 Master already adds cache: cargo. Can you maybe rebase this PR?

yeah I just noticed it

I think renaming the examples' crate names is fine. The website links to a
specific commit, so it won't matter when people click on the links over
there; and the meaning should be pretty obvious otherwise.
Thanks for sticking with this PR! I'm sorry for changing so much
cargo/Travis related stuff in the meantime :)
Boris-Chengbiao Zhou<EMAIL_ADDRESS>schrieb am Sa. 10. Sep.
2016 um 03:19:

Hm, I'm not sure what the best course of action is.
Adding the example stages to the workspace requires renaming the crates
because a workspace mustn't have crates with identical names. Then we would
also have to rename the extern crates in the binaries.
Otherwise we could set a separate workspace for each example stage (by
creating an empty [workspace] section in each Cargo.toml) but recompile
diesel each time and possibly confuse newcomers.
Any other suggestions?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/diesel-rs/diesel/pull/413#issuecomment-246078740, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AABOX8Ma5AhF76U60sVOiWKP8XV1S1gWks5qogWygaJpZM4JoW_4
.

Examples testing works now but compiletest fails because there are multiple matching crates for 'diesel_codegen' in the target/debug/deps/ directory. Any ideas how to fix this?
(I tried creating a workspace just for the compiletests but cargo complains about diesel_codegen being in another workspace then)

Interesting. Full error:

error: 2 unexpected errors found, 1 expected errors not found
status: exit code: 101
command: rustc tests/compile-fail/codegen_does_not_add_save_changes_method_on_structs_without_primary_key.rs -L /tmp --target=x86_64-unknown-linux-gnu --error-format json -Z unstable-options -L /tmp/codegen_does_not_add_save_changes_method_on_structs_without_primary_key.stage-id.compile-fail.libaux -C prefer-dynamic -o /tmp/codegen_does_not_add_save_changes_method_on_structs_without_primary_key.stage-id -L ../target/debug/deps/
actual errors (from JSON output): [
Error {
line_num: 2,
kind: Some(
Error
),
msg: "2:11: 2:25: multiple matching crates for diesel_codegen [E0464]"
},
Error {
line_num: 2,
kind: Some(
Note
),
msg: "2:11: 2:25: candidates:"
},
Error {
line_num: 2,
kind: Some(
Note
),
msg: "2:11: 2:25: path: /home/travis/build/diesel-rs/diesel/target/debug/deps/libdiesel_codegen.so"
},
Error {
line_num: 2,
kind: Some(
Note
),
msg: "2:11: 2:25: crate name: diesel_codegen"
},
Error {
line_num: 2,
kind: Some(
Note
),
msg: "2:11: 2:25: path: /home/travis/build/diesel-rs/diesel/target/debug/deps/libdiesel_codegen-fd5341f1d057230b.so"
},
Error {
line_num: 2,
kind: Some(
Note
),
msg: "2:11: 2:25: crate name: diesel_codegen"
},
Error {
line_num: 2,
kind: Some(
Error
),
msg: "2:11: 2:25: can't find crate for diesel_codegen [E0463]"
}
]

I'm not exactly sure what happens here. It seems that diesel_codegen gets compiled a few times (as there are two artifacts available at this point), and compiletest uses prefer-dynamic in combination with the general deps directory for any libraries.
A few lines above this in the logs, you can see the call

Running rustc tests/compile_tests.rs --crate-name compile_tests -g --test -C metadata=6da6d16cb7f217d4 -C extra-filename=-6da6d16cb7f217d4 --out-dir /home/travis/build/diesel-rs/diesel/target/debug --emit=dep-info,link -L dependency=/home/travis/build/diesel-rs/diesel/target/debug/deps --extern diesel_codegen=/home/travis/build/diesel-rs/diesel/target/debug/deps/libdiesel_codegen.so --extern compiletest_rs=/home/travis/build/diesel-rs/diesel/target/debug/deps/libcompiletest_rs-49b8be839ef33737.rlib --extern diesel=/home/travis/build/diesel-rs/diesel/target/debug/deps/libdiesel.rlib -L native=/usr/lib/x86_64-linux-gnu -L native=/usr/lib/x86_64-linux-gnu

which contains a lot more specific dependencies.
I don't know how to fix this in a nice way. Work arounds might be: Moving the example compile step to be last/moving compile test further up, or manually removing dynamic libs like codegen/codegen_syntex before compiletest.

This sounds like it's worth opening a bug with compiletest over?

Or just removing compiletest from the workspace

@sgrif Removing doesn't work because of
error: current package believes it's in a workspace when it's not:
current:   /home/bobo1239/development/Rust/diesel/diesel_compile_tests/Cargo.toml
workspace: /home/bobo1239/development/Rust/diesel/Cargo.toml

or rather
error: package `/home/bobo1239/development/Rust/diesel/diesel/Cargo.toml` is a member of the wrong workspace
expected: /home/bobo1239/development/Rust/diesel/diesel_compile_tests/Cargo.toml
actual:   /home/bobo1239/development/Rust/diesel/Cargo.toml

after a separate workspace is introduced for the compiletests.
I'll try to somehow find out which files are present in target/debug/deps and then think of an appropriate course of action.

@killercup Any idea why the version with env doesn't work?

@Bobo1239 I don't think this does anything on stable: TRAVIS_RUST_VERSION=$TRAVIS_RUST_VERSION./test_stable does not execute anything unless you add a space between $TRAVIS_RUST_VERSION and ./test_stable. The travis log here for stable with postgres doesn't seem to show anything related to compiling the examples.

@killercup That makes sense though Rust 1.12 is out so we don't need the conditional anymore anyways.
I just saw the Macro 1.1 PR and will probably postpone updating this until it landed.

Hitting the multiple matching crates for diesel problem again... I excluded the compile tests from the workspace as I don't know any way to fix this other than manually deleting the lib files which is imo too hacky.

It looks like cargo has improved its caching without workspaces, so there's not as much specific benefit from doing this anymore.

@killercup asked me to take a second look at this.
Super unscientific single run of rm -rf **/target && time bin/test:
With PR:
5:31
Without PR:
6:43
Seems good! I will fix the test failures manually

Merged in 9cb56fec2fd7fbf644798b2cc6423b92cb5603a7


Properties of child classes not (de)serialized

The documentation should state that since around v1.2.0+, properties of child classes do not work anymore unless the @JsonObject("ClassName") is provided. Right now this seems rather optional.

Right now this seems rather optional.

If you don't know whether it's optional or not, then no one does ;-)

It is due to the changes in the inheritance handling that were made in https://github.com/AppVision-GmbH/json2typescript/pull/121
So we basically missed a breaking change in the update v1.2.5: The class decorator parameter 1 must not be empty for child classes.

It is due to the changes in the inheritance handling that were made in #121
So we basically missed a breaking change in the update v1.2.5: The class decorator parameter 1 must not be empty for child classes.

Ok, I get it. So then documenting it would be good.

Yes, and I will also force the use of a parameter whenever the @JsonObject decorator function is called. Then developers cannot miss bad implementations.


fpga: update demo

Updated FPGA demo screencasts:

used latest kustomize setup
got rid of cloning github repository
renamed test-fpga-region.yaml -> demo/test-fpga-orchestrated.yaml
updated readme

Codecov Report

Merging #416 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #416   +/-   ##
=======================================
  Coverage   58.89%   58.89%
=======================================
  Files          26       26
  Lines        2428     2428
=======================================
  Hits         1430     1430
  Misses        940      940
  Partials       58       58

Continue to review full report at Codecov.

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


Fix learning_feedback_examply.py

In the older version the feedback was always required, it didn´t matter you replied "yes" or "no", with this version this is fixed and only if you say it´s not a coherent response when you are asked to provide another response.

At a glance, this change looks good to me. But I noticed that at least one test is failing. I can't merge this is until the tests are all passing.

Hi,
Why one of the test failed? Do I need to do something to pass that test?
Thanks and regards,

Looks like its just a linting error:
./examples/learning_feedback_example.py:48:27:
E712 comparison to False should be 'if cond is False:' or 'if not cond:'


MYSQL 8 Migrating text to alternative text type does not change column

Laravel Version: 10.3.3
PHP Version: 8.2.3
Database Driver & Version: MYSQL 8.0.32
doctrine/dbal Version: 3.6.1

Description:
The column type change will not be made during a text column's migration to medium or long text. Keeping the column as a text type.
Stepping through the process, Illuminate\Database\Schema\Grammars\ChangeColumn class line 44 $tableDiff->isEmpty() returns true.
Not sure what other columns this affects. This bug occurred during my migration process to Laravel 9 to 10.
Steps To Reproduce:

Set MySQL config in database.php as follows (based on MySQL8 docker image):

        'mysql' => [
            'driver' => 'mysql',
            'url' => null,
            'host' => 'mysql',
            'port' => '3306',
            'database' => 'test',
            'username' => 'root',
            'password' => 'root',
            'unix_socket' => '',
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'prefix_indexes' => true,
            'strict' => true,
            'engine' => null,
            'options' => extension_loaded('pdo_mysql') ? [
                PDO::MYSQL_ATTR_SSL_CA => null,
                PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => 0,
            ] : [],
        ],

Create a migration that creates a table with three text columns.
Create another migration changing these columns:

   public function up(): void
   {
       Schema::table('tableName', static function (Blueprint $table) {
           $table->mediumText('col1')->change();
           $table->longText('col2')->change();
           $table->mediumText('col3')->change();
       });
   }

Run migrations.
Columns are still text type.

Here's a repo that reproduces the error: https://github.com/liamh101/laravel-column-bug

See https://github.com/laravel/framework/pull/45487

Thanks for the response. I'll remove dbal from our codebase and check if it doesn't affect anything else.
However, I think this problem should be fixed. On closer inspection, what I believe is happening is the current type and new type is checked using an enum in the dbal library. However, any text column generates the same enum. Meaning the migration thinks nothing has changed.
If there's no movement by the end of today I'll spend some time and get a fix for this over the weekend.

@hafezdivandari what are your thoughts here?

@hafezdivandari @driesvints spoke too soon.
It does fix the text type bug. However, it has introduced another bug in which a nullable column was not set or reverted. I need to investigate exactly what's happening. Would you like me to append this issue or create a new one?

@liamh101 Would you please check the L10 documentation on modifying column (it's different than L9), or check the related PR #45487 for more details on the topic.

@liamh101 no problem. Unfortunately this bug on doctrine/dbal is not easy to fix (maybe not possible) on Laravel side. Maybe you want to report this issue on their repo instead?

I've also recently run into this problem with a composer update I've done in a multitenant project, all the tests and seeders broke because the column can't be changed anymore, in my case I was trying to change from an enum to a string, but it failed. it was left as enum, that was what broke it until i saw the PR with native support and tied the threads.
Doing what @hafezdivandari suggests
Schema::useNativeSchemaOperationsIfPossible()

// migrations here

Schema::useNativeSchemaOperationsIfPossible(false);

Solve the problem. thanks for that


Fix ordering of "const unsafe fn"

Fixes #850

Could you add a test for this?

Done

Thanks for the PR! r+, but it needs a rebase before we can merge it.

Done


Double spent and no payment

You made a double spend on your wallet
https://iotasear.ch/address/WDJPOXW9BL99EFXKYMDGQDJWKEVXQTZWVBJMPIFYKNAVFDFTEVXVV9HNLJKGIVVDPVSRQFRPDWTIKJHGA
and that is not allowing you to pay miner on this transaction:
https://iotasear.ch/bundle/OJXADYXZNDO9CYGZDJ9ZKXYFKUWSFUDCLJAXE9KVBTVPCCOQITVGANIIHVFLRIOSZFAAUDPVJ9HGGORB9

Sorry i dont get your point. If some transaction isnt confirmed I skipp it manualy after day. But this isnt double spend, because until transacion isnt confirmed user have all unpaid balance on his account. So he can make new request again.
 The latest one, cleared all the balance, so you cannot confirm the miners payment.

Maybe is good idea use better explorer:
https://thetangle.org/address/WDJPOXW9BL99EFXKYMDGQDJWKEVXQTZWVBJMPIFYKNAVFDFTEVXVV9HNLJKGIVVDPVSRQFRPDWTIKJHGA
Here you can see transaction was confirmed. So where is problem?

And btw this address WDJPOXW9BL99EFXKYMDGQDJWKEVXQTZWVBJMPIFYKNAVFDFTEVXVV9HNLJKGIVVDPVSRQFRPDWTIKJHGAVKWPMJMDD
isnt miners address but mine from seed.

thetangle.org shows exactly the same:
December 9, 2017 19:41:10 > received (confirmed) 7.72Mi
December 9, 2017 23:09:47 > spend (confirmed) 7.72 Mi
December 9, 2017 20:08:52 > it has a long-time pending transaction spent of 7.72 Mi.
The two spend are not the same (different destinations)


6.0 Feedback:  Robot is not homing after canceling our of 'Detach pipette'

Overview
After canceling a detach pipette command the robot lifts the pipettes but does not home the robot
Current Behavior
Robot does not home
Expected Behavior
Robot homes
Steps To Reproduce

Click on robot
Under robot click pipette
Click detach
Click exit after pipette comes to fron

t

Operating system
Mac
Robot setup or anything else?
No response

Issue is also seen when successfully detaching pipette as well. Robot does not home.

To Do: Check if it is a regression

This is in 5.0.2, let's consider this in the new redesigned flows for a next release


Drag multiple items simultaneously

In a virtualized list, how can we go about allowing the user to select multiple items at once, and moving this group of items around ?
This should work for non-contiguous selections, whereby the selection is clumped into a single block, then that block is moved around.
I love this component by the way - thank you very much 💃

duplicate of #50


what is difference between Account and PrivAccount?

Burrow has a development RPC burrow.genPrivAccount which creates PrivAccount. but I couldn't find the RPC which creates Account.
what is difference Account and PrivAccount? and we can create new Accounts (not PrivAccount) by Burrow RPC?

I believe all accounts are PrivAccount.  Even new ones.

In the EVM creating an account is equivalent to giving it a non-zero balance. So in order to 'create' an account send to it with a funded account. You can also use a PermissionTx to change from the non-default permissions.
PrivAccount generation a private key server side and should probably be considered deprecated.


Easy access to nested resource local name

As of now, there does not seem to be a way to access a nested scoped name easily.
E.g. if I have resource 'foo' with name 'example1' that has nested resource 'bar' with name 'example2', bar.name evaluates to example1/example2. There is no property on bar that returns just 'example2'.

This will be resolved in our next release (hopefully today or tomorrow), which has #1516 and #1800 checked-in. Then you can do either:
nested style:
resource foo '...' = {
  name: 'example1'

  resource bar '...' = {
    name: 'example2'
  }
}

var childName = foo::bar.name // childName = example2

parent style:
resource foo '...' = {
  name: 'example1'
}

resource bar '...' = {
  parent: foo
  name: 'example2'
}

var childName = bar.name // childName = example2

Ah, saw those but didn't realize this would change the name property like that. I'll close this.


ASP.NET CORE MVC - HOT-RELOAD in launch.json acts buggy

Type: Bug
Folders and files:
~/.vscode/launch.json
~/ProjectFolder/Properties/launchSettings.json
WHEN setting a configuration in launch.json for running a watch-command (with hot-reload), "AND" setting the parameter "launchSettingsProfile": "xxxxx"
THEN the desired launchProfile is only selected when there is a "comment" "somewhere" in the properties/launchSettings.json-file.

WHEN there is no "comment" somewhere in the properties/launchSettings.json-file...
THEN the desired launchProfile set in the launch.json is NOT selected.

It seems that,
IF the system can parse the properties/launchSettings.json-file properly,
THEN is doesn't take the launch.json specific configuration into account.
WHEN the system CAN'T properly parse the properties/launchSettings.json-file,
THEN it "does" take the launch.json specific configuration into account.

What is going on here?
What am I doing wrong?
How can I properly create a hot-reload action WITH selecting a specific launchprofile configuration?

I could just set a specific launchProfile in the properties/launchSettings,
and then set it as the first profile.
And call this with a vscode-task.
But then I don't use the lanch.json specific configuration functionality.
What is best practice here?
Or is this behaviour a bug?

When there is a comment somewhere in the launchSettings.json,
Then is acts as expected.
When I there is NO comment in the launchSettings.json,
Then is acts NOT as expected.
C:\Users\Bernd\Documents\VSCProjecten\ASP.NET Core MVC\YouTube - DotNetMastery\BulkyProject.vscode\settings.json
C:\Users\Bernd\Documents\VSCProjecten\ASP.NET Core MVC\YouTube - DotNetMastery\BulkyProject\BulkyWeb\Properties\launchSettings.json

Here are the two *json files.
When there is a comment somewhere in the launchSettings.json,
Then is acts as expected.
When I there is NO comment in the launchSettings.json,
Then is acts NOT as expected.
launch.json.txt
launchSettings.json.txt

Please file this on the repo for the C# extension, thanks


[BUG] Events page pagination is set to 1

Describe the bug
Events page pagination is set to 1. Must be 10.

fixed and working


ci: allow notification of upstream changes

🔗 Linked issue

❓ Type of change

[ ] 📖 Documentation (updates to the documentation or readme)
[ ] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)
[x]  🧹 Chore (updates to the build process or auxiliary tools and libraries)

📚 Description
The composables in nuxt/bridge are ported from nuxt 3.
So, if there are changes in nuxt 3, we need to follow the changes.
This PR notifies this repository of any modifications on the nuxt 3 side to reduce porting leaks.
Examples of Notification:
https://github.com/wattanx/repository-dispatch-target/issues/4
The notifier prepares the following workflow:
https://github.com/wattanx/repository-dispatch-owner/blob/main/.github/workflows/dispatch-update-file.yml

📝 Checklist

[ ] I have linked an issue or discussion.
[ ] I have updated the documentation accordingly.

@danielroe
The minimum required information can be output!
Could you review whether the approach seems fine and if there's any additional information needed?


create-cluster/destroy-cluster implement Config RFC

Description
As part of the work to implement the RFC for our revamped config handling (https://github.com/arkime/aws-aio/issues/80, https://github.com/arkime/aws-aio/issues/81), this task is the work to update create-cluster and destroy-cluster per the RFC.  The steps should look something like:
* Create S3 bucket on `create-cluster`; destroy S3 bucket on `destroy-cluster`
* Create user config directory from master on `create-cluster`
* Code to tarball config/upload to s3/update param store; tag S3 and Param Store with `aws-aio` version(s)
* Update `create-cluster` to perform tarball upload if no existing config
* Update container config/logic to use tarball
* README update

Acceptance Criteria

create-cluster sticks user config in s3 and container pulls it down and installs/runs it
create-cluster does not update config if already deployed
The aws-aio version(s) are tracked
destroy-cluster removes the s3 bucket without needing to use the --destroy-everything flag
README updated to explain how to make config changes

Acceptance criteria met; resolving


Give Vars an aval.

For now, TypedJaxpr checks that the avals match the expected. I will remove the avals from TypedJaxpr in a follow-up (or possibly remove the class entirely, if literals are no longer needed).
It was necessary to move most of abstract_arrays into core to avoid circular dependency. I will remove abstract_arrays entirely in a follow-up.

This LGTM. @mattjj please see if you want to add something.

Just for posterity, @dougalm also effectively LGTM'd this in a conversation with me and @hawkinsp (though I guess didn't post that information here!), but we decided to wait on submitting just because it was Friday afternoon and it'd be tricky to fix things over the weekend. Glad you also LGTM'd and merged it, since now is a good time!


feat: node consistency

Frontend and backend.  Drop Alpine, use Node Debian Slim for builds and either Caddy or Debian Distroless for deploys.

Thanks for the PR!
Deployments, as required, will be available below:

Frontend
Backend
Backend-java
Backend-py
Backend-go

Please create PRs in draft mode.  Mark as ready to enable:

Analysis Workflow
Tests Workflow

After merge, new images are promoted to:

Main Merge Workflow

An on missing image bug has reocurred.  This PR is being merged despite those issues while troubleshooting.  I suspect the new package cleanup action is involved.


Smartreward corruption, too long to rebuild -- sugestion of solution

Smartrewards is a unique feature from Smartcash, and shall be treated in with the very same importance of the wallet.dat of bitcoin.
Thus, I would like to suggest the creation of a checkpoint.
Every n blocks, the daemon will create a copy of the smartrewards database.
If an expected and improper shutdown happen (ie. the usage suggestion includes a dedicated and non trustworthy VPS) the systemd may restart and the daemon can resume the smartrewards from the checkpoint, instead starting from ground zero

Thanks for the suggestion. We are already working on a solution for this. There is a branch called "smartreward-improvements" which brings some changes to the creation of the SmartReward database to avoid the recreation after a crash and also give the whole SmartReward processing better performance.


PSDEVOPS-3468: Add minimal rhel modules support

This PR enables ingestion of rhel modules ... for now we only create the root component node and associated RHEL_MODULE component.
Future stories will need to provide more detail and how we might populate component tree underneath RHEL_MODULE (for now its provided in meta data).
Note - this is not for current UAT

LGTM


HFP re-connected failed

Hi @Arkq ,
It 's me again! I posted an issue here (click) and then wondered it was caused by too many debug log.
There is another similar problem when I was using the HFP profile. It was always success when I connected to the test board for the first time. Then if I disconnected and re-connected, it failed.  Here is the log:
connect for the first time, success:
/usr/bin/bluealsa: bluez.c:857: Profile method call: org.bluez.Profile1.NewConnection()
/usr/bin/bluealsa: transport.c:691: State transition: 0 -> 2
/usr/bin/bluealsa: transport.c:104: Created new IO thread: HFP Hands-Free
/usr/bin/bluealsa: ctl.c:645: Emitting notification: 0x1 => 11
bluealsa-aplay: aplay.c:642: Fetching available transports
/usr/bin/bluealsa: ctl.c:651: +-+-
/usr/bin/bluealsa: ctl.c:651: +-+-
/usr/bin/bluealsa: bluez.c:797: HFP Hands-Free configured for device 0C:D7:46:35:96:87
/usr/bin/bluealsa: transport.c:691: State transition: 0 -> 2
/usr/bin/bluealsa: transport.c:104: Created new IO thread: HFP Hands-Free
/usr/bin/bluealsa: rfcomm.c:573: Starting RFCOMM loop: HFP Hands-Free
/usr/bin/bluealsa: rfcomm.c:96: Sending AT message: SET: command:+BRSF, value:244
/usr/bin/bluealsa: io.c:1202: Starting IO loop: HFP Hands-Free
bluetoothd[1456]: Can't open input device: No such file or directory (2)
bluetoothd[1456]: AVRCP: failed to init uinput for 0C:D7:46:35:96:87
/usr/bin/bluealsa: at.c:160: AT message: RESP: command:+BRSF, value:2031
/usr/bin/bluealsa: rfcomm.c:114: HFP state transition: 0 -> 1
/usr/bin/bluealsa: at.c:160: AT message: RESP: command:, value:OK
/usr/bin/bluealsa: rfcomm.c:114: HFP state transition: 1 -> 2
/usr/bin/bluealsa: rfcomm.c:96: Sending AT message: SET: command:+BAC, value:1
/usr/bin/bluealsa: at.c:160: AT message: RESP: command:, value:OK
/usr/bin/bluealsa: rfcomm.c:114: HFP state transition: 2 -> 3
/usr/bin/bluealsa: rfcomm.c:96: Sending AT message: TEST: command:+CIND, value:(null)
/usr/bin/bluealsa: at.c:160: AT message: RESP: command:+CIND, value: ("service",(0-1)),("call",(0-1)),("callsetup",(0-3)),("battchg",(0-5)),("signal",(0-5)),("roam",(0-1)),("callheld",(0-2))
/usr/bin/bluealsa: rfcomm.c:114: HFP state transition: 3 -> 4
/usr/bin/bluealsa: at.c:160: AT message: RESP: command:, value:OK
/usr/bin/bluealsa: rfcomm.c:114: HFP state transition: 4 -> 5
/usr/bin/bluealsa: rfcomm.c:96: Sending AT message: GET: command:+CIND, value:(null)
/usr/bin/bluealsa: at.c:160: AT message: RESP: command:+CIND, value: 1,0,0,3,3,0,0
/usr/bin/bluealsa: ctl.c:651: +-+-
/usr/bin/bluealsa: rfcomm.c:114: HFP state transition: 5 -> 6
/usr/bin/bluealsa: at.c:160: AT message: RESP: command:, value:OK
/usr/bin/bluealsa: rfcomm.c:114: HFP state transition: 6 -> 7
/usr/bin/bluealsa: rfcomm.c:96: Sending AT message: SET: command:+CMER, value:3,0,0,1,0
/usr/bin/bluealsa: at.c:160: AT message: RESP: command:, value:OK
/usr/bin/bluealsa: rfcomm.c:114: HFP state transition: 7 -> 8
/usr/bin/bluealsa: rfcomm.c:114: HFP state transition: 8 -> 9

disconnect:
/usr/bin/bluealsa: rfcomm.c:801: RFCOMM disconnected: Connection reset by peer
/usr/bin/bluealsa: transport.c:914: Closing RFCOMM: 13
/usr/bin/bluealsa: transport.c:350: Freeing transport: HFP Hands-Free (N/A)
bluetoothd[1456]: Unable to get io data for Hands-Free unit: getpeername: Socket not connected (107)

re-connect fails:
/usr/bin/bluealsa: bluez.c:857: Profile method call: org.bluez.Profile1.NewConnection()
/usr/bin/bluealsa: transport.c:350: Freeing transport: HFP Hands-Free (SBC)
/usr/bin/bluealsa: transport.c:1014: Exiting IO thread

bluetoothd[1456]: Hands-Free unit replied with an error: org.freedesktop.DBus.Error.NoReply, Did not receive a reply. Possible causes include:
the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

But if I removed the '--enable-debug' configure-args, the bug disappeared again. I don't know if you had  experienced that problem either. If I was making something wrong, please tell me, thank you!

Hi @Arkq ,
Current master works! Thank you!
By the way, did the following commit fix that problem? (My master is now on 11 Aug.)
Fix thread cancel & join coupling

Thread cancellation cleanup routine modifies self thread ID, so one
can not use referenced t->thread value for both cancel & join calls.

Fixes #136
 master  v1.3.1
@Arkq
Arkq committed on 14 Aug
1 parent 302800c commit 4078f145a6d09228fc55b9509715865d778fb062

I think, that your problem was caused by calling thread join on itself which causes deadlock. On my machine, this has resulted in pthread_join() returning error. However, in your logs there is no line which might indicate such a workaround (that's why I asked for libc version). So I think that the commit which solved your issue is 51a68eb (the very last one in the master). If you have been using code before 4078f14, this might also caused such a malfunction, so in order to be sure which commit resolved this issue you will have to use git bisect :D
Since this issue is resolved, I'm closing it :)


Forward data from logger to dockerized Node Red

Hi,
My Node Red is running as docker on my Synology NAS. Only single TCP port 1880 is exposed.
Can I get an advise how to forward port 10000 to  NR ?
BR
Mikolaj

simply add port 10000:10000 TCP to your docker container and make sure it is not blocked by firewall
this is my docker compose for example
services:
  nodered:
    container_name: nodered
    image: nodered/node-red:latest-18
    restart: unless-stopped
    ports:
      - "1880:1880"
      - "10000:10000"
    volumes:
      - ./data:/data
    environment:
      - TZ=Europe/Warsaw

Dziękuję 😊
From: serek4 @.>
Sent: Sunday, October 09, 2022 11:11 AM
To: serek4/node-red-sofar-inverter @.>
Cc: ilexpl01 @.>; Author @.>
Subject: Re: [serek4/node-red-sofar-inverter] Forward data from logger to dockerized Node Red (Issue #8)
simply add port 10000:10000 TCP to your docker container and make sure it is not blocked by firewall
this is my docker compose for example
services:
nodered:
container_name: nodered
image: nodered/node-red:latest-18
restart: unless-stopped
ports:
- "1880:1880"
- "10000:10000"
volumes:
- ./data:/data
environment:
- TZ=Europe/Warsaw
—
Reply to this email directly, view it on GitHub https://github.com/serek4/node-red-sofar-inverter/issues/8#issuecomment-1272495613 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AQGIVMIENYXL4L3FFJKPCULWCKD35ANCNFSM6AAAAAARALOVCQ .
You are receiving this because you authored the thread.  data:image/gif;base64, R0lGODlhAQABAJEAAP///wAAAAAAAAAAACH5BAkAAAAALAAAAAABAAEAAAgEAAEEBAA7 Message ID: @.*** @.***> >
[ { @.": "http://schema.org", @.": "EmailMessage", "potentialAction": { @.": "ViewAction", "target": "https://github.com/serek4/node-red-sofar-inverter/issues/8#issuecomment-1272495613", "url": "https://github.com/serek4/node-red-sofar-inverter/issues/8#issuecomment-1272495613", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { @.": "Organization", "name": "GitHub", "url": "https://github.com" } } ]


How is this different to the Official Fronius Integration??

https://github.com/drc38/Fronius_solarweb


Method name typo: "descrpitive"

A tiny detail.
uralicApi.lemmatize, uralicApi.analyze etc. seem to have the descrpitive field instead of descriptive. I guess it is a typo.
By the way is there any documentation of lemmatization behavior when descrpitive is True vs False? How about speed benchmarks?

Thanks for this, I will change this in the future releases... And no, there is no documentation, basically the difference is that the transducers are compiled with different flags and what the transducers end up producing depends very much on the decisions of the authors of each language. You can try asking the maintainers of the languages you are interested in by opening an issue in one of the repositories: https://github.com/giellalt/ lang-ISOCODE.

Thanks for the swift reply!


Query with retry in SAP Cloud SDK resilience

Hi,
I have a nestjs project which fetches business partners from s4hana cloud which is working fine.
Now I wanted to implement a retry pattern to the existing code.
So, I added the below code
const response =  await businessPartnerApi.requestBuilder().getAll()
        .select(
              businessPartnerApi.schema.BUSINESS_PARTNER,
              businessPartnerApi.schema.FIRST_NAME,
              businessPartnerApi.schema.LAST_NAME
        ).top(5)
        .middleware(retry(4))
        .execute({
            url: '<url>'
         })
         .catch(error => {
                throw new HttpException(`Failed to get business partners - ${error.message}`, 500);
          });

I could see, in this case I am getting a timeout error after sometime.
If I replace retry with timeout, I am able to see the desired response. But with retry I am not.
Can someone explain how this works and is there any code modifications required from my side?
Regards,
Shankari G R

Hi Shankari, we've documented the order in which the resilience middelwares are executed here.
Also, the retry increases the time between retries continuously, the 4th retry will already take around 8 seconds, which clashes with the default of the underlying HTTP client's timeout, which is 10 seconds.
Therefore, if you want to have 4 retries, you need to increase the timeout as well, I suggest you use our default resilience package for that.

If this did not resolve your issue, feel free to re-open it.


feat: simplify tests

remove recently added tests (#158) and merged it in the existing suite

all tests
=========================================================================================================== warnings summary ===========================================================================================================
test/test_torchdynamo.py: 20 warnings
  /home/geantvert/.local/share/virtualenvs/kernl/lib/python3.9/site-packages/torch/jit/_check.py:181: UserWarning: The TorchScript type system doesn't support instance-level annotations on empty non-base types in `__init__`. Instead, either 1) use a type annotation in the class body, or 2) wrap the type in `torch.jit.Attribute`.
    warnings.warn("The TorchScript type system doesn't support "

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
===================================================================================== 2486 passed, 368 skipped, 20 warnings in 6416.95s (1:46:56) ======================================================================================


WARNING batched routines are designed for small sizes. It might be better to use the Native/Hybrid classical routines if you want good performance.

When I train this network with a different dataset, the following error occurs：
WARNING batched routines are designed for small sizes. It might be better to use the
Native/Hybrid classical routines if you want good performance.
===============================================================================
do you know how to deal with it

I didn't meet this problem before.
I guess the reason is that the resolution of input image is too large.
Could you please try to down-sample the  input image before feeding into the network?

ok,i will try it thanks you so much


docs: :memo: adds VSCode instructions for official ESlint > v9.9.0 (#268)

ESlint > v9.9.0 includes experimental support for Typescript configuration files using the flag unstable_ts_config.
This adds  documentation for adding the flag to  VSCode.

Hey @sangrepura, thanks a lot for the PR!
So, there are a few things missing:

mention this change accordingly in the docs page
remove eslint-ts-patch entirely, especially from https://github.com/AndreaPontrandolfo/sheriff/tree/master/packages/sheriff-create-config
update the manual setup docs accordingly
add the changesets


lang prop for input element

Feature Request
As of now, <Input lang="fr"/> will add lang="fr" on the wrapping div element instead of the input element itself. It would be great if we could set the lang prop to input elements for localization purposes.
Proposed solution
I can implement the additional property and submit a PR if someone from the team can point me in the right direction. Will it work if I just add the lang prop in this file: https://github.com/Semantic-Org/Semantic-UI-React/blob/master/src/elements/Input/Input.d.ts ?

We have special htmlPropsUtils for these case. We just need to add a new value there.
Feel free to open PR 👍


Does not torify key fetches with GnuPG 2.1+

Recent modern GnuPG delegates to dirmngr all keyserver operations. Torifying gpg has no effect on how dirmngr reaches keyservers at all. I realize this is being discussed on #15, but if I'm guessing right, this problem entirely prevents parcimonie.sh (sic) from doing its job as designed on recent distros, so it doesn't seem good enough to me to not have this documented anywhere else than on a ticket titled "IPC syntax error with gnupg 2.1.4".
I suggest requesting a CVE for this problem, and documenting this in README.md so that new potential users are aware of this limitation.

As per mentioned on that bug, when dirmngr is spawned by a torified gpg, dirmngr inherits the torifiedness, which does make it use Tor for it and subsequent requests, hence the lower severity. You are correct that it does not have the one-unique-circuit-per-refresh property when that happens, though. I will document this on README.md.

Done in 0bd6ef34f108ed90c62da7517513f3f00c012595.

As per mentioned on that bug, when dirmngr is spawned by a torified gpg, dirmngr inherits the torifiedness,

Cool, thanks for clarifying! I'll check how parcimonie.sh ensures that it uses a newly spawned dirmngr, instead of a pre-existing one. Looks like I may have something to learn in this area :)

It doesn't currently ensure that it's using a new dirmngr. This does mean bypassing Tor if the user manually runs gpg --recv-keys prior to parcimonie.sh doing its first key refresh, which I also documented on commit 0bd6ef34f108ed90c62da7517513f3f00c012595.
I have a proposed solution for ensuring that it uses a new guaranteed-to-be-torified one at https://github.com/EtiennePerot/parcimonie.sh/issues/15#issuecomment-266246661 but I haven't implemented it yet.


Emit using declarations when printing

@keyboardDrummer : Is this PR still relevant?

@keyboardDrummer : Is this PR still relevant?

I made it to share some code with someone, so I think it can be closed without harming it's intended benefit :-)


Is it possible to have a ngSubmit equivalent on a ngForm, having the same behaviour as with a regular form ?

Hi there,
I wonder if there's way to have the same behaviour of a  ng-submit = "someFunction()" on a regular < form >  but with a ngForm ? Which is having a button submitting a form (calling someFunction) ONLY if  the form is valid??
It works great with a regular form tag with a ng-submit directive, but this doesn't seem to be the case with a ngForm.. The docs dont seem to exclude this use case apparently :
https://docs.angularjs.org/api/ng/directive/form
see section "Submitting a form and preventing the default action"
Am I wrong ? Thanks a lot

I don't see any reason why it wouldn't work if you put the ng-sumbit directive in a ng-form tag?
...

Did you try putting the ng-submit directive on the ngForm tag?


Add explicit Promise closure return type

To avoid "Unable to infer complex closure return type; add explicit type to disambiguate" error (#84), an explicit Promise closure return type has been added wherever needed.

Thank you for the PR! Left a couple of comments for the then code snippets.

Closing as it doesn't appear these changes are needed since the compiler can infer the closure type.


Improvement of restore

Generally, after update bitnami redmine, user must prompt with 'Bitnami Redmine Stack Environment CUI'.
But it is difficult and unfriendly.
So app support to simplify this process if can, it is very happy.
But there are some problems

Can I execute restore/migration commands from RedArmory?
rake commands are different bitween Redmine 2.X and 3.X.
RedArmory should restore gem?

NOTE
'Use Bitnami Redmine Stack' shortcut Call C:\BitNami\redmine-3.2.2-0\use_redmine.bat.
It means that I can use it and hack it to execute rake command and more from RedArmory?


[DRAFT] test jdk 21

Codecov Report

Merging #11180 (0cc6d1f) into master (e488a7c) will decrease coverage by 0.01%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master   #11180      +/-   ##
============================================
- Coverage     47.56%   47.55%   -0.01%
+ Complexity    23636    23629       -7
============================================
  Files          2788     2788
  Lines        170388   170388
  Branches      20302    20302
============================================
- Hits          81045    81032      -13
- Misses        89343    89356      +13

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


Somewhat load an invalid size document

Would it make sense to add an option in usvg to make the absence of size attributes in an SVG document non-fatal?
In my use case the dimensions are absent (the document is generated by another software) but in any case they are not informative, it would be the bounding box of all the expanded paths.
I have a local branch adding a --ignore-invalid-size option if interested in adding that support.

I guess this is part of #40
It's not trivial to implement and therefore it's not implemented yet/

I understand that producing an invalid SVG may be an unwanted feature. But the parsing and simplification of ʻusvg` can be enormous value even with the missing dimension.
In particular, finding the bounding box can be CPU-intensive (or pervasive in code), so I was wondering if a shortcut that may make sense or not. Perhaps an option accessible only if using ʻusvg` as a library?
I am also happy with my local 10-line patch, but since it was useful to me I thought about proposing the change.

I think you should wait for automatic bbox detection feature, which will also allow setting custom dimensions.


toText() error

Describe the bug
When I try to use RruleL10nEn.create(), I get this error:
E/flutter ( 3416): [ERROR:flutter/lib/ui/ui_dart_state.cc(166)] Unhandled Exception: NoSuchMethodError: The method 'getJson' was called on null.
E/flutter ( 3416): Receiver: null
E/flutter ( 3416): Tried calling: getJson("cultures", "cultures.json")

Environment:

^0.1.1

Ah yes - didn't see that. cheers


python311Packages.pymongo: 4.6.2 -> 4.6.3

Description of changes
https://nvd.nist.gov/vuln/detail/CVE-2024-21506
Also added some reverse dependencies to passthru.tests because this package doesn't have tests enabled.
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

Beaten to it


Allow standby pipelines to be stopped (like #4860 for 1.10.x)

Accidentally created this PR in the wrong git branch. Deleting and recreating in the correct branch...


Json object sort

Adding capability to sort the key names of javascript objects when displayed as JSON. This resolves #411.

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

This looks great. Once you've signed the CLA I'll get it merged. Thanks very much.

I have signed the CLA, rebased to make sure a merge is clean and have added test cases for 'JSON Minify' to address #431.

Fantastic, thanks very much!


Spec inaccuracy: Handling panics

 The return value of recover is nil if any of the following conditions holds:
    * panic's argument was nil;
    * the goroutine is not panicking;
    * recover was not called directly by a deferred function.

In fact, the third condition is just a special case of the second one. I don't know this description is ok or not.

The third condition is not a special case of the second condition.  Consider
package main

import "fmt"

func F() {
    fmt.Println(recover())
}

func G() {
    defer F()
    panic(1)
}

func H() {
    defer func() {
	    F()
    }()
    panic(2)
}

func main() {
    G()
    H()
}

Do you want to prove the recover in H will return nil? It return 2 instead.

@golang101, you are mistaken. https://play.golang.org/p/jabvSNqPrZ

ok, get it. Never know this.
But why so?

For questions, see https://golang.org/wiki/Questions

@ianlancetaylor, @spenczar,
I modify the example a little, by also deferring the inner F() calling.
But the recover calling in this F still returns nil.
The 3 conditions described in spec don't cover this condition.
package main

import "fmt"

func F() {
	fmt.Println(recover())
}

func G() {
	defer F()
	panic(1)
}

func H() {
	defer func() {
		defer F() // I modify this line
	}()
	panic(2)
}

func main() {
	fmt.Print("G(): ")
	G()
	fmt.Print("H(): ")
	H()
}

This is expected.  Please take discussion of how panic and recover work to a forum, not the issue tracker.  See https://golang.org/wiki/Questions .  Thanks.


[Core- abort-controller] Readme Headers Missing

As part of readme verification, we would want all headers to have required sections. The package core abort-controller is missing the following sections:
Troubleshooting
Next steps
Refer issue : https://github.com/Azure/azure-sdk-for-js/issues/1583

The packages should have following headers:
Azure .+ client library for JS
^Getting started$
^Key concepts$
^Examples$
^Troubleshooting$
^Next steps$
^Contributing$

Once fixed, remove the exception for this package from https://github.com/Azure/azure-sdk-for-js/blob/master/eng/.docsettings.yml


Added clotributor link to readme

Part of https://github.com/knative/community/issues/1403
Adds a link to the CLOTRIBUTOR page for Knative to the README

/approve
/lgtm


RTMdet-Ins TRT-FP16 is much slower than the document said.

Describe the issue
RTMdet-ins inference fp16 model is slow than the document said. It's only Throughput 104.89 qps in my case, not equal to 1.93ms latency.
Reproduction

What command or script did you run?

$ cd /openmmlab/mmdeploy

# create the tensorrt-fp16 deploy for rtmdet
$ sed  's/tensorrt.py/tensorrt-fp16.py/' \
   configs/mmdet/instance-seg/instance-seg_rtmdet-ins_tensorrt_static-640x640.py  \
   > configs/mmdet/instance-seg/instance-seg_rtmdet-ins_tensorrt_fp16_static-640x640.py

$ python ./tools/deploy.py \
    configs/mmdet/instance-seg/instance-seg_rtmdet-ins_tensorrt_fp16_static-640x640.py \
    /openmmlab/mmdetection/work_dirs/rtmdet-ins_s_8xb32-300e_coco/rtmdet-ins_s_8xb32-300e_coco.py \
    /openmmlab/mmdetection/data/checkpoint/rtmdet-ins_m_8xb32-300e_coco_20221123_001039-6eba602e.pth \
    /openmmlab/mmdetection/demo/demo.jpg \
    --work-dir work_dir \
    --show \
    --device cuda:0

Check the output
$ polygraphy inspect model work_dir/end2end.onnx

[I] Loading model: /openmmlab/mmdeploy/work_dir/end2end.onnx
[I] ==== ONNX Model ====
    Name: torch_jit | Opset: 11

    ---- 1 Graph Input(s) ----
    {input [dtype=float32, shape=(1, 3, 640, 640)]}

    ---- 3 Graph Output(s) ----
    {dets [dtype=float32, shape=('Reshapedets_dim_0', 'Reshapedets_dim_1', 'Reshapedets_dim_2')],
     labels [dtype=int64, shape=('Reshapelabels_dim_0', 'Reshapelabels_dim_1')],
     masks [dtype=float32, shape=('Sigmoidmasks_dim_0', 'Sigmoidmasks_dim_1', 'Sigmoidmasks_dim_2', 'Sigmoidmasks_dim_3')]}

    ---- 268 Initializer(s) ----

    ---- 475 Node(s) ----

Test the speed of RTMDet-Ins-s-tensorrt-fp16
trtexec --loadEngine=work_dir/end2end.engine --plugins=build/lib/libmmdeploy_tensorrt_ops.so

&&&& RUNNING TensorRT.trtexec [TensorRT v8204] # trtexec --loadEngine=work_dir/end2end.engine --plugins=build/lib/libmmdeploy_tensorrt_ops.so
[04/22/2023-07:28:35] [I] === Model Options ===
[04/22/2023-07:28:35] [I] Format: *
[04/22/2023-07:28:35] [I] Model:
[04/22/2023-07:28:35] [I] Output:
[04/22/2023-07:28:35] [I] === Build Options ===
[04/22/2023-07:28:35] [I] Max batch: 1
[04/22/2023-07:28:35] [I] Workspace: 16 MiB
[04/22/2023-07:28:35] [I] minTiming: 1
[04/22/2023-07:28:35] [I] avgTiming: 8
[04/22/2023-07:28:35] [I] Precision: FP32
[04/22/2023-07:28:35] [I] Calibration:
[04/22/2023-07:28:35] [I] Refit: Disabled
[04/22/2023-07:28:35] [I] Sparsity: Disabled
[04/22/2023-07:28:35] [I] Safe mode: Disabled
[04/22/2023-07:28:35] [I] DirectIO mode: Disabled
[04/22/2023-07:28:35] [I] Restricted mode: Disabled
[04/22/2023-07:28:35] [I] Save engine:
[04/22/2023-07:28:35] [I] Load engine: work_dir/end2end.engine
[04/22/2023-07:28:35] [I] Profiling verbosity: 0
[04/22/2023-07:28:35] [I] Tactic sources: Using default tactic sources
[04/22/2023-07:28:35] [I] timingCacheMode: local
[04/22/2023-07:28:35] [I] timingCacheFile:
[04/22/2023-07:28:35] [I] Input(s)s format: fp32:CHW
[04/22/2023-07:28:35] [I] Output(s)s format: fp32:CHW
[04/22/2023-07:28:35] [I] Input build shapes: model
[04/22/2023-07:28:35] [I] Input calibration shapes: model
[04/22/2023-07:28:35] [I] === System Options ===
[04/22/2023-07:28:35] [I] Device: 0
[04/22/2023-07:28:35] [I] DLACore:
[04/22/2023-07:28:35] [I] Plugins: build/lib/libmmdeploy_tensorrt_ops.so
[04/22/2023-07:28:35] [I] === Inference Options ===
[04/22/2023-07:28:35] [I] Batch: 1
[04/22/2023-07:28:35] [I] Input inference shapes: model
[04/22/2023-07:28:35] [I] Iterations: 10
[04/22/2023-07:28:35] [I] Duration: 3s (+ 200ms warm up)
[04/22/2023-07:28:35] [I] Sleep time: 0ms
[04/22/2023-07:28:35] [I] Idle time: 0ms
[04/22/2023-07:28:35] [I] Streams: 1
[04/22/2023-07:28:35] [I] ExposeDMA: Disabled
[04/22/2023-07:28:35] [I] Data transfers: Enabled
[04/22/2023-07:28:35] [I] Spin-wait: Disabled
[04/22/2023-07:28:35] [I] Multithreading: Disabled
[04/22/2023-07:28:35] [I] CUDA Graph: Disabled
[04/22/2023-07:28:35] [I] Separate profiling: Disabled
[04/22/2023-07:28:35] [I] Time Deserialize: Disabled
[04/22/2023-07:28:35] [I] Time Refit: Disabled
[04/22/2023-07:28:35] [I] Skip inference: Disabled
[04/22/2023-07:28:35] [I] Inputs:
[04/22/2023-07:28:35] [I] === Reporting Options ===
[04/22/2023-07:28:35] [I] Verbose: Disabled
[04/22/2023-07:28:35] [I] Averages: 10 inferences
[04/22/2023-07:28:35] [I] Percentile: 99
[04/22/2023-07:28:35] [I] Dump refittable layers:Disabled
[04/22/2023-07:28:35] [I] Dump output: Disabled
[04/22/2023-07:28:35] [I] Profile: Disabled
[04/22/2023-07:28:35] [I] Export timing to JSON file:
[04/22/2023-07:28:35] [I] Export output to JSON file:
[04/22/2023-07:28:35] [I] Export profile to JSON file:
[04/22/2023-07:28:35] [I]
[04/22/2023-07:28:35] [I] === Device Information ===
[04/22/2023-07:28:35] [I] Selected Device: NVIDIA GeForce RTX 3090
[04/22/2023-07:28:35] [I] Compute Capability: 8.6
[04/22/2023-07:28:35] [I] SMs: 82
[04/22/2023-07:28:35] [I] Compute Clock Rate: 1.695 GHz
[04/22/2023-07:28:35] [I] Device Global Memory: 24268 MiB
[04/22/2023-07:28:35] [I] Shared Memory per SM: 100 KiB
[04/22/2023-07:28:35] [I] Memory Bus Width: 384 bits (ECC disabled)
[04/22/2023-07:28:35] [I] Memory Clock Rate: 9.751 GHz
[04/22/2023-07:28:35] [I]
[04/22/2023-07:28:35] [I] TensorRT version: 8.2.4
[04/22/2023-07:28:35] [I] Loading supplied plugin library: build/lib/libmmdeploy_tensorrt_ops.so
[04/22/2023-07:28:36] [I] [TRT] [MemUsageChange] Init CUDA: CPU +457, GPU +0, now: CPU 495, GPU 3206 (MiB)
[04/22/2023-07:28:36] [I] [TRT] Loaded engine size: 25 MiB
[04/22/2023-07:28:36] [I] [TRT] [MemUsageChange] Init cuBLAS/cuBLASLt: CPU +850, GPU +368, now: CPU 1359, GPU 3598 (MiB)
[04/22/2023-07:28:36] [I] [TRT] [MemUsageChange] Init cuDNN: CPU +127, GPU +60, now: CPU 1486, GPU 3658 (MiB)
[04/22/2023-07:28:36] [I] [TRT] [MemUsageChange] TensorRT-managed allocation in engine deserialization: CPU +0, GPU +21, now: CPU 0, GPU 21 (MiB)
[04/22/2023-07:28:36] [I] Engine loaded in 1.55282 sec.
[04/22/2023-07:28:36] [I] [TRT] [MemUsageChange] Init cuBLAS/cuBLASLt: CPU +1, GPU +10, now: CPU 1460, GPU 3650 (MiB)
[04/22/2023-07:28:36] [I] [TRT] [MemUsageChange] Init cuDNN: CPU +0, GPU +8, now: CPU 1460, GPU 3658 (MiB)
[04/22/2023-07:28:37] [I] [TRT] [MemUsageChange] TensorRT-managed allocation in IExecutionContext creation: CPU +0, GPU +192, now: CPU 0, GPU 213 (MiB)
[04/22/2023-07:28:37] [I] Using random values for input input
[04/22/2023-07:28:37] [I] Created input binding for input with dimensions 1x3x640x640
[04/22/2023-07:28:37] [I] Using random values for output dets
[04/22/2023-07:28:37] [I] Created output binding for dets with dimensions 1x100x5
[04/22/2023-07:28:37] [I] Using random values for output labels
[04/22/2023-07:28:37] [I] Created output binding for labels with dimensions 1x100
[04/22/2023-07:28:37] [I] Using random values for output masks
[04/22/2023-07:28:37] [I] Created output binding for masks with dimensions 1x100x640x640
[04/22/2023-07:28:37] [I] Starting inference
[04/22/2023-07:28:40] [I] Warmup completed 19 queries over 200 ms
[04/22/2023-07:28:40] [I] Timing trace has 318 queries over 3.03174 s
[04/22/2023-07:28:40] [I]
[04/22/2023-07:28:40] [I] === Trace details ===
[04/22/2023-07:28:40] [I] Trace averages of 10 runs:
[04/22/2023-07:28:40] [I] Average on 10 runs - GPU latency: 9.5402 ms - Host latency: 16.4676 ms (end to end 18.9873 ms, enqueue 1.30154 ms)
[04/22/2023-07:28:40] [I] Average on 10 runs - GPU latency: 9.54306 ms - Host latency: 16.471 ms (end to end 18.992 ms, enqueue 1.34883 ms)
[04/22/2023-07:28:40] [I] Average on 10 runs - GPU latency: 9.54009 ms - Host latency: 16.4699 ms (end to end 18.9961 ms, enqueue 1.02559 ms)
[04/22/2023-07:28:40] [I] Average on 10 runs - GPU latency: 9.54132 ms - Host latency: 16.4694 ms (end to end 18.9849 ms, enqueue 1.37072 ms)
[04/22/2023-07:28:40] [I] Average on 10 runs - GPU latency: 9.5408 ms - Host latency: 16.4686 ms (end to end 18.9876 ms, enqueue 1.34462 ms)
[04/22/2023-07:28:40] [I] Average on 10 runs - GPU latency: 9.54213 ms - Host latency: 16.4719 ms (end to end 18.9886 ms, enqueue 1.36243 ms)
[04/22/2023-07:28:40] [I] Average on 10 runs - GPU latency: 9.54327 ms - Host latency: 16.4703 ms (end to end 18.8484 ms, enqueue 1.33591 ms)
[04/22/2023-07:28:40] [I] Average on 10 runs - GPU latency: 9.53734 ms - Host latency: 16.4651 ms (end to end 18.9783 ms, enqueue 1.37103 ms)
[04/22/2023-07:28:40] [I] Average on 10 runs - GPU latency: 9.54008 ms - Host latency: 16.4713 ms (end to end 18.982 ms, enqueue 1.28795 ms)
[04/22/2023-07:28:40] [I] Average on 10 runs - GPU latency: 9.53604 ms - Host latency: 16.4628 ms (end to end 18.9804 ms, enqueue 1.304 ms)
[04/22/2023-07:28:40] [I] Average on 10 runs - GPU latency: 9.57103 ms - Host latency: 16.4979 ms (end to end 19.0143 ms, enqueue 1.32554 ms)
[04/22/2023-07:28:40] [I] Average on 10 runs - GPU latency: 9.48518 ms - Host latency: 16.4099 ms (end to end 18.9133 ms, enqueue 1.37776 ms)
[04/22/2023-07:28:40] [I] Average on 10 runs - GPU latency: 9.48109 ms - Host latency: 16.4035 ms (end to end 18.8697 ms, enqueue 1.29844 ms)
[04/22/2023-07:28:40] [I] Average on 10 runs - GPU latency: 9.47885 ms - Host latency: 16.4053 ms (end to end 18.8591 ms, enqueue 1.4662 ms)
[04/22/2023-07:28:40] [I] Average on 10 runs - GPU latency: 9.47958 ms - Host latency: 16.4048 ms (end to end 18.8671 ms, enqueue 1.30724 ms)
[04/22/2023-07:28:40] [I] Average on 10 runs - GPU latency: 9.48488 ms - Host latency: 16.4072 ms (end to end 18.8807 ms, enqueue 1.34695 ms)
[04/22/2023-07:28:40] [I] Average on 10 runs - GPU latency: 9.48153 ms - Host latency: 16.4004 ms (end to end 18.8663 ms, enqueue 1.30504 ms)
[04/22/2023-07:28:40] [I] Average on 10 runs - GPU latency: 9.4802 ms - Host latency: 16.4054 ms (end to end 18.7374 ms, enqueue 1.34243 ms)
[04/22/2023-07:28:40] [I] Average on 10 runs - GPU latency: 9.48224 ms - Host latency: 16.4067 ms (end to end 18.7836 ms, enqueue 1.33301 ms)
[04/22/2023-07:28:40] [I] Average on 10 runs - GPU latency: 9.47925 ms - Host latency: 16.4049 ms (end to end 18.8622 ms, enqueue 1.48417 ms)
[04/22/2023-07:28:40] [I] Average on 10 runs - GPU latency: 9.4821 ms - Host latency: 16.4087 ms (end to end 18.8655 ms, enqueue 1.49673 ms)
[04/22/2023-07:28:40] [I] Average on 10 runs - GPU latency: 9.48032 ms - Host latency: 16.4039 ms (end to end 18.8653 ms, enqueue 1.32368 ms)
[04/22/2023-07:28:40] [I] Average on 10 runs - GPU latency: 9.47856 ms - Host latency: 16.4031 ms (end to end 18.8656 ms, enqueue 1.3196 ms)
[04/22/2023-07:28:40] [I] Average on 10 runs - GPU latency: 9.47346 ms - Host latency: 16.3982 ms (end to end 18.8478 ms, enqueue 1.3748 ms)
[04/22/2023-07:28:40] [I] Average on 10 runs - GPU latency: 9.47429 ms - Host latency: 16.3958 ms (end to end 18.8591 ms, enqueue 1.29553 ms)
[04/22/2023-07:28:40] [I] Average on 10 runs - GPU latency: 9.48191 ms - Host latency: 16.4084 ms (end to end 18.8641 ms, enqueue 1.4228 ms)
[04/22/2023-07:28:40] [I] Average on 10 runs - GPU latency: 9.47817 ms - Host latency: 16.4033 ms (end to end 18.8665 ms, enqueue 1.29167 ms)
[04/22/2023-07:28:40] [I] Average on 10 runs - GPU latency: 9.47803 ms - Host latency: 16.4042 ms (end to end 18.8507 ms, enqueue 1.41506 ms)
[04/22/2023-07:28:40] [I] Average on 10 runs - GPU latency: 9.48198 ms - Host latency: 16.4017 ms (end to end 18.8285 ms, enqueue 1.33625 ms)
[04/22/2023-07:28:40] [I] Average on 10 runs - GPU latency: 9.47283 ms - Host latency: 16.3947 ms (end to end 18.7606 ms, enqueue 1.30344 ms)
[04/22/2023-07:28:40] [I] Average on 10 runs - GPU latency: 9.47659 ms - Host latency: 16.3991 ms (end to end 18.8492 ms, enqueue 1.51799 ms)
[04/22/2023-07:28:40] [I]
[04/22/2023-07:28:40] [I] === Performance summary ===
[04/22/2023-07:28:40] [I] Throughput: 104.89 qps
[04/22/2023-07:28:40] [I] Latency: min = 16.2476 ms, max = 16.7673 ms, mean = 16.4264 ms, median = 16.4114 ms, percentile(99%) = 16.4906 ms
[04/22/2023-07:28:40] [I] End-to-End Host Latency: min = 17.8994 ms, max = 19.2955 ms, mean = 18.8924 ms, median = 18.8774 ms, percentile(99%) = 19.0158 ms
[04/22/2023-07:28:40] [I] Enqueue Time: min = 0.652069 ms, max = 2.1123 ms, mean = 1.34596 ms, median = 1.297 ms, percentile(99%) = 2.09131 ms
[04/22/2023-07:28:40] [I] H2D Latency: min = 0.207581 ms, max = 0.228638 ms, mean = 0.211843 ms, median = 0.211182 ms, percentile(99%) = 0.224854 ms
[04/22/2023-07:28:40] [I] GPU Compute Time: min = 9.44946 ms, max = 9.84778 ms, mean = 9.50146 ms, median = 9.48535 ms, percentile(99%) = 9.55801 ms
[04/22/2023-07:28:40] [I] D2H Latency: min = 6.58667 ms, max = 6.73633 ms, mean = 6.71313 ms, median = 6.71295 ms, percentile(99%) = 6.72925 ms
[04/22/2023-07:28:40] [I] Total Host Walltime: 3.03174 s
[04/22/2023-07:28:40] [I] Total GPU Compute Time: 3.02146 s
[04/22/2023-07:28:40] [I] Explanations of the performance metrics are printed in the verbose logs.
[04/22/2023-07:28:40] [I]

My platform is also RTX3090. But got 104.89 qps, about 9.5ms latency. I should be 1.93ms latency in document.

What config dir you run?

## mmdet config
/openmmlab/mmdetection/work_dirs/rtmdet-ins_s_8xb32-300e_coco/rtmdet-ins_s_8xb32-300e_coco.py

## modified mmdeploy config
/openmmlab/mmdeploy/configs/mmdet/instance-seg/instance-seg_rtmdet-ins_tensorrt_fp16_static-640x640.py

Environment
sys.platform: linux
Python: 3.8.13 | packaged by conda-forge | (default, Mar 25 2022, 06:04:10) [GCC 10.3.0]
CUDA available: True
numpy_random_seed:<PHONE_NUMBER>
GPU 0,1,2,3: NVIDIA GeForce RTX 3090
CUDA_HOME: /usr/local/cuda
NVCC: Cuda compilation tools, release 11.6, V11.6.124
GCC: gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
PyTorch: 1.12.0a0+bd13bc6
PyTorch compiling details: PyTorch built with:
  - GCC 9.4
  - C++ Version: 201402
  - Intel(R) Math Kernel Library Version 2019.0.5 Product Build 20190808 for Intel(R) 64 architecture applications
  - Intel(R) MKL-DNN v2.5.2 (Git Hash N/A)
  - OpenMP 201511 (a.k.a. OpenMP 4.5)
  - LAPACK is enabled (usually provided by MKL)
  - NNPACK is enabled
  - CPU capability usage: AVX512
  - CUDA Runtime 11.6
  - NVCC architecture flags: -gencode;arch=compute_52,code=sm_52;-gencode;arch=compute_60,code=sm_60;-gencode;arch=compute_61,code=sm_61;-gencode;arch=compute_70,code=sm_70;-gencode;arch=compute_75,code=sm_75;-gencode;arch=compute_80,code=sm_80;-gencode;arch=compute_86,code=sm_86;-gencode;arch=compute_86,code=compute_86
  - CuDNN 8.4
  - Magma 2.5.2
  - Build settings: BLAS_INFO=mkl, BUILD_TYPE=Release, CUDA_VERSION=11.6, CUDNN_VERSION=8.4.0, CXX_COMPILER=/usr/bin/c++, CXX_FLAGS=-fno-gnu-unique -fvisibility-inlines-hidden -DUSE_PTHREADPOOL -fopenmp -DNDEBUG -DUSE_KINETO -DUSE_FBGEMM -DUSE_QNNPACK -DUSE_PYTORCH_QNNPACK -DUSE_XNNPACK -DSYMBOLICATE_MOBILE_DEBUG_HANDLE -DEDGE_PROFILER_USE_KINETO -O2 -fPIC -Wno-narrowing -Wall -Wextra -Werror=return-type -Wno-missing-field-initializers -Wno-type-limits -Wno-array-bounds -Wno-unknown-pragmas -Wno-sign-compare -Wno-unused-parameter -Wno-unused-function -Wno-unused-result -Wno-unused-local-typedefs -Wno-strict-overflow -Wno-strict-aliasing -Wno-error=deprecated-declarations -Wno-stringop-overflow -Wno-psabi -Wno-error=pedantic -Wno-error=redundant-decls -Wno-error=old-style-cast -fdiagnostics-color=always -faligned-new -Wno-unused-but-set-variable -Wno-maybe-uninitialized -fno-math-errno -fno-trapping-math -Werror=format -Werror=cast-function-type -Wno-stringop-overflow, LAPACK_INFO=mkl, PERF_WITH_AVX=1, PERF_WITH_AVX2=1, PERF_WITH_AVX512=1, TORCH_VERSION=1.12.0, USE_CUDA=ON, USE_CUDNN=ON, USE_EXCEPTION_PTR=1, USE_GFLAGS=OFF, USE_GLOG=OFF, USE_MKL=ON, USE_MKLDNN=OFF, USE_MPI=ON, USE_NCCL=ON, USE_NNPACK=ON, USE_OPENMP=ON, USE_ROCM=OFF,

TorchVision: 0.13.0a0
OpenCV: 4.5.5
MMEngine: 0.7.2
MMDetection: 3.0.0+ecac3a7

I am actually getting a 64ms (end2end.engine) latency with the same model as above (s) running from the Release Dockerfile from the dev-1.x branch. I have tried other configurations as well. Not sure if its my graphics card, drivers, or other issue. mmdetection was installed through mim install mmdet.
Python: 3.8.10 (default, Mar 13 2023, 10:26:41) [GCC 9.4.0]
CUDA available: True
numpy_random_seed:<PHONE_NUMBER>
GPU 0: NVIDIA GeForce RTX 3090
CUDA_HOME: /usr/local/cuda
NVCC: Cuda compilation tools, release 11.3, V11.3.109
GCC: x86_64-linux-gnu-gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
PyTorch: 1.10.0+cu113
PyTorch compiling details: PyTorch built with:

GCC 7.3
C++ Version: 201402
Intel(R) Math Kernel Library Version 2020.0.0 Product Build 20191122 for Intel(R) 64 architecture applications
Intel(R) MKL-DNN v2.2.3 (Git Hash 7336ca9f055cf1bfa13efb658fe15dc9b41f0740)
OpenMP 201511 (a.k.a. OpenMP 4.5)
LAPACK is enabled (usually provided by MKL)
NNPACK is enabled
CPU capability usage: AVX2
CUDA Runtime 11.3
NVCC architecture flags: -gencode;arch=compute_37,code=sm_37;-gencode;arch=compute_50,code=sm_50;-gencode;arch=compute_60,code=sm_60;-gencode;arch=compute_70,code=sm_70;-gencode;arch=compute_75,code=sm_75;-gencode;arch=compute_80,code=sm_80;-gencode;arch=compute_86,code=sm_86
CuDNN 8.2
Magma 2.5.2
Build settings: BLAS_INFO=mkl, BUILD_TYPE=Release, CUDA_VERSION=11.3, CUDNN_VERSION=8.2.0, CXX_COMPILER=/opt/rh/devtoolset-7/root/usr/bin/c++, CXX_FLAGS= -Wno-deprecated -fvisibility-inlines-hidden -DUSE_PTHREADPOOL -fopenmp -DNDEBUG -DUSE_KINETO -DUSE_FBGEMM -DUSE_QNNPACK -DUSE_PYTORCH_QNNPACK -DUSE_XNNPACK -DSYMBOLICATE_MOBILE_DEBUG_HANDLE -DEDGE_PROFILER_USE_KINETO -O2 -fPIC -Wno-narrowing -Wall -Wextra -Werror=return-type -Wno-missing-field-initializers -Wno-type-limits -Wno-array-bounds -Wno-unknown-pragmas -Wno-sign-compare -Wno-unused-parameter -Wno-unused-variable -Wno-unused-function -Wno-unused-result -Wno-unused-local-typedefs -Wno-strict-overflow -Wno-strict-aliasing -Wno-error=deprecated-declarations -Wno-stringop-overflow -Wno-psabi -Wno-error=pedantic -Wno-error=redundant-decls -Wno-error=old-style-cast -fdiagnostics-color=always -faligned-new -Wno-unused-but-set-variable -Wno-maybe-uninitialized -fno-math-errno -fno-trapping-math -Werror=format -Wno-stringop-overflow, LAPACK_INFO=mkl, PERF_WITH_AVX=1, PERF_WITH_AVX2=1, PERF_WITH_AVX512=1, TORCH_VERSION=1.10.0, USE_CUDA=ON, USE_CUDNN=ON, USE_EXCEPTION_PTR=1, USE_GFLAGS=OFF, USE_GLOG=OFF, USE_MKL=ON, USE_MKLDNN=ON, USE_MPI=OFF, USE_NCCL=ON, USE_NNPACK=ON, USE_OPENMP=ON,

TorchVision: 0.11.0+cu113
OpenCV: 4.5.4
MMEngine: 0.7.4
MMDetection: 3.0.0+ecac3a

Please disregard my last comment. The large latency was due to the GPU failing for a hardware issue. After re-running everything I get the following for the small model on 640x640 size:
+------------+---------+
| batch size |    1    |
|   shape    | 640x640 |
| iterations |   100   |
|   warmup   |    10   |
+------------+---------+
----- Results:
+--------+------------+---------+
| Stats  | Latency/ms |   FPS   |
+--------+------------+---------+
|  Mean  |   8.102    | 123.432 |
| Median |   8.095    | 123.531 |
|  Min   |   8.000    | 125.007 |
|  Max   |   9.525    | 104.983 |
+--------+------------+---------+

@mchaniotakis That's better than 64 ms, but still much, much slower than the 1.22 ms latency for the small model shown in Table 3 of the original research paper.
I'd like to know more about the machine used for inference.  Did they super-cool it with liquid nitrogen?  Was it running some custom Linux kernel?  What was the CPU?
Or, if possible, could anybody provide some suggestions for getting inference speed to a bit closer to the claims made in Table 3 of the RTMDet research paper?

I think the possible explanation may be the RTMDet exports the post processing into the tensorrt model, but the document is without the post-processing version.
Evidence:
The mask of MaskRCNN is 64x64 feature size (GPU), and then is transformed to HxW as imageshape (CPU, post-processing). However, RTMDet tensorrt return the mask as HxW.

I also tried benchamarking on RTX 3090 ti and couldn't go below 8ms on bigger batch size.


Adapt all Pronghorn inputs to functor fluid properties

All Pgh inputs will be broken as of the https://github.com/idaholab/moose/pull/18395 merge, which paves the way for weakly compressible flow
Updates will be done in two waves, because functor-gradients, necessary for our mixing length turbulence model, are not merged yet

MSFR steady in #32
MSFR transient in #47
FHR in #45


soem: 1.3.0-0 in 'kinetic/distribution.yaml' [bloom]

Did you already grant write access to the repo to the @ros-pull-request-builder user (as mentioned in the instructions)?

@smits Can you please respond to this earlier comment since otherwise the PR integration won't work.
@tfoote It would be better to wait for a response before merging since that keep the responsibility to act with the author of the PR. Now we have to follow up on this topic if there is no response to remove the flag again. Please do that within the next in case we don't hear back on this.

@tfoote It would be better to wait for a response before merging since that keep the responsibility to act with the author of the PR. Now we have to follow up on this topic if there is no response to remove the flag again. Please do that within the next in case we don't hear back on this.

Merging this doesn't transfer the responsibility for this. It is still the responsibility of the maintainer to validate that the PR is working as stated.
From the above comments @smits stated that he followed the instructions so I am taking the basic assumption that he has completed adding the write access. If you, who receive ros-pull-request-builders notifications, mentioned that you hadn't seen a request to grant access I would believe otherwise. But you didn't mention anything like that or otherwise indicate that you didn't think that ros-pull-request-builder had access in your comment.
Thus without any statement to the otherwise I took the assumption that it was complete. Looking into it using the ros-pull-request-builder It appears that @smits has not added write access. And in reviewing the instructions now I saw that adding Write access was buried in the paragraph header, and not in the enumerated tasks in the "alternate" approach. I've updated the docs to make that clearer as I believe that it was not clearly enough documented if an experienced community member missed a step.

Hi Tully, Dirk,
Sorry to not have responded earlier, I was indeed under the impression that
following the manual procedure on the wiki did not require me to add write
access to @ros-pull-request-builder.  I've added him as collaborator,
you've should have received an invitation.
Op zo 9 jul. 2017 09:08 schreef Tully Foote<EMAIL_ADDRESS>
@tfoote https://github.com/tfoote It would be better to wait for a
response before merging since that keep the responsibility to act with the
author of the PR. Now we have to follow up on this topic if there is no
response to remove the flag again. Please do that within the next in case
we don't hear back on this.
Merging this doesn't transfer the responsibility for this. It is still the
responsibility of the maintainer to validate that the PR is working as
stated.
From the above comments @smits https://github.com/smits stated that he
followed the instructions so I am taking the basic assumption that he has
completed adding the write access. If you, who receive
ros-pull-request-builders notifications, mentioned that you hadn't seen a
request to grant access I would believe otherwise. But you didn't mention
anything like that or otherwise indicate that you didn't think that
ros-pull-request-builder had access in your comment.
Thus without any statement to the otherwise I took the assumption that it
was complete. Looking into it using the ros-pull-request-builder It appears
that @smits https://github.com/smits has not added write access. And in
reviewing the instructions now I saw that adding Write access was buried in
the paragraph header, and not in the enumerated tasks in the "alternate"
approach. I've updated
http://wiki.ros.org/action/diff/buildfarm/Pull request testing?action=diff&rev1=18&rev2=19
the docs to make that clearer as I believe that it was not clearly enough
documented if an experienced community member missed a step.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ros/rosdistro/pull/15414#issuecomment-313903427, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAG0m9q1TTHf9bHMvyHPpwrwJZZ9EURFks5sMHxjgaJpZM4OKUC1
.

--
Ruben Smits, Roboticist - Founder
+32 479 511 786
Intermodalics - Gaston Geenslaan 9, 3001 Heverlee - BELGIUM
www.intermodalics.eu

@smits I have accepted the invitation for the buildfarm user. Therefore the PR integration should now work.

Thus without any statement to the otherwise I took the assumption that it was complete.
From the above comments @smits stated that he followed the instructions so I am taking the basic assumption that he has completed adding the write access. If you, who receive ros-pull-request-builders notifications, mentioned that you hadn't seen a request to grant access I would believe otherwise. But you didn't mention anything like that or otherwise indicate that you didn't think that ros-pull-request-builder had access in your comment.

I specifically raised the question since I haven't seen any invitation email. My comment with that questions was made four days before you merged the PR. With a question like this pending please don't merge future PR until the author had a chance to respond.

Merging this doesn't transfer the responsibility for this. It is still the responsibility of the maintainer to validate that the PR is working as stated.

I will try eloborate why I think merging the PR changes the responsibility quite a bit. If nodody takes any action afterwards the problem is that the PR integration doesn't work and we "waste" the job resources. So it is on us to remove the job again if we don't want that to be the case forever. Otherwise with the PR not being merged we don't need to act on this until there is a comment or update on the pull request since no build farm resources are being used yet.


Fix data race in lexer and lexer test

As described in #1898 'go test -race' detects a race in lexer code. This
pacth fixes it and also add '-race' option to test target to prevent
regression.

Thanks for figuring out the source of that race.
I'm wondering whether it's easier to instantiate and .run() the lexer inline for the test and don't use the lex constructor. Introducing another constructor in the actual package only used in the test might be confusing. Right now I cannot see a use case outside of testing for it.

Thanks, looks good 👍

Yea, if it doesn't run as some sort of default pipeline, no one will use it.
In the past what happened, for me at least, was that we had about 20 things that could be useful to some in some cases. But if I knew what I wanted to run, just doing go test -race ./... was always the faster way than to look up under which alias we had the same thing in the Makefile.

make test runs for ages now, basically is unusable and almost kills my computer. :+1: for not doing that by default...

Ah, only make has this problem, not make test, ok. Hmmmmmm... I guess fine with me for now, but I wonder whether we should be punishing everyone so hard who just accidentally types make.

Never mind. I did something wrong. Ignore everything I said above.


Add ChangeNamespace recipe to rewrite-xml

What's changed?

Add ChangeNamespace recipe to recipe-xml.
What's your motivation?

This recipe allows arbitrary XML namespace changes
Anything in particular you'd like reviewers to focus on?

Anyone you would like to review specifically?

Have you considered any alternatives or workarounds?

The current ChangeTagAttribute recipe requires previous knowledge of namespace prefixes.
Any additional context

Checklist

[x] I've added unit tests to cover both positive and negative cases
[x] I've added the license header to any new files through ./gradlew licenseFormat
[x] I've used the IntelliJ auto-formatter on affected files
[x] I've updated the documentation (if applicable)

Maybe best to cross reference this implementation with a parallel effort here, and then only merge this recipe or that other implementation here.
https://github.com/openrewrite/rewrite-liberty/pull/2/files#diff-4cad7655b125899015bd8cb77328ed92f4ecd6940b230a1ce947a4e7995a1683

Thanks a lot for getting this started @ammachado ! We had a similar recipe proposed in rewrite-liberty, which we've now pulled up into https://github.com/openrewrite/rewrite/pull/3465 here. Would you have any notes on the implementation there from your experience developing this one?

Thanks for getting this started & weighing in on #3465 as well @ammachado !


How to react to external redux action

When using the reducer option in a graphql query we can control and manipulate the store, by reducing redux actions. I was under the impression that it was possible to reduce all redux actions to react on a action outside of Apollo. I found out the reducers function is only called for actions specific to Apollo.
I use a backend that does not support subscriptions yet, so I'm looking to leverage my own websocket connection to implement push updates. But I cannot find a way to inject these updates in Apollo.
Is updating the Apollo state based on external actions somehow possible, and otherwise is this an idea to implement?

@jfrolich you're right, due to how I implemented result reducers they currently cannot run on non-apollo actions. It's on our roadmap though, and it's something that we want to fix soon. Unless I'm forgetting something, your only option is to update the cache manually or implement a hack on top of the apollo subscriptions network interface (client side only) that lets you fire subscription actions when your other websocket returns data. I think it would work, but it's definitely not very clean, so I don't know if it's a viable option for you.

Hmm after some digging around. How would you go about to update the cache manually. Any function I should look at?

apollostack/react-apollo#367 possibly related?

Maybe I have similar problem: I have component with inputfield and after user submits this input I'd like to validate by graphQl query if data submitted are ok and display green or red message.
Mutations have nice possibility to inject function to the component wrapped by apollo connect that will trigger the mutation (http://dev.apollodata.com/react/mutations.html#calling-mutations function ApolloClient#mutate) , but I didn't find out how to accomplish this for the query (and I don't want to use mutation for query cases).
Would be nice to have something like mutate even for queries, not just mutations.

Hey @helfer
Is this feature scheduled already? It would be a great help for us :)
Thanks,
Daniel

Not sure if this helps, but I use nonApollo actions to update store and therefore state and based on state I can fire queries or mutations within the HoCs that react on the state change.
Just a silly example:

socket receives new message, I'd dispatch the action to nonApollo store
changes in store are reflected (via mapstateToProps) in my HoC component
this component has a graphQl query/mutation that takes this changes and query/mutate accordingly

Because I use compose to wrap  my pure components in multiple layers (redux connect, graphql query or multiple queries, Intl), the code is straightforward.
For some cases I wrote small helper that is composable in HoC, too and accepts function that may have side effects (like dispatching or call another query/mutation). I use it to extract side effects triggered by mutation (like save accessToken to localStorage after login mutation is performed).
I can share the code if someone interested.

I think what we really need to do here is implement some kind of method like: client.updateQuery(query, updateFn). Then we solve the problem not only for Redux users, but for people with other state management solutions as well.

+1
would be awesome to have apollo listening to foreign actions.

You can change data in Apollo from external actions with the new read and write APIs! https://dev-blog.apollodata.com/apollo-clients-new-imperative-store-api-6cb69318a1e3#.3993ykbqe

Yeah I think you could do this by creating your own Redux middleware which listens to actions and calls the above read/write methods when necessary.

Yeah I think you could do this by creating your own Redux middleware which listens to actions and calls the above read/write methods when necessary.

Does anyone have an example of doing that?

This seems (on some quick tests) that it'd be an example of using the new read/write APIs from a Redux middleware:
import ApolloClient from 'apollo-client';
import {
  createStore,
  combineReducers,
  applyMiddleware
} from 'redux';
import gql from 'graphql-tag';

function testMiddleware(store) {
  return function(next) {
    return function(action) {
      if (action.type === 'MY_ACTION') {
        client.writeQuery({
          query: gql`
            {
              todo(id: 1) {
                completed
              }
            }
          `,
          data: {
            todo: {
              completed: true
            }
          }
        });
      }
      return next(action);
    };
  };
}

const client = new ApolloClient();
const store = createStore(
  // reducers
  combineReducers({
    apollo: client.reducer()
  }),
  // provide the initial state
  {},
  // Apollo middleware
  applyMiddleware(
    client.middleware(),
    testMiddleware
  )
);

That said, I (in older versions of Apollo) had to have custom Redux actions integrating with the store, but I think one can avoid that entirely with the new read/write API.

Thanks for the example @dahjelle!
Closing this up since it's an old issue and the question has been answered 🙂


Missing information on columns pros and cons

Hi all. I was able to run successfully script, but the pros and cons columns is always empty. Do you know what is the reason behind it?

Please see this thread as solution to the topic - https://github.com/MatthewChatham/glassdoor-review-scraper/pull/27

Hi @beliakon check out my forked repo
https://github.com/sachinchaturvedi93/glassdoor-review-scraper/


Added index to be required as module

Hi, first of all, thanks for this good job migrating some JS components to Angular.
Im working with Webpack right now and noticed that when requiring the angular-materialize had some issues, so i solved them with these changes BUT they affects to the package.json config, so i will try to get both configs working together later. I hope to get some help from you with this as i dont know whats the finality of the src/index.js yet.
Will be great if this is published into NPM too for many others (like me) in the near future :)
Regards!

I suppose its to be used in an import like:
angular.module('whatEverApp', [require("angular-materialize")])
In that case, it is properly good idea to add something in the readme about it.

Do you know if this is the standard way of exporting Angular-modules?
And the finality of src/index.js is that it can always be changed, if I make something, or someone sends a pull-request. It is not final in any way.

Well, in terms of exporting the module:
// there is the way of exporting directly the module as:
return angular.module('XXX')
// and then
angular.module('anotherXXX', [moduleImported.name]);
// -------------------------------------------------
// or its name only
return angular.module('XXX').name;
// and then
angular.module('anotherXXX', [moduleImported]);

I like more the second approach of required/imported and used directly like in your example, of course :). I inspired in the implemenation from the angular-resource package.

Ok.
If you could add a note in the README, stating how one would use this with imports, then I will merge it.

Well, i did some changes and replaced the src/index.js with mine, maybe should i get a way to get both configs or maybe not needed?. Added some useful info in README + the webpack setup too. Let me know.

I think this is good, nicely done.

Many thanks! :+1:

I just bumped the version to 0.1.2, and published it on npm.

Cool! thanks


Shortcut Keys - There is no way to start a new group chat using shortcut keys

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Expected Result:
There should be a way to open a group chat with shortcut keys
Actual Result:
There is no way to start a new group chat using shortcut keys
Action Performed:

Log in to e.cash
Try to open a group chat using shortcut keys.

Workaround:
No.
Platform:
Where is this issue occurring?
Web ✔
iOS
Android
Desktop App
Mobile Web
Version Number: 1.0.62-0
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:
Expensify/Expensify Issue URL:
View all open jobs on Upwork

From @mallenexpensify https://expensify.slack.com/archives/C01GTK53T8Q/p1622734995479600

There is no way to start a new group chat using shortcut keys (or quickly via keyboard-only)

Triggered auto assignment to @Dal-Papa (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

Hi, can I pick up this issue?

Hi, can I pick up this issue?

Hi @rushatgabhane if you're interested in fixing the issue, please propose a solution for an engineer to review.

Proposal
We can use Command + i to start a new group chat.
/src/libs/Navigation/AppNavigator/AuthScreens.js
class AuthScreens extends React.Component {
        ...
        // Listen for the Command+I key being pressed so the focus can be given to the new group
        KeyboardShortcut.subscribe('I', () => {
            Navigation.navigate(ROUTES.NEW_GROUP);
        }, ['meta'], true);
}

componentWillUnmount() {
        KeyboardShortcut.unsubscribe('I');
        ...
}

Dropped a note in here for feedback, feel free to chime in there too @rushatgabhane .  https://expensify.slack.com/archives/C01GTK53T8Q/p1622819702017500?thread_ts=1621969175.208000&cid=C01GTK53T8Q

I can confirm this can be worked on externally, adding the external label now

Triggered auto assignment to @trjExpensify (External), see https://stackoverflow.com/c/expensify/questions/8582 for more details.

Did we get consensus on what keyboard shortcut to use here? Seems like a couple were floated in that thread on accessibility, but not very widely discussed. Are we implementing one for New Chat somewhere else, or do we only want one for New Group. what's the reasoning for that?
@mallenexpensify, I see you raised this issue originally in #expensify-open-source:

ISSUE: There is no way to start a new group chat using shortcut keys (or quickly via keyboard-only)

When raising these sorts of improvements in the channel, I think it would be helpful to propose what shortcut you think we should use and why, to promote a discussion in the same thread as to what we want implemented here. That way, when we create the issue there's a clearer direction of the high level deliverables.

I thought we landed on CMD + SHIFT + K to create a new group, because CMD + K creates a new 1:1 chat.

CMD + K opens Search, not New Chat right? I don't believe we have a shortcut for New Chat.

CMD + K opens Search, not New Chat right? I don't believe we have a shortcut for New Chat.

Yeah you're right, but you can also start a new chat from search.

Totally, just trying to confirm that there isn't another shortcut in use/in the works for New Chat that could make more sense to couple with New Group vs with chat switching (Search).

Regardless of what it is, it's just opening the RHP in the same fashion that clicking the green plus icon then 'new group chat'.  I (kinda/sorta) tested earlier today and CMD + SHIFT + K made (enough) sense to me. We could raise again in #expensify-open-source if we think it would be helpful.  (sorry to not be more helpful or definitive and.. for all the (()))

Cool, so it doesn't sound like we've got anything for New Chat coming and I couldn't find an issue for that, so let's proceed with CMD + SHIFT + K. I'll add the deliverables to the OP, and get it onto Upwork now, so @rushatgabhane can apply 👍

Here you go! https://www.upwork.com/jobs/~012a19716ca69fca51

@rushatgabhane are you interested in this job? If so, can you propose a fix here? One the proposal is accepted we'll hire in Upwork.
(@trjExpensify should the Exported label be added now to assign an engineer for review? I think so....)

Triggered auto assignment to @beamanator (Exported), see https://stackoverflow.com/c/expensify/questions/7972 for more details.

I'm currently working on another job, so I don't qualify to work as I'm a new contributor.
Please feel free to take this one.

Thanks @rushatgabhane 👍 If you finish your other job, feel free to come back and submit a proposal for the new Command + Shift + K shortcut here :)

@rushatgabhane it appears your other PR is almost merged.  If you'd like to propose a solution for this issue here, and we accept, we can assign this to you and you can submit the PR for it once the other issue is closed.

Slack thread

Hey @rushatgabhane thanks for doing that research in the linked slack thread - It sounds like we're going to adjust the issue so the shortcuts will be OS-specific - mainly, on Mac we'll use "Command + ..." and Windows we'll use "Control + ...". Are you willing to submit a proposal now or would you prefer waiting for a few more comments in the thread you linked?

Well, I tried. I think the way KeyboardShortcut.subscribe is implemented will need to be changed drastically.
https://github.com/Expensify/Expensify.cash/blob/655f9efd75a8357ef2eca1aa847e84ae075dfb3b/src/libs/Navigation/AppNavigator/AuthScreens.js#L148-L151
Becuase this gets triggered on Command + K, which is fine but it also gets triggered on AnyKeyCombination + Command + K.
Windows Chrome
Assume KeyboardShortcut.subscribe('K', ['control'])
This doesn't work at all, chrome selects address bar.
event.preventDefault() isn't working for some reason.
https://github.com/Expensify/Expensify.cash/blob/655f9efd75a8357ef2eca1aa847e84ae075dfb3b/src/libs/KeyboardShortcut/index.js#L50

Hey @rushatgabhane Thanks for your investigation! Sorry for the super slow reply, I just got back from vacation!

Well, I tried. I think the way KeyboardShortcut.subscribe is implemented will need to change drastically.
...
Becuase this triggers on Command + K, which is fine but it also triggers on AnyKeyCombination + Command + K.

This is a great point, I'm not sure we'd tested that out before. Could you bring this up as a new discussion in #expensify-open-source? I think we'll need some other people to add some thoughts on how useful it is to fix that (for the record, I think it would definitely be useful to fix that)

Windows Chrome
Assume KeyboardShortcut.subscribe('K', ['control'])
This doesn't work at all, chrome selects address bar.
event.preventDefault() isn't working for some reason.

I don't have a windows machine to test this (sadly), but I'm surprised setting a shortcut with KeyboardShortcut.subscribe(... doesn't override typical Chrome shortcuts for you -> If I change 'K' to 'S' (so the app opens the search page on Command + S instead of Command + K), I am seeing the search page open instead of Chrome's typical "Save as" menu -> Are you seeing that?

Just to my perspective on this:

Becuase this triggers on Command + K, which is fine but it also triggers on AnyKeyCombination + Command + K.

This looks fine to me, I think it's how shortcuts work everywhere. On macOS I can open the Spotlight with CMD + Space but adding any key to the combination CMD + Any Key + Space will still open the Spotlight (if the new combination doesn't match another shortcut, for sure). Tested this on other applications and got the same result.

This doesn't work at all, chrome selects address bar.
event.preventDefault() isn't working for some reason.

Are we sure we're not exiting before the event.preventDefault()? I think it's only called when there's a event/callback associated with that keypress already

This looks fine to me, I think it's how shortcuts work everywhere. On macOS I can open the Spotlight with CMD + Space but adding any key to the combination CMD + Any Key + Space will still open the Spotlight (if the new combination doesn't match another shortcut, for sure). Tested this on other applications and got the same result.

For me it's weird.

Cltr + S save. Cltr + Atl + S does nothing.
Win + D shows desktop. Win + Shift + D does nothing.

I am seeing the search page open instead of Chrome's typical "Save as" menu -> Are you seeing that?

Ran a clean test. I get the search page for control + K.
My bad, event.preventDefault() does work.
Of course, dedicated OS shortcuts won't be overriden. Hence the need for OS specific shortcuts :)
eg: Win + K which is the current shortcut for search on windows.
in video below, the windows connect menu opens up on Win + K
https://user-images.githubusercontent.com/29673073/123332782-a4413d80-d549-11eb-8dda-feb3536321d5.mp4

@Beamanator with some new insights, I have a working solution and I wanna be assigned to this job.
Basically, the event will be triggered only if the modifiers match EXACTLY.
eg: Alt+ Command + K won't open search.
This is how shortcuts are implemented I think.
anyNonModifier + Shortcut is fine, but modifier + Shortcut shouldn't trigger that event.

@rushatgabhane I like your proposal to fix shortcuts from being run if extra modifiers are pressed!
I do want to note that this issue is mainly about the new shortcut group CMD + SHIFT + K to open a Group Chat (at least on MacOS), so once you confirm that you'll do that as well (and probably replace CMD with Control on Windows), I'll assign this to you!

Haha yes, I've posted a demo for just that in my prev comment.

Aah thanks very much @rushatgabhane , I didn't see you mention the shortcut specifically for "group chats" in the text, and I missed that the second modal you opened in your video was group chat!
Thanks for sticking with me, please submit a PR when you have a chance! And @trjExpensify please hire @rushatgabhane on Upwork when you have a chance 👍

This issue can be closed. PR merged.
Also, can someone hire me on upwork :)

Thanks, @rushatgabhane. We'll keep the issue open for 7 days and then close it once paid. 👍
Re: hiring on Upwork, I'm just working through a change to our Upwork account over the weekend. I'll hire you as soon as I can, likely when the US get online later and that is resolved - apologies for the delay! (Expensify folks, thread here).

Completed the contract on Upwork. Thanks, @rushatgabhane!


Support for the new amazon-eks-worker-* AMI with bootstrap script

I have issues
The new amazon-eks-worker-* AMI with bootstrap script has been released. However, it's not backward compatible with the old AMI and doesn't work with this module.
I'm submitting a...

[ ] bug report
[x] feature request
[ ] support request
[ ] kudos, thank you, warm fuzzy

What is the current behavior?
This module only works with the eks-woker-* AMIs.
If this is a bug, how to reproduce? Please include a code sample if relevvant.
N/A
What's the expected behavior?
This module should also work with the new amazon-eks-worker-* AMI. The entire userdata.sh.tpl can be reduced to something like this:
# Allow user supplied pre userdata code
${pre_userdata}

# Bootstrap and join the cluster
/etc/eks/bootstrap.sh --b64-cluster-ca '${cluster_auth_base64}' --apiserver-endpoint '${endpoint}' --kubelet-extra-args '${kubelet_extra_args}' '${cluster_name}'

# Allow user supplied userdata code
${additional_userdata}

Are you able to fix this problem and submit a PR? Link here if you have already.
I can contribute, but would like to discuss on how we want to approach backward compatibility first.
Environment details

Affected module version: 1.4.0
OS: all
Terraform version: all

Any other relevant info
See https://github.com/awslabs/amazon-eks-ami/pull/16 for more info of the change.

Thanks for the issue!

would like to discuss on how we want to approach backward compatibility first

Great question. The problem is now that here we are using the latest AMI that starts with eks-worker-. So currently, this new AMI would be released, on terraform apply the ASG would get a new LC with this new AMI but the user-data would be incompatible. This is a problem.
I propose we pin the AMI name string now to eks-worker-v22. This solves that problem for people using the latest version of this module. People using older versions will have a problem unfortunately.
Then we just create a new release of this module where we change both the user-data and the AMI name string together.
Does that make sense?

Ahh, actually, from the release notes, the new AMI name is amazon-eks-node-v23 so there is no problem for now.
So I think just make a PR to change the user-data and the AMI name filter to amazon-eks-node-* and that's it?