implementation of esp_idf_svc::eventloop::EspEventDeserializer is not general enough compiler error

Version: 0.48.0
Minimal repro here
Caling async blocks calling async functions from AsyncWifi is compile error when passed to tokio::spawn.
The compile error:
error: implementation of `esp_idf_svc::eventloop::EspEventDeserializer` is not general enough
  --> src/main.rs:20:5
   |
20 | /     tokio::task::spawn(async move {
21 | |         wifi.connect().await.expect("Failed to start wifi");
22 | |     });
   | |______^ implementation of `esp_idf_svc::eventloop::EspEventDeserializer` is not general enough
   |
   = note: `esp_idf_svc::eventloop::EspEventDeserializer` would have to be implemented for the type `esp_idf_svc::wifi::WifiEvent<'0>`, for any lifetime `'0`...
   = note: ...but `esp_idf_svc::eventloop::EspEventDeserializer` is actually implemented for the type `esp_idf_svc::wifi::WifiEvent<'1>`, for some specific lifetime `'1`

I also tried start and it's the same error.
Calling scan causes a different error:
error: higher-ranked lifetime error
  --> src/main.rs:29:5
   |
29 | /     tokio::task::spawn(async move {
30 | |         wifi.scan().await.expect("Failed to scan");
31 | |     });
   | |______^
   |
   = note: could not prove `{async block@src/main.rs:29:24: 31:6}: std::marker::Send`

It's not just limited to tokio::spawn, any function that expects a Send future also causes the error.
/// Just to check if it's not just the [`tokio::spawn`] that's causing the compile error
fn send_future<F: Future<Output = ()> + Send + 'static>(
    f: F,
) -> impl Future<Output = ()> + Send + 'static {
    f
}
send_future(async move {
    wifi.start().await.expect("Failed to start wifi");
});

Same error:
error: implementation of `esp_idf_svc::eventloop::EspEventDeserializer` is not general enough
  --> src/main.rs:28:5
   |
28 | /     send_future(async move {
29 | |         wifi.start().await.expect("Failed to start wifi");
30 | |     });
   | |______^ implementation of `esp_idf_svc::eventloop::EspEventDeserializer` is not general enough
   |
   = note: `esp_idf_svc::eventloop::EspEventDeserializer` would have to be implemented for the type `esp_idf_svc::wifi::WifiEvent<'0>`, for any lifetime `'0`...
   = note: ...but `esp_idf_svc::eventloop::EspEventDeserializer` is actually implemented for the type `esp_idf_svc::wifi::WifiEvent<'1>`, for some specific lifetime `'1`

... or did it work before, with the prevous release of esp-idf-svc?

@ivmarkov I was using the master branch before which had this commit. It didn't have that problem then I updated to 0.48.0 which broke my build.

You are right, and I stand correct. AsyncWifi was Send before, and something did regress. I think it should be relatively easy to fix.

@cs-clarence Wild guess, but I think it is because of this signature
The new event loop subscriptions do not copy/clone data. They return a reference of the data which is inside the queue, but the data is no longer Send. I think we might be able to recover some Send-ness, but let me think...

Done!
Can you temporarily switch to the GIT branch? We'll be releasing this fix and a few others shortly, in an incremental release...
Please reopen / ping me here if it still does not work, but it really should, as there is now a new example tracking that AsyncWifi is Send... :-)

@ivmarkov it compiles now, thanks


Update dotnet core versions

This PR updates the dotnet core project files to reference the latest dotnet core version in both the libraries and applications.
With these changes I have added the Microsoft.NETFramework.ReferenceAssemblies to allow the Core project files to build standard .NET versions of the libraries, as well as the dotnet core versions.
Changes to the format allow code in the project files to be easier to read and edit.
It would be appreciated if you could add the "hacktoberfest-accepted" label so that I can get recognition for this PR in the Hacktoberfest event.

This may fix #473


Unify examples and update hal

This PR merges the chip-specific examples into one folder, inside the esp-wifi project. To simplify building, alias' have been added to esp-wifi/.cargo/config.toml per chip to automatically select the right target and enable the chip feature. I've also used git esp-hal to benefit from the recent unification efforts there.
Before this PR:
$ cd examples-$CHIP
$ cargo run --example X --features $CHIP,etc

After this PR:
cd esp-wifi
cargo $CHIP --example X --features etc

For example, cargo esp32c3 --example dhcp --features wifi.
I think this syntax is close to what it was before, and much easier to remember than each specific target name if you just want to run a quick example. It's also important to note, this change doesn't affect downstream users of esp-wifi, just folks running the examples in this repo.
TODO

[x] Update CI
[ ] Find a nicer solution for the timer initialization other than cfg(riscv) etc
[x] Update examples.md
[x] Use Xtensa executor within esp-hal instead of generic single core embassy-executor
[x] Use a default time driver for async so it doesn't have to be specified

Unanswered questions

What to do about examples that can't run on certain chips?

Initially I wondered if we could utilize required-features in cargo but I don't think that will work
We could just use compiler_error! to error out on certain example/target combos

What to do about examples that can't run on certain chips?

Would a #[cfg(not(...))] compile_error!("This example does not run on..."); work?

Please don't forget to update examples.md

Good idea to use [alias]
I guess using compile_error! if an example isn't suitable for a specific target should be good enough

cc: @jessebraham I'd like to get your input as to whether this is a good idea or an insane one :D

I think this looks pretty reasonable! Interesting use of aliases, never thought of doing this before. Possibly a little insane, but when has that ever stopped us before 😁

Find a nicer solution for the timer initialization other than cfg(riscv) etc

Is there any reason not to just use embassy-time-timg0 for every chip in the examples? I recall speaking with @bjoernQ about making esp-wifi more generic about which timers/alarms it accepts, if this is the only limitation maybe something we can look into?
Other random though, does the rust-toolchain.toml file in the root not cause issues with the RISC-V chips? Should this just be removed?

Is there any reason not to just use embassy-time-timg0 for every chip in the examples? I recall speaking with @bjoernQ about making esp-wifi more generic about which timers/alarms it accepts, if this is the only limitation maybe something we can look into? I can't recall how feasible this is, if at all.

Good point, we should look at doing that.

Other random though, does the rust-toolchain.toml file in the root not cause issues with the RISC-V chips? Should this just be removed?

I don't think so, esp toolchain has RISCV compiled too, so in theory, it shouldn't make a difference.

I don't think so, esp toolchain has RISCV compiled too, so in theory, it shouldn't make a difference.

Ahh right I always forget about this detail. Disregard 😁

Is there any reason not to just use embassy-time-timg0 for every chip in the examples? I recall speaking with @bjoernQ about making esp-wifi more generic about which timers/alarms it accepts, if this is the only limitation maybe something we can look into? I can't recall how feasible this is, if at all.

We could add a feature to choose the timer used by esp-wifi internally - might be a useful

This is now ready for a review, the last cfg issue IMO isn't that big of a deal and something we can sort in another PR.

Unfortunately, all BLE examples (ble, embassy_ble, coex) crash on ESP32-C3 while they work on main
Exception 'Store/AMO access fault' mepc=0x4005882e, mtval=0x3fc00100
0x4005882e - r_sch_plan_offset_req_hook
    at ??:??
0x3fc00100 - _sidata
    at ??:??
...

They do work fine on ESP32-S3 (their BLE implementations are very similar)

Unfortunately, all BLE examples (ble, embassy_ble, coex) crash on ESP32-C3 while they work on main
Exception 'Store/AMO access fault' mepc=0x4005882e, mtval=0x3fc00100
0x4005882e - r_sch_plan_offset_req_hook
    at ??:??
0x3fc00100 - _sidata
    at ??:??
...

They do work fine on ESP32-S3 (their BLE implementations are very similar)

Is it possible if this comes from the HAL update for some reason and not the rest of this monster?

Unfortunately, all BLE examples (ble, embassy_ble, coex) crash on ESP32-C3 while they work on main
Exception 'Store/AMO access fault' mepc=0x4005882e, mtval=0x3fc00100
0x4005882e - r_sch_plan_offset_req_hook
    at ??:??
0x3fc00100 - _sidata
    at ??:??
...

They do work fine on ESP32-S3 (their BLE implementations are very similar)

Is it possible that this comes from the HAL update for some reason and not the rest of this monster?

I'm almost sure it's the HAL update - will be fun to identify the exact commit since the range is huge

The esp32c6 also works, so I guess it's not RISCV-specific.

