Optimize straightline branch

Goal: Optimize the straightline branch to have performance that is consistently competitive with master.

Key benchmark: loadgen-snabb-nic-guest to forward 256-byte packets NIC -> Snabb -> VM -> Snabb -> NIC. Target is 10G line rate of 4.4 Mpps when running 3 parallel instances on the same NUMA node of grindelwald.
Additional benchmark: iperf runs in the NFV application selftests to be consistent with master.

Current state at the time of writing:

Benchmark is functional on branch. loadgen currently broken; using the one from master.
Variance in performance that is not accounted for.
JIT behavior is suboptimal (~15% interpreted + ~5% GC)
Snabb Switch struct link and QEMU Virtio-net vring both reduced from 8192 elements to 256. Operational impact not fully understood yet. Could reduce throughput by starvation or cause drops by overflow. (This is both to reduce the cache footprint of the working set and to match upstream QEMU. @n-nikolaev will post the branch.)
Many other parts of Snabb Switch are broken on this branch due to struct packet redesign.

Questions? ask here and @n-nikolaev has answers :-).
Fixes should be Pull Requested to the branch cited above for @n-nikolaev to merge into the straightline branch. Once everything is working he will pull request it to master.

The "recommended" QEMU version to be used is this one. It is basically current upstream with a single patch that helps reconnecting vhost-user.
https://github.com/virtualopensystems/qemu/tree/straightline

I'm having some trouble running loadgen.

I added the remote vosys in my snabbswitch cloned repo.
I checked the vosys/straighline branch and built snabb.
If I understood correctly, I should now switch to snabbco/master to run loadgen.
I run loadgen but it gets stalled.

SNABB=./scripts/bench_env/../..//snabb
Locking 0000:01:00.0
Locking 0000:01:00.1
Connect to guests with:
telnet localhost 5500

It also gets stalled even if I build snabb from snabbco/master and run loadgen. An older master works though, so I discard it's a problem with the NIC.
With regard to QEMU I'm using /home/dpino/workspace/snabbswitch/src/snabb, which is a copy of /home/luke/hacking/snabb-nfv/qemu/x86_64-softmmu/qemu-system-x86_64.

straightline loadgen is broken.You must use the master one and run it by hand in another console (tmux, screen etc.). I use it like this:
sudo /home/luke/hacking/pristine/snabbswitch/src/snabb /home/luke/hacking/pristine/snabbswitch/src/digns/loadgen/loadgen /opt/bench/256.pcap 0000:82:00.1
If you want to use the integrated bench script src/scripts/bench_env/loadgen-snabb-nic-guest.sh
You'll need to change your ~/bench_env.conf:
RUN_LOADGEN=

Thanks n-nikolaev, that worked. I'm still a bit confused, shouldn't I run the snabb that I just build from the straightline branch, instead of /home/luke/hacking/pristine/snabbswitch/src/snabb, if I want to try the changes in the straightline branch?

dpino, can you please post full configs and step by step what do you do to run the test? Lets figure it out together.

I should note that we found that the precise way in which you iterate through a pcap file can affect results.  In pflua we now use this helper: https://github.com/Igalia/pflua/blob/master/src/pf/savefile.lua#L64
It builds and returns a regular Lua table of packet pointers.

OK, here's what I'm doing.
First about the master branch. Currently I'm working in grindelwald, using NIC 0000:01:00. I have a cloned repo of snabbco/snabbswitch at /home/dpino/workspace/snabbswitch/src. I have a local branch (master-old) pointing to a an old commit in master. If I build and run loadgen-snabb-nic-guest.sh on that branch it works:
snabbswitch/src (master-old) $ make
snabbswitch/src (master-old) $ sudo ./scripts/bench_env/loadgen-snabb-nic-guest.sh

SNABB=./scripts/bench_env/../..//snabb
Locking 0000:01:00.0
Locking 0000:01:00.1
Connect to guests with:
telnet localhost 5500
On 0000:01:00.0 got 3.636
Rate(Mpps):	3.636
Waiting QEMU processes to terminate...
Finished.

This is my ~/bench_conf.sh file.
RUN_LOADGEN=true

# Snabb NFV traffic process configuration file
NFV_CONFIG=/home/dpino/workspace/snabbswitch/src/test_fixtures/nfvconfig/test_functions/snabbnfv-bench.port

# Trace file defining which packets to replay as a traffic source.
PCAP=/opt/bench/256.pcap

# How many packets to run for the benchmark.
NFV_PACKETS=100e6

# Telnet port numbers for VM serial ports.
# (VMs will use consecutive ports starting from this base)
TELNET_PORT0=5500
TELNET_PORT1=5600

NFV_PCI0="0000:01:00.0"
NFV_PCI1="0000:01:00.1"

GUEST_MEM=1024
QEMU=/home/dpino/workspace/snabb-nfv/qemu/x86_64-softmmu/qemu-system-x86_64

SNABB="/home/dpino/workspace/snabbswitch/src/snabb"

If I switch to snabbco/master and do the same, the benchmark gets stalled (it never ends).
snabbswitch/src (master-old) $ make
snabbswitch/src (master-old) $ sudo ./scripts/bench_env/loadgen-snabb-nic-guest.sh

SNABB=./scripts/bench_env/../..//snabb
Locking 0000:01:00.0
Locking 0000:01:00.1
Connect to guests with:
telnet localhost 5500

Now, with regard to the straightline branch, running sudo /home/luke/hacking/pristine/snabbswitch/src/snabb /home/luke/hacking/pristine/snabbswitch/src/designs/loadgen/loadgen /opt/bench/256.pcap 0000:01:00.1 works, so that should be the expected result.
loadgen
oink
scan
scanning
scanned
scanned
0000:01:00.1
conf
waiting...
main
Transmissions (last 1 sec):
0000:01:00.1	TXDGPC (TX packets)	3,313,786	GOTCL (TX octets)	861,482,440
Transmissions (last 1 sec):
0000:01:00.1	TXDGPC (TX packets)	4,464,796	GOTCL (TX octets)	1,160,833,440
Transmissions (last 1 sec):
0000:01:00.1	TXDGPC (TX packets)	4,463,589	GOTCL (TX octets)	1,160,530,800
Transmissions (last 1 sec):
0000:01:00.1	TXDGPC (TX packets)	4,464,251	GOTCL (TX octets)	1,160,719,820
Transmissions (last 1 sec):
0000:01:00.1	TXDGPC (TX packets)	4,463,976	GOTCL (TX octets)	1,160,622,580