❯ git bisect bad
d81994552226ca8e69e9d774aef50aa1c0550a31 is the first bad commit
commit d81994552226ca8e69e9d774aef50aa1c0550a31
Author: jneem<EMAIL_ADDRESS>Date:   Fri Sep 29 10:09:50 2023 -0500

    Sleep support for esp32c3 (#795)

    * Make the example work

    * Make GPIO wakeups work

    * Add example

    * revert hello_rgb change

    * Clean up the first hacky version

    * Fix example warnings

    * Add changelog entry

    * Fix example comment

    * Stop skipping rustfmt

 CHANGELOG.md                                     |   1 +
 esp-hal-common/src/gpio.rs                       |  51 +-
 esp-hal-common/src/rtc_cntl/mod.rs               |  12 +-
 esp-hal-common/src/rtc_cntl/rtc/esp32c3_sleep.rs | 893 +++++++++++++++++++++++
 esp-hal-common/src/rtc_cntl/sleep.rs             |  18 +-
 esp-hal-common/src/soc/esp32c3/gpio.rs           |  11 +
 esp32c3-hal/examples/sleep_timer.rs              |  41 ++
 esp32c3-hal/examples/sleep_timer_rtcio.rs        |  58 ++
 8 files changed, 1077 insertions(+), 8 deletions(-)
 create mode 100644 esp-hal-common/src/rtc_cntl/rtc/esp32c3_sleep.rs
 create mode 100644 esp32c3-hal/examples/sleep_timer.rs
 create mode 100644 esp32c3-hal/examples/sleep_timer_rtcio.rs

❯ git bisect bad
d81994552226ca8e69e9d774aef50aa1c0550a31 is the first bad commit
commit d81994552226ca8e69e9d774aef50aa1c0550a31
Author: jneem<EMAIL_ADDRESS>Date:   Fri Sep 29 10:09:50 2023 -0500

    Sleep support for esp32c3 (#795)

    * Make the example work

    * Make GPIO wakeups work

    * Add example

    * revert hello_rgb change

    * Clean up the first hacky version

    * Fix example warnings

    * Add changelog entry

    * Fix example comment

    * Stop skipping rustfmt

 CHANGELOG.md                                     |   1 +
 esp-hal-common/src/gpio.rs                       |  51 +-
 esp-hal-common/src/rtc_cntl/mod.rs               |  12 +-
 esp-hal-common/src/rtc_cntl/rtc/esp32c3_sleep.rs | 893 +++++++++++++++++++++++
 esp-hal-common/src/rtc_cntl/sleep.rs             |  18 +-
 esp-hal-common/src/soc/esp32c3/gpio.rs           |  11 +
 esp32c3-hal/examples/sleep_timer.rs              |  41 ++
 esp32c3-hal/examples/sleep_timer_rtcio.rs        |  58 ++
 8 files changed, 1077 insertions(+), 8 deletions(-)
 create mode 100644 esp-hal-common/src/rtc_cntl/rtc/esp32c3_sleep.rs
 create mode 100644 esp32c3-hal/examples/sleep_timer.rs
 create mode 100644 esp32c3-hal/examples/sleep_timer_rtcio.rs

I guess its https://github.com/esp-rs/esp-hal/pull/795/files#diff-13b76e7f6d000776921729c895984b5ce03e1657df0c93a36411d63fce98cd45R216, but we need to figure out which "base setting" has messed things up... fun :upside_down_face:

Yes, it's exactly that .... commenting that makes it work again

Yes, it's exactly that .... commenting that makes it work again

I think I know how to make it work ... will create a PR in esp-hal when I verified it

Fix in esp-hal: https://github.com/esp-rs/esp-hal/pull/891

If we can find a couple other small, compatible changes to make in esp-hal, I wouldn't mind doing a patch release of esp-hal-common to make these changes available.

I'm keen to get this merged, so I've gone ahead and patched the c3 hal for now. We can replace it with a new release later.


recover-expired-certificates-play/ all files are all zero :(

Describe the bug
nest@ubuntu18:/mnt/data/git/community-automation/ansible/recover-expired-certificates-play$ ls -ltr
total 2
-rw-rw-r-- 1 nest nest 0 Jan 27 13:28 Jenkinsfile
-rw-rw-r-- 1 nest nest 0 Jan 27 13:28 readme.md
lrwxrwxrwx 1 nest nest 8 Jan 27 13:28 roles -> ../roles
-rw-rw-r-- 1 nest nest 0 Jan 27 13:28 recover-expired-certificates-play.yml
did this play move?  I was going to highlight this to a team but wont....

@stevenschader this can be removed now.  Recovering clusters is very different now and not easily automated.

@stevenschader this can be removed as well.

feel free to remove and post your PR.


feat: implement eth_call and refactor trin-execution to support async db

What was wrong?
The eth_call wasn't supported.
How was it fixed?
Refactored logic in trin-execution crate to make functionality more reusable (and added support for async database).
Also refactored rpc/src/eth_rpc.rs by extracting state related functionality into separate file.
To-Do

[ ] Clean up commit history and use conventional commits.

Closing in favor of #1439


Default to printing a help message when bundle is run without arguments on 2.0

What was the end-user problem that led to this PR?
The problem was that users unfamiliar with Bundler would run bundle and either install gems (if in a directory with a gemfile), or else get the error Could not locate Gemfile. You'd need to know to run bundle help or bundle -h to get the man page, and even that could be overwhelming (not to mention turfing you into a pager).
Was was your diagnosis of the problem?
My diagnosis was that we ought to print some form of help when the bare bundle command is run, rather than defaulting to running bundle install.
This work was prompted by https://trello.com/c/OpuOdTZl/112-print-help-when-bundle-is-run-without-arguments, and is an improvement (rather than a straight port) on https://github.com/bundler/bundler/pull/3831.
What is your fix for the problem, implemented in this PR?
My fix was to print the following help output when the CLI is invoked without arguments, contingent upon a feature flag.
Bundler version 1.15.1

Commands:
  bundle add GEM VERSION            # Add gem to Gemfile and run bundle install
  bundle binstubs GEM [OPTIONS]     # Install the binstubs of the listed gem
  bundle check [OPTIONS]            # Checks if the dependencies listed in Gemfile are satisfied by currently installed gems
  bundle clean [OPTIONS]            # Cleans up unused gems in your bundler directory
  bundle config NAME [VALUE]        # retrieve or set a configuration value
  bundle console [GROUP]            # Opens an IRB session with the bundle pre-loaded
  bundle doctor [OPTIONS]           # Checks the bundle for common problems
  bundle env                        # Print information about the environment Bundler is running under
  bundle exec [OPTIONS]             # Run the command in context of the bundle
  bundle gem GEM [OPTIONS]          # Creates a skeleton for creating a rubygem
  bundle help [COMMAND]             # Describe available commands or one specific command
  bundle help [COMMAND]             # Describe subcommands or one specific subcommand
  bundle info GEM [OPTIONS]         # Show information for the given gem
  bundle init [OPTIONS]             # Generates a Gemfile into the current working directory
  bundle inject GEM VERSION         # Add the named gem, with version requirements, to the resolved Gemfile
  bundle install PLUGINS            # Install the plugin from the source
  bundle install [OPTIONS]          # Install the current environment to the system
  bundle issue                      # Learn how to report an issue in Bundler
  bundle licenses                   # Prints the license of all gems in the bundle
  bundle lock                       # Creates a lockfile without installing
  bundle open GEM                   # Opens the source directory of the given bundled gem
  bundle outdated GEM [OPTIONS]     # list installed gems with newer versions available
  bundle package [OPTIONS]          # Locks and then caches all of the gems into vendor/cache
  bundle platform [OPTIONS]         # Displays platform compatibility information
  bundle plugin SUBCOMMAND ...ARGS  # manage the bundler plugins
  bundle pristine                   # Restores installed gems to pristine condition from files located in the gem cache. Gem installed from a git repository will be issued `git checkout --force`.
  bundle show GEM [OPTIONS]         # Shows all gems that are part of the bundle, or the path to a given gem
  bundle update [OPTIONS]           # update the current environment
  bundle version                    # Prints the bundler's version information
  bundle viz [OPTIONS]              # Generates a visual dependency graph

Options:
      [--no-color]                 # Disable colorization in output
  -r, [--retry=NUM]                # Specify the number of times you wish to attempt network commands
  -V, [--verbose], [--no-verbose]  # Enable verbose output mode

Why did you choose this fix out of the possible options?
I chose this fix because it aligns the Bundler CLI with many other package managers that display a help message of some sort when invoked without arguments:

CocoaPods
npm
RubyGems
Homebrew
pip
Swift Package Manager
Carthage
Cargo

And unlike the following, which do install by default:

yarn

As to the particular format of the help printed, I thought something concise would be less disruptive than the full man page.
Improvements to the output would be welcome, this is just using the Thor default right now but we can easily implement our own. This will require test coverage, but I thought I'd hold off until the general change got some buy-in.

I like this. As further evidence on the "should display help" side, most unix utilities (grep, etc) also print their help when they are run without arguments.

my 2 cents would be to leave this on install. Personally it'd be a bother to me to have to alias or just get used to typing bundle install each time.

@chrismo I have gone back and forth on this for that reason... fwiw, bundle i runs install, and will continue to on 2.0. Maybe you can start adjusting your muscle memory ahead of time. 😅 Alternately, you could stay on Bundler 1.x forever. 😆
My personal shell aliases are already b=bundle exec and bi=bundle install, but I may run those commands more than the average person. 😝

I'm with @chrismo on this. "We've" trained people to use bundle as a shortcut to bundle install and to now tell them sorry that's bundle help will be cause a lot of unhappiness. I'm for change as long as you can convince me that this is going to be better than the existing system.
In this case, I ask myself why is this change better, and my answer is to help newbies who don't know how to use it for the first few days. This is not the best reason in my opinion. Some learning curves are acceptable and in this case having to learn that bundle is shortcut to bundle install is acceptable to me because it's not overly confusing or convoluted and once you're proficient it's quite  beneficial to you.
As far as being consistent with other package managers, well then I'd ask are all the other commands consistent with other package managers? If yes, then ok. If not, then it weakens your selling point as to why this change is better (to me anyway).
So other than the above reasons, I ask why is this change really beneficial to bundler users? Is there a huge issue with newbies getting confused that outweighs the benefit to those who are proficient? Is it so important to be consistent with other package managers because all the other commands of bundler are consistent? Is there a future benefit where this is a small step to that direction that will make all this change so much more worthwhile in hindsight?
These are all my thoughts and opinions on seeing this and having strong compelling reasons to the above questions help me decide on features otherwise I'd be catering to everyone. @indirect and @segiddins, I'm sure you've already thought through all of this and whichever way you decide, it'll be ok. Best of luck. 😃

@hmistry in the end, I think both OSS in general (and Bundler in this particular case) make things easier for experienced devs at the cost of new or interested devs. I believe that status quo is actively bad: experienced devs can either run bundle i or create a shell alias. Inexperienced devs who are confused simply give up, and we lose everything they could have contributed. That, combined with the standards set by both other CLI utilities and other package managers, is why we're going to change this for 2.0.

@bundlerbot r+


storage: fix panic in test

Fix https://github.com/coreos/etcd/issues/4039
I believe the root cause of panic is that the defer closed backend while the last operation was still running. That happens since the wait timeouted.
This pull request increase the wait time for slow IO and also only close backend when we know all txn are finished. Then we will not get panic at lease. Leaving some files in tmp dir seems to be just fine.

lgtm. I tried this and no panic found yet.
@AkihiroSuda could you try this branch? I think your environment is more consistent when
reproducing that panic.
Thanks!

does it matter if that test leaks a goroutine from blocking on done <- struct{}{} if the timeout triggers?

@heyitsanthony Fixed.

lgtm

I tested, and it seems working!
Thanks!

great. Thanks


Modify client tests to support changes to the server

This is a two stage change due to the docker image needing to be updated first for these tests to pass

Coverage remained the same at 92.835% when pulling e252cbf3a8c2612eb1670cd06bb3c02ce373ffca on tgianos:GENIE-520-client-tests into 10b292340e071ba92f54214aa654711c845cf17c on Netflix:master.


Use dedicated css class for "Link to original" after transcluded blocks

Is your feature request related to a problem? Please describe.
I would like to remove the "Link to original" text after transcluded blocks by custom css "display: none". The element currently has css class "internal". This is not optimal, beause the "internal" class is used also by other elements e.g. tags. So removing blocks with this class, also removes unwanted elements.
Describe the solution you'd like
Just use a deicated class for the "Link ot original" after transclude blocks.

closed in https://github.com/jackyzha0/quartz/commit/76f295620c5e8ffc21a78698468ab38b2916a461 (transclude-src class)


Hound

Check this out https://houndci.com/
Seems useful for PRs at least.
https://houndci.com/configuration#javascript

cc @bigtimebuddy @ivanpopelyshev What do ya think?


An improvement

Hi, first of all thank you for your effort and work. For me this is the best website for building squads and I use it daily.
I would like to suggest an improvement. I usually play X-Wing in TableTop Simulator and to load the squadron it needs to add the list in plain text, something like this:
Fenn Rau + Push the limit + Concord Dawn Protector + Autothrusters (34)
Fenn Rau + Veteran Instincts + Concord Dawn Protector + Autothrusters (30)
I have to use another web to generate the list this way but I would prefer it to be yours.
If you could add this functionality would be cool.
Thank you very much, greetings

Duplicate of #369


[Backport 18.09] nextcloud module: init

Motivation for this change
This backports #47159 to 18.09. Filed a separate PR to run tests as suggested by @Mic92 in https://github.com/NixOS/nixpkgs/pull/47159#issuecomment-426828811 .
I decided to keep the bump to 14.0.1 around, due to that release supporting 2FA and having a "Data Protection Confirmation app and separate audit log file" application.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Fits CONTRIBUTING.md.

cc @eqyiel @fpletz @globin @Ekleog

Success on aarch64-linux (full log)
Attempted: nextcloud
Partial log (click to expand)
building
no Makefile, doing nothing
installing
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/li1gmn62kfarmbmch9vx5q248kgh4lzh-nextcloud-14.0.1
strip is /nix/store/y4ymnvgxygpq05h03kyzbj572zmh6zla-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/li1gmn62kfarmbmch9vx5q248kgh4lzh-nextcloud-14.0.1/lib
patching script interpreter paths in /nix/store/li1gmn62kfarmbmch9vx5q248kgh4lzh-nextcloud-14.0.1
checking for references to /build in /nix/store/li1gmn62kfarmbmch9vx5q248kgh4lzh-nextcloud-14.0.1...
/nix/store/li1gmn62kfarmbmch9vx5q248kgh4lzh-nextcloud-14.0.1

Success on x86_64-darwin (full log)
Attempted: nextcloud
Partial log (click to expand)
configuring
no configure script, doing nothing
building
no Makefile, doing nothing
installing
post-installation fixup
strip is /nix/store/df6k4mgdjxciy0f637lryp7c9ln7n1m3-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/2p3ffl8iz7hrrnr9si0id2c07i6yr93z-nextcloud-14.0.1/lib
patching script interpreter paths in /nix/store/2p3ffl8iz7hrrnr9si0id2c07i6yr93z-nextcloud-14.0.1
/nix/store/2p3ffl8iz7hrrnr9si0id2c07i6yr93z-nextcloud-14.0.1

Success on x86_64-linux (full log)
Attempted: nextcloud
Partial log (click to expand)
building
no Makefile, doing nothing
installing
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/ar3fnalsd3dy3cn4ikjf7z52q7mrrlyx-nextcloud-14.0.1
strip is /nix/store/h0lbngpv6ln56hjj59i6l77vxq25flbz-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/ar3fnalsd3dy3cn4ikjf7z52q7mrrlyx-nextcloud-14.0.1/lib
patching script interpreter paths in /nix/store/ar3fnalsd3dy3cn4ikjf7z52q7mrrlyx-nextcloud-14.0.1
checking for references to /build in /nix/store/ar3fnalsd3dy3cn4ikjf7z52q7mrrlyx-nextcloud-14.0.1...
/nix/store/ar3fnalsd3dy3cn4ikjf7z52q7mrrlyx-nextcloud-14.0.1

@GrahamcOfBorg  test nextcloud.basic nextcloud.with-mysql-and-memcached nextcloud.with-postgresql-and-redis

Success on x86_64-linux (full log)
Attempted: tests.nextcloud.basic, tests.nextcloud.with-mysql-and-memcached, tests.nextcloud.with-postgresql-and-redis
Partial log (click to expand)
nextcloud: exit status 0
test script finished in 17.68s
cleaning up
killing client (pid 600)
killing nextcloud (pid 612)
vde_switch: EOF on stdin, cleaning up and exiting
vde_switch: Could not remove ctl dir '/build/vde1.ctl': Directory not empty
/nix/store/i5vcw9fw54fzqkvy0j033838vfh6h8g3-vm-test-run-nextcloud-basic
/nix/store/75nb9wvkv1dqv9v87z23131m9rfk8rcq-vm-test-run-nextcloud-with-mysql-and-memcached
/nix/store/2vc4wfj1p6dik8cp5zq08ihxamln89p6-vm-test-run-nextcloud-with-postgresql-and-redis

Success on aarch64-linux (full log)
Attempted: tests.nextcloud.basic, tests.nextcloud.with-mysql-and-memcached, tests.nextcloud.with-postgresql-and-redis
Partial log (click to expand)
nextcloud: exit status 0
test script finished in 201.12s
cleaning up
killing client (pid 631)
killing nextcloud (pid 643)
vde_switch: EOF on stdin, cleaning up and exiting
vde_switch: Could not remove ctl dir '/build/vde1.ctl': Directory not empty
/nix/store/6q12byimpylcak97r27hf5090swwsnnj-vm-test-run-nextcloud-basic
/nix/store/0bjap8yacsmhhf9j9m79yiks3g6y51i3-vm-test-run-nextcloud-with-mysql-and-memcached
/nix/store/xxzicfxywha9fyzgyg64xv9mxhmd9plj-vm-test-run-nextcloud-with-postgresql-and-redis

Haven't looked at the PR in details yet.
Nextcloud probably goes into the security sensitive category for backports; it's often exposed to the whole wild web. Unless it gets an LTS version, or another distro has security patches handy, it will probably always need to be updated in the stable release, so it's easier to apply security updates as needed.

@samueldr according to https://nextcloud.com/release-channels/, nextcloud does have a concept of release channels, although they don't explicitly show on the website which version is currently on which channel.
According to the URL above, the latest stable version can be found on the installation page, which is currently pointing to 14.0.1, so we should be good.

I did dig a bit deeper into it. Nextclouds updater logic polls some updater server, it's configuration can be found here:
https://github.com/nextcloud/updater_server/blob/master/config/config.php#L106
So basically nextcloud 14.0.1 is also delivered on both "production" and "stable" channels.

@samueldr Could you confirm whether this is wanted or not?
From my reading of the diff, the risky changes are:

Addition of the nextcloud.nix: no risk of
backwards-incompatibility, everything is gated on the enable option
Changes to nginx,
likely the part with the highest risk of avoidable
backwards-incompatibility, it appears to reorder the location {}
blocks in the nginx config
Addition of tests… things I think we do want :)
Bump of the nextcloud package: this part will certainly be
backwards-incompatible, but you mentioned that we'd want to bump it
anyway at the next security update, and so might as well do it
now. Now, nextcloud 13 appears to still receive updates even now that
nextcloud 14 is out (cf. the dates in the
changelog), so this part may
potentially be replaced by a bump to 13.0.7.

@GrahamcOfBorg test nextcloud.basic nextcloud.with-mysql-and-memcached nextcloud.with-postgresql-and-redis

Success on aarch64-linux (full log)
Attempted: tests.nextcloud.basic, tests.nextcloud.with-mysql-and-memcached, tests.nextcloud.with-postgresql-and-redis
Partial log (click to expand)
client: exit status 0
test script finished in 280.44s
cleaning up
killing nextcloud (pid 631)
killing client (pid 644)
vde_switch: EOF on stdin, cleaning up and exiting
vde_switch: Could not remove ctl dir '/build/vde1.ctl': Directory not empty
/nix/store/ccwwi3l27vq6q21wdffjc4fifc12ip07-vm-test-run-nextcloud-basic
/nix/store/sbhag7cybdhni25w5z2qb3zfgyyxpbra-vm-test-run-nextcloud-with-mysql-and-memcached
/nix/store/9k92c96xkcm7d264gz5f6z8949glcjjs-vm-test-run-nextcloud-with-postgresql-and-redis

Success on x86_64-linux (full log)
Attempted: tests.nextcloud.basic, tests.nextcloud.with-mysql-and-memcached, tests.nextcloud.with-postgresql-and-redis
Partial log (click to expand)
nextcloud: exit status 0
test script finished in 246.00s
cleaning up
killing client (pid 597)
killing nextcloud (pid 609)
vde_switch: EOF on stdin, cleaning up and exiting
vde_switch: Could not remove ctl dir '/build/vde1.ctl': Directory not empty
/nix/store/x0by2kpks4yb7qgmsxh40sm30nkrgdfs-vm-test-run-nextcloud-basic
/nix/store/lldw27bsdj7hjsr1xs7fa9andh363wh3-vm-test-run-nextcloud-with-mysql-and-memcached
/nix/store/ywkf1cnrp06b7hq2fqdwgavh6579amzj-vm-test-run-nextcloud-with-postgresql-and-redis

Success on aarch64-linux (full log)
Attempted: nextcloud
Partial log (click to expand)
/nix/store/kihscva3p0vvy7kilmxnjncxifjy80dq-nextcloud-14.0.3

Failure on x86_64-darwin (full log)
Attempted: nextcloud
Partial log (click to expand)
copying path '/nix/store/qfag24z6xsr6jkyi8gb4cv62rp945rbk-gnumake-4.2.1' from 'https://cache.nixos.org'...
copying path '/nix/store/95bw3cdcgc8c0rrvqwvhvc805pdv7rmx-stdenv-darwin' from 'https://cache.nixos.org'...
building '/nix/store/h9vvmpb7jg4ivacfv5dj45ss68zsj5yv-nextcloud-14.0.3.drv'...
/nix/store/nsi1xkmlk3dd51ln3jyv2dmgzpj9miwx-cctools-binutils-darwin-wrapper/nix-support/setup-hook: fork: retry: Resource temporarily unavailable
/nix/store/nsi1xkmlk3dd51ln3jyv2dmgzpj9miwx-cctools-binutils-darwin-wrapper/nix-support/setup-hook: fork: retry: Resource temporarily unavailable
/nix/store/nsi1xkmlk3dd51ln3jyv2dmgzpj9miwx-cctools-binutils-darwin-wrapper/nix-support/setup-hook: fork: retry: Resource temporarily unavailable
/nix/store/nsi1xkmlk3dd51ln3jyv2dmgzpj9miwx-cctools-binutils-darwin-wrapper/nix-support/setup-hook: fork: retry: Resource temporarily unavailable
/nix/store/nsi1xkmlk3dd51ln3jyv2dmgzpj9miwx-cctools-binutils-darwin-wrapper/nix-support/setup-hook: fork: Resource temporarily unavailable
builder for '/nix/store/h9vvmpb7jg4ivacfv5dj45ss68zsj5yv-nextcloud-14.0.3.drv' failed with exit code 254
error: build of '/nix/store/h9vvmpb7jg4ivacfv5dj45ss68zsj5yv-nextcloud-14.0.3.drv' failed


Updates 2.0.4 issue 97

Awaiting confirmation from AoteJin that this addresses Issue 97

It looks good to me. Thanks for update!

@ved-rivos this one is ready for your sign-off now


using insert_many and on_conflict ignore, panics on empty unwrap

Description

When using insert_many with OnConflict directive and all of the entries have conflicts, I get the following error:
thread 'tokio-runtime-worker' panicked at 'called Option::unwrap()on aNone value', /home/perso/.cargo/registry/src/github.com-1ecc6299db9ec823/sea-orm-0.10.1/src/executor/insert.rs:119:54
source code: https://github.com/SeaQL/sea-orm/blob/master/src/executor/insert.rs#L119
It seems to fail whenever all entries being inserted are conflicting, hence ignored, i.e. no entries are added.
However, if at least one of the entries is not conflicting, no errors.
Steps to Reproduce

create a db with unique constraint on a field name e.g.
run a query, using sea-orm, insert_many + on_conflict do_nothing, twice

Example query:
let models = vec![symbol::Model {name: Set("hello"), ..Default::default()}, symbol::Model {name: Set("bye"), ..Default::default()};
symbol::Entity::insert_many(models)
                    .on_conflict(
                        OnConflict::column(symbol::Column::Name)
                            .do_nothing()
                            .to_owned(),
                    )
                    .exec(&state.db)
                    .await

Expected Behavior
No error.
Actual Behavior
panic on unwrap on None.
Reproduces How Often
This is not random, can always be reproduced.
Versions

│   │   ├── sea-orm v0.10.1
│   │   │   ├── sea-orm-macros v0.10.1 (proc-macro)
│   │   │   ├── sea-query v0.27.1
│   │   │   │   ├── sea-query-derive v0.2.0 (proc-macro)
│   │   │   ├── sea-query-binder v0.2.1
│   │   │   │   ├── sea-query v0.27.1 (*)
│   │   │   ├── sea-strum v0.23.0
│   │   │   │   └── sea-strum_macros v0.23.0 (proc-macro)
│   │   ├── sea-query v0.27.1 (*)
│   │   └── sea-orm-migration v0.10.1
│   │       ├── sea-orm v0.10.1 (*)
│   │       ├── sea-orm-cli v0.10.1
│   │       │   ├── sea-schema v0.10.2
│   │       │   │   ├── sea-query v0.27.1 (*)
│   │       │   │   └── sea-schema-derive v0.1.0 (proc-macro)
│   │       ├── sea-schema v0.10.2 (*)
│   ├── sea-orm v0.10.1 (*)

os: Ubuntu 22
db: postgresql
Additional Information

I feel like there is a number of duplicate to this issue.
I suspect it's how we handle returning.
Again, panic on unwrap on None. looks bad.

Hi,
I'm thinking about a possible way to handle this in code.
The case is that the query is executed successfully but due to the on_conflict policy, nothing is inserted in the database.
So we can change the type of last_insert_id to Option in InsertResult, so it can be None in cases like this. The downside is this would be a breaking change for those who are directly getting last_insert_id from InsertResult.
The other backward-compatible way that comes to my mind is using some magic values for last_insert_id like -1, which is not a good way I believe.
Would this be a good way to handle this? @tyt2y3 @billy1624

I think it is already being resolved for Postgres in https://github.com/SeaQL/sea-orm/pull/1021
@billy1624 can we extend the logic and test case to others as well?

I think it is already being resolved for Postgres in #1021 @billy1624 can we extend the logic and test case to others as well?

Oh thanks for mentioning it, I've just realized that PR. Reading the code for that PR, a question came to my mind. When we have an insert query with a on conflict do nothing constraint, sometimes the query may not insert anything but it is executed successfully anyway, so is it reasonable to return Error instead of a Result?

This should have been addressed in 0.11 with https://github.com/SeaQL/sea-orm/pull/1403

@billy1624 I think it is worthy to mention somewhere in the docs, where the error variant also has to be checked.


variable size_t j not initlized

In line 149 of https://github.com/bitcoin/libbase58/blob/b1dd03fa8d1be4be076bb6152325c6b5cf64f678/base58.c#L149, it appears to me that j is not initialized and directly used in line 159 to initialize high: https://github.com/bitcoin/libbase58/blob/b1dd03fa8d1be4be076bb6152325c6b5cf64f678/base58.c#L159.
Should we initialize j with 0?
For whatever reason, the code works at its current shape, but if I change carry to a local variable, i,e, from:
for (carry = bin[i], j = size - 1; (j > high) || carry; --j)
{
	carry += 256 * buf[j];
	buf[j] = carry % 58;
	carry /= 58;
	if (!j) {
		// Otherwise j wraps to maxint which is > high
		break;
	}
}

to
for (size_t carry = bin[i], j = size - 1; (j > high) || carry; --j)
{
	carry += 256 * buf[j];
	buf[j] = carry % 58;
	carry /= 58;
	if (!j) {
		// Otherwise j wraps to maxint which is > high
		break;
	}
}

the code gives me wrong base58 encoding result. If I initialize j with 0, the result will be correct again.

In line 149 of
https://github.com/bitcoin/libbase58/blob/b1dd03fa8d1be4be076bb6152325c6b5cf64f678/base58.c#L149
, it appears to me that j is not initialized and directly used in line 159 to initialize high:
https://github.com/bitcoin/libbase58/blob/b1dd03fa8d1be4be076bb6152325c6b5cf64f678/base58.c#L159
.

The third expression in a for statement (++i, high = j in this case) is evaluated after each execution of the loop body. The loop body always assigns to j in the first expression (carry = bin[i], j = size - 1) of the inner for loop:
for (carry = bin[i], j = size - 1; (j > high) || carry; --j)
{
	// ...
}

So j will be initialized after the first execution of the loop body before it is assigned to high. If the loop body is never executed, the assignment to high will not take place either.

For whatever reason, the code works at its current shape, but if I change carry to a local variable, i,e, from:
for (carry = bin[i], j = size - 1; (j > high) || carry; --j)
{
	carry += 256 * buf[j];
	buf[j] = carry % 58;
	carry /= 58;
	if (!j) {
		// Otherwise j wraps to maxint which is > high
		break;
	}
}

to
for (size_t carry = bin[i], j = size - 1; (j > high) || carry; --j)
{
	carry += 256 * buf[j];
	buf[j] = carry % 58;
	carry /= 58;
	if (!j) {
		// Otherwise j wraps to maxint which is > high
		break;
	}
}

the code gives me wrong base58 encoding result. If I initialize j with 0, the result will be correct again.

The reason is that size_t carry = bin[i], j = size - 1 is a declaration and initialization of two variables of type size_t: carry and j. So this declaration of j will shadow the previous one. The outer j will now not be initialized and the assignment to high at the end of the outer loop will use the uninitialized outer j.


TdLoadingService register throws init exception

In dev mode...
this.loadingService.register('someString');
Raises:
EXCEPTION: Error in :0:0 caused by: Expression has changed after it was checked. Previous value: 'CD_INIT_VALUE'. Current value: 'false'. It seems like the view has been created after its parent and its children have been dirty checked. Has it been created in a change detection hook ?
Details here: https://github.com/angular/angular/issues/6005
I believe we need to use ChangeDetectorRef to manage changes to the bindings better.

A bit more information?
We use it the same way, and use the ChangeDetectorRef where needed. But if you have a use case that we missed, more information/gist/plnkr would be appreciated.

I'll need to confirm this. I re-wrote the application and used the TdLoadingService in a page component rather than in the app component to create an overlay and register it and it is working properly. I've also used the latest release, so it could have been fixed somehow. I'll do some additional testing in the next couple of days...

Closing since there has been no activity, so we assume it isnt a problem anymore

TdLoadingService not working on two different components using ngAfterViewInit.

@rahulasharm Can you provide a plunker or stackblitz link isolating a case where this is happening?


check_lb_missing_month - include extra param in metadata and in check?

The checks check_lb_missing_month and check_mh_missing_month do not have preproc=roche_derive_rave_row; however, check_pr_missing_month, check_cm_missing_month do.

@sarabodach I assume this still needs to be updated.  If so I think it'd be good for @AlcJ123

@AlcJ123 see check_ae_aedecod as an example.  Can you add in functioality around roche_derive_rave_row similar to check_ae_aedecod?
Note lines 6,7,48,58 in check_ae_aedecod.  The roche_derive_rave_row function is in R/roche_utils.R


Unnamed room

Stereo pair of Play:1s shows up as "Unnamed room".

It went away after a restart of the web-controller.

Yeah, this is a known error. It will break if you remove or add new players to your system. This issue belongs on node-sonos-discovery though.


IMG Tag

per the bug report, the img tag is not used anymore. The image gets dynamically fetched on load

this is marked as changes requested, are there actually any changes to be made here @LucasHT22 ?

PR is already out for that, pending reviews


dd-check-gitlab_runner not found on ubuntu repo

Hello,
It looks like the dd-check-gitlab_runner is not already released on your deb repo
https://s3.amazonaws.com/apt.datadoghq.com/dists/stable/main/binary-x86_64/Packages
Regards

Thanks for filing the issue.
We're aware of that - we're currently transitioning to a better way to build and distribute Agent checks so we suspended the standalone releases for now, being that very time consuming.
Checks will be released at every Agent release but we can still manually trigger a build&release though, let me know which checks you'd like to see released on the spot.

I downloaded the check.py file manually right now, I said that might be usefull to other users who can't figure out how to add a custom check manually.

@masci would it be possible for you to release an updated version of dd-check-consul? As well, is there a script I can run to manually create such a release?

@josegonzalez manually build the package is really complex and I usually discourage to follow this path - things are going to change though, we want to make our users able to easily do a manual release or tell the agent to use a more recent version of a check.
In the meantime your best options are either overwriting your checks with what's in master or wait for us to prepare the package. Can you reach out to support so we can track the package request properly?
Thanks and sorry for the trouble.


"Money can't buy happiness"

Add this bromide:

"Money is the root of all evil," said James Taggart. "Money can't buy happiness. Love will conquer any barrier and any social distance. That may be a bromide, boys, but that's how I feel."

The purpose of money is not to "buy happiness" directly but to serve as a medium of exchange, so at the outset this is a foolish line of thinking. Further for money to be the root of all evil implies economy is evil which then collapses human ends, prosperity and happiness itself. Tell James Taggart that it's a skill issue.


Add a task to generate mappings for the package-info classes.

If you have a better idea of where to put these or what to call them let me know. I have spot checked them and they all seem correctly identified. Might not be a bad idea to put a comment on them?
This is also a good exeriment with using a build-logic sub project to provide well, the build logic for yarn. The long term goal will be to cleanup the yarn build script and move the logic into well defined tasks.

They are now named like: net/minecraft/unused/packageinfo/PackageInfo5984


Aggregate SQL query with filter not working in datafusion CLI

Describe the bug
Aggregate function with filter is supported, see this testcase
But the same query can't run in datafusion-cli
DataFusion CLI v40.0.0
> CREATE TABLE test_table (c1 INT, c2 INT, c3 INT);
0 row(s) fetched.
Elapsed 0.115 seconds.

> INSERT INTO test_table VALUES
  (1, 10, 50),
  (1, 20, 60),
  (2, 10, 70),
  (2, 20, 80),
  (3, 10, NULL);
+-------+
| count |
+-------+
| 5     |
+-------+
1 row(s) fetched.
Elapsed 0.064 seconds.

> SELECT c1, SUM(c2) FILTER (WHERE c2 >= 20), SUM(c2) FILTER (WHERE c2 < 1) FROM test_table GROUP BY c1;
  🤔 Invalid statement: sql parser error: Expected end of statement, found: (

To Reproduce
No response
Expected behavior
No response
Additional context
No response

For an aggregate function with a filter, you should enable PostgreSQL dialect by using set datafusion.sql_parser.dialect = 'Postgres';

For an aggregate function with a filter, you should enable PostgreSQL dialect by using set datafusion.sql_parser.dialect = 'Postgres';

I see, thank you


Tweak Azure Pipelines integration

See https://github.com/NSLS-II/profile-collection-ci/issues/2 for the general plan.

Power-cycled to test the fast-fail step.

Apply https://github.com/NSLS-II/profile-collection-ci/pull/3/commits/97398448905ea8e989c308503bd27cec3ae85110.

Power-cycled the PR to pick up new packages in the nsls2forge conda channel.

I removed all tweaks related to the startup files, just left a single file change relevant to Azure Pipelines integration. The tests are failing due to problems with the startup files themselves. It's good to go, the rest should be addresses during the "virtual" or real deployment visits.


Close button is wrongly displayed for background tabs

With your theme
Notice the close button element is still present, causing the tab text to fade prematurely.

With button removed
It should only be displayed on hover/select (or whatever matches the default behavior).

I'd like to keep the close button fade in/out transition so we might need to add a width transition too, or a negative left-margin. Will do some experimentation tonight to see what I can come up with.

Couldn't you add the transition on the display or visibility CSS rules? Not sure, so I leave it up to you.

I've got a big commit in the works which will drastically change the tab close button behaviour to better match the latest Chrome dev builds.
The buttons will soon be present on background tabs all the time, but they won't clip as much of the tab text and will collapse when the tabs overflow. This is similar to Chrome's behaviour except in Chrome, the close buttons collapse when the tabs reach a certain width. Unfortunately there isn't a CSS-only mechanism for this so I've done my best to compromise.
If I close this issue but you're not satisfied with the outcome, feel free to open another issue and I'll have another crack at conserving the tab text.

Pushed 1ab209982a245ef8dca4bd7a2e15261c18daacf9, which resolves this issue. Behaviour now matches Chrome. All close buttons are visible until tabClipWith is reached. At this point they are hidden properly, except for on selected tab, where it remains visible and replaces the favicon when tab reaches minimum width (36px) and tabs overflow.


export typescript types and interfaces

Fixing interface TemplatedApp not being able to be imported from: node_modules/uWebSockets.js/index.d.ts
These imports are only used by typescript and would not be in the compiled JavaScript file.
Why upstream typescript wont fix this issue is explained here: https://github.com/Microsoft/TypeScript/issues/24322

continuous-integration/appveyor/pr:

fatal: Authentication failed for 'https://github.com/uNetworking/uWebSockets.js/'

I have no idea what this does, or if it does anything

@alexhultman that just allows typescript users to import interfaces and use them in the code. Without exporting them they couldn't do that. For example, if someone wants to describe variable type as WebSocket, then they need to import {WebSocket} from 'uWebSockets.js'. And without export keyword it's not possible.

hat just allows typescript users to import interfaces and use them in the code. Without exporting them they couldn't do that.

It's already possible to use interfaces :

I'm confused. What is this about?

I'm confused. What is this about?

The OP was asking for exporting typescript interfaces in order to be able to use them, but it's already possible in the current version 15.11 (we use typescript 3.6.2)

So here is nothing to fix?

So here is nothing to fix?

IMHO, this PR is not necessary. But export the types is harmless.

Is this an issue, yes or no?

Is this an issue, yes or no?

Personnaly, I'm totally able with the current version to use uws type definitions without importing them, as showed in the screenshot above.
But I don't know if it's related with my tsconfig.json :
compilerOptions": {
		"incremental": true,
		"removeComments": false,
		"sourceMap": true,
		"moduleResolution": "Node",
		"pretty": true,
		"module": "commonjs",
		"target": "ES2019",
		"noImplicitAny": false,
		"strictNullChecks": true,
		"forceConsistentCasingInFileNames": true,
		"allowSyntheticDefaultImports": false,
		"skipLibCheck": true,
		"watch": true,
		"allowJs": false,
		"alwaysStrict": true,
		"noUnusedLocals": true,
		"noUnusedParameters": true,
		"noEmit": false,
}

Perhaps some users with different configs, including the OP,  can't use type definitions ?
Anyway, you could accept this PR, it's totally harmless to export the types.

@abenhamdine Most of TS devs use explicit imports instead of doing wildard imports, then yeah this PR is usefull for many devs and shouldn't be avoided by lazyness or only based on your own practice :roll_eyes:
@alexhultman please merge this PR :grin:

I can already import it

@abenhamdine Most of TS devs use explicit imports instead of doing wildard imports, then yeah this PR is usefull for many devs and shouldn't be avoided by lazyness or only based on your own practice 🙄

That's why I said the maintainer could accept the PR.

That's why I said the maintainer could accept the PR.
I'm tired today, i misread everything -_-


when health checks aren't registered, DI fails to resolve default metrics to to missing health check factory implementation

Should default to a NoOpHealthCheckFactory to avoid DefaultAdvancedMetrics to fail when instantiated

Fixed as part of supporting .net 4.5.2 in App.Metrics. Tested in MVC Net452 sample https://github.com/alhardy/AppMetrics.Samples


[DSS-157] Avatar - Custom Icon and Color

Description

Adds props to allow for background and foreground (icon stroke/fill) color for badges. Attempting to provide a backwards compatible solution to not disturb what's already been used in kp.
Screenshots

Testing in sage-lib

Rails

View Avatar in Rails and React
Check that new props work as expected

Testing in kajabi-products

(LOW) Adds props to allow for background and foreground (icon stroke/fill) color for badges.
Related

DSS-157

@pixelflips @monkeypox8 Thanks for the feedback here. I just spoke to Quinton about this issue and yes, it looks like this is going to have to be brought up to design. Filled icons are working as intended, but those with only strokes are going to look awkward. Going to bring this up in the team sync for ideas.

Per feedback from the team and design, I'll be implementing a solution for both a foreground (icon stroke/fill) and background color.

Code looks great, but I am seeing an issue with Storybook. When setting Badge to true and then trying to add a string for the badgeBackgroundColor the screen goes blank and an error shows in the console.
Screen.Recording.2022-10-12.at.9.02.01.AM.mov

Yeah @pixelflips this is a weird issue, and I think it's Storybook related, but can't confirm entirely. If you set the background color first and then set badge to true, then it works as inspected.

Yeah @pixelflips this is a weird issue, and I think it's Storybook related, but can't confirm entirely. If you set the background color first and then set badge to true, then it works as inspected.

@anechol it is weird for sure, maybe @ju-Skinner or @philschanely have thoughts on the error I mentioned above. 🤞🏼

@monkeypox8 Thanks for the pointer. I adjusted the conditional so this should work fine in storybook now.

While continuing to review and changing up the controls, also noticed that the icons seem to break out in some cases. Will drop a screenshot so you can see the controls.

Ahh thanks for pointing this out @pixelflips . I might have to look into this further as I'm not sure what's a good solution to handle every use case for every icon in the library 🤔

I might have to look into this further as I'm not sure what's a good solution to handle every use case for every icon in the library 🤔

Agreed; this is going to be pretty difficult to solve without a change to our icon system sizing, so I'm inclined to leave it for another day if the group's on board. Right now the use case for custom badges is limited. But if it does become an issue, we could always apply a 90% scale transform or something similar, though it'd have to be across the board.


⚠ Mobitopup has degraded performance

In 60d235c, Mobitopup (https://napcard.voz.tech) experienced degraded performance:

HTTP code: 200
Response time: 9716 ms

Resolved: Mobitopup performance has improved in 054ca0d.


Do not allow a slow client to block the decoder thread

Here's my rather simple solution to the slow client / full pipe problem mentioned in https://github.com/arkq/bluez-alsa/pull/601#issuecomment-1436569189

Hmm... simple yet correct, I think :D


[11.x] Fix GeneratorCommand docblock

The GeneratorCommand constructor description isn't correct now.

Thanks!


fire/ems self tones

Describe the feature
anyway fire/ems get the tones on their dashboard aswell? not to send out to both LEO and fire/ems just to themselves incase dispatch is not active
Additional Context
No response

closed by #992


Improve usability on mobile

At the moment, we have a few screen sizes hardcoded to allow this to work on mobile. It would be good if we could make this more responsive.

Gerald and Uduak :)


Add dockerization for all PDO drivers

Adds setup and testing setup for these extensions:

PDO_DBLIB (using MS SQL Server for tests)
PDO_FIREBIRD
PDO_OCI
PDO_ODBC (using MySQL for tests)

Besides I removed mysql's network in the compose file so it would join the default network with the other containers and would be accessible from the developing container. Previously it was only accessed via the port mapped to host, but internal communication should be more straightforward here.
Currently some of the tests do not pass, I am not (yet) sure if any of that (apart from pdo skips) is related to the setup. Here are the test stats in the current state:

Suite
Tests
Skipped
Warned
Failed
Failed (exp)
Passed

PDO
83
77
0
0
0
6

PDO_DBLIB
109
2
0
1
1
105

PDO_FIREBIRD
108
11
0
7
1
89

PDO_MSYQL
231
12
0
4
1
214

PDO_OCI
120
14
0
9
1
96

PDO_ODBC
90
6
0
7
1
76

PDO_PGSQL
123
6
0
0
1
116

PDO_SQLITE
128
5
0
0
1
122

I did not add the new services to the docker-compose command example in readme, I'm not sure if you want them in the default example.
On my local copy I wanted them always available so I added
    depends_on:
      - mysql
      - postgres
      - mssql
      - oracle
      - firebird

to the developing service and just do docker compose run developing bash.

\o/
That's awesome! I'll try and check it out tomorrow.

Currently some of the tests do not pass

yeah....some of the tests just seem incredibly flaky, or maybe version specific?
That almost certainly won't matter for the RFC, as it just needs to show the new code works.

Thanks, looks pretty good. There's two small issues related to me using an Apple Silicon machine.
The software dependencies needed for pdo_oci and pdo_odbc don't install when running the container as an Arm container. Forcing the container to use x64 as a platform works, but slows the machine down by about 40 times.
I've duplicated the developing box to also have a developing_x64 version. That one installs those two dependencies, and so can be used for testing those versions, but I'll use the platform independent one to do most of the dev work.
The MSSQL container crashes on boot. I'll open a separate issue for that.

On my local copy I wanted them always available so I added

Feel free to add a bash script in the root that runs all the appropriate things you want, similar to the one I added for Arm.


docs(readme): Update playground demo

Moved codesandbox code to https://github.com/obartra/reflex-playground, updated reference in README
Closes https://github.com/obartra/reflex/issues/298

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Remove module header

The fact that it's weather info should be apparent by just looking at it

This is a MM config option, not a module one. Derp.


Adding KEY_G1000_PFD_SOFTKEY1 to 12

I'd like to use buttons in order to Initiate the action for the icon displayed in the softkey position.
category : Instruments
Implementing these buttons

Many thanks for this great plugin !

Thanks for the screenshot, that helps a lot.


Does not support amazon.uk website

Does not support amazon.uk website

Would you like to submit a PR?

The extension now supports amazon.co.uk


docs: improve docstrings for generated doc

This PR:

Introduces an (optional) docstring format for test modules to produce admonitions in the generated doc:

"""
abstract: test module title/overview
    detailed description

note: Test cases ported from:
    links to original tests
"""

Cleans up the docstrings in tests/ to remove any obvious mal-formatted doc and ensure URLs are linked.

Does one non-doc related change: Runs the tests/eips/test_eip3651.py::test_warm_coinbase_gas_usage  tests additionally for Merge - perhaps this is too much @marioevz?

Todo:

[ ] Clean-up 4844 test case docstrings - @marioevz / @spencer-tb could you please do this (can be a separate PR)?

Preview (manually deployed) available here:
https://danceratopz.github.io/execution-spec-tests/tests/

Added 4844, except for blobhash :+1:
I'm not entirely sure why it looks like I rebased, but I don't think I did, at least on purpose.

Added a few minor doc changes and modified the docs/gen_test_case_reference.py to:

Always make __init__.py the nav entry's index.md.
To include --fork=DEV_FORK for top-level index.md and for any test module under a dev branch folder (ready for the upcoming fork folder restructure).

Updated the preview:
https://danceratopz.github.io/execution-spec-tests/tests/

Can we remove tests/eips/eip4844/README.md now? Or does it still have relevant doc not included in the test modules? We can leave it if it's up-to-date/relevant!
It's currently included as:

Can we remove tests/eips/eip4844/README.md now? Or does it still have relevant doc not included in the test modules? We can leave it if it's up-to-date/relevant!
It's currently included as:

I removed it in the latest commit, we still can recover it from the commit history if necessary!
I think we can merge now?


CloudWatchWriter typeNames to metric dimensions

When using jmxtrans collect metrics from Kafka we use wildcards to make it easier to describe the JMX metrics we are interested in. You can check out our repo for the docker container and the configurations we setup for local docker environment vs. AWS.
For example, using the KeyOutWriter and typeNames we can gather metrics which adds the value of that typeName to the metric. This is scraping JMX metrics for Kafka Connect:
        {
          "obj": "kafka.consumer:client-id=*,type=consumer-metrics",
          "resultAlias": "consumer",
          "typeNames": ["client-id"],
          "outputWriters": [
            {
              "@class": "com.googlecode.jmxtrans.model.output.KeyOutWriter",
              "outputFile" : "/tmp/kafka-connect.consumer.txt",
              "maxLogFileSize" : "10MB",
              "maxLogBackupFiles" : 200,
              "delimiter" : "\t"
            }
          ]
        }

The output looks like this which captured the client-id as consumer-1, consumer-2, consumer-3:
connect1.consumer.consumer-1.connection-count   3.0<PHONE_NUMBER>408
connect1.consumer.consumer-2.connection-count   3.0<PHONE_NUMBER>401
connect1.consumer.consumer-3.connection-count   2.0<PHONE_NUMBER>406

However, with CloudWatchWriter, that information is lost.
        {
          "obj": "kafka.consumer:client-id=*,type=consumer-metrics",
          "resultAlias": "consumer",
          "attr": [
            "connection-count", "io-ratio", "io-wait-ratio"
          ],
          "typeNames": ["client-id"],
          "outputWriters": [
            {
              "@class": "com.googlecode.jmxtrans.model.output.CloudWatchWriter",
              "settings": {
                "namespace": "Kafka Connect",
                "dimensions": [
                  {"name": "HostName", "value": "{ALIAS}"},
                  {"name": "AvailabilityZone", "value": "{AZ}"},
                  {"name": "MetricType", "value": "ConsumerMetrics"}
                ]
              }
            }
          ]
        }

Also, resultAlias is ignored like typeNames. I noticed there is an issue open for that as well. This might help too.
Would it be possible to dynamically add typeNames into metric dimensions? This would be really helpful for Kafka in the case where we want to look at metrics specific to a topic.

Fixed in #747


migrate documentation

Old dgcode documentation should be split up as appropriate for simplebuild and simplebuild-dgcode, migrated to sphinx, and placed somewhere easy (github pages?).

The sphinx+githubpages-based website is now at: https://mctools.github.io/simplebuild/
It is still not completely done.

When almost done we should enable nitpicky=True in conf.py, and we should make sure to also run make linkcheck in the CI tests.

Done apart from needing some read-throughs and the issues in the last comments.

Done!!


Successfully printed xwing.

Got the xwing to print

Forgot to add Name and date, Colton Simpson, 1-17-2023


Dropdowns or Button Groups?

There doesn't seem to be a consensus in the group over when to use Dropdowns and when to use Button Groups.
DropDowns

ButtonGroup

One factor here being that Button Groups require one click and show all their options while Drop Downs Require Two clicks - one to display the options and one to select.

@serenamarie125 I guess this one is for you

And one additional question on Drop Downs should they always have a label?

Closing


patch: Install latest wrangler version

Signed-off-by: Vipul Gupta (@vipulgupta2048) <EMAIL_ADDRESS>

Please make sure to read the CONTRIBUTING document before opening the PR for relevant information on contributing to the documentation. Thanks!

@balena-ci I self-certify!


v0.2.8 published tarball is missing index.js

> require("gulp-nightwatch")
Error: Cannot find module 'gulp-nightwatch'
    at Function.Module._resolveFilename (module.js:337:15)
    at Function.Module._load (module.js:287:25)
    at Module.require (module.js:366:17)
    at require (module.js:385:17)
    at repl:1:1
    at REPLServer.defaultEval (repl.js:248:27)
    at bound (domain.js:280:14)
    at REPLServer.runBound [as eval] (domain.js:293:12)
    at REPLServer.<anonymous> (repl.js:412:12)
    at emitOne (events.js:82:20)

[17:23:33]() tree -L 1 gulp-nightwatch
gulp-nightwatch
├── LICENSE
├── README.md
├── lib
├── node_modules
└── package.json

issues looks the same to me #29

Confirmed, here. No index.js.

Oh, sorry..
I will fix this issue. Please wait a few hours.

Hi @rike422 , @jackiemcghee .
I've released v0.2.9, and confirmed the new version includes index.js.
Please use v0.2.9 instead of v0.2.8.

Thx :+1:

Thanks, @tatsuyafw

thx!


Device trigger for buttons in integration version 2+

WXKG06LM  not support action key

What you mean?

I think he is talking about problem with automatization triggers.
In previous version of component, you could choose single/double button click  on wall switch aqara e1 or d1 as trigger in GUI for automatization.
In new release there is no such option.
This code works on both versions:
trigger:

platform: device
device_id: 60c035474bdf1ce71620513d37cbe4b2
domain: xiaomi_gateway3
type: button_1
action: single

But in 2 version GUI shows unsupported trigger, but it works.

Problems with:

lumi.remote.b286acn02
lumi.switch.b2lc04

Yes. It is problem.

You may check latest master version

Looks like everything works good.
Thank you


Solutions to file clutter after many revisions?

When I first learned about Scenic it seemed awesome in every way possible. Now, after having used it on a major project for a few months I realize that it's turning into a mess with 10+ revisions for certain views and old dropped views laying around with all their revisions. And this is only after months, I can't imagine what things will look like after a year or two.
I still think Scenic is great in a lot of ways, but unless I'm missing something, it could use a better way of handling old revisions.
This is my idea:
Add a mode that just utilizes version control (=git). Keep only one file for each view, and allow the users to generate a migration for that view through a scenic command. That command generates the migration file, grabs the last committed revision of the view-file and puts in the down, and then puts whatever is currently in the view-file in up (using execute statements).
My idea is probably missing a necessary check/feature or two, but as a concept, I think it would lead to a less cluttered workspace and a more normalized model (e.g. if someone wants to check out old versions, use version control or check the migrations directly).
A less aggressive approach could be to add an archive command to scenic, that essentially edits all the old migrations and replaces the scenic statements (e.g. create_view, replace_view, etc.) with their respective SQL code, including the relevant revision of the view. Then it safely deletes all the old revision-files that it "archived". Sure, going back and editing migrations might not be great, but it's all opinion-based.
Would love to hear some input/responses to these 2 different ideas :)

Hi @fgblomqvist, I'm glad you're enjoying (sort of) Scenic. The decision to retain all old versions of the views is in keeping with the practice of keeping old migrations. Our view is that migrations in your project should be runnable at any given point. If we remove old .sql files then this will no longer be the case.
If you'd prefer instead to truncate migrations then you are also free to truncate old versions of the views. I'm not sure the generators would behave as expected in this scenario (since they'd detect a missing _v01.sql file) but that could be addressed.
From what you're describing, it sounds like you're most interested in Scenic's ability to modify views in migrations and, perhaps, to dump the resulting SQL to db/schema.rb. If this is the case, you may with to check out schema_plus_views as this may be closer to your expectation there.
I'm not particularly swayed by clutter argument. I have very little reason to interact with the files in db/views -- about as much reason as you have to interact with the files in db/migrate.

Thanks for your thorough response. I understand your point of view. I will try the truncating at some point and come back here if it didn't work.


Cannot find declaration file for module './languageFacts'

Repo

Using 3.0.13-next.12 from npm
Try importing vscode-css-languageservice in a typescript project

Bug
See the compile error:
node_modules/vscode-css-languageservice/lib/umd/cssLanguageService.d.ts:6:33 - error TS7016: Could not find a declaration file for module './languageFacts'. '/Users/matb/projects/typescript-styled-plugin/node_modules/vscode-css-languageservice/lib/umd/languageFacts/index.js' implicitly has an 'any' type.

6 export { CSSDataProvider } from './languageFacts';

I confirmed that a directory called languageFacts exists on disk but that it only contains js files.

Thanks, fixed in 3.0.13.


query about "protein autophosphorylation" term

Isn't this term a bit strange as a separate process? The only thing which differentiates it from "protein phosphorylation" is that the substrate is itself. This doesn't make it a different process though.
Ditto any similar terms.
Reported by: ValWood
Original Ticket: geneontology/ontology-requests/11720

Keeping auto-phosphorylation. No harm in annotators recording this in an extension anyway.  Also worth noting that the extension can't distinguish cis from trans autophosphorylation.  We have both terms in the ontology.  I think that the ability to cis-autophosphrylate IS a property of a protein and so definitely belongs in the ontology.  The term currently has no annotations, but that appears to be due to neglect rather then biology:
e.g. see
http://stke.sciencemag.org/content/2/54/pe4
http://www.ncbi.nlm.nih.gov/pubmed/9054577
http://www.ncbi.nlm.nih.gov/pubmed/23000554
http://www.ncbi.nlm.nih.gov/pubmed/9201908


feature request: configurations for replacing native fetch

Currently, fal-js uses native fetch, but I think it is good to have configurations for changing a default network request function to axios or cross-fetch or got.
Also, I found out that cross-fetch is in package.json but it seems that it is not used in this package. I opened this issue, because I want to use cross-fetch instead of native fetch, because fetch has memory leak issue with datadog service that I'm using.

Hey @ZeroCho this is a fair request, I'll look into adding a configurable fetch. We considered it initially, that's why cross-fetch is there, but the lack of control on how different consumers call the service can create a variety of errors we can't control or even easily debug, so that's why we currently lean against it.
I'm curious about the case you mentioned, does Datadog patch the global fetch?

@drochetti Thank you for your reply. Yes, datadog patches global fetch and that causes a problem now. So it has a memory leak issue that even after an image generation is finished with fal, a fal agent keeps memory of images. I found out that it was not the problem of fal, but the problem of fetch that datadog patched. That's why I wanna change fetch function.

Hey @ZeroCho this feature was added and already released. See the PR here: https://github.com/fal-ai/fal-js/pull/74
I'll close this isse, feel free to reach out if you have any other issues or feedback.

Thank you! It works like a charm!


Document a common "appending to a file" use case.

This use case demonstrates some usage and properties of --split, put-file with and without the --overwrite flag, and some of pachyderm's incremental processing capabilities.
From a discussion with a user:
Q: I have a file that is growing bigger. Today x rows, tomorrow, x+y rows. However, I want Pachyderm to operate on x rows on the first day, and y rows on the second day. The new rows are being appended only, no upserts.
How do I handle this in Pachyderm?
A: There are two ways you can accomplish this in Pachyderm. #1 is slightly more efficient than #2, but requires a bit more legwork on your end.

The best way to do this in pachyderm  would be to separate out y from x outside of pachyderm and only add y to pachyderm each time, appending to the existing xeach day.  your command would look something likepachctl put-file repo master -f y.csv --split. Pachyderm will only add and process the new y` rows.

Now, we totally understand that in some use cases, you dont have y or can't break it out easily, just x+y every day and Pachyderm can handle this just fine as well in scenario #2.

If you do ``pachctl put-file repo master -f x+y.csv --split --overwrite, pachyderm will only process yand skip all the files forxwhich are the same. Keep in mind, if there are any upserts or deletions inxat all, pachyderm will likely reprocess everything from scratch, but as long asxhasn’t changed, pachyderm will only process theyrows that are newly appended tox+y.csv`.

The slightly less efficient part of this methodology is that your put-file command is adding the entire x+y data set every time even though it’s throwing away the x data each time since it already has it. So as x gets really big, the put-file command will start to get slower since you're passing an ever-growing file to Pachyderm, which is splitting it up and throwing away duplicates (e.g. x). Pachyderm will still only ever be processing the new data, y.
Notice that you’ll need to add the --overwrite flag for this method to make this work, otherwise you’ll get x+x+y every time (put-file appends the data being put to the existing data by default) and thats not what you want.

Related to #3569

Regardless of whether #3569 is closable, I think an example like this could be useful.


Like button

Adding a like button with likes showing.

Hello @JayShukla8
I'd love to contribute to this issue as part of Hacktoberfest24. Could you please assign it to me and add the "Hacktoberfest" label if this repository is participating? Thank you!

Ok, you can work on that, but please don't change the styling and keep the likes counts and like button minimalistic.

I have to work on that will you please assign it to me.

Sorry guys,
redirect to #121 if you want to help.


Fix deprecated implicit copy operations (#711)

Fixes #711
I went over all classes with custom destructors, and =deleted or =defaulted their copy operations. In cases where that would remove the default constructor, I added it back.

Now that I'm thinking about it, this is a breaking change for those who copy a newly constructed b2World, like you did in tests (which is safe, unlike copying worlds with something inserted into them). I don't think this is a big deal, since there's a workaround (wraping one in unique_ptr or optional), so I wouldn't bother writing move ops.

not accepting PRs, but I'll keep the issue open


Update build instructions for windows (cmake generator)

It builds fine in MSVC 2017 Community with the proper cmake flags, or using the cmake GUI.

Coverage increased (+0.1%) to 96.145% when pulling c189f9604fdbb0988e312b84772d95086ca0012f on mchubby:patch-1 into e5dbe7bb64a896a42ac3c17f760674d94018e271 on akheron:master.


Attaching Generic class script in editor makes Godot unable to find class

Godot version
3.4 stable mono
System information
Windows 10
Issue description
In the editor, if adding a generic typed class (Foo) with a child node that uses the provided Type, Godot will say it cannot find the class. This is not an issue if you add them through the script.
Steps to reproduce
Run the minimal reproduction project and make sure to have the following setup.

Make sure the classes are as follows:

Run the project, and it should create the "Baz" node with no issue.
Comment out lines 7 and 8 of Foo.cs

Instead, add a Node2D and attach the Baz script to it like so:

Run the project, and it should show:

Minimal reproduction project
GenericTest.zip

Please comment when closing an issue so that we know what the resolution was.

Sorry. I was told this is not a bug but a limitation of Godot.


Flag ol.style.Text setOffsetX and Y as @api

This PR flags the setOffsetX and setOffsetY methods of the ol.style.Text as @api, thus allowing them to be used with the minimized version of the library.

@tschaub - ping!  (just in case you hadn't noticed this PR).

Thanks @adube!

Awesome! Thank you for the quick review.


[feature] --skip-refresh to pass through to deps

--skip-refresh right now disables adding new repos, but in addition it should pass down to helm deps update to not refresh the actual values

@yxxhero a follow up to my prior change

@sstarcher oh. good cacth. LGTM


Rand() optimization

Information

Version of Medoo: 2.1.7
Type of Database (MySQL, MSSQL, SQLite...): Mysql
Amount of lines in my database: 200 k
Weight of my database: 500 Mo

Hello folks.
I make a
$var = $database->rand('xxx', [
    'yyy',
    'zzz'
    ],[
    'LIMIT' => 6
    ]);

My hoster is crying because the request need to load a very big amount of data for every page load and overload the temporaries files.
They explain to me how to optimize the SQL request.
If I understood how SQL woks, I won't use Medoo. No ?
And we passed from (generated by Medoo)
SELECT yyy,zzz
FROM xxx
ORDER BY RAND()
LIMIT 6;

to
SELECT s.yyy, s.zzz
FROM xxx s
JOIN (
    SELECT id
    FROM xxx
    ORDER BY RAND()
    LIMIT 6
) AS z ON z.id = s.id

The time of request is 4s for unoptimized request to 0.15s for the optimized.
The idea come from : https://stackoverflow.com/questions/1823306/mysql-alternatives-to-order-by-rand
I clearly don't have the skill to make a pull request, but I think this optimization in Medoo could be a good idea.
In reality, I don't have the skill to understand how and why this optimization works.
Regards

Well, optimizing fetching data randomly from the database is a complex case.
Those solutions are based on different construction, different data type, or different database engine. There is no absolute answer.
I just recommend you can use rand() for simple and small data.
But for complex and larger data, it's good to write your query alone with query() based on your actual situation.

Ok, thank you for your enlightenment.
And yes, I used query() yesterday to implement the solution prescribed by my hoster.


Touch screen pans and zooms on canvas by using drag and pinch

Useful for devices with separate active touch pens and touch screens.

I don't have a touchscreen nor a 2 in 1 but it shouldn't be too hard to test yourself since you have one, just clone the repo (not the official one, but the one from the pr), open in godot and export, if i can remember to i'll make a guide to export in a while, if i don't remember to.. feel free to tag me to remind me to do so, this way you can test it on your device haha

Since I left that comments I've learned how to use godot 😅
I believe this PR still uses godot 3 while the main branch has updated to godot 4.
I might try porting this PR and opening a new PR

Ok I've ported these changes to the newest version of the project here.
I'll open a new pull request if @mbrlabs expresses interest in merging this.

@scott-scott with a surface go 2 tablet running fedora expresses interest in this being merged.


"Enabled Identity Providers" section keeps being erased when we push to amplify

Before opening, please confirm:

[X] I have checked to see if my question is addressed in the FAQ.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.

App Id
No response
Region
N. Virginia
Amplify Hosting feature
No response
Describe the bug

Each time we push to amplify, all the checkboxes are unticked
Expected behavior
config remains untouched after pushing to amplify
Reproduction steps

Push to amplify
Config is deleted

Build Settings
No response
Additional information
No response

Hey @rf-tiana, 👋 thank you for reaching out. Could you let us know if the identity providers were configured using Amplify CLI or the AWS Cognito console?
If auth resource were created using Amplify CLI and the identity providers were added on the AWS Cognito console, the next amplify push may remove the console changes as Amplify CLI utilizes CloudFormation to deploy the resource and does not sync console changes.

Closing due to inactivity


Volumes stop syncing

Describe the bug
Me and my coworkers have noticed the following issue using OrbStack:
Occasionally, containers running on OrbStack would start having extremely delayed file syncs (1 min+) or would stop syncing files altogether. "File sync" being defined as the delay between editing a file and seeing the changes reflected in the CLI or the browser.
Restarting OrbStack helps temporarily. Same as resetting/wiping OrbStack completely. Restarting containers sometimes helps, too.
I've noticed this issue when running medium-sized apps with a decent number of files and with frequent edits.
The apps I am running on OrbStack are completely different and written using different languages, so it's not a caching issue within the applications themselves.
I only noticed this issue since the last version, having been using OrbStack since the beginning.
This may have something to do with sleep, because in every instance the issue started after the Macs woke up from sleep (e.g. a MacBook's lid being closed and later opened, while keeping the containers running).
To Reproduce

Run a container on OrbStack with at least one mounted volume
Edit a file on the local file system
The change may or may not get synced to the Docker volume

Expected behavior
The file volumes staying synced with the local FS
Diagnostic report (REQUIRED)
OrbStack info:
Version: 1.6.4
Commit: 90e832a0f4c6787bd028dc4efcd9c98cd5a2bc3d (v1.6.4)
System info:
macOS: 14.6 (23G80)
CPU: arm64, 10 cores
CPU model: Apple M1 Max
Model: MacBookPro18,2
Memory: 64 GiB
Full report: https://orbstack.dev/_admin/diag/orbstack-diagreport_2024-08-05T06-43-07.817357Z.zip

I have the same problem with OrbStack and ddev. I noticed it 2 months ago, but I didn't code to much that time so it was not a problem to restart a ddev. But now it is huge issue, need to restart ddev or Orb sometimes for every file edit.

There are at least two "closed" issues related to a synchronization problem. Attempts to fix it started from 1.6.0. Probably, when OrbStack introduced a new fast FS for files synchronization. That's when I started experiencing problems with synchronization.

Related issues:
#1287
#1240

Introductions of the new FS https://orbstack.dev/blog/fast-filesystem

Can someone try this?

Quit OrbStack fully
Open Activity Monitor and fill the search bar with "OrbStack"
Open OrbStack, but don't wait for it to start
Go back to Activity Monitor quickly as possible, double-click "OrbStack Helper", and click Sample
Save the full output and send it to<EMAIL_ADDRESS>
I think we've found the problem but this should help confirm the cause. Thanks!

Just sent the report.

Thanks @dstorozhuk! Can you also send a diagnostic report from Help > Upload Diagnostics?

Done. I am using ddev, BTW.

Fixed for the next version.
This only occurs in some specific environments so we couldn't reproduce it, but we did finally manage to find the issue.

@kdrag0n Wow, hopefully my logs helped to discover the issue.
Would be interested to know the technical details.

@kdrag0n Is there an alpha/beta version we can help test?

Released in v1.7.0 Canary 1.

Released in stable v1.7.0.
Blog post: Releasing unused container memory on macOS


[BUG]:  _all_gather_func = dist._all_gather_base \ AttributeError: module 'torch.distributed' has no attribute '_all_gather_base'

🐛 Describe the bug
When I run train_dummy.py,Such an error occurs:
Traceback (most recent call last):
File "/home/whong/ChatGPT/examples/train_dummy.py", line 9, in
from chatgpt.trainer import PPOTrainer
File "/home/whong/ChatGPT/chatgpt/trainer/init.py", line 1, in
from .base import Trainer
File "/home/whong/ChatGPT/chatgpt/trainer/base.py", line 11, in
from .callbacks import Callback
File "/home/whong/ChatGPT/chatgpt/trainer/callbacks/init.py", line 3, in
from .save_checkpoint import SaveCheckpoint
File "/home/whong/ChatGPT/chatgpt/trainer/callbacks/save_checkpoint.py", line 4, in
from chatgpt.trainer.strategies import ColossalAIStrategy, Strategy
File "/home/whong/ChatGPT/chatgpt/trainer/strategies/init.py", line 2, in
from .colossalai import ColossalAIStrategy
File "/home/whong/ChatGPT/chatgpt/trainer/strategies/colossalai.py", line 11, in
import colossalai
File "/home/whong/anaconda3/envs/ColossalAI/lib/python3.9/site-packages/colossalai/init.py", line 1, in
from .initialize import (
File "/home/whong/anaconda3/envs/ColossalAI/lib/python3.9/site-packages/colossalai/initialize.py", line 18, in
from colossalai.amp import AMP_TYPE, convert_to_amp
File "/home/whong/anaconda3/envs/ColossalAI/lib/python3.9/site-packages/colossalai/amp/init.py", line 9, in
from .torch_amp import convert_to_torch_amp
File "/home/whong/anaconda3/envs/ColossalAI/lib/python3.9/site-packages/colossalai/amp/torch_amp/init.py", line 9, in
from .torch_amp import TorchAMPLoss, TorchAMPModel, TorchAMPOptimizer
File "/home/whong/anaconda3/envs/ColossalAI/lib/python3.9/site-packages/colossalai/amp/torch_amp/torch_amp.py", line 10, in
from colossalai.nn.optimizer import ColossalaiOptimizer
File "/home/whong/anaconda3/envs/ColossalAI/lib/python3.9/site-packages/colossalai/nn/init.py", line 1, in
from ._ops import *
File "/home/whong/anaconda3/envs/ColossalAI/lib/python3.9/site-packages/colossalai/nn/_ops/init.py", line 1, in
from .addmm import colo_addmm
File "/home/whong/anaconda3/envs/ColossalAI/lib/python3.9/site-packages/colossalai/nn/_ops/addmm.py", line 5, in
from ._utils import GeneralTensor, Number, convert_to_colo_tensor
File "/home/whong/anaconda3/envs/ColossalAI/lib/python3.9/site-packages/colossalai/nn/_ops/_utils.py", line 8, in
from colossalai.nn.layer.utils import divide
File "/home/whong/anaconda3/envs/ColossalAI/lib/python3.9/site-packages/colossalai/nn/layer/init.py", line 1, in
from .colossalai_layer import *
File "/home/whong/anaconda3/envs/ColossalAI/lib/python3.9/site-packages/colossalai/nn/layer/colossalai_layer/init.py", line 1, in
from ._utils import partition_batch
File "/home/whong/anaconda3/envs/ColossalAI/lib/python3.9/site-packages/colossalai/nn/layer/colossalai_layer/_utils.py", line 4, in
from ..parallel_2d._operation import split_batch_2d
File "/home/whong/anaconda3/envs/ColossalAI/lib/python3.9/site-packages/colossalai/nn/layer/parallel_2d/init.py", line 1, in
from ._operation import reduce_by_batch_2d, split_batch_2d
File "/home/whong/anaconda3/envs/ColossalAI/lib/python3.9/site-packages/colossalai/nn/layer/parallel_2d/_operation.py", line 5, in
from colossalai.communication.collective import (all_gather, all_reduce, reduce, reduce_scatter)
File "/home/whong/anaconda3/envs/ColossalAI/lib/python3.9/site-packages/colossalai/communication/init.py", line 1, in
from .collective import all_gather, reduce_scatter, all_reduce, broadcast, reduce
File "/home/whong/anaconda3/envs/ColossalAI/lib/python3.9/site-packages/colossalai/communication/collective.py", line 12, in
_all_gather_func = dist._all_gather_base
AttributeError: module 'torch.distributed' has no attribute '_all_gather_base'
Environment
Commands running on the server:

import torch
print(torch.version)
1.8.0
print(torch.version.cuda)
11.1

$ conda list
torch      1.13.1
cudatoolkit       11.1.1

Hi, your torch version is a bit too old (1.8). Please upgrade the torch, or use the one installed in your conda environment.


HTTP header line endings

Hi,
I recently discovered the merecat is sending an HTTP response in the following format:
HTTP/1.0 200 OK\r\n
Content-type: text/html\n
\n

The status line is correctly ended with '\r\n', but the content-type header and the newline separating headers and body is '\n'. The Unix line endings are produced by my CGI script. I can fix this on the CGI script side, but accord to CGI RFC it seems that CGI servers are supposed to do the translation from native line ends to '\r\n'.
I think that it can be implemented in libhttp.c when interposing cgi_output after the test that headers aren't empty. Would you be willing to add this change? If necessary I can implement it and send PR.

Hi, if you can submit a PR it'll go faster, definitely :)

Fixed in b69d368.


Refactorize with Sonarlint

Refactorize code with Sonarlint.
It is maybe needed.

I refactorized existing code with Sonarlint.


STM32 examples with .ioc file

Hi Majerle,
Can you share STM32 examples with ioc files?

I do not have examples with .ioc.

Thanks.