I added remote vosys (https://github.com/virtualopensystems/snabbswitch.git) and checked out branch vosys/straightline. I built snabb in that branch and run the master loadgen script:
snabbswitch/src (straightline) $ make
snabbswitch/src (straightline) $ sudo ./snabb /home/luke/hacking/pristine/snabbswitch/src/designs/loadgen/loadgen /opt/bench/256.pcap 0000:01:00.1
...hacking/pristine/snabbswitch/src/designs/loadgen/loadgen:4: module 'core.buffer' not found:
	no field package.preload['core.buffer']
	no file './core/buffer.so'
	no file '/usr/local/lib/lua/5.1/core/buffer.so'
	no file '/home/dpino/workspace/snabbswitch/deps/luajit/usr/local/lib/lua/5.1/core/buffer.so'
	no file '/usr/local/lib/lua/5.1/loadall.so'
	no file './core.so'
	no file '/usr/local/lib/lua/5.1/core.so'
	no file '/home/dpino/workspace/snabbswitch/deps/luajit/usr/local/lib/lua/5.1/core.so'
	no file '/usr/local/lib/lua/5.1/loadall.so'
stack traceback:
	core/main.lua:185: in function <core/main.lua:183>
	[C]: in function 'require'
	...hacking/pristine/snabbswitch/src/designs/loadgen/loadgen:4: in main chunk
	[C]: in function 'dofile'
	core/main.lua:109: in function <core/main.lua:50>
	[C]: in function 'xpcall'
	core/main.lua:190: in main chunk
	[C]: in function 'require'
	[string "require "core.main""]:1: in main chunk

You'll need to change your ~/bench_env.conf:
RUN_LOADGEN=
i.e. unset the bench env to run loadgen from its own tree (which is still broken).
The lukes pristine loadgen you shoudl ron on another consle and leve it there running while you;re testing , no need to kill it every time.

@n-nikolaev is it correct that you can leave both loadgen and the guest running and only restart the Snabb Switch process? (I mean: it will be happy to keep connecting to the same loadgen and guest?)
I have been restarting the guest in my tests but that may be overkill.

Yes you can - loadgen is made to be untoched (remeber wht we did in DT - external loadgen)
Just unset RUN_LOADGEN in your bench_env.conf.
As for the guest - also true, that is why we have the reconnect feature.

@n-nikolaev OK, cool, thanks.
So doing a recap this is what I should do:

In a different terminal, run sudo /home/luke/hacking/pristine/snabbswitch/src/snabb /home/luke/hacking/pristine/snabbswitch/src/digns/loadgen/loadgen /opt/bench/256.pcap 0000:82:00.1. This generates traffic.

In another terminal, from the straightline branch and run sudo ./scripts/bench_env/loadgen-snabb-nic-guest.sh. The var RUN_LOADGEN in bench_env.conf should be empty because there's another snabb instance running loadgen.

Yes - exactly.
Actually, a working loadgen on straightline is near completion, may be a quick review and will be integrated soon.

@n-nikolaev OK, I got it running, but I'm not sure whether is working OK.
In one terminal I got loadgen running:
Transmissions (last 1 sec):
0000:84:00.1	TXDGPC (TX packets)	4,464,328	GOTCL (TX octets)	1,160,723,200
Transmissions (last 1 sec):
0000:84:00.1	TXDGPC (TX packets)	3,704,678	GOTCL (TX octets)	963,222,780
Transmissions (last 1 sec):
0000:84:00.1	TXDGPC (TX packets)	4,463,986	GOTCL (TX octets)	1,160,636,620
Transmissions (last 1 sec):
0000:84:00.1	TXDGPC (TX packets)	4,464,379	GOTCL (TX octets)	1,160,733,080
Transmissions (last 1 sec):

In another one, I launch sudo ./scripts/bench_env/loadgen-snabb-nic-guest.sh but it never ends, I never got a summary report, as I used to.
I'm using 0000:84:00 at this moment cause either 0000:01:00 and 0000:03:00 seemed not to work. I got the following while running loadgen in 0000:01:00 (sudo /home/luke/hacking/pristine/snabbswitch/src/snabb /home/luke/hacking/pristine/snabbswitch/src/designs/loadgen/loadgen /opt/bench/256.pcap 0000:01:00.1):
Transmissions (last 1 sec):
0000:01:00.1	TXDGPC (TX packets)	0	GOTCL (TX octets)	0
Transmissions (last 1 sec):
0000:01:00.1	TXDGPC (TX packets)	0	GOTCL (TX octets)	0
Transmissions (last 1 sec):
0000:01:00.1	TXDGPC (TX packets)	0	GOTCL (TX octets)	0
Transmissions (last 1 sec):
0000:01:00.1	TXDGPC (TX packets)	0	GOTCL (TX octets)	0
Transmissions (last 1 sec):
0000:01:00.1	TXDGPC (TX packets)	0	GOTCL (TX octets)	0

Here's my ~/bench_cong.sh:
RUN_LOADGEN=

# Snabb NFV traffic process configuration file
NFV_CONFIG=/home/dpino/workspace/snabbswitch/src/test_fixtures/nfvconfig/test_functions/snabbnfv-bench.port

# Trace file defining which packets to replay as a traffic source.
PCAP=/opt/bench/256.pcap

# How many packets to run for the benchmark.
NFV_PACKETS=100e6

# LuaJIT profiler settings
# export NFV_PROF=z2F
# export NFV_DUMP=+rsT

# Telnet port numbers for VM serial ports.
# (VMs will use consecutive ports starting from this base)
TELNET_PORT0=5500
TELNET_PORT1=5600

# Port(s) to use for VMs
NFV_PCI0="0000:84:00.0"
NFV_PCI1="0000:84:00.1"

# Uncomment these to test with many ports in parallel instead:
# NFV_PCI0="0000:01:00.0 0000:03:00.0" # Not working
# NFV_PCI1="0000:01:00.1 0000:03:00.1" # Not working

GUEST_MEM=1024
QEMU=/home/dpino/workspace/snabb-nfv/qemu/x86_64-softmmu/qemu-system-x86_64

SNABB="/home/dpino/workspace/snabbswitch/src/snabb"

Sorry for the inconvenience.

As Luke proposed:
Nikolay: 82 84 88
Diego: 01 03
Luke: 05

I don't mind share some of the boards though.
Note that yesterday I was running test on 82 too, so maybe conflicts were the cause of the behaviour.
I can leave 82 for you if it suits you best - no problem for me.

@n-nikolaev Sorry, I was using it temporary for testing. I'd consider using 82 but I need to know whether 01 and 03 are working correctly.
This effectively makes loadgen working in the tree.

Please update and remove  your RUN_LOADGEN=  line from the bench_env.conf.
Use 82 - I dropped it from my PCI list
can you please verify also this issue https://github.com/SnabbCo/snabbswitch/issues/347
for me it means that changing the file src/test_fixtures/nfvconfig/test_functions/snabbnfv-bench.port from port_id = "A", to "port_id = "a", gives me better numbers in the tests.

@n-nikolaev OK, done. Thanks. I added a comment in https://github.com/SnabbCo/snabbswitch/issues/347.

Straightline branch was successfully optimized to the level of master before merge.


Adding LLD Solutions Blog Website

50+ LLD Questions with Solutions

@arpit20adlakha  pls review

@arpit20adlakha pls merge this

Thanks for merging


ERROR: Could not build wheels for coincurve

For those facing the ERROR: Could not build wheels for coincurve, which is required to install pyproject.toml-based projects issue on macOS, use:
brew install autoconf automake libffi libtool pkg-config

and then install the requirements again.

Source: https://ofek.dev/coincurve/install/#macos


chore: rename streaming/group_top_n/main1.slt to main.slt

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
Previously I named it main1.slt because of a limitation of sqllogictest-rs, now it's fixed (https://github.com/risinglightdb/sqllogictest-rs/pull/194).
Checklist

[ ] I have written necessary rustdoc comments
[ ] I have added necessary unit tests and integration tests
[ ] I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features #7934).
[ ] My PR contains breaking changes. (If it deprecates some features, please create a tracking issue to remove them in the future).
[ ] All checks passed in ./risedev check (or alias, ./risedev c)
[ ] My PR changes performance-critical code. (Please run macro/micro-benchmarks and show the results.)

[ ] My PR contains critical fixes that are necessary to be merged into the latest release. (Please check out the details)

Documentation

[ ] My PR needs documentation updates. (Please use the Release note section below to summarize the impact on users)

Release note
If this PR includes changes that directly affect users or other significant modifications relevant to the community, kindly draft a release note to provide a concise summary of these changes. Please prioritize highlighting the impact these changes will have on users.

QueryError: Catalog error: database with name main_slt exists"

Seems the sqllogictest version is not bumped? @xxchan

https://github.com/risingwavelabs/risingwave/blob/23d2f81693bca530613dfa45cdef8c15eba92ab9/ci/Dockerfile#L45

Oh, maybe we need to upgrade for sim.

thread '<unnamed>' panicked at /risingwave/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqllogictest-0.17.0/src/runner.rs:1035:18:
create db failed: Error { kind: Db, cause: Some(DbError { severity: "ERROR", parsed_severity: None, code: SqlState(EXX000), message: "QueryError: Catalog error: database with name main_slt exists", detail: None, hint: None, position: None, where_: None, schema: None, table: None, column: None, datatype: None, constraint: None, file: None, line: None, routine: None }) }
stack backtrace:
   0: rust_begin_unwind
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/std/src/panicking.rs:597:5
   1: core::panicking::panic_fmt
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/panicking.rs:72:14
   2: core::result::unwrap_failed
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/result.rs:1653:5
   3: core::result::Result<T,E>::expect
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/result.rs:1034:23
   4: sqllogictest::runner::Runner<D,M>::run_parallel_async::{{closure}}
             at ./.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqllogictest-0.17.0/src/runner.rs:1032:13
   5: risingwave_simulation::slt::run_parallel_slt_task::{{closure}}
             at ./src/tests/simulation/src/slt.rs:237:10
   6: risingwave_simulation::main::{{closure}}::{{closure}}::{{closure}}
             at ./src/tests/simulation/src/main.rs:246:51

It's using 0.17, weird.

Oh, maybe we need to upgrade for sim. It uses lib instead of bin.

Submitted a new PR for sqllogictest-rs: https://github.com/risinglightdb/sqllogictest-rs/pull/198

Why audit keeps failing? 👀


Introduce aws-powertools logger & replace Axios with fetch

A few small changes:

Introduced Logger from aws-lambda-powertools for TS/JS to replace use of console.log
Replace axios with native fetch within tests

@pgrzesik Could you please resolve conflicts that arise after previous PR #15 has been merged?


chore: Import export docs

Thanks for submitting a PR! Please check the boxes below:

[x] I have run pre-commit to check linting
[x] I have added information to docs/ if required so people know about the feature!
[x] I have filled in the "Changes" section below?
[x] I have filled in the "How did you test this code" section below?
[x] I have used a Conventional Commit title for this Pull Request

Changes
Documentation for feature import export came with a reorganization of the existing import export code.
Also, a README addition comes with a quality of life improvement for running this locally.
How did you test this code?
Locally checked documentation looked accurate.

I think we need to add context to the bulk export and flag export as to when you might use either of these features. I'm not clear what the point of the feature export is as much as bulk? Is it for folk with network-isolated environments?

can we use info or tip in place of warn - the warn is scary...

can we use info or tip in place of warn - the warn is scary...

I've changed one of the cautionary flags to tip but the other one I think should stay as a caution because it is scary!

I think we need to add context to the bulk export and flag export as to when you might use either of these features. I'm not clear what the point of the feature export is as much as bulk? Is it for folk with network-isolated environments?

Ok I've added a bit more clarity in the introductory paragraphs of the two documents.


Epic: NSwag v13

Topic: Remove deprecated apis
Tasks/epics:

[ ] Rename everything from Swagger to OpenApi? Also rename JsonSchema4 to JsonSchema?
[ ] Upgrade to NJsonSchema v10

Move NSwag default settings to NJS (see SwaggerToCSharpGeneratorSettings.cs)
https://github.com/RicoSuter/NJsonSchema/pull/806

[ ] Multiple file output: https://github.com/RSuter/NSwag/issues/1398

Assembly loader

[ ] Extension settings via assembly loader: https://github.com/RSuter/NSwag/issues/924

NSwag.AspNetCore

[ ] Remove GeneratorSettings from SwaggerSettings (also T)
[ ] Use* use settings directly instead of Action => discuss this?
[ ] Enable IOptions support (see TODOs)
[ ] Remove NSwag.SwaggerGeneration.WebApi dependency
[ ] Rename property SwaggerRoute / SwaggerUiRoute to DocumentPath and UiPath?

Change default setting of DefaultResponseReferenceTypeNullHandling to NotNull?

See https://github.com/RicoSuter/NSwag/pull/2178

Changes:

Changed default exception name to ApiException (added TypeScript option, changed for CSharp)


No history for SSO Relay Status in history-graph

Thanks for a great integration, works like a charm!
I would like to show a history-graphs ideally a bars for various state sensors but i can't get it to work properly.
I've been mucking around with SSO Relay Status (and SSO Fault Code) with configurations like below.
Seems there is no state history for this sensor, is this expected behaviour?
Am I missing something? Im pretty new to HA.
type: history-graph
entities:
  - entity: sensor.energyhub_14_sso_21020540_relay_status
  - entity: sensor.energyhub_14_sso_21020540_relay_status
  - entity: sensor.energyhub_14_sso_21030452_relay_status
  - entity: sensor.energyhub_14_sso_21030613_relay_status
hours_to_show: 24000
refresh_interval: 1

Thanks again!

Nice find! I think I've actually seen it but not thought much about it. 😊 Will release the fix as soon as the build is successful. Thanks for reporting.

Nice find! I think I've actually seen it but not thought much about it. 😊 Will release the fix as soon as the build is successful. Thanks for reporting.

Great! I think the same goes for most state sensors.
Preferably the state sensors should report string values right? That way HA defaults to bar-style charts. Might be problematic if state codes are unknown though..

That could be true. I'll take a look at the other ones tomorrow then. 😄
Your existing history will still be wrong btw so you might have to wait for the new version to have been running for 24h before it looks nice.

I think all state sensors are covered by this change (at least the ones I have). If you find any that I have missed, please open another issue.


Can it be used in a private local area network ?

Can It be used in local area personal network that has no internet access , just used to share data ?

Please have a look at Zeroconf Peer Advertising and Discovery and also Local Service Discovery. Private Torrents should also be of interest in order to avoid leaking data while connected to the Internet.

Yes, you can use WebTorrent on a private network. But, you'll want to ensure that you do one of the following:
1. Run a local tracker server for finding peers

Run your own tracker instance with bittorrent-tracker
When starting up the tracker, you can decide to enable each type of tracker: UDP, HTTP, WS. I recommend enabling them all.
Pass in the URL of your tracker via the { announce: [ 'http://host:port', 'udp://host:port', 'ws://host:port' ] } option to client.add()

2. Rely on a local-only DHT for finding peers.

Run your own DHT bootstrap server instance with bittorrent-dht
Pass in the URL of your DHT bootstrap server via the { dht: { bootstrap: 'host:port' } } option to the WebTorrent constructor

3. Tracker + DHT

Do both (1) and (2) together.


Artifacts server is down - can not build for Android

Hi @CodeMinion,
http://status.rouninlabs.com/status/poachme shows Degraded status for Artifacts, and thus Android builds are not possible.

Hi @iklochko ,
Thanks for the report. The issue has been resoled and the artifact server is up once more.
Thanks again,


Amend RFC 1242 to specify what “minimal maintenance” means for r-l-deprecated crates

Rendered

If there are currently deprecated crates without maintainers, that situation should be resolved by the crate owner/libs team/community ASAP.

@jethrogb How ? Finding maintainers even for non-deprecated crates is hard. The crate owner in this case would be the rust-lang org, and beyond asking whether someone wants to maintain a particular crate, there is not much that can be done AFAICT.

@gnzlbg I'm not convinced that this is going to be an issue. If someone wants something to change about a crate without a maintainer, they are incentivized to find a maintainer. It could be that same person as well.


Add SDTM examples

SDTM examples will get added later once roak open sourced.

what about linking pharmaversesdtm as well?

@bms63 that one's already mentioned on the home page as used in most examples. for the SDTM examples in particular though they'll need to use raw synthetic data. there is a component the oak team have here that could help that step.

@rammprasad i sent you write access to this repo and you can self-assign yourself or delegate this once sdtm.oak is ready


ZW074 MultiSensor Gen5 motion sensor doesn't reset

Problem/Motivation
The motion sensor of AEON Labs ZW074 MultiSensor Gen5 doesn´t return from "7 - Motion Detected" after first trigger.
When I re-interview the node I get no motion on the sensor but when motion is first detected then it never resets again until I re-Interview again. Refresh values etc. does not fix this.
The sensor was working fine until some weeks ago after an update and I haven't update or changed any configuration on the sensor.
Expected behavior
The motion sensor should reset after 240 secs of no motion.
Actual behavior
The motion sensor never resets.
After a re-interview the motion is not triggered until a "real" motion so the sensor is working correctly. The sensor is powered by mains and has a good link to the controller, all other values (temp, lux, humidity) are updating just fine.
node_43.json.txt

This is not an issue the add-on can solve.
Add-on wrap existing software and you are reporting an issue with the software we wrap in this add-on. Please report this issue with the upstream project. Thanks 👍
../Frenck 🚂


Open source!

AWSTools.jl is now open sourced. I took another pass over this and it LGTM, there have not been any internal changes to it recently so nothing new needs to come in.

Also missing the JuliaNightly.yml, CompatHelper.yml, and TagBot.yml

Did you add these?

Shouldn't CI be running on this branch?

Shouldn't CI be running on this branch?

The CI won't run until bors tells it.

bors try

bors cancel

bors try

bors try-

bors try

@nicoleepp @fchorney is this good to go?

@nicoleepp @fchorney is this good to go?

The CI looks good to me

Yeah I think so, make sure to tag a new GitHub version so packages can switch to this

Yeah I think so, make sure to tag a new GitHub version so packages can switch to this

Pretty sure we want to push all the GL tags up here, instead of tagging.

bors r+

bors r-

bors r+


How to build serenityJS locally to test an improvement?

Hi,
I am working on an extension of the Target class and would like to test it out locally, but I am unable to build SerenityJS locally.
I am running 'npm run verify' from the root folder, but the build fails on 'core' with the message

TSError: ⨯ Unable to compile TypeScript
lerna ERR! execute src\io\attempt_require.ts (3,16): Cannot find name 'require'. (2304)

Tried tons of things, but nothing seems to work. Is there a specific procedure to follow to build SerenityJS locally? Could not find anything in the documentation.
Regards,
Luc Feys

Hi Luc!
Serenity/JS uses Lerna to build all the modules, so, like you say, npm run verify needs to be invoked in the root folder. The main build script is defined here and it runs just that one command.
If the TypeScript compiler complains about the absence of require it could mean that it's somehow unaware of the node type definitions (required here).
I don't see any obvious reason why that would happen but as a sanity check maybe you could check if:

you're using node 6 (node 8 is supported, but node 6 is what Travis CI is configured to use at the moment)
you have no global node modules that could interfere with the serenity-js projects
you execute the npm install in the project root - a postinstal script invokes lerna bootstrap and installs the child modules' dependencies

Could you please let me know what have you tried so far and what results you have observed?
Thanks,
Jan

Hi Jan,
Thank you for the reply.
I tried again from a fresh clone of the repo with a fresh version of node
(so no global dependencies installed), but the same problem occurs.
I am using windows 10.
Here is the output of npm install, beause I think that is where something
goes wrong:
lerna info version 2.0.0
lerna info versioning independent
lerna info Bootstrapping 7 packages
lerna info lifecycle preinstall
lerna WARN EHOIST_PKG_VERSION "@serenity-js/cucumber-2" package depends on
<EMAIL_ADDRESS>which differs from the hoisted @types/
<EMAIL_ADDRESS>lerna WARN EHOIST_PKG_VERSION "@serenity-js/cucumber" package depends on
<EMAIL_ADDRESS>which differs from the hoisted @types/
<EMAIL_ADDRESS>lerna WARN EHOIST_PKG_VERSION "@serenity-js/cucumber-2" package depends on
<EMAIL_ADDRESS>which differs from the hoisted<EMAIL_ADDRESS>lerna WARN EHOIST_PKG_VERSION "@serenity-js/cucumber" package depends on
<EMAIL_ADDRESS>which differs from the hoisted<EMAIL_ADDRESS>lerna WARN EHOIST_PKG_VERSION "@serenity-js/rest" package depends on
<EMAIL_ADDRESS>which differs from the hoisted<EMAIL_ADDRESS>lerna info Installing external dependencies
lerna info hoist Installing hoisted dependencies into root
lerna info hoist Pruning hoisted dependencies
lerna info hoist Finished pruning hoisted dependencies
lerna info hoist Finished installing in root
lerna info Symlinking packages and binaries
lerna info lifecycle postinstall
lerna info lifecycle prepublish
lerna success Bootstrapped 7 packages
[2017-12-29 08:32:16.747] [INFO] ParentBinLinker - Linking dependencies
["@types/chai","@types/chai-as-promised","@types/mocha","@
types/node","@types/sinon","@types/sinon-chai","chai","
chai-as-promised","commitizen","coveralls","cz-lerna-changelog","gh-pages","
gitbook-cli","gitbook-plugin-addcssjs","gitbook-plugin-
advanced-emoji","gitbook-plugin-anchors","gitbook-plugin-editlink","gitbook-
plugin-ga","gitbook-plugin-github","gitbook-plugin-
include-codeblock","gitbook-plugin-rss","gitbook-plugin-
sitemap","gitbook-plugin-styles-less","gitbook-plugin-
youtube","istanbul","istanbul-merge","lerna","lerna-semantic-release","link-
parent-bin","mocha","mocha-testdata","nyc","rimraf","
sinon","sinon-chai","ts-helper","ts-node","tslint","
tslint-microsoft-contrib","typescript"] under children
["core","cucumber","cucumber-2","integration-testing","
mocha","rest","serenity-js"]
added 33 packages, removed 227 packages and updated 6 packages in 107.598s
In the end it mentions 'linking dependencies', but in the node_modules
folders of the packages I only see a '.bin' folder containing scripts.
Anything else I am supposed to see there? Symlinks to dependencies?
Regards,
Luc
On Wed, Dec 27, 2017 at 11:28 PM, Jan Molak<EMAIL_ADDRESS>wrote:

Hi Luc!
Serenity/JS uses Lerna https://github.com/lerna/lerna to build all the
modules, so, like you say, npm run verify needs to be invoked in the root
folder. The main build script
https://github.com/jan-molak/serenity-js/blob/master/.travis.yml is defined
here
https://github.com/jan-molak/serenity-js/blob/master/scripts/travis/script.sh
and it runs just that one command.
If the TypeScript compiler complains about the absence of require
https://nodejs.org/api/modules.html#modules_require it could mean that
it's somehow unaware of the node type definitions
https://www.npmjs.com/package/@types/node (required here
https://github.com/jan-molak/serenity-js/blob/0534bb96044a135361ff7fb321baba0c261b1f23/package.json#L44
).
I don't see any obvious reason why that would happen but as a sanity check
maybe you could check if:

you're using node 6
https://github.com/jan-molak/serenity-js/blob/0534bb96044a135361ff7fb321baba0c261b1f23/package.json#L90
(node 8 is supported, but node 6 is what Travis CI is configured to use
https://github.com/jan-molak/serenity-js/blob/0534bb96044a135361ff7fb321baba0c261b1f23/.travis.yml#L6
at the moment)
you have no global node modules that could interfere with the
serenity-js projects
you execute the npm install in the project root - a postinstal
script invokes lerna bootstrap
https://github.com/jan-molak/serenity-js/blob/0534bb96044a135361ff7fb321baba0c261b1f23/package.json#L38
and installs the child modules' dependencies

Could you please let me know what have you tried so far and what results
you have observed?
Thanks,
Jan
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jan-molak/serenity-js/issues/137#issuecomment-354186953,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB6RqsYC583x1t7ZyrJ2e8u0M9Gv_jZqks5tEsSGgaJpZM4RNoIY
.

Hi Jan,
I was wondering if you had already found some time to look into my pull requests?
I'm looking forward to hear your feedback.
Regards,
Luc

Apologies, Luc, not yet, but it's on my radar. I'll let you know as soon as I can. Sorry for the delay.

Hi Jan,
Think I will be going back to simple Page Objects. Too bad. Serenity looked quite promising to me, but I need to move on with this. People are breathing down my neck. :-)
Good luck with this library or any other projects you might be working on.
Regards,
Luc

Hi @lufecir, sorry, I've been flat out over the last couple of weeks. I'll have more time to review and merge the pull requests this month, so will keep you posted.
One suggestion if you're planning to use page objects - if you keep them small and focused on users' interactions with the system rather than the structure of the system it should be easy to refactor them to follow the screenplay pattern.
Thanks for supporting Serenity/JS!
Jan

Hi @lufecir!
I realise that last time we spoke you had to use Page Objects to deliver your project. I've been focusing on Serenity/JS 2.0, and unfortunately, didn't have enough capacity to support you with your PR.
Serenity/JS 2.0 is now live and with a brand new website where you can find instructions on how to build and test the project locally, should you wish to contribute it the future.
I do sincerely hope that you haven't given up on the framework and will find the time to take the new version for a spin!
Best,
Jan


raidboss: fix broken sync key translation replace

Not sure when this broken, but it does wrong replace in current version for the translation having the text before the arena name ($1), like (cn lang for example):

^^00\|[^|]*\|0839\|[^|]*\|Something will be sealed off.*?\| -> ^^00\|[^|]*\|0839\|[^|]*\|距Something被封锁还有.*?\| (✔)
 00:0839::Something will be sealed off -> 距 00:0839::Something被封锁还有 (✘)
Something will be sealed off -> 距Something被封锁还有 (✔)
00|2022-11-27T21:27:47.4638235+08:00|0839||Something will be sealed off -> 00|2022-11-27T21:27:47.4638235+08:00|0839||距Something被封锁还有 (✔)

This PR add : in the regex for matching the area name in parsed log line to fix this issue, it should affect the triggers/timelines which using parsed log line to sync.

Thanks for the fix and the explanation!


Does not work out of the box with wasm32-unknown-unknown (but there's a workaround)

When using the crate in a project targeting wasm32-unknown-unknown, the following needs to be added to the project's cargo.toml:
instant = { version = "0.1.12", features = ["wasm-bindgen"] }
Otherwise an error described here is logged (in my case to the browser console).

backon doesn't call now() and fastrand already uses instant in wasm32. Can you provide more detailed repro for this issue?

Interesting. I will try to find out why this is happening.

Please feel free to reopen it if you can backon doesn't work on wasm.

Ok, I could narrow it down to the use of tokio::time::sleep. It can be replaced with gloo_timers in wasm32 as far as I can see. I could submit a pull request if you so wish. I would use cfg macros to replace tokio::time::sleep with gloo_timers' sleep functionality if the crate is compiled with target_arch = "wasm32".

Ok, I could narrow it down to the use of tokio::time::sleep. It can be replaced with gloo_timers in wasm32 as far as I can see. I could submit a pull request if you so wish. I would use cfg macros to replace tokio::time::sleep with gloo_timers' sleep functionality if the crate is compiled with target_arch = "wasm32".

Thanks, I also want to remove the hard dependencies of tokio Sleep. Maybe this change can be implemented based on that.


int_scat values should be set to "t" and "f" not TRUE and FALSE

int_scat values should be set to "t" and "f" not TRUE and FALSE
A quick grep in programs did not find where "TRUE" was being set but found it in this latest version of Tauxe 2004:
magic_contribution_16533.txt
This is now caught by the validation so that data file does not pass. Might use this in the demo.

Our list actually contains values that don't work -- "0", "False", "FALSE, "Fail", and "b" all evaluate to True.
One option is that I could leave it flexible within PmagPy and just fix int_scat in upload_magic.  However, since you can now upload multiple MagIC files, it's possible that some people will skip using upload_magic.
For now, I'm trying to change it so that PmagPy (basically Thellier GUI) sets values correctly to "t" or "f" but still accepts other values if found in the file.

I’m guessing that it might not have have replaced the old values in fits you didn’t re-calculate, if scat was calculated previously.  I would try deleting the entire int_scat column, then running Thellier GUI —> save MagIC tables.  Or, I can look at  this (but not until tomorrow, possibly as late as afternoon).

On Dec 11, 2018, at 9:29 PM, njarboe<EMAIL_ADDRESS>wrote:
@moonshoes87 https://github.com/moonshoes87, Do you think your commit fixed it? I just pulled from master and then I created this file using the Tauxe 2014 data file by uploading it into pmag_gui, changing two fits, saving for MagIC. Then I uploaded it to my private workspace as still get this error:
https://user-images.githubusercontent.com/1278789/49848793-b1cbb900-fd8b-11e8-9470-1580e8d829db.png
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/PmagPy/PmagPy/issues/488#issuecomment-446467023, or mute the thread https://github.com/notifications/unsubscribe-auth/ABwGIhLhHPlY0WJrXlycP9k7VsXjHfpnks5u4JQogaJpZM4ZMXEg.

@moonshoes87 Ok. I can change them all to t in the file and then load into pmag_gui. Thanks.


⚠ ClamAV has degraded performance

In 647d504, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 64 ms

Resolved: ClamAV performance has improved in b817682.


FIPS code 00001 in usafacts_infections

The line in usafacts_infections with FIPS code 00001 corresponds to this line in the raw file:
1,New York City Unallocated/Probable,NY
Do you really want it in the processed file?

We keep it so that if later we need to combine it with other NYC counties, the info is still there. It should also be easy to just drop this row if it is not useful.


install instructions and usage example

@bdurand

I'd also prefer to switch the readme to markdown if you agree with that ...


How to allow identifiers with keywords as a prefix?

Here I've produced a pretty simple example which demonstrates my issue:
ident.ohm
Ident {
    ident
        = ~keyword letter+
    keyword
        = "do" | "dont"
}

identTest.js
const ohm = require("ohm-js");
const fs = require("fs");

const grammar = ohm.grammar(fs.readFileSync("./ident.ohm"));

console.log("Does it match?")

const testCases = [
    "do",
    "don",
    "dont",
    "doSomething",
    "daSomething"
];
var name, match;
for (key in testCases) {
    name = testCases[key];
    match = grammar.match(name, "ident").succeeded();
    console.log("\t", name, "-->", match)
}

If you run that test script you get the following:
$ node identTest.js
Does it match?
         do --> false
         don --> false
         dont --> false
         doSomething --> false
         daSomething --> true

So currently both don and doSomething do not match even though I want them to. It's clear intuitively what's needed here (i.e. some requirement that a keyword "end"), but I haven't been able to sort it out. Is there something obvious I'm missing here?
Thanks for any help!

Try using the end built-in rule.
e.g.
Ident {
    ident
        = ~(keyword end) letter+
    keyword
        = "do" | "dont"
}

Thanks a lot that does  seem to fix it! I did need to make one other change though which is to list the keywords in the reverse order. E.g. changing the grammar to the following makes it work for me:
ident.ohm
Ident {
    ident
        = ~(keyword end) letter+
    keyword
        =  "dont" | "do"
}

I guess the issue is that having do first means that it will break out of the implicit case-matching earlier than intended. But for now this does not seem to be an issue for me. Thanks a lot!

@ApproximateIdentity Yes, we should probably have a FAQ about this, but this "earliest match first" behavior is intended, and it's inherent to the way PEG-based parsers (like Ohm) work. You can read more about it here: https://en.wikipedia.org/wiki/Parsing_expression_grammar#Ambiguity_detection_and_influence_of_rule_order_on_language_that_is_matched


Multi-touch support - Pinchable or SqueezableDough()

Multi-touch
This would let you pinch and squeeze the dough from two or more sides, and the dough would droop down out or pile up, away from the forces applied to it, just like real dough.  Currently, attempting to pinch the dough or use multi-touch make the dough warp across the screen.

Sounds useful. This sounds like it should be a feature of the PressableDough widget, instead of its own widget. Do you agree?


Triggers don’t work with the comma trick

To reproduce:

Create a trigger that opens more than one application.
Relaunch Quicksilver
Look at the Triggers preferences

The trigger will have changed to something like “Open /Applications/Address Book.app /Applications/iCal.app” and it won’t do anything. Looks like the string value for the array of objects is being retrieved instead of the actual array of objects.

Was confirming that yesterday.
I think it's pre 61, and was introduced ages ago when Etienne made all the
triggers changes.
Not sure on a fix atm.
On 7 November 2011 14:03, Rob McBroom <
<EMAIL_ADDRESS>
To reproduce:

Create a trigger that opens more than one application.
Relaunch Quicksilver
Look at the Triggers preferences

The trigger will have changed to something like Open
/Applications/Address Book.app /Applications/iCal.app and it wont do
anything. Looks like the string value for the array of objects is being
retrieved instead of the actual array of objects.

Reply to this email directly or view it on GitHub:
https://github.com/quicksilver/Quicksilver/issues/555

This was discussed on the users’ list, but just to document it all together, this also affects encapsulated commands.

Also, to document, here is what gets written when you encapsulate then write to a file:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>command</key>
	<dict>
		<key>class</key>
		<string>QSCommand</string>
		<key>data</key>
		<dict>
			<key>qs.command</key>
			<dict>
				<key>actionID</key>
				<string>FileOpenAction</string>
				<key>directID</key>
				<string>/Applications/Safari.app /Applications/Adium.app</string>
			</dict>
		</dict>
		<key>properties</key>
		<dict>
			<key>QSObjectType</key>
			<string>qs.command</string>
		</dict>
	</dict>
</dict>
</plist>

This is the same command written using B54:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>command</key>
	<dict>
		<key>actionID</key>
		<string>FileOpenAction</string>
		<key>directArchive</key>
		<dict>
			<key>data</key>
			<dict>
				<key>NSFilenamesPboardType</key>
				<array>
					<string>/Applications/Safari.app</string>
					<string>/Applications/Adium.app</string>
				</array>
				<key>qs.process</key>
				<array>
					<dict>
						<key>NSApplicationBundleIdentifier</key>
						<string>com.apple.Safari</string>
						<key>NSApplicationName</key>
						<string>Safari</string>
						<key>NSApplicationPath</key>
						<string>/Applications/Safari.app/Contents/MacOS/Safari</string>
						<key>NSApplicationProcessIdentifier</key>
						<integer>549</integer>
						<key>NSApplicationProcessSerialNumberHigh</key>
						<integer>0</integer>
						<key>NSApplicationProcessSerialNumberLow</key>
						<integer>217141</integer>
					</dict>
					<dict>
						<key>NSApplicationBundleIdentifier</key>
						<string>com.adiumX.adiumX</string>
						<key>NSApplicationName</key>
						<string>Adium</string>
						<key>NSApplicationPath</key>
						<string>/Applications/Adium.app/Contents/MacOS/Adium</string>
						<key>NSApplicationProcessIdentifier</key>
						<integer>714</integer>
						<key>NSApplicationProcessSerialNumberHigh</key>
						<integer>0</integer>
						<key>NSApplicationProcessSerialNumberLow</key>
						<integer>352342</integer>
					</dict>
				</array>
			</dict>
			<key>properties</key>
			<dict>
				<key>QSObjectName</key>
				<string>2 Applications in "Applications"</string>
				<key>QSObjectObjectID</key>
				<string>/Applications/Safari.app /Applications/Adium.app</string>
				<key>QSObjectType</key>
				<string>NSFilenamesPboardType</string>
			</dict>
		</dict>
		<key>directID</key>
		<string>/Applications/Safari.app /Applications/Adium.app</string>
	</dict>
</dict>
</plist>

Neither works to run/activate the applications with B64, but the one created by B54 works if you open it with that version.


Expose MessageHandlerMethodFactory as a bean

As described in INT-4363 both frameworks (SI and SCSt) create an instance of MessageHandlerMethodFactory resulting in InvocableHandleMethod instances created with different set of argumentResolvers which essentially leads to a possibility of different results simply based on how operation is annotated (e.g., @ServiceActivator(inputChannel="input" or @StreamListener("input")). I am currently tracking few cases where it is true.
Allowing MessageHandlerMethodFactory to be a shared infrastructure bean would bring consistency to the above use case while also giving SCSt certain level of control for cases where SI configuration is not in play (i.e., Streaming binders such as KStream, DStream etc). In other words if such bean is declared as @ConditionalOnMissingBean in parent configuration the underlying framework such as SCSt could determine if it can reuse the same instance or override one with its own resulting in consistent set of InvocableHandleMethod and argumentResolvers across all data handling operations.

Just to clarify 'MessageHandlerMethodFactory' is already a bean in SCSt, however in relation to what's described in INT-4363, it has to be either @ConditionalOnMissingBean or our version of it should take precedence over the one in SI to ensure consistent set of 'argumentResolvers' regardless of the handling annotation used.
This issue also implies that we need to use the same version of MessageConverter between SI and SCSt. And in this case our converter should take precedence as well to ensure that Message conversion is consistent between Integration and Streaming binders where SI may not be available.

The related SI JIRA https://jira.spring.io/browse/INT-4363 has been fixed.
See its PR for more information: https://github.com/spring-projects/spring-integration/pull/2285

@artembilan thank you guys!


Docker client version 1.22 is too old

In the code docker client version is hardcoded as 1.22
resp, err := client.Get("http://localhost/v1.22/containers/json")
In fresh Docker I have error "client version 1.22 is too old. Minimum supported API version is 1.24, please upgrade your client to a newer version" so sys-agent can not parse docker response
2024/01/29 20:36:56.955 [WARN]  service request failed: docker docker:///var/run/docker.sock?containers=xxxxxxxxxxx: docker parsing failed: docker docker:///var/run/docker.sock?containers=xxxxxxxxxx: docker ummarshal failed: invalid character 'c' looking for beginning of value
docker version
Client: Docker Engine - Community
 Version:           25.0.1
 API version:       1.44
 Go version:        go1.21.6
 Git commit:        29cf629
 Built:             Tue Jan 23 23:10:32 2024
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          25.0.1
  API version:      1.44 (minimum version 1.24)
  Go version:       go1.21.6
  Git commit:       71fa3ab
  Built:            Tue Jan 23 23:09:31 2024
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.27
  GitCommit:        a1496014c916f9e62104b33d1bb5bd03b0858e59
 runc:
  Version:          1.1.11
  GitCommit:        v1.1.11-0-g4bccb38
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

Maybe needed upgrade docker client version in request from 1.22 to 1.24 or make it configurable (not sure)?
Also maybe is good idea add checking for 404 error in docker request and not try to parse json in case of 404.

It was merged in and released as a part of 1.4.0. Pls check it out and see if all good

Checked — works fine. Thanks!


@Json(naming = Naming.LowerUnderscore) not work

Hello, @Json can't use naming.
Expected normal adapter generation.
Compilation failed The following is the exception information:
java.lang.IllegalArgumentException: No enum constant io.avaje.jsonb.Json.Naming.io.avaje.jsonb.Json.Naming.LowerUnderscore

Pushed up a test that uses LowerUnderscore but it passes - there was no error.
Can you have a look at the test and see if you can see a difference there?

The problem must be with: https://github.com/avaje/avaje-jsonb/blob/main/jsonb-generator/src/main/java/io/avaje/jsonb/generator/NamingConventionReader.java#L22
The string value of io.avaje.jsonb.Json.Naming.io.avaje.jsonb.Json.Naming.LowerUnderscore .. is kind of wrong.
That almost suggests something interesting in the tooling like javac etc. What JDK / javac are you using?
I can probably create a test that simulates that strange string value ...

Fixed in 1.0-RC2 which I have just released.  You should see 1.0-RC2 in maven central in about 15 minutes.
Can you try that 1.0-RC2 version and confirm that it fixes this issue?
Thanks, Rob.

OK, I will try to update the version later.


CLOUDP-93398: Allow to reclaim free space for a cluster

Proposed changes

Jira ticket: CLOUDP-93398

Checklist

[x] I have signed the MongoDB CLA
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have added any necessary documentation (if appropriate)
[x] I have updated e2e/E2E-TESTS.md (if a new command or e2e test has been added)
[x] I have run make fmt and formatted my code

Further comments

waiting for https://github.com/mongodb/go-client-mongodb-ops-manager/pull/114


go1.9beta1: Time.String() format change not mentioned in the release notes

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
$ go1.9beta1 version
go version go1.9beta1 linux/amd64

What operating system and processor architecture are you using (go env)?
$ go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/igottwald/go"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build074936866=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
PKG_CONFIG="pkg-config"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"

What did you do?
fmt.Println(time.Now())

What did you expect to see?
2017-06-16 14:09:27.033492377 +0200 CEST
What did you see instead?
2017-06-16 14:09:27.033492377 +0200 CEST m=+0.000181181
We had some old buggy code, that at some point relied on the fmt.Stringer representation of time.Time which is of course completely our fault and is now replaced by a proper time.Format().
But maybe it should be mentioned in the release notes that the default string representation format of time.Time changes and should generally not be relied on.

This may be too uninteresting to mention at the top of the page in the section dedicated to the new monotonic clock support but we could mention this in the 'minor changes' section.
I sent https://go-review.googlesource.com/c/46011 (if we decide we want to do this).
cc @bradfitz


Implement IndexedDB Storage

Adds support for IndexedDB Storage, although without implementing the traits transaction, alter-table or index. Related to #640. May supersede #705?
Bumping the rust version to at least 1.64 is necessary because of features the idb crate relies on.
Tests can be executed with wasm-pack test --chrome in the storages/indexeddb-storage directory. Presumably they can be executed headlessly as well with wasm-pack test --chrome --headless, but that fails on my machine when trying to execute cargo test --target wasm32-unknown-unknown.
Although the tests pass, I don't think this is ready to be merged. For now, I'm looking for feedback on whether this is the right way to go about it, what needs to be changed, how, and what else I'm missing. I tried to follow the examples of the memory and sled storage.
Left to do

[ ] Fix error handling in IndexeddbStorage::new as well as its documentation. In particular, get rid of panics (devashishdxt/idb/issues/5)
[ ] Fix hacky handling of empty cursor (#devashishdxt/idb/issues/6)
[ ] Add example in pkg/rust/examples/indexeddb_strorage_usage.rs
[ ] Execute tests with GitHub Actions. I'm not sure whether to add it together with wasm-pack to the run_tests job, to gluesql_js_build_and_tests, or to make a new one altogether.
[ ] Abort internal transactions in case of error (devashishdxt/idb/issues/7)

Things I'm unsure about whether they're done appropriately

#![cfg(target_arch = "wasm32")] and other feature flags
The new storage is correctly exposed to users of the crate
Conversion of errors to Error by converting them to strings
Sufficient context available inside Glue when an error in a storage occurs
Id handling*

*There is a potential issue if a database is opened in 2 tabs. An id is used to generate unique keys for new elements while taking table names into account. This id is kept track of in the program's memory, after being loaded when the database is opened. If 2 instances of the database insert new elements simultaneously, that may lead to collisions. It might be better to just have an object inside the database to keep track of this last id. Since all updates require transactions internally anyway, that should be doable without issue.
Limitations

Limited to 2^32 entries across all tables, although that may change if, as described above, a value inside the table is used for key generation. Given the storage group limit of 2GB, I don't suspect that should be a problem anyway.
Also note that attempting to interface with the IndexedDB storage with non-async functions will fail.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

3 of 3 (100.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.09%) to 98.478%

Totals

Change from base Build<PHONE_NUMBER>:
0.09%

Covered Lines:
39597

Relevant Lines:
40209

💛  - Coveralls

Amazing 👍 I've now started reading from indexeddb doc & idb crate to here. it might take a few days to leave review comments. I'll be back here soon. thanks a lot!

Add example in pkg/rust/examples/indexeddb_strorage_usage.rs

indexed db storage is only for js packages so we actually don't need to have examples in pkg/rust.

It's also for rust applications running on wasm. Do we still not need an example then? That's fine by me.

Ah, I got the point, then it makes sense!
Sounds really nice that we can also provide how to use gluesql to build rust applications running on wasm.

resolved in #1067


Move support resources to their own dashboard

The NFS/support bits of the Cluster dashboard don't seem generic to jupyterhub deployments (and pedantically aren't really metrics about the cluster). Maybe move them to a 'support' dashboard? I'm not 100% sure they belong in this repo at all since they seem pretty deployment-specific, but I understand why they're here right now. At least in their own dashboard, they are more easily ignored for deployments where they contain no information.
Motivation: I don't have these, so don't love 2/3 of the Cluster dashboard being a lot of "no data" panels. I expect this would be the case for a majority of deployments.

@minrk I was thinking the same! I was thinking we can optionally deploy https://grafana.com/grafana/dashboards/9614, and something similar for prometheus. I do want to make sure we have options for NFS monitoring though. But let's start by splitting it off?

We can use https://grafana.com/grafana/dashboards/3662 for prometheus.

Yeah, first step to just take the exact same info into its own dashboard makes sense to me.


add removeAnnotation method

Adds removeAnnotation method.

Annotation indices are kind of pointless now because after you delete an annotation, the indices of all the annotations after it immediately change. So the client code has to maintain its own parallel array of annotations just to keep track of them.


Add Animations to the Website

Add Animations to the Website !
Issue No = #77

@Jagroop2001 Please review this PR !!

@Jagroop2001 Please check this PR !


robot_body_filter: 1.1.9-1 in 'noetic/distribution.yaml' [bloom]

Increasing version of package(s) in repository robot_body_filter to 1.1.9-1:

upstream repository: https://github.com/peci1/robot_body_filter
release repository: https://github.com/peci1/robot_body_filter-release.git
distro file: noetic/distribution.yaml
bloom version: 0.10.7
previous version for package: 1.1.8-3

robot_body_filter
* Compatibility with Noetic.
* Contributors: Martin Pecka

The previous release in https://github.com/ros/rosdistro/pull/29110 failed to build because of a duality in installation of FCL on Noetic (0.5 from Ubuntu and 0.6 from ROS). I fixed this and hope now CI will be happy.


Missing weapons, artifacts and characters

Thoma is not detected correctly. There are missing weapons and artifacts. Also, it seems to have some kind of issue with my username.

Can confirm similar issues on my end (latest build)

This is a very old issue and has been fixed by the latest release or prerelease so I am going to close it. Please reopen this issue if the problem persists.


Change repository link to https

Please change the repository link also to https (can't send a PR for that ;))

done


New Help Topic -- Global Confidence

Is your feature request related to a problem? Please describe.
Global Confidence is not a searchable term in the help documentation.  Global Confidence is explained on the Global Intelligence for Security Insights page.  In CSE, the term Global Confidence is used.
Describe the solution you'd like:
Have "global confidence" as a search term that directs to this page -- https://help.sumologic.com/docs/cse/records-signals-entities-insights/global-intelligence-security-insights/.
Describe alternatives you have considered:
n/a
Additional info:
n/a

All set, @kostuch-sumologic . Thank you for letting us know! I've pinned some additional related docs after the one you called out.


Сorrect config for remote nextjs typescript

My remote nextjs config with typescript^
`

"next": "13.1.6",
"react": "18.2.0",
"react-dom": "18.2.0",`

const { FederatedTypesPlugin } = require("@module-federation/typescript");
const NextFederationPlugin = require("@module-federation/nextjs-mf");

const federationConfig = {
  name: "remote",
  filename: `static/chunks/remoteEntry.js`,
  exposes: {
    "./Button": "./components/Button/Button",
    "./Nav": "./components/Nav",
    "./AboutPage": "./pages/about",
  },
};

module.exports = {
  reactStrictMode: true,
  webpack: (config, { buildId, dev, isServer, defaultLoaders, webpack }) => {
    config.plugins.push(
      new NextFederationPlugin(federationConfig),
      new FederatedTypesPlugin({ federationConfig })
    );

    return config;
  },
};

In @module-federation/typescript docs says what The Module Federation plugin is required to be registered separately from this plugin., so I define two NextFederationPlugin and FederatedTypesPlugin, but have some error

One by one, each of the plugins work is beautiful. But i need their simultaneous operation for remote app.
Please help me!

Can you try using the native-federation-typescript plugin?

It didn`t help

It is my environment problem. Its run on windows/vs code Probably its Windows OS problem. on Mac/vs code that ok!.


To regenerate Documenter docs. No new release.

Codecov Report

Merging #184 (e92d530) into master (0aa5f98) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #184   +/-   ##
=======================================
  Coverage   93.63%   93.63%
=======================================
  Files           6        6
  Lines         424      424
=======================================
  Hits          397      397
  Misses         27       27

Impacted Files
Coverage Δ

src/convention/scitype.jl
93.18% <ø> (ø)

Continue to review full report at Codecov.

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


Fix Flutter 3.0 warnings

Close #9

Thanks for the attempt, but I can't accept pull-requests to this project as of now.

This breaks the compatibility with 2.x.x Flutter versions.
For a package, this fix is not reliable. A better & expected workaround is given by the Flutter Team at https://docs.flutter.dev/development/tools/sdk/release-notes/release-notes-3.0.0#your-code.

I have strictly licensed this project to GPL-3.0 & want to be sole owner of the code for the moment.
The project is still a research, a number of warnings are present in the README.
I will consider licensing it permissively in future. For now, limiting the usage & keeping it copy-left.

@alexmercerind Then what about this:
https://github.com/mobxjs/mobx.dart/blob/635c88cfac203a4ad9b5110f1340236b4163043d/flutter_mobx/lib/src/observer_widget_mixin.dart
/// This allows a value of type T or T?
/// to be treated as a value of type T?.
///
/// We use this so that APIs that have become
/// non-nullable can still be used with `!` and `?`
/// to support older versions of the API as well.
T? _ambiguate<T>(T? value) => value;

_ambiguate(WidgetsBinding.instance)!. addPostFrameCallback(...);

@alexmercerind I agree with that fix.
Hoping it could be fixed soon since it shows warning on every hot reload :(


java.lang.NullPointerException: Attempt to invoke virtual method 'void io.flutter.plugin.editing.TextInputPlugin.onProvideAutofillVirtualStructure(android.view.ViewStructure, int)' on a null object reference

Steps to reproduce
1、update flutter version from 3.3.9 to 3.16.9
2、Open the phone settings and turn on the application password book function
3、create a viewpage fragment, one is native fragment and has edit, other is flutter fragment and init
then,
When you click on the edit box of the native fragment, it will inevitably collapse and appear.
Expected results
click normal
Actual results
java.lang.NullPointerException: Attempt to invoke virtual method 'void io.flutter.plugin.editing.TextInputPlugin.onProvideAutofillVirtualStructure(android.view.ViewStructure, int)' on a null object reference
at io.flutter.embedding.android.FlutterView.onProvideAutofillVirtualStructure(FlutterView.java:1525)
at android.view.View.dispatchProvideStructure(View.java:10364)
at android.view.View.dispatchProvideAutofillStructure(View.java:10356)
at android.view.ViewGroup.dispatchProvideAutofillStructure(ViewGroup.java:3708)
at android.view.ViewGroup.dispatchProvideAutofillStructure(ViewGroup.java:3728)
at android.view.ViewGroup.dispatchProvideAutofillStructure(ViewGroup.java:3728)
at android.app.assist.AssistStructure$WindowNode.<init>(AssistStructure.java:527)
at android.app.assist.AssistStructure.<init>(AssistStructure.java:2345)
at android.app.ActivityThread.handleRequestAssistContextExtras(ActivityThread.java:4101)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2427)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:240)
at android.os.Looper.loop(Looper.java:351)
at android.app.ActivityThread.main(ActivityThread.java:8423)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:584)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1013)

Code sample
Code sample
        fragmentList = new ArrayList<>();
        nativeFragment = new NativeFragment();

        addFragmentThenHide(R.id.fragment_stub, nativeFragment, "tab_" + 0);

        mesFragment = new MsgFlutterFragment
                .CachedEngineFragmentBuilder(MsgFlutterFragment.class)
                .url("tab_message")
                .build();

        addFragmentThenHide(R.id.fragment_stub, mesFragment, "tab_" + 2);

        friendFragment = new FriendFlutterFragment
                .CachedEngineFragmentBuilder(FriendFlutterFragment.class)
                .url("tab_friend")
                .build();

Screenshots or Video

Screenshots / Video demonstration
mtp_test_demo.zip

Logs
Logs
java.lang.NullPointerException: Attempt to invoke virtual method 'void io.flutter.plugin.editing.TextInputPlugin.onProvideAutofillVirtualStructure(android.view.ViewStructure, int)' on a null object reference
at io.flutter.embedding.android.FlutterView.onProvideAutofillVirtualStructure(FlutterView.java:1525)
at android.view.View.dispatchProvideStructure(View.java:10364)
at android.view.View.dispatchProvideAutofillStructure(View.java:10356)
at android.view.ViewGroup.dispatchProvideAutofillStructure(ViewGroup.java:3708)
at android.view.ViewGroup.dispatchProvideAutofillStructure(ViewGroup.java:3728)
at android.view.ViewGroup.dispatchProvideAutofillStructure(ViewGroup.java:3728)
at android.app.assist.AssistStructure$WindowNode.<init>(AssistStructure.java:527)
at android.app.assist.AssistStructure.<init>(AssistStructure.java:2345)
at android.app.ActivityThread.handleRequestAssistContextExtras(ActivityThread.java:4101)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2427)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:240)
at android.os.Looper.loop(Looper.java:351)
at android.app.ActivityThread.main(ActivityThread.java:8423)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:584)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1013)

Flutter Doctor output
Doctor output
[Paste your output here]

FlutterView  method：
public void onProvideAutofillVirtualStructure(@NonNull ViewStructure structure, int flags) {
super.onProvideAutofillVirtualStructure(structure, flags);
this.textInputPlugin.onProvideAutofillVirtualStructure(structure, flags);
}
This method adds try-catch, which can be added, but it is difficult and there is no other way to deal with this problem.

Hi @marchlqq

Open the phone settings and turn on the application password book function

What is passwork book function? Which Android device are you using? (OS, model)
Also, the goal of this Github repo is not to assist in personal code or the whole package/plugin project but to improve Flutter framework reporting bugs or feature requests. Your sample code (mtp_test_demo.zip) is a package project that contains the complex implementation and also uses 3rd packages.
For the issue to be workable, it needs to be reproducible with a completed and minimal reproducible code sample that doesn’t include 3rd party plugins or complex production code. Please provide such a sample and please provide output of flutter doctor -v as well.

hi @huycozy
1、演示视频
2、Mobile phone: pad or folding screen mobile phone

Current demo：
mtp_test_demo.zip
A complete and minimal reproducible code example is not available yet.

Please try to provide a minimal sample code so that we can look into it easier. Thanks!

Please try to provide a minimal sample code so that we can look into it easier. Thanks!

The problem occurs when:
public void onProvideAutofillVirtualStructure(@nonnull ViewStructure structure, int flags) {
super.onProvideAutofillVirtualStructure(structure, flags);
this.textInputPlugin.onProvideAutofillVirtualStructure(structure, flags);
}

I clicked on the initial interface and the input method popped up, but because the system password book function was turned on, a rough code was run, but the textInputPlugin was not initialized, so it crashed.
I want to add try-catch to this method body.

To help us look at the issue more easily, please narrow the issue down by removing the usage of 3rd party plugins/packages one by one, unrelated/unaffected code, and isolating the issue into a minimal sample code. And please share it here when you have such an example. Thanks!


Move from Travis CI to GitHub Actions CI

cc: @ablaom @tlienart

Codecov Report

Merging #74 (57ea96e) into master (8469bd9) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #74   +/-   ##
=======================================
  Coverage   99.04%   99.04%
=======================================
  Files           9        9
  Lines         209      209
=======================================
  Hits          207      207
  Misses          2        2

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 8469bd9...57ea96e. Read the comment docs.

@ablaom @tlienart This is ready to merge.


base/counter_offer_id not ingested when buy offer not exist (synthetic)

What version are you using?
release-horizon-v2.9.0 branch
What did you do?
Run verify-range tests for range: [13494463, 13494591].
What did you expect to see?
No diff when comparing to 2.8.3 (DB dump contains offer_id column removed in 2.9.0 - I manually removed it, will add a PR tomorrow).
What did you see instead?
Diff:
1,2c1,2
<<PHONE_NUMBER>0647169,0,2017-09-14 22:50:10,12536407,10000000,121914,4669644484668035073,GB7JKG66CJN3ACX5DX43FOZTTSOI7GZUP547I3BSXIJVUX3NRYUXHE6W,GC6APVH2HCFB7QLSTG3U55IYSW7ZRNSCTOZZYZJCNHWX2FONCNJNULYN,native,,,credit_alphanum4,JPY,GBVAOIACNSB7OVUXJYC5UE2D4YK2F7A24T7EE5YOMN4CE6GCHUTOUQXM
<<PHONE_NUMBER>5614465,0,2017-09-14 22:50:18,74221311,5000000,121685,4669644488963002369,GDDNNC4SIEDN64YKJWN5VJH3OFMV4R3RWXRPT25BDR3T2HQWZMOWD6QJ,GB7JKG66CJN3ACX5DX43FOZTTSOI7GZUP547I3BSXIJVUX3NRYUXHE6W,credit_alphanum4,XRP,GA7FCCMTTSUIC37PODEL6EOOSPDRILP6OQI5FWCWDDVDBLJV72W6RINZ,native,,
---
><PHONE_NUMBER>0647169,0,2017-09-14 22:50:10,12536407,10000000,121914,,GB7JKG66CJN3ACX5DX43FOZTTSOI7GZUP547I3BSXIJVUX3NRYUXHE6W,GC6APVH2HCFB7QLSTG3U55IYSW7ZRNSCTOZZYZJCNHWX2FONCNJNULYN,native,,,credit_alphanum4,JPY,GBVAOIACNSB7OVUXJYC5UE2D4YK2F7A24T7EE5YOMN4CE6GCHUTOUQXM
><PHONE_NUMBER>5614465,0,2017-09-14 22:50:18,74221311,5000000,121685,,GDDNNC4SIEDN64YKJWN5VJH3OFMV4R3RWXRPT25BDR3T2HQWZMOWD6QJ,GB7JKG66CJN3ACX5DX43FOZTTSOI7GZUP547I3BSXIJVUX3NRYUXHE6W,credit_alphanum4,XRP,GA7FCCMTTSUIC37PODEL6EOOSPDRILP6OQI5FWCWDDVDBLJV72W6RINZ,native,,

The missing field is base_offer_id or counter_offer_id. I think the bug (if it is a bug or me missing something) was introduced in https://github.com/stellar/go/pull/3857 which removed synthetic offer ID. The new code is missing the else branch:
https://github.com/stellar/go/blob/e55e42a98f197e3d5313b605a1d5a01dad42f41b/services/horizon/internal/ingest/processors/trades_processor.go#L292-L294
present in the old code:
https://github.com/stellar/go/blob/e6f322c047c5642cd92075f1f508b5ec0c26d5b0/services/horizon/internal/db2/history/trade_batch_insert_builder.go#L65-L69
@tamirms can you check it out? Was it removed accidentally? I can't see any AMM issue mentioning removal of synthetic offer IDs.

@bartekn I allowed base_offer_id and counter_offer_id to be NULL when there is no offer involved in the trade (e.g. liquidity pool trades). What is the purpose of having synthetic offer ids?

Shouldn't we have this still for non-LP trades? AFAIR, synthetic offer IDs are there for offers which are immediately traded so aren't assigned a specific ID.

Synthetic offer IDs were added in #667 and motivation was:

This should allow easier audit trails for offers and trades. When offer ids are not created in the protocol level (fully consumed offers and path payments) a synthetic offer id will be created (...).


Copy Number Report

Hi,
Could you tell me how to recreate this report:
https://igv.org/web/release/2.13.9/examples/copyNumber.html
from the igv.js repository with this cli tool?
I believe it only takes as input 1 file:
URL: https://s3.amazonaws.com/igv.org.demo/GBM-TP.seg.gz
Thanks

I'm confused by your question,  that is not an "igv-report" its an example of embedding "igv.js", a separate project.   See https://github.com/igvteam/igv.js.
igv-reports do not support "seq" copy number files.

Any chance it will anytime soon?

Not without some compelling use case.


Does not shutdown cleanly on SIGINT (cmd+c)

It seems that when using scrapy-playwright Scrapy will not shut down cleanly on SIGINT (cmd+c), and you have to force a shutdown with a second cmd+c. If you use the telnet client to run engine.stop() it does seem to be shutting down cleanly. This is needed in order to save the current state for resuming, an unclean shutdown does not save the current state and cannot be resumed. It stops scraping but continues to log its stats every minute.
On some investigation Playwright has a launch arg handle_sigint which I believe indicates to forward a SIGINT to the browser process. I thought it may have been this forwarding of the SIGINT that was causing the hang in the handling of shutdown. When I set this to false (it defaults to true) with PLAYWRIGHT_LAUNCH_OPTIONS it still doesn't shutdown cleanly, however all chromium processes are stoped but Scrapy does not shut down and there are no errors, even during a forced shutdown. It just continues to report its stats every minute showing 0 more pages scraped.
I'm happy to continue investigating how to fix this but would appreciate any pointers in the right direction as to where the issue may be arising.
Edit:
Just want to add I am confident that what is happening is that the SIGINT is still passed on to the browser. With engine.stop() via telnet I see a very graceful shut down (up to a couple of minutes long) with pages currently being processed in my parse call-backs all finishing. SIGINT/cmd+c just immediately kills the browser processes.

So to answer my own question, I have solved it.
This is a problem upstream with Playwright, currently there isn't a way to prevent a sigint being passed down to playwright. handle_sigint=False stops playwright from detecting the sigint and doing some of its own handling, that probably wants turning of when used with Scrapy, I have set it false.
The other thing I have done is monkey patch playwright to stop passing down the sigint:
# Monkeypatch Playwright
from playwright._impl._transport import PipeTransport, _get_stderr_fileno

def new_pipe_transport_connect_preexec(): # Don't forward signals.
    os.setpgrp()

async def new_pipe_transport_connect(self):
    self._stopped_future: asyncio.Future = asyncio.Future()
    # Hide the command-line window on Windows when using Pythonw.exe
    creationflags = 0
    if sys.platform == "win32" and sys.stdout is None:
        creationflags = subprocess.CREATE_NO_WINDOW

    try:
        # For pyinstaller
        env = os.environ.copy()
        if getattr(sys, "frozen", False):
            env.setdefault("PLAYWRIGHT_BROWSERS_PATH", "0")

        self._proc = await asyncio.create_subprocess_exec(
            str(self._driver_executable),
            "run-driver",
            stdin=asyncio.subprocess.PIPE,
            stdout=asyncio.subprocess.PIPE,
            stderr=_get_stderr_fileno(),
            limit=32768,
            creationflags=creationflags,
            env=env,
            preexec_fn=new_pipe_transport_connect_preexec,  # My new line!!
        )
    except Exception as exc:
        self.on_error_future.set_exception(exc)
        raise exc

    self._output = self._proc.stdin

PipeTransport.connect = new_pipe_transport_connect

This is inspired by https://stackoverflow.com/a/5446982/18244376 and only worked on Posix.
Going to file a bug with Playwright asking for an api to enable this.

Thank you for the research and for opening the upstream feature request, let's wait and see what they suggest.


name 'xrange' is not defined

Traceback (most recent call last):
File "", line 1, in
runfile('/home/jiang/FastMaskRCNN/train/train.py', wdir='/home/jiang/FastMaskRCNN/train')
File "/home/jiang/anaconda3/envs/flappbird/lib/python3.6/site-packages/spyder_kernels/customize/spydercustomize.py", line 678, in runfile
execfile(filename, namespace)
File "/home/jiang/anaconda3/envs/flappbird/lib/python3.6/site-packages/spyder_kernels/customize/spydercustomize.py", line 106, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "/home/jiang/FastMaskRCNN/train/train.py", line 338, in
train()
File "/home/jiang/FastMaskRCNN/train/train.py", line 270, in train
[input_image] + [final_box] + [final_cls] + [final_prob] + [final_gt_cls] + [gt] + [tmp_0] + [tmp_1] + [tmp_2] + [tmp_3] + [tmp_4])
File "/home/jiang/anaconda3/envs/flappbird/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 895, in run
run_metadata_ptr)
File "/home/jiang/anaconda3/envs/flappbird/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1124, in _run
feed_dict_tensor, options, run_metadata)
File "/home/jiang/anaconda3/envs/flappbird/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1321, in _do_run
options, run_metadata)
File "/home/jiang/anaconda3/envs/flappbird/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1340, in _do_call
raise type(e)(node_def, op, message)
UnknownError: NameError: name 'xrange' is not defined
[[Node: pyramid_1/GenAnchors/PyFunc = PyFunc[Tin=[DT_INT32, DT_INT32, DT_INT32, DT_INT32], Tout=[DT_DOUBLE], token="pyfunc_0", _device="/job:localhost/replica:0/task:0/cpu:0"](pyramid_1/strided_slice, pyramid_1/strided_slice_1, pyramid_1/GenAnchors/PyFunc/input_2, pyramid_1/GenAnchors/PyFunc/input_3)]]

If you are using python 3.x, just change 'xrange' to 'range'. it works.


[Bug]: having issues converting opencv mat to iplimage

What Operating System(s) are you seeing this problem on?
Linux (x86-64)
dlib version
19.24
Python version
No response
Compiler
g++ gnu 11
Expected Behavior
I wish to  use opencv to read frames using a webcam
and then proess them using DLIB
Current Behavior
I am trying to run the below code:
#include <dlib/gui_widgets.h>
#include <dlib/image_processing.h>
#include <dlib/image_processing/frontal_face_detector.h>
#include <dlib/image_processing/render_face_detections.h>
#include <dlib/opencv.h>
#include <opencv2/highgui/highgui.hpp>

using namespace dlib;
using namespace std;

int main() {
  try {
    cv::VideoCapture cap(0);
    if (!cap.isOpened()) {
      cerr << "Unable to connect to camera" << endl;
      return 1;
    }

    image_window win;

    // Load face detection and pose estimation models.
    frontal_face_detector detector = get_frontal_face_detector();
    shape_predictor pose_model;
    deserialize("shape_predictor_68_face_landmarks.dat") >> pose_model;

    // Grab and process frames until the main window is closed by the user.
    while (!win.is_closed()) {
      // Grab a frame
      cv::Mat frame;
      if (!cap.read(frame)) {
        break;
      }
      // Turn OpenCV's Mat into something dlib can deal with.  Note that this
      // just wraps the Mat object, it doesn't copy anything.  So cimg is only
      // valid as long as frame is valid.  Also don't do anything to frame that
      // would cause it to reallocate the memory which stores the image as that
      // will make cimg contain dangling pointers.  This basically means you
      // shouldn't modify frame while using cimg.

      // dlib::array2d<bgr_pixel> cimg;
      // dlib::assign_image(cimg, dlib::cv_image<bgr_pixel>(frame));
      cv_image<bgr_pixel> cimg(frame);

      // Detect faces
      std::vector<rectangle> faces = detector(cimg);
      // Find the pose of each face.
      std::vector<full_object_detection> shapes;
      for (unsigned long i = 0; i < faces.size(); ++i)
        shapes.push_back(pose_model(cimg, faces[i]));

      // Display it all on the screen
      win.clear_overlay();
      win.set_image(cimg);
      win.add_overlay(render_face_detections(shapes));
    }
  } catch (serialization_error &e) {
    cout << "You need dlib's default face landmarking model file to run this "
            "example."
         << endl;
    cout << "You can get it from the following URL: " << endl;
    cout << "   http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2"
         << endl;
    cout << endl << e.what() << endl;
  } catch (exception &e) {
    cout << e.what() << endl;
  }
}

but I am getting this error

root@raspberrypi:~/emotion-check# nvim Makefile
root@raspberrypi:~/emotion-check# make
g++ -std=c++11 `pkg-config --cflags opencv4 dlib-1` -c main.cpp -o main.o
In file included from /usr/local/include/dlib/opencv.h:10,
                 from main.cpp:7:
/usr/local/include/dlib/opencv/cv_image.h: In instantiation of ‘dlib::cv_image<pixel_type>::cv_image(cv::Mat) [with pixel_type = dlib::bgr_pixel]’:
main.cpp:42:49:   required from here
/usr/local/include/dlib/opencv/cv_image.h:37:29: error: conversion from ‘const cv::Mat’ to non-scalar type ‘IplImage’ requested
   37 |             IplImage temp = img;
      |                             ^~~
make: *** [Makefile:106: main.o] Error 1

Steps to Reproduce
you can use the below makefile:
# Compiler and flags
CXX = g++
CXXFLAGS = -std=c++11  `pkg-config --cflags opencv4 dlib-1`
LDFLAGS = `pkg-config --libs opencv4 dlib-1`

# Target executable
TARGET = face_landmark_detection

# Source files
SRCS = try1.cpp

# Object files
OBJS = $(SRCS:.cpp=.o)

# Default target
all: $(TARGET)

# Rule to link the target executable
$(TARGET): $(OBJS)
	$(CXX) $(OBJS) -o $@ $(LDFLAGS)

# Rule to compile source files into object files
%.o: %.cpp
	$(CXX) $(CXXFLAGS) -c $< -o $@

# Rule to clean up generated files
clean:
	rm -f $(OBJS) $(TARGET)

.PHONY: all clean

Anything else?
It might be possible that my way of compiling or the code written is wrong
if so please help me out

What version of opencv are you using?
Your build errors also don't match your makefile.  E.g. the build errors talk about main.cpp, but the makefile doesn't.  So something doesn't add up.  Maybe that's part of what's going on.


FRONTEND WITH FRAMEWORK: VueJS-8.4 => Implementation of State Management using Vuex (states, getters, actions, mutations and modules)

Description
Contributors are required to explain about Implementation of State Management using Vuex (states, getters, actions, mutations and modules) in VueJs, which should cover questions like:-
How does this work?
How to implement this with code (also give theory explanation of code)?
You can take 2-3 examples with codes of different types to explain this.
etc....
Note:
Plagiarism is strictly prohibited.
Changes should be made inside the Frontend_Web_Development_React_Angular_Vue/ dir inside Frontend_Web_Development_React_Angular_Vue branch.
Files need to be added into the Week8 folder only.
Domain
Frontend Dev React/Angular/Vue
Type of Contribution
Documentation
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

/assign


Should gpio.close() be called gpio.release() instead?

It seems more like an acquire/release pattern to me, which also fits with your comments in the code samples

Could be board.gpio.acquire(...) as well

open() and close() are consistent across different APIs, and clear about what they mean.

but you don't use open in all places... ie board.gpio(...) (at least according to docs)


[CAMEL-9921] Use default EL init with fallback to Glassfish impl

closing, breaks the karaf test

reopen PR with verified fix for karaf & wildfly


[FEATURE] : Auto Create ALTER TABLE scripts when an existing table adds column to existing SQL Script.

Is your feature request related to a problem? Please describe.
No. But coming from SQL Server world of Dacpac or deploy script creation where we maintain a Single TABLE file for all table where we just add a new column or index and dotnet used to take care of creating a diff script which only contains the new changes.
Describe the solution you'd like
Like

Here when i add CanAccessSalesDashboard column grate should automatically create ALTER TABLE script appneded to single deploy script which we can run on a table.
Additional context
Major Advantage with this approach is Single Schema file for their respective tables and Single Deploy script which can be generated for deploy.
Happy to discard the idea if this feature is too much of a ask here.

My thoughts on this is that Grate is a tool to make sure we can deploy the sql scripts we make in a way that we can replicate on a new platform and perform the same way every time.
Grate is not a tool to figure out a way to change your tables/database that they leave up to you and you need to keep the changes in different files. This might be confusing in the beginning but looking for a change in the database its a lot easier when you have all the changes in different files then if you have you just have what the database looks like now in the repository.
There is a tool flyway that you can use that will let you develop in a state based manner like you do with dacpac but it will then create migration based scripts. The tool exists both as opensource and as a paid version from RedGate. I can't remember if you get the create migration script functionality with the opensource version.
The biggest problem I see with having tools decide how you should migrate a database/table when you make changes to the schema is that it might break things regarding the data depending on how they do it, so you might end up with dataloss.
We had this problem with dacpac that we had to do a lot of manualy work anyway to be able to deploy the dacpac to keep the data safe. This was the reason we moved to Grate. This way when we have do changes to the schema and it will impact the data in the database/table we have to handle it in the change script.
So even if I like the idea I think its out of the scope of Grate in is current form.

Thanks for the insights closing this.we use sqlpackage to deploy dacpac which lets you stop the data loss with /p:BlockOnPossibleDataLoss=false.


Rails 6

Any plans to make this work in Rails 6?
Right now it won't install the gem because it says it's not compatible with Rails 6.

I haven't had a chance to try this with Rails 6 yet. If you'd like, you can try easing the runtime dependencies in the .gemspec and see if you can get it to work with your project.

Thanks. I didn't need it after all. I just got dynamic select menus to work pretty easily without a gem. :)

Yeah, it's not too terrible. The gem is just a convenience thing.

Matt,
I am not sure why I am getting your emails.  Am I on your GitHub account or
something.
On Tue, Nov 3, 2020, 4:55 PM Matt Antonelli<EMAIL_ADDRESS>wrote:

Closed #17 https://github.com/mattantonelli/dynamic_selectable/issues/17
.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/mattantonelli/dynamic_selectable/issues/17#event-3954948562,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACDANTCBMPWA63FNHRVQYIDSOB33XANCNFSM4TJBQRXA
.

You have the repo set to Watch ;)


MetricLogger can't cast tensors to other devices.

  File "~/thunder/thunder/callbacks/metric_logger.py", line 192, in evaluate_epoch
    predictions, targets = map(np.asarray, zip(*all_predictions))
    ^^^^^^^^^^^^^^^^^^^^
  File "~/miniconda3/envs/3.11/lib/python3.11/site-packages/torch/_tensor.py", line 970, in __array__
    return self.numpy()
           ^^^^^^^^^^^^
TypeError: can't convert cuda:0 device type tensor to numpy. Use Tensor.cpu() to copy the tensor to host memory first.

it's up to user on what device they want metrics to be calculated


DisplayServer incorrectly setting display mode

Godot version
v4.1.stable.official
System information
Windows 10, RX 6700 XT
Issue description
Example Code:
func _pressed() -> void:
	print('Window Mode before: ', DisplayServer.window_get_mode())

	if DisplayServer.window_get_mode() == 2:
		DisplayServer.window_set_mode(0)
		print('Setting to 0')
	else:
		DisplayServer.window_set_mode(2)
		print('Setting to 2')

	print('Window Mode after: ', DisplayServer.window_get_mode())

Output after pressing the button 2 times:
Window Mode before: 0
Setting to 2
Window Mode after: 3
Window Mode before: 3
Setting to 2
Window Mode after: 3

The graphics driver has crashed once during my testing.
Steps to reproduce
See Issue Description
Minimal reproduction project
Any

Cc @bruvzg

Any news on this? Were there any related PR's or commits that could fix this in 4.2?

I have found more weird behaviour recently;
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_EXCLUSIVE_FULLSCREEN) -> Screen FPS get capped to 60, Alt+Tab, Win+Tab and Windows Start Menu not showing (App is rendering above?)
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN) -> 1px grey border around app

Edit: The screen capped to 60hz issue in ex. fullscreen seems to only happen when "G-SYNC Compatible FreeSync Premium" is enabled on my monitor. I only noticed this in Godot so I'm not sure if this is my screen, graphics driver or godot's fault..

By default, VRR is only effective in fullscreen applications. You can choose it to be effective in windowed applications as well in the Windows settings.

I thought FreeSync wasn't supposed to reduce the FPS the screen is displaying tho?
I never noticed any other app or game with this issue so I cant say for sure but I do always play games in fullscreen, or exclusive fullscreen move if available.

Do you have V-Sync enabled? What's your usual display refresh rate?

VSync was on, I also tried with it off but no difference. My screen has 144 hz and opening its control panel while running said project in exclusive fullscreen shows that its only displaying 66 fps (this isnt half of 144 which I also dont understand).
The godot game i was running had pretty much nothing in it, even using the mobile renderer which is lighter in simple scenes than vulkan

Whoops, I had Low Processor Mode enabled from earlier testing which caused this. Somehow that made my screen adjust to a weird different frame rate other than its native which was around the area of 55 - 70. Not sure if anything can be done about this, the chance that someone has to use exclusive fullscreen with Low Processor Mode on purpose is also pretty much near zero lol.
While testing, I think that I found a completely different issue as well; Engine.get_frames_per_second() is returning 144 in my case, even tho an external FPS overlay is showing it sitting at 1 FPS while having Low Processor Mode enabled, which is what I was expecting from get_frames_per_second() as well, is this expected behaviour?

Whoops, I had Low Processor Mode enabled from earlier testing which caused this. Somehow that made my screen adjust to a weird different frame rate other than its native which was around the area of 55 - 70. Not sure if anything can be done about this, the chance that someone has to use exclusive fullscreen with Low Processor Mode on purpose is also pretty much near zero lol.

This is a known issue: https://github.com/godotengine/godot/issues/38219

While testing, I think that I found a completely different issue as well; Engine.get_frames_per_second() is returning 144 in my case, even tho an external FPS overlay is showing it sitting at 1 FPS while having Low Processor Mode enabled, which is what I was expecting from get_frames_per_second() as well, is this expected behaviour?

Yes, Godot's FPS counter doesn't display a reduced value when fewer frames are being rendered when no redrawing is required. This is sometimes desired as the application is not dropping frames in a "performance" issue sense, so I think it's best to keep the behavior this way. This could be better documented though, so leaving this open as a documentation issue.

@Calinou Should I edit the issue description to match this?

While testing, I think that I found a completely different issue as well; Engine.get_frames_per_second() is returning 144 in my case, even tho an external FPS overlay is showing it sitting at 1 FPS while having Low Processor Mode enabled, which is what I was expecting from get_frames_per_second() as well, is this expected behaviour?

Yes, Godot's FPS counter doesn't display a reduced value when fewer frames are being rendered when no redrawing is required. This is sometimes desired as the application is not dropping frames in a "performance" issue sense, so I think it's best to keep the behavior this way. This could be better documented though, so leaving this open as a documentation issue.

That kinda makes sense. But is there a way to actually detect the number of drawn frames? I just enabled low processor mode and also had a look at the monitors inside the editor, but I was unable to find a way to determine if Godot is doing the job as expected. Is there currently a way to track this in some kind, beside just trusting godot to doing it's job right?

That kinda makes sense. But is there a way to actually detect the number of drawn frames?

Engine.get_frames_drawn() returns the number of frames drawn since the process started.

Just wanted to note that my original issue still wasn't fixed in Godot 4.2 dev4.


Focus from browser and lighting adjustments

The focusing from the browser as well as the extra volumes loading seems to be working, (mostly at least). There is some code for automatic clipping planes still, although it is disabled by default and does not take advantage of the matrix transformation other than position and size.
I also toyed around with lights some more, I think the hemisphere light is nice for adding simple, even lighting that is independent of direction. It does reduce the contrast a bit however. See what you think.

There is problem with new light in CanvasRenderer.
Produced picture is too dark:
http://jsroot.gsi.de/dev/?json=../files/geom/lhcb.json.gz&webgl=0

From my point of view, the contrast is bad (with webgl) with the new light... (and too dark without webgl, as shown by Sergey)


Merge f/pipelines-enhancement into incubation

JIRA: https://issues.redhat.com/browse/RHOAIENG-262
Description

Added pipeline versions, improve pipeline logs, and some enhancements for pipelines.
How Has This Been Tested?

Test Impact

Request review criteria:

Self checklist (all need to be checked):

[ ] The developer has manually tested the changes and verified that the changes work
[ ] Commits have been squashed into descriptive, self-contained units of work (e.g. 'WIP' and 'Implements feedback' style messages have been removed)
[ ] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[ ] The developer has added tests or explained why testing cannot be added (unit tests & storybook for related changes)

If you have UI changes:

[ ] Included any necessary screenshots or gifs if it was a UI change.
[ ] Included tags to the UX team if it was a UI/UX change (find relevant UX in the SMEs section).

After the PR is posted & before it merges:

[ ] The developer has tested their solution on a cluster by using the image produced by the PR to main

/hold Waiting for https://github.com/opendatahub-io/odh-dashboard/pull/2359 to be merged.


Browse first mode

Wow great app. Amazing really!!
often on my iPad I just want to browse the code without editing. Would it be possible to have such a thing where the on screen keyboard never comes up but go to references works and  scrolling works

I’m glad you enjoyed it! :)
Actually there is already a read-only mode. You can enable it it the
setting menu under editor tab. Although on-screen keyboard might still show
up, the editor will not perform any edit.
On Sat, 11 Dec 2021 at 21:08, Igor Dvorkin @.***> wrote:

Wow great app. Amazing really!!
often on my iPad I just want to browse the code without editing. Would it
be possible to have such a thing where the on screen keyboard never comes
up but go to references works and scrolling works
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/thebaselab/codeapp/issues/312, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJE6T2ZXANKDIRUJBOBU323UQNEOFANCNFSM5J274MNQ
.


change return from group_vars to inv_vars

group_vars is not defined anymore
inv_vars is the new variable set

Can one of the admins verify this patch?

"ok to test" to accept this pull request for testing
"test this please" for a one time test run
"add to whitelist" to add the author to the whitelist

Huh, I wonder how this has been working in Ursula up to now...

add to whitelist

retest

This needs to be rebased on master to work.


Migrating to monorepo

It will get all the other ensemble packages into single repo ie the ensemble repo.
WIll be using melos package to try to achieve the same thing. Inspiration: https://github.com/firebase/flutterfire

if this is done, close. If not done, please update progress as the last update was over 3 weeks ago

@kmahmood74 Ive already completed the things that needs to be done for monorepo, currently stuck as merging the changes for the same requires all the PRs to be merged, and thereafter, all the changes need to be manually added and thus merge into it


User should be able to click in Shortcut Guide

📝 Shortcut Guide should accept mouse clicks to perform the same as a the keyboard chord
When the user has pressed and held the Win key to bring up the Shortcut Guide, they are presented with a screen of useful keyboard key chords to perform some action. While this is useful information, for someone learning a system or remember a key combination, the user has to find the action they want and then shift focus away from the screen to press that key.
What I'm proposing is that in addition to seeing the overlay, that hitboxes are drawn around each of the "keys" and maybe even some of the text when appropriate, so that a user could use the mouse to click on something to invoke an action. Pressing Win, moving the mouse over the "I" and clicking, would open settings for instance.
This could also be a great accessibility feature, to use a screen reader like narrator, to also make learning these chords and their functions even better.

If you'd like to see this feature implemented, add a 👍 reaction to this post.

Great feedback, being addressed with https://github.com/microsoft/PowerToys/issues/890 in rewrite.
This is directly called out in the roadmap as well as a must do work item.  https://github.com/microsoft/PowerToys/wiki/Roadmap#road-to-stabilization

Thanks. I tried to search for issues and didn't see anything filed or closed which mentioned it, so I thought I'd raise it.


docs(rag): fix broken link

Thanks for raising this @thliang01! turns out we wanted to show the home page for language model clients so just making that edit before merging.

Thanks @thliang01!