HMR in nuxt version 3.14.1592 is extremely slow

Environment

Operating System: Darwin
Node Version:     v22.10.0
Nuxt Version:     3.14.1592
CLI Version:      3.15.0
Nitro Version:    2.10.4
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      default
Runtime Modules<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Build Modules:    -

Reproduction
reproduction branch
Describe the bug
Problem
After upgrade nuxt to v3.14.1592, nuxt dev starts very slow, and hot reloads too many files even change only one file, which makes the hmr taking so much time. Reverting to v3.14.159 fixs this problem.
Environment
MacBook Pro M1 16GB, macOS Sequoia 15.2, node v22.10.0
HMR time comparison:
Change file PostImage.vue only and save.
Using v3.14.159, reproduction branch
ℹ hmr update /components/content/PostImage.vue, /assets/css/tailwind.css, /assets/css/tailwind.css?direct                     11:08:53
✔ Vite server hmr 11 files in 164.701ms

Using v.3.14.1592, reproduction branch
ℹ hmr update /components/content/PostImage.vue, /assets/css/tailwind.css, /assets/css/tailwind.css?direct                     11:20:22

[11:20:22]  WARN  Duplicated imports "useTrackEvent", the one from "/Users/bean/Projects/GitHub/HADB/hadb.me/node_modules/.pnpm/@nuxtjs+plausible@1.2.0_magicast@0.3.5_rollup@4.25.0_webpack-sources@3.2.3/node_modules/@nuxtjs/plausible/dist/runtime/composables/useTrackEvent" has been ignored and "/Users/bean/Projects/GitHub/HADB/hadb.me/node_modules/.pnpm/nuxt-gtag@3.0.2_magicast@0.3.5_rollup<EMAIL_ADDRESS>is used

✔ Vite server hmr 380 files in 21881.117ms

Full logs:
Using v3.14.159
➜  hadb.me git:(main) ✗ pnpm dev

> @ dev /Users/bean/Projects/GitHub/HADB/hadb.me
> nuxt dev --host

Nuxt 3.14.159 with Nitro 2.10.4                                                                                11:07:14
                                                                                11:07:14

              █▀▀▀▀▀▀▀█▀████▀█▀██▀▀▀▀▀▀▀█
              █ █▀▀▀█ █ ▀█▄ ▄ ███ █▀▀▀█ █
              █ █   █ █▄  █ ▄█▀▄█ █   █ █
              █ ▀▀▀▀▀ █ ▄ █▀▄ █▀█ ▀▀▀▀▀ █
              █▀▀██▀▀▀███ ▄▀█▀▄▀██▀█▀▀▀▀█
              █▀ ▄▀▄▀▀█ ▀▀██ ▀ ▀█▀▄▄ ▀▄██
              █ ▄▄ █ ▀ ▄▄█▀ █▀  ▄ ██▀  ▀█
              █▄█▀█▀▄▀▄▀▀ ▀ ▀█ █ █ ▄▀▀▄██
              █▀▀ ▄▄▀▀▄▀█▀▀ █▀▄   ▀▀  ▄██
              █▀▀▀▀▀▀▀█▄   ▄ █▄ █▀█ ▀▄███
              █ █▀▀▀█ █  █▄██ ▄ ▀▀▀ ▄ ▄▄█
              █ █   █ ██▀█ ▄▄██▄█ ██▄▄ ▄█
              █ ▀▀▀▀▀ █ ▀▄▄██▀▄█ █▄▄▄  ▀█
              ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

  ➜ Local:    http://localhost:3000/
  ➜ Network:  http://<IP_ADDRESS>:3000/ [QR code]

ℹ Using Tailwind CSS from ~/assets/css/tailwind.css                                                          nuxt:tailwindcss 11:07:15

[11:07:16]  WARN  Duplicated imports "useTrackEvent", the one from "/Users/bean/Projects/GitHub/HADB/hadb.me/node_modules/.pnpm/@nuxtjs+plausible@1.2.0_magicast@0.3.5_rollup@4.25.0_webpack-sources@3.2.3/node_modules/@nuxtjs/plausible/dist/runtime/composables/useTrackEvent" has been ignored and "/Users/bean/Projects/GitHub/HADB/hadb.me/node_modules/.pnpm/nuxt-gtag@3.0.2_magicast@0.3.5_rollup<EMAIL_ADDRESS>is used

ℹ Nuxt Icon server bundle mode is set to local                                                                                11:07:16
[11:07:17] ✔ Nuxt Icon discovered local-installed 7 collections: fa6-brands, fa6-solid, heroicons, material-symbols, ph, simple-icons, uil
ℹ Tailwind Viewer: http://localhost:3000/_tailwind/                                                          nuxt:tailwindcss 11:07:17

[11:07:17]  WARN  Duplicated imports "useTrackEvent", the one from "/Users/bean/Projects/GitHub/HADB/hadb.me/node_modules/.pnpm/@nuxtjs+plausible@1.2.0_magicast@0.3.5_rollup@4.25.0_webpack-sources@3.2.3/node_modules/@nuxtjs/plausible/dist/runtime/composables/useTrackEvent" has been ignored and "/Users/bean/Projects/GitHub/HADB/hadb.me/node_modules/.pnpm/nuxt-gtag@3.0.2_magicast@0.3.5_rollup<EMAIL_ADDRESS>is used

ℹ Re-optimizing dependencies because lockfile has changed                                                                     11:07:18
✔ Vite client built in 121ms                                                                                11:07:18
✔ Vite server built in 2354ms                                                                                11:07:20

[11:07:20]  WARN  Duplicated imports "useTrackEvent", the one from "/Users/bean/Projects/GitHub/HADB/hadb.me/node_modules/.pnpm/@nuxtjs+plausible@1.2.0_magicast@0.3.5_rollup@4.25.0_webpack-sources@3.2.3/node_modules/@nuxtjs/plausible/dist/runtime/composables/useTrackEvent" has been ignored and "/Users/bean/Projects/GitHub/HADB/hadb.me/node_modules/.pnpm/nuxt-gtag@3.0.2_magicast@0.3.5_rollup<EMAIL_ADDRESS>is used

✔ Nuxt Nitro server built in 2201 ms                                                                                nitro 11:07:23
ℹ Vite server warmed up in 18929ms                                                                                11:07:41
ℹ ✨ new dependencies optimized: @sentry/nuxt                                                                                11:07:42
ℹ ✨ optimized dependencies changed. reloading                                                                                11:07:42
ℹ Vite client warmed up in 19116ms                                                                                11:07:42
✔ Vite server hmr 99 files in 1080.499ms
Deprecation Warning: The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0.

More info: https://sass-lang.com/d/legacy-js-api

Deprecation Warning: The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0.

More info: https://sass-lang.com/d/legacy-js-api

Deprecation Warning: The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0.

More info: https://sass-lang.com/d/legacy-js-api

ℹ ✨ new dependencies optimized: artalk, luxon                                                                                11:08:28
ℹ ✨ optimized dependencies changed. reloading                                                                                11:08:28
Deprecation Warning: The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0.

More info: https://sass-lang.com/d/legacy-js-api

Deprecation Warning: The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0.

More info: https://sass-lang.com/d/legacy-js-api

ℹ hmr update /components/content/PostImage.vue, /assets/css/tailwind.css, /assets/css/tailwind.css?direct                     11:08:53
✔ Vite server hmr 11 files in 164.701ms

Using v3.14.1592:
➜  hadb.me git:(main) ✗ pnpm dev

> @ dev /Users/bean/Projects/GitHub/HADB/hadb.me
> nuxt dev --host

Nuxt 3.14.1592 with Nitro 2.10.4                                                                                11:17:57
                                                                                11:17:57

              █▀▀▀▀▀▀▀█▀████▀█▀██▀▀▀▀▀▀▀█
              █ █▀▀▀█ █ ▀█▄ ▄ ███ █▀▀▀█ █
              █ █   █ █▄  █ ▄█▀▄█ █   █ █
              █ ▀▀▀▀▀ █ ▄ █▀▄ █▀█ ▀▀▀▀▀ █
              █▀▀██▀▀▀███ ▄▀█▀▄▀██▀█▀▀▀▀█
              █▀ ▄▀▄▀▀█ ▀▀██ ▀ ▀█▀▄▄ ▀▄██
              █ ▄▄ █ ▀ ▄▄█▀ █▀  ▄ ██▀  ▀█
              █▄█▀█▀▄▀▄▀▀ ▀ ▀█ █ █ ▄▀▀▄██
              █▀▀ ▄▄▀▀▄▀█▀▀ █▀▄   ▀▀  ▄██
              █▀▀▀▀▀▀▀█▄   ▄ █▄ █▀█ ▀▄███
              █ █▀▀▀█ █  █▄██ ▄ ▀▀▀ ▄ ▄▄█
              █ █   █ ██▀█ ▄▄██▄█ ██▄▄ ▄█
              █ ▀▀▀▀▀ █ ▀▄▄██▀▄█ █▄▄▄  ▀█
              ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

  ➜ Local:    http://localhost:3000/
  ➜ Network:  http://<IP_ADDRESS>:3000/ [QR code]

ℹ Using Tailwind CSS from ~/assets/css/tailwind.css                                                          nuxt:tailwindcss 11:17:59

[11:17:59]  WARN  Duplicated imports "useTrackEvent", the one from "/Users/bean/Projects/GitHub/HADB/hadb.me/node_modules/.pnpm/@nuxtjs+plausible@1.2.0_magicast@0.3.5_rollup@4.25.0_webpack-sources@3.2.3/node_modules/@nuxtjs/plausible/dist/runtime/composables/useTrackEvent" has been ignored and "/Users/bean/Projects/GitHub/HADB/hadb.me/node_modules/.pnpm/nuxt-gtag@3.0.2_magicast@0.3.5_rollup<EMAIL_ADDRESS>is used

ℹ Nuxt Icon server bundle mode is set to local                                                                                11:17:59
[11:18:00] ✔ Nuxt Icon discovered local-installed 7 collections: fa6-brands, fa6-solid, heroicons, material-symbols, ph, simple-icons, uil
ℹ Tailwind Viewer: http://localhost:3000/_tailwind/                                                          nuxt:tailwindcss 11:18:00

[11:18:01]  WARN  Duplicated imports "useTrackEvent", the one from "/Users/bean/Projects/GitHub/HADB/hadb.me/node_modules/.pnpm/@nuxtjs+plausible@1.2.0_magicast@0.3.5_rollup@4.25.0_webpack-sources@3.2.3/node_modules/@nuxtjs/plausible/dist/runtime/composables/useTrackEvent" has been ignored and "/Users/bean/Projects/GitHub/HADB/hadb.me/node_modules/.pnpm/nuxt-gtag@3.0.2_magicast@0.3.5_rollup<EMAIL_ADDRESS>is used

ℹ Re-optimizing dependencies because lockfile has changed                                                                     11:18:01
✔ Vite client built in 122ms                                                                                11:18:01
✔ Vite server built in 1163ms                                                                                11:18:02

[11:18:03]  WARN  Duplicated imports "useTrackEvent", the one from "/Users/bean/Projects/GitHub/HADB/hadb.me/node_modules/.pnpm/@nuxtjs+plausible@1.2.0_magicast@0.3.5_rollup@4.25.0_webpack-sources@3.2.3/node_modules/@nuxtjs/plausible/dist/runtime/composables/useTrackEvent" has been ignored and "/Users/bean/Projects/GitHub/HADB/hadb.me/node_modules/.pnpm/nuxt-gtag@3.0.2_magicast@0.3.5_rollup<EMAIL_ADDRESS>is used

✔ Nuxt Nitro server built in 1448 ms                                                                                nitro 11:18:04
ℹ Vite server warmed up in 19758ms                                                                                11:18:24
ℹ ✨ new dependencies optimized: @sentry/nuxt                                                                                11:18:24
ℹ ✨ optimized dependencies changed. reloading                                                                                11:18:24
ℹ Vite client warmed up in 19907ms                                                                                11:18:24
✔ Vite server hmr 107 files in 405.7ms
Deprecation Warning: The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0.

More info: https://sass-lang.com/d/legacy-js-api

Deprecation Warning: The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0.

More info: https://sass-lang.com/d/legacy-js-api

Deprecation Warning: The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0.

More info: https://sass-lang.com/d/legacy-js-api

ℹ ✨ new dependencies optimized: artalk, luxon                                                                                11:19:22
ℹ ✨ optimized dependencies changed. reloading                                                                                11:19:22
Deprecation Warning: The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0.

More info: https://sass-lang.com/d/legacy-js-api

Deprecation Warning: The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0.

More info: https://sass-lang.com/d/legacy-js-api

ℹ hmr update /components/content/PostImage.vue, /assets/css/tailwind.css, /assets/css/tailwind.css?direct                     11:20:22

[11:20:22]  WARN  Duplicated imports "useTrackEvent", the one from "/Users/bean/Projects/GitHub/HADB/hadb.me/node_modules/.pnpm/@nuxtjs+plausible@1.2.0_magicast@0.3.5_rollup@4.25.0_webpack-sources@3.2.3/node_modules/@nuxtjs/plausible/dist/runtime/composables/useTrackEvent" has been ignored and "/Users/bean/Projects/GitHub/HADB/hadb.me/node_modules/.pnpm/nuxt-gtag@3.0.2_magicast@0.3.5_rollup<EMAIL_ADDRESS>is used

✔ Vite server hmr 380 files in 21881.117ms

Similar issue:

The HMR in the 3.14.1592 version of Nuxt is also very slow. I had to revert to version 3.14.0.

Originally posted by @CesarWatrin in #30008

Yes, I also noticed this issue. The waiting time for HMR is so long that it's almost impossible to develop.

This is all I get:
[13:42:21]  WARN  Duplicated imports "useTrackEvent" ...

ℹ hmr update /components/content/PostImage.vue, /assets/css/tailwind.css, /assets/css/tailwind.css?direct                               13:42:21

[13:43:28]  WARN  Duplicated imports "useTrackEvent" ...

ℹ hmr update /components/content/PostImage.vue, /assets/css/tailwind.css, /assets/css/tailwind.css?direct (x2)                          13:43:28

I'm also running on MacOS (Silicon).
What kind of changes are you making to the file?

I only add an simple span element to PostImage.vue.

@HADB What if you disable the sentry integration? At the moment, that's the only difference I can tell from your setup as I don't have your .env file.

this issue is resolved in https://github.com/nuxt/nuxt/pull/30113.

@danielroe Happy Holidays!
It seems that this issue still persists in version v3.15.0. HMR performance is still much slower compared to version v3.14.159.
Additionally, I noticed that the warning log of Duplicated imports used to appear only once during startup. However, since version 3.14.1592, it shows up every time hot reloads. Could it be that some extra operations are being performed during hot reloading?
Here are the relevant logs for both versions:
Logs in v.3.15.0, reproduction code:
ℹ hmr update /components/content/PostImage.vue, /assets/css/tailwind.css, /assets/css/tailwind.css?direct             19:53:46

[19:53:46]  WARN  Duplicated imports "useTrackEvent", the one from "/Users/bean/Projects/GitHub/HADB/hadb.me/node_modules/.pnpm/@nuxtjs+plausible@1.2.0_magicast@0.3.5_rollup@4.29.1/node_modules/@nuxtjs/plausible/dist/runtime/composables/useTrackEvent" has been ignored and "/Users/bean/Projects/GitHub/HADB/hadb.me/node_modules/.pnpm/nuxt-gtag@3.0.2_magicast<EMAIL_ADDRESS>is used

✔ Vite server hmr 10 files in 22495.327ms

Logs fallback to v3.14.159:
ℹ hmr update /components/content/PostImage.vue, /assets/css/tailwind.css, /assets/css/tailwind.css?direct             19:57:28
✔ Vite server hmr 11 files in 184.193ms

Please let me know if there's anything else I can provide to help debug this issue. Thank you!


Unit tests for popup-filters with grouped headers

Unit tests for #460 and https://jsfiddle.net/wLexc6pt/6/ fiddle

Codecov Report

Merging #474 into master will increase coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #474      +/-   ##
==========================================
+ Coverage    87.2%   87.23%   +0.02%
==========================================
  Files          37       37
  Lines        4354     4354
  Branches      353      353
==========================================
+ Hits         3797     3798       +1
+ Misses        533      532       -1
  Partials       24       24

Impacted Files
Coverage Δ

src/modules/popupFilter.js
88.1% <0%> (+0.54%)
:arrow_up:

Continue to review full report at Codecov.

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

TODO captured in https://github.com/koalyptus/TableFilter/projects/4
👍


Display version for pacakges with the same name

Add tests for cosmos client
Show version for every pacakge instance
Remove trailing spaces from package list test
Sort listed packages by name and version
Merge apps if package has CLI installed with cosmos response

Before:
         NAME             VERSION     CERTIFIED                       APP                            COMMAND                                   DESCRIPTION
  data-science-engine  2.0.1          true       /data-services/jupyter/jupyter                  ---              **DSEngine is only available as an add-on to a base subscription t...
  dcos-monitoring      v1.3.1         true       /dcos-monitoring                                dcos-monitoring  Makes it easy to monitor DC/OS components and your services on the...
  jenkins              3.6.1-2.190.1  true       /workloads/jenkins                              jenkins          Jenkins is an award-winning, cross-platform, continuous integratio...
  kafka                2.10.0-2.4.0   true       /data-services/kafka-zookeeper/kafka            ---              Apache Kafka is used for building real-time data pipelines and str...
  kafka-zookeeper      2.7.0-3.4.14   true       /data-services/kafka-zookeeper/kafka-zookeeper  ---              Apache ZooKeeper is a centralized service for maintaining configur...

After:
         NAME                  VERSION          CERTIFIED                       APP                            COMMAND                                   DESCRIPTION
  data-science-engine  2.0.1                    true       /data-services/jupyter/jupyter                  ---              **DSEngine is only available as an add-on to a base subscription t...
  dcos-monitoring      v1.3.1                   true       /dcos-monitoring                                dcos-monitoring  Makes it easy to monitor DC/OS components and your services on the...
  dcos-monitoring      v1.5.0-SNAPSHOT-d0c703f  true       /monitoring                                     ---              Makes it easy to monitor DC/OS components and your services on the...
  jenkins              3.6.1-2.190.1            true       /workloads/jenkins                              jenkins          Jenkins is an award-winning, cross-platform, continuous integratio...
  kafka                2.10.0-2.4.0             true       /data-services/kafka-zookeeper/kafka            ---              Apache Kafka is used for building real-time data pipelines and str...
  kafka-zookeeper      2.7.0-3.4.14             true       /data-services/kafka-zookeeper/kafka-zookeeper  ---              Apache ZooKeeper is a centralized service for maintaining configur...

Fixes: https://jira.d2iq.com/browse/D2IQ-70580

@mesosphere-ci run windows integration tests


Cannot read property 'top' of undefined

Hey Guys
I was getting an Invariant Violation on the top property.  This small tweak should fix.

@kenwheeler this issue is so important, that you have even two PR to fix it. Please accept any one.

@ai closing this out because I merged the first one and pushed out 0.1.1


Deconvolution executes before nucleus detection, but the two couldbe run in parallel

For cases where we don't deconvolve nuclei images, deconvolution and nucleus detection could be run in parallel.

This is a much more general issue of refactoring to allow independent lines of work to proceed concurrently.


Add GC heuristic

Miri's GC runs every 10000 basic block, by default. It turns out that sometimes, it is better if the GC runs more often. This is especially true for some Tree Borrows programs, since in Tree Borrow, memory accesses take time linear in the size of a certain tree, and this tree can grow quite large, but is usually compacted significantly at every GC run. For some programs, it can be advantageous to run the GC every 200 blocks, or even more often.
Unfortunately, such a GC frequency would slow down other programs. To achieve a balance, this PR proposes a "heuristics" that allows running the GC more often based on how large the Tree Borrows tree grows. It is quite likely that other parts of Miri want to plug into this mechanisms as well, eventually. However, such concrete other cases are further work, as long as the system is designed to be general enough. This PR only contributes integration with Tree Borrows. It is also possible that the actual heuristics need more tweaks, but for now, the performance improvements look promising.
It is further likely that the overall design needs some change, since it currently relies on Cells. Also, I was not too sure where to put the new enums. So this PR is WIP for now, although it is functionally complete.

Hm, I'm wary of this heuristic because I tried something like it to solve the inverse problem and didn't get good results. Do you have any demonstrations of workloads where this implementation makes a huge difference?

My main immediate concern is that this can lead to significant slowdown if there are large trees that do not get compacted. So I feel like if we have such a heuristic, it should also take into account "did the big tree actually shrink on the last GC run" or something like that, and increase the GC period if the answer is "no".

What does this PR do on MIRIFLAGS=-Zmiri-tree-borrows ./miri bench? Please show numbers from before and after this change.
(Unfortunately we don't have a way to automatically compare two bench reports and print "things got X% slower/faster"... see https://github.com/rust-lang/miri/issues/3999 )

My main immediate concern is that this can lead to significant slowdown if there are large trees that do not get compacted. So I feel like if we have such a heuristic, it should also take into account "did the big tree actually shrink on the last GC run" or something like that, and increase the GC period if the answer is "no".

The way this works is by initially having some exponential back off with how often the GC runs (whenever the size doubles since the last GC run). Eventually that goes to linear (whenever a tree grew by X nodes since the last GC run). The reason is that I recon that most programs do not have many different provenances around. For the tree to not get compacted by the GC requires that programs execute lots of retags and then keep all these pointers alive. On such workloads, the GC already does nothing. Even even such programs would have to create and store a new reference every 7 basic blocks (with the current settings) for it to be slowed down by this patch.
In the end it is all trade-offs. This one seems to be worth it. I am not sure the current performance testsuite consists of programs where this shows (one way or another) but I can add some where it does.

The way this works is by initially having some exponential back off with how often the GC runs (whenever the size doubles since the last GC run).

Right, that makes sense, it just wasn't clear from the PR description. :)

Eventually that goes to linear (whenever a tree grew by X nodes since the last GC run).

That's a bit more surprising. What is the rationale for that? Did you compare the PR with and without this part?

I am not sure the current performance testsuite consists of programs where this shows (one way or another) but I can add some where it does.

Yes that would be good -- preferably one benchmark demonstrating a clear benefit. (We don't want tog row our number of benchmarks too much, either...)

We don't want to grow our number of benchmarks too much, either...

Do we not? Changes like the one in this PR would be much easier to find/develop/test if the suite of benchmarks was more diverse and larger in general. It its current form, it is useful only to ensure there are no really major performance regressions. But that's a separate issue.

More benchmarks means they take forever to run, and at least until we figure out https://github.com/rust-lang/miri/issues/3999 also forever to analyze.

:umbrella: The latest upstream changes (presumably #4009) made this pull request unmergeable. Please resolve the merge conflicts.

I found that there are some more cases where changing the numbers here so that the GC runs less often.

Sorry I can't parse this, what do you mean?

Huh, I seem to have swallowed a sentence there. What I mean is that I found some programs where this change is bad because it makes the GC run too often. Instead, these programs achieve optimal performance when the "magic numbers" in this PR are moved up a bit, so that the trees need to grow more before the GC is triggered. So finding what is a good number there is nontrivial/impossible, which makes me more unhappy with the current approach.

Well that's the usual issue with heuristics...


PlayReady protected MSS fails in nightly demo on Edge

Have you read the FAQ and checked for duplicate open issues?
Yes
What link can we use to reproduce this?
https://nightly-dot-shaka-player-demo.appspot.com/demo/#audiolang=en-US;textlang=en-US;uilang=en-US;panel=CUSTOM CONTENT;build=uncompiled
What version of Shaka Player are you using?
v4.3.7-main-35-g6c71b0ee6-uncompiled
What browser and OS are you using?
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36 Edg/114.0.1823.67
What did you do?

Goto the shaka-player-demo nightly-built version from here.
https://index-dot-shaka-player-demo.appspot.com
Create a custom content with the following info:
Main->Manifest URL: https://playready.directtaps.net/smoothstreaming/SSWSS720H264PR/SuperSpeedway_720.ism/Manifest
DRM->Custom License Server URL: https://playready.directtaps.net/pr/svc/rightsmanager.asmx
Name: Smooth PlayReady Test
Click "PLAY".

Content source:
https://github.com/androidx/media/blob/release-1.1.0/demos/main/src/main/assets/media.exolist.json#L264-L270
What did you expect to happen?
The stream starts playing.
What actually happened?
Playback didn't start and the following error message showed up:
Error code 3016

(No relevant error logs in the console)
Additional info
My environment:
Browser: Edge, Version 114.0.1823.67 (Official build) (64-bit)
OS: Windows 11 Pro, 22H2
The unprotected version of the same content works fine:
https://playready.directtaps.net/smoothstreaming/SSWSS720H264/SuperSpeedway_720.ism/Manifest

@avelad Ah, I see. But sorry I don't really have time to work on it this week.
If no one takes it, I can take a look later.

@unext-wendong I'm not going to be able to work on this in the next few months, I'm assigning the issue to you so you can create a PR.

@avelad Will see if I can figure it out.
Btw, have we ever tried the PlayReady protected MSS playback?
It seems odd that the widely used sample content from Microsoft doesn't work.

MSS support is very recent and incomplete.  It is possible that @avelad did not fully implement it.

@avelad @joeyparrish I think I got it working now.
There were mainly 2 issues:

The KID in the WRMHEADER is a GUID structure serialized in little-endian, and we were reading as a normal byte array.
The sepiff box doesn't exist AFAIK. In PIFF, the sample encryption info could be stored either in a senc box or a uuid box with user type "A2394F52-5A9B-4F14-A244-6C427C648DF4".

The playback works now with the following changes:
https://github.com/shaka-project/shaka-player/compare/main...unext-wendong:shaka-player:bugfix/protected-mss?expand=1
However, I left a TODO here, where I couldn't get isoFile.fetchAll() compile. Not sure where I got it wrong.
https://github.com/unext-wendong/shaka-player/blob/bugfix/protected-mss/lib/transmuxer/mss_transmuxer.js#L275-L276
Could you guys take over from here? I don't have CLA signed so couldn't merge it anyway.
You can use my above change as you want. I have little experience writing JS code, so you might want to rewrite it.

The CLA is a copyright assignment.  According to Google's policy, if you haven't signed a CLA, I couldn't just take your code and merge it as if it were my own.  (I am not a lawyer, and I am only speaking about company policy and not open source licensing under the law.)

One update:

Removed the creation of the saio and saiz boxes, which to my understanding is only an alternative to the presence of the senc box.
The code got much simpler and is able to handle moof boxes with multiple uuid boxes.

btw: My CLA process is still on pending.


add array option to map

Finishes #21

Last thing to decide before merging this and closing the issue: whether to use positional arguments for callback, i.e.
(node, property, parent, originalNode)

or use an object, i.e.
(node, {property, parent, originalNode})

Last thing to decide before merging this and closing the issue: whether to use positional arguments for callback, i.e.
(node, property, parent, originalNode)

or use an object, i.e.
(node, {property, parent, originalNode})

Not a blocker. We can do this later. When I said it's hard to change API shape after shipping, shipping != committing


add support for replacing with string

This adds the support for replacing the marker with a simple string instead of a file content as requested here https://github.com/ramybenaroya/ember-index/issues/9

Thank you for this PR. The tests are currently failing. Please check my requests for changes so it will pass.

Done. Tests are failing for default and beta scenarios (they just hang forever). I guess it's because addon's ember-cli needs to be updated?

Thanks. I'll rerun the master build and check that.


optimization:  Windows安装脚本注册agentid优化 (closed #1946)

PR
CheckList（PR Assigners）
确认已完成以下操作：

[x] 已将分支与当前合入分支同步
[x] 已在关联 Issue 中补充「功能自测」部分内容
[x] 已更新关联 Issue 的状态 backlog -> todo -> for test -> tested（需通过测试同学测试） -> done
[x] 将 PR 添加上 pr/reviewable

CheckList（PR Reviewers）
确认已完成以下操作：

[ ] 检查关联 Issue 「功能自测」部分内容
[ ] 必要时打回 pr/reviewable，要求重新修改
[ ] 及时 Approve

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (5439253) 37.27% compared to head (8fdc409) 37.27%.

Additional details and impacted files
@@             Coverage Diff             @@
##           v2.4.4-dev    #1950   +/-   ##
===========================================
  Coverage       37.27%   37.27%
===========================================
  Files             321      321
  Lines           22814    22814
===========================================
  Hits             8505     8505
  Misses          14309    14309

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Added eslint prettier.

Coverage remained the same at 100.0% when pulling c3ff3c084aa037ea38764cbc608cabac79c18f75 on eslint into c3675248598e39278f737dc8234638f661594763 on master.


CORS errors on "Leaderboards" and "Userprofiles"

User profiles and the leaderboard don't load. The console in Firefox logs the error: "Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://osmstats.redcross.org/..."

an update to try and get osmstats using https went wrong. we'll hopefully have this fixed soon. thank you for your patience.

fixed :)


TensorFlow utilization for traditional HPC scientific application written in FORTRAN for distributed computing

Hi All,
I want to discuss and know the feasibility of using tensor flow for HPC scientific application written in FORTRAN and C using MPI for data distribution in distributed computing environment.
Few  research and feasibility study I did by writing small example of vector dot product in tensor flow. it is fairly very convenient  to write this code using python for tensor flow compared to writing a code using MPI and FORTRAN in which all the data distribution has been done programmer and relatively complex code.
Advantages:

No data distribution or copying data to GPU is required in Tensor flow which is underlying managed by tensor flow.
writing python code for array declaration or random variable initialization is very convenient.
Optimized mathematical operations written in tensor flow that can be directly used.

I am sure if used proper computational and bandwidth load in code we can achieve good performance also.
My Question is How feasible it is to port or develop HPC scientific applications in Tensor flow  and what are the challenges which cannot be handled by tensor flow?
Can we suggest clients to port there code in tensor flow for such advantages ?

This is not a suitable medium for this question. Please only file here bug reports and feature requests


⚠ Processors has degraded performance

In 753be34, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 51 ms

Resolved: Processors performance has improved in be40c61.


Hands On: Ex 1 Make UI Creation Optional

I've learned people are perfectionists and will spend way too much time on this. For some this may be OK, but I'd encourage most people to steal the VI from the solution instead.

Changed the exercise to provide the UI to the user


How to use this and use as little power as possible? Deep sleep? Disconnect wifi?

I'm trying to use a large battery to get some readings without having to touch the mains wiring.
Is it possible to use any sleep modes to preserve power? Could we wake when the impulse comes in and increase the counter? If not can we disconnect the wifi and only sync once per minute for example?
Any other suggestions more than welcome.

I don't think this is the right place to ask this question, what you want is far from what Glow is made for. Or certain features that are more suitable for the ESPHome repository.

I guess it depends on how you look at what glow is.
If it is a one stop solution for people using home assistant to monitor their non P1 meter then I disagree. There will be many others attempting to use this with battery power as they lack the knowledge or experience to wire a plug in their meter cupboard. This issue might require an upstream issue to be opened with ESPHome but it is still relevant.
If glow is just an example of what can be done on ESPHome then it is different.
I'd hoped the glow project could become a meeting place for the many people using similar solutions so we can work on a better solution together. To me a power meter that uses less power is a good thing.

This is already implemented in ESPHome if I'm not mistaken:
https://esphome.io/components/deep_sleep.html

You do have a good point there, I'm going to try to get something working with deep sleep. For those who do not have a socket and do not have a P1 port, this can be a solution. If you already have something working in the meantime, please open a PR 😉

Thanks. Unfortunately I do not have something working. Deep sleep wasn't implemented in ESPHome last time I tried.
I've got an ESP32 on order (I went for Firebeetle as they seem to be decent power usage wide) so I'm happy to help where I can when that arrives. I don't understand if the pulse counter will increment if its using the same pin as the deep sleep wake up pin and that pin goes high. Perhaps it will depend on how long the pin is high for?
https://diyi0t.com/reduce-the-esp32-power-consumption/

If we weren't using ESPHome this is how we would do it:
https://github.com/espressif/esp-idf/tree/master/examples/system/ulp_fsm/ulp

We talked about it internally and we actually still have our doubts whether this will really work. During sleep nothing will be counted and continuously coming out of sleep also costs power.
Ideally you would like it to keep counting, but send an update once every X time. That's not something I can realize and is more with ESPHome than in this repository.
But if you have the stuff, go ahead and test it. For now I'm closing the issue.

I understand but just as a point of note if you look at this sample code you will see it is quite clearly possible to count pulses whilst in ULP. You are right that this would likely need to be done at the ESPHome level. I'm going to try and raise this over there and then see if we can revisit this.
https://github.com/espressif/esp-idf/tree/master/examples/system/ulp_fsm/ulp


Feature/autonomy

Main PR for full autonomy

known issues:

pidf needs tuning
gear ratio conversion code in teensy_driver_node still wonky and needs to be abstracted better
made a hack to smooth the left drive encoder signal, should be abstracted better
mpc is very slow (1-5hz, rollouts needs to be parallelized)
nav node topics and params need to be generalized so we can easily switch between real execution and sim @ashviniyer21

still have the periodic spikes, probably from deg_angle_delta calculation
can you double check the pidf calculation @ashviniyer21? getting oscillation still with D term, but reducing velocity estimate noise should help. But more importantly, the torque doesn't increase significantly (<10% max change) when velocity error is present (we emulated this via just pulling on the wheel).
found mysterious issue where teensy -> jetson /state topic stops for 2ish seconds mid run, need to investigate
would be nice to add a bash script that creates a folder for a test session and can sync a test session folder after testing is done to the NAS
get battery voltage estimate from USB https://www.dimensionengineering.com/datasheets/USBSabertoothPacketSerialReference.pdf
add hard firmware stop to all motors when /effort msgs are not being sent by the teensy_driver_node to the teensy


door sensor does not update v1.0.3

After I had to reset my Smart Lock because it was not displayed correctly in the Android app, the door sensor will no longer display values and there will be no updates after changes
Update (in seconds) = 20 seconds

How come you closed it?

Smart Lock reset again was helpful

Please open again.
After some time the object "doorstate" shows "UNAVAILABLE" and "lastAction" "UNLATCH"
After the restart, the correct state is briefly displayed and then changes back to "UNAVAILABLE".
App settings is correct and show the correct states.

I could find out something.
I do not know why but on web.nuki.io my smart lock and opener were not available.
Remote access was enabled.
What have I Done:
Remote access disabled and reactivated.
Now the stats are displayed correctly again
I will watch it and report you if the stats are wrong again

Tested one week and everything works

Great, thank you very much! I appreciate the feedback. Cheers


Adding timeout for rds cluster resources and defaulting to TF default…

Adding configurable timeouts for create, update and delete actions.
Default is to 120m base on the Terraform default.

/codefresh run test

@jamengual here is new release: https://github.com/cloudposse/terraform-aws-rds-cluster/releases/tag/0.22.0

thanks a lot


Fixed hot reloading (by upgrading to webpack2)

Currently on file change, the app does a full refresh: see #25 for more details.
Upgrading to webpack2 seems to get HMR working again.
fixes #25
fixes #24

What are we waiting for?


Paket Push doesn't offer a way to specify an alternate symbol server

[low priority]
Given that a different server is used when pushing symbol vs. regular nuget packages, we need to be able to override that URL as well as the default. We don't want to push nightly symbols to symbolsource.org when the main packages are only going to MyGet.

http://fsprojects.github.io/Paket/paket-push.html shows there is a enpoint parameter

Right, but we need two endpoints. One to use for .nupkg files, another for .symbols.nupkg files. At least, if we're passing Paket.Push a directory.

I see. what defaults should it take?
/cc @mavnn

@nathanaeljones are you interested in contributing this feature?

Looks like the default should be http://nuget.gw.symbolsource.org/Public/NuGet per https://github.com/NuGet/NuGet3/blob/c9aa766effd1b7bb9ea0e50af2822a4a0a8671f9/src/NuGet.Configuration/PackageSource/NuGetConstants.cs#L12 and https://docs.nuget.org/create/creating-and-publishing-a-symbol-package
Given the naming convention MyGet uses, it would actually be possible to derive the correct symbol server from the original feed.
I.e, http://www.myget.org/F/somefeed/api/v1 -> http://nuget.gw.SymbolSource.org/MyGet/somefeed, but this is probably out of scope.

I would be interested in contributing this feature eventually, but I'd like to avoid context switching until ImageResizer 4.0 reaches nuget.org, as that feeds the family. If around that time we have an actionable plan for #714, all the better. If I can make Paket work for my primary use cases, I will be able to invest a lot more time.


Emit at variable rate but still detect disconnections

This may be an issue, but it may also just be a question.
How would one emit to a socket at a variable rate (i.e. based on user input or something similar) but still use wait to handle disconnections and reconnections? When the socket is waiting, it cannot emit anything, but if you don't wait, you don't capture the heartbeats and disconnections. Am I missing something?

Want to back this issue? Place a bounty on it! We accept bounties via Bountysource.

The ideal solution is to handle heartbeats and events in separate processes.
For now, I think some people use a loop with a short wait interval.
while True:
    if check_flag():
        socketIO.emit('whee')
    socketIO.wait(0.1)


[WIP] Standardize how we interact with GitHub more

Add ability to check for github actions that might have caused problems

Categorize problems and raise errors that better describe them

Better, more descriptive error messages

Geting ready for implementing a more cohesive error handling strategy as outlined in #964

[x] I have run rspec and corrected all errors

[x] I have run rubocop and corrected all errors

[x] I have tested this change locally and tried to launch the server as well as access a project, and with that at least one build

[x] If there is an existing issue, make sure to add Fixes ... as part of the PR body to reference the issue you're solving

bjgjjjk

I'm still thinking about this

will reevaluate later


drugbank distributing in seperate repository

As @adambaskerville pointed out, it might be better to keep the drug bank data in a separate repository and only pull it in if needed.

Does the drugbank license allow its usage in this repository?
DrugBank Online is offered to the public as a free-to-access resource. Use and re-distribution of the content of DrugBank Online or the DrugBank Data, in whole or in part, for any purpose requires a license. Academic users may apply for a free license for certain use cases and all other users require a paid license.
https://go.drugbank.com/about


BUG-000113750  Military Symbol Editor:  "Command and Control Lines" are not implemented according to Mil-Std 2525B Change 2

Salesforce ID: BUG-000113750
Salesforce Submitter: Jordan Bush
Salesforce Submit Date: 5/04/2018 12:21 PM
Salesforce Bug Type: Usability
Salesforce Severity: Medium
Repro Data: \\<>\sf_filestore\PRD\Attachments\Defects\BUG-000113750
Work Around: (n/a)
Product: ArcGIS Pro
Functional Category: ArcGIS for Defense
Client Platform: (n/a)
Version Found: 2.0
Planned Version Fixed: (n/a)
Steps to Repro:

Tested with ArcGIS Pro 2.1.2 with English locale (customer indicated version 2.0 and German locale)
Install the Military Symbol Editor (MSE) Add-in (https://solutions.arcgis.com/defense/help/military-symbol-editor/)
In a new project launch the MSE
In the MSE window Search Fire Support Lines
In case of MIL-STD-2525B w/CHANGE 2 specification page 483 and 484, TABLE B-IV, Hierarchy: 2.X.<IP_ADDRESS> and 2.X.<IP_ADDRESS>, Template Graphic and Parameters Description
In case of MIL-STD-2525B w/CHANGE 2 specification page 483, TABLE B-IV, Hierarchy: 2.X.<IP_ADDRESS>, Template Graphic and Parameters Description
In case of MIL-STD-2525B w/CHANGE 2 specification page 483 and 484, TABLE B-IV, Hierarchy: 2.X.<IP_ADDRESS> and 2.X.<IP_ADDRESS>, Template Graphic and Parameters Description
In case of MIL-STD-2525B w/CHANGE 2 specification page 67 ,TABLE XI  and page 68, Figure 13

See attached PDFs and PNG for specs and details
Comment: There are four issues associated with two symbols logged in this single issue. There is a workaround for displaying the Phase Line Identifier. This can be added through the attribute table - Enter a value for Unique Designation 1 [T1] attribute and it will label the Phase Line.

There are four issues associated with two symbols logged in this single issue.

Adding attributes that are not required by the standard. We can look into if there is a way to add validation for the attributes based on symbol set or another relevant grouping of symbols. Currently there is one schema that applies to all tactical graphic lines.
Planned/anticipated symbols require the line to be dashed. It would be good if there way a setting to allow this to happen at the core level. More research is needed to determine if this can happen.
Not all options are available under the Label tab. To fix this, add the option to label Unique Designation 1. There is a workaround for displaying the Phase Line Identifier. This can be added through the attribute table - Enter a value for Unique Designation 1 [T1] attribute and it will label the Phase Line.
The workaround would be to make this a string; however, you lose the date-time value/functionality. Research is needed to see about adding DTG as a date-time format to be applied as a setting.


[BUG] The method getserverlistfromzk of zookeepermonitor in monitorservice cannot be re instantiated, otherwise there is a problem in getting ZK connection

*For better global communication, please give priority to using English description, thx! *
Describe the bug
The method getserverlistfromzk of zookeepermonitor in monitorservice cannot be re instantiated, otherwise there is a problem in getting ZK connection
Expected behavior
Which version of Dolphin Scheduler:
-[1.2.1-SNAPSHOT-dev]
Additional context
Server monitoring is not available
**Requirement or improvement
public List getServerListFromZK(boolean isMaster){
List servers = new ArrayList<>();
try{
ZKNodeType zkNodeType = isMaster ? ZKNodeType.MASTER : ZKNodeType.WORKER;
servers = zookeeperMonitor.getServersList(zkNodeType);
}catch (Exception e){
throw e;
}
return servers;
}

already fixed


Support int16 dtype

@sklam this changeset works for my minimal use case, though I'm sure I'm missing other areas.

Looks good.  Thanks for the patch.


Password in logs

Hello,
I noticed that when a connection fails, the user password is displayed in plain text in the logs. Is it possible to remove or mask this?
Error: Unable to establish LAN session Error: Unable to establish IPMI v1.5 / RMCP session PHP message: Error occurred when running "ipmitool -H <redacted> -p 623 -U <redacted> -P <redacted> -I imb bmc info". Error loading interface imb PHP message: Error occurred when running "ipmitool -H <redacted> -p 623 -U <redacted> -P <redacted> -I open bmc info".

I agree to some extent, though I think this isn't really an issue. Passwords in Home Assistant (and on any host really) is inherently insecure. If you can log in to a host, you can find stored passwords on the system. Even when the passwords are encrypted, the host needs the key to read them and thus can be retrieved also.
The more secure way of doing things, is by using API keys instead. As this isn't available in ipmi (as far as I know), we're stuck on using passwords.
Conclusion: It's probably good practise to mask passwords in the logs, as it makes it a bit harder to find.

Fixed in 1.2.7


Surface Nextclade version + Nextclade dataset version in final metadata output

Prompted by discussion in blab/forecasting project
Naively, we could include the Nextclade version and Nextclade dataset version in the join-metadata-and-clades.
However, if https://github.com/nextstrain/ncov-ingest/issues/457 is implemented, then the metadata comes from a single Nextclade version/dataset version. Then these versions should be surfaced through the file name or file metadata.

One specific example of the data we want to communicate would be:

Nextclade version: 3.8.0
Nextclade dataset name: sars-cov-2 (a shortcut for the full name of nextstrain/sars-cov-2/wuhan-hu-1/orfs)
Nextclade dataset version: 2024-07-03--08-29-55Z

Which would allow users to install the specific Nextclade software (e.g., conda install -c bioconda nextclade=3.8.0 and then download the specific dataset (e.g., nextclade dataset get -n sars-cov-2 --tag "2024-07-03--08-29-55Z").
One specific implementation of that implementation could be a JSON file named like metadata_details.json (or something better) stored alongside the metadata in the S3 bucket with a contents like:
{
    "nextclade_version": "3.8.0",
    "nextclade_dataset_name": "sars-cov-2",
    "nextclade_dataset_version": "2024-07-03--08-29-55Z"
}

Another implementation could be storing that information in the file name of the metadata like metadata_nextclade-3.8.0_sars-cov-2_2024-07-03--08-29-55Z.tsv.xz.
Another approach would be to nest the metadata in a directory structure with the information like nextclade-3.8.0/sars-cov-2/2024-07-03--08-29-55Z/metadata.tsv.xz. This nested approach is how the nextclade_data repo is organized (e.g., one of the SARS-CoV-2 datasets).
One nice aspect of using an additional details file is that the metadata URI and the details URI would be stable. Decoupling the metadata from the details could also make the two files inconsistent for some period of time during updates.
Encoding the information in the filename nicely couples the metadata contents with its version details. The format is more ambiguous to parse, but it isn't complicated once you know what the underscored-delimited fields are.

Storing version details of the cache in a separate file makes sense, makes it easy to determine quickly whether the cache should automatically be invalidated.
Regarding putting version info in metadata:

We already store Nextclade dataset version in the intermediary metadata, as an extra column, which helps us debug cache invalidation issues. So outputting that should be easy.
We should add an additional Nextclade version column to also capture that. Or maybe this is even in there already as well.

Embedding in path makes sense as well if we want to avoid adding 2/3 columns that are essentially always identical. Though overall overhead is small given the size of our existing rows and their compressibility.

I shared the three main options discussed in this issue with Evan Ray and folks from the forecasting hub group as follows:

put the Nextclade versions in the file names of the metadata on S3 (so file names will change with each new version but the contents remain the same)
create a separate JSON file that contains the Nextclade versions and that lives alongside the metadata in S3 (file names remain the same through time but you have to fetch both metadata and Nextclade versions files)
keep the version information as columns in the metadata on S3 (file names remain the same through time, you only have to fetch one file, but the metadata contains two extra columns for every record).

Evan replied that:

...option 2 on your list seems cleanest to us: it seems nice to store the date/timestamp separately in json rather than adding it as columns within the data file or encoding the information in the file name. Noting here that we would potentially want/need to pull past versions of that file from S3, but that is possible. Options 1 and 3 also seem viable though, with perhaps a slight preference for 1 over 3.

Re: option 2, can we include a hash of the metadata file in the meta-metadata JSON, so one can ensure the files are matched up?

If we don't want to track it in a separate file, the other option is to add it to the AWS S3 user defined object metadata.
We already use this to store the sha256sum in upload-to-s3, which can be accessed with
aws s3api head-object --bucket "$bucket" --key "$key" --query Metadata.sha256sum --output text

To slightly complicate things, we are technically running Nextclade twice with different Nextclade datasets. We use the clade + QC metrics from the general SARS-CoV-2 dataset, but we spike in immune_escape + ace2_binding from the 21L dataset.
This is probably not a huge issue since we only care about the clade assignments.
However, if we want to keep track of all data provenance, the version JSON file might need to look something like
{
    "nextclade_version": "3.8.0",
    "nextclade_datasets": [
        {
            "name": "sars-cov-2",
            "version": "2024-07-03--08-29-55Z",
            "columns": [
                "clade_nextstrain",
                "clade_who",
                "Nextclade_pango",
                "missing_data",
                "divergence",
                "nonACGTN",
                "coverage",
                "rare_mutations",
                "reversion_mutations",
                "potential_contaminants",
                "QC_missing_data",
                "QC_mixed_sites",
                "QC_rare_mutations",
                "QC_snp_clusters",
                "QC_frame_shifts",
                "QC_stop_codons",
                "QC_overall_score",
                "QC_overall_status",
                "frame_shifts",
                "deletions",
                "insertions",
                "substitutions",
                "aaSubstitutions"
            ]
        },
        {
            "name": "sars-cov-2-21L",
            "version": "2024-07-03--08-29-55Z",
            "columns": [
                "immune_escape",
                "ace2_binding"
            ]
        }
    ]
}

@joverlee521 Good call. It would be slick and probably helpful in the long term to know which columns came from which Nextclade dataset. Like you mentioned, we only care about the clade assignments in the short term. If we stick with the simpler JSON format example above, your example here shows the need for a way to migrate the JSON schema over time. So maybe we at least need a schema version in the simple JSON like this?
{
    "json_schema_version": "v1",
    "nextclade_version": "3.8.0",
    "nextclade_dataset_name": "sars-cov-2",
    "nextclade_dataset_version": "2024-07-03--08-29-55Z"
}

You technically only need a schema for version 2 as version 1 can be
defined implicitly as the schema with no explicit version
On Tue, Jul 23, 2024, 18:48 John Huddleston @.***>
wrote:

@joverlee521 https://github.com/joverlee521 Good call. It would be
slick and probably helpful in the long term to know which columns came from
which Nextclade dataset. Like you mentioned, we only care about the clade
assignments in the short term. If we stick with the simpler JSON format
example above, your example here shows the need for a way to migrate the
JSON schema over time. So maybe we at least need a schema version in the
simple JSON like this?
{
"json_schema_version": "v1",
"nextclade_version": "3.8.0",
"nextclade_dataset_name": "sars-cov-2",
"nextclade_dataset_version": "2024-07-03--08-29-55Z"
}
—
Reply to this email directly, view it on GitHub
https://github.com/nextstrain/ncov-ingest/issues/458#issuecomment-2245741646,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AF77AQNVNBGRY6T5DPSAA63ZN2CMZAVCNFSM6AAAAABKRULZJ2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENBVG42DCNRUGY
.
You are receiving this because you commented.Message ID:
@.***>

So maybe we at least need a schema version in the simple JSON like this?

+1 for explicit version numbers 🙌
maybe consider calling it schema_version instead, to avoid confusion with JSON Schema?

The public metadata version file is available at https://data.nextstrain.org/files/ncov/open/metadata_version.json


deps: Use internal/tools for tools rather than install from Makefile

Proposed Change

Updating OTel to v0.103.0 introduces a breaking change in code that mdatagen generates. We've put off updating mdatagen for a while now because doing so caused issues but now we are forced to update it to pull in the new OTel update. In order to update mdatagen (will be done in PR after this one) we need to change how we handle tools.
Checklist

[ ] Changes are tested
[ ] CI has passed

CI fails with
Error: main.go:19:2: import "github.com/client9/misspell/cmd/misspell" is a program, not an importable package

It looks right at a glance. I am not sure what the deal is.

Yea, not entirely sure what the issue is with it either. BPOP has the same issue/error and we resolve it by adding it to an ignore list for gosec, so I did that here and it should be passing now.

I think the make test is running tests on every dir with a go.mod. We want to exclude internal/tools from that


Update sbt-ci-release to 1.2.6

Updates com.geirsson:sbt-ci-release from 1.2.1 to 1.2.6.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention @scala-steward in the comments below.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [{ groupId = "com.geirsson", artifactId = "sbt-ci-release" }]

labels: semver-patch

Done in #34


add support for methodExists and propertyExists

closes #30
closes #31

@ntzm Thank you for taking this over 👍


Search string not parsing properly

I just installed a fresh copy of TweetNest and noticed an issue with the search.
When I do a search, I get a 404. I looked at the generated URL and noticed that is parses as the following:
https://twitter.myurl.com/search?q=apple
It should be parsing as the following:
https://twitter.myurl.com/search.php?q=apple
When I add the .php after the search it works great!
Thanks!

It sounds like your .htaccess file might not be in place or working properly. It's got a line which is supposed to ensure you don't need the .php extension. There are some steps in the installation instructions to do with .htaccess files.

So true..... My error. It worked.

Glad you got it sorted! 👍


chore: jest update

supersedes a breaking PR from dependabot: https://github.com/OlympusDAO/olympus-frontend/pull/1357
Having jest as a direct dependency in package.json caused a conflict with react-scripts which declares a specific version ofjest as its own dependency.
Removing jest from package.json solves the conflict.

@ivelin Can you share the errors/warnings? I don't recall seeing that. Or was it a breaking change in jest that we hadn't encountered and it started causing problems in react-scripts?

@ivelin Can you share the errors/warnings? I don't recall seeing that. Or was it a breaking change in jest that we hadn't encountered and it started causing problems in react-scripts?

Here is the error from the github action log.
$ GENERATE_SOURCEMAP=false react-scripts build

There might be a problem with the project dependency tree.
It is likely not a bug in Create React App, but something you need to fix locally.

The react-scripts package provided by Create React App requires a dependency:

  "jest": "26.6.0"

Don't try to install it manually: your package manager does it automatically.
However, a different version of jest was detected higher up in the tree:

  /home/runner/work/olympus-frontend/olympus-frontend/node_modules/jest (version: 27.4.7)

Manually installing incompatible versions is known to cause hard-to-debug issues.

If you would prefer to ignore this check, add SKIP_PREFLIGHT_CHECK=true to an .env file in your project.
That will permanently disable this message but you might encounter other issues.

To fix the dependency tree, try following the steps below in the exact order:

  1. Delete package-lock.json (not package.json!) and/or yarn.lock in your project folder.
  2. Delete node_modules in your project folder.
  3. Remove "jest" from dependencies and/or devDependencies in the package.json file in your project folder.
  4. Run npm install or yarn, depending on the package manager you use.

In most cases, this should be enough to fix the problem.
If this has not helped, there are a few other things you can try:

  5. If you used npm, install yarn (http://yarnpkg.com/) and repeat the above steps with it instead.
     This may help because npm has known issues with package hoisting which may get resolved in future versions.

  6. Check if /home/runner/work/olympus-frontend/olympus-frontend/node_modules/jest is outside your project directory.
     For example, you might have accidentally installed something in your home folder.

  7. Try running npm ls jest in your project folder.
     This will tell you which other package (apart from the expected react-scripts) installed jest.

If nothing else helps, add SKIP_PREFLIGHT_CHECK=true to an .env file in your project.
That would permanently disable this preflight check in case you want to proceed anyway.

P.S. We know this message is long but please read the steps above :-) We hope you find them helpful!

error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
Error: Process completed with exit code 1.

That's helpful. Thanks!  I receive a bunch of errors. I've removed node_modules and it hasn't made a difference.
    Cannot find module<EMAIL_ADDRESS>from 'src/testUtils.tsx'

    Require stack:
      src/testUtils.tsx
      src/__tests__/App.unit.test.tsx

Have you run yarn test:unit on this locally? I receive a bunch of errors. I've removed node_modules and it hasn't made a difference.
    Cannot find module<EMAIL_ADDRESS>from 'src/testUtils.tsx'

    Require stack:
      src/testUtils.tsx
      src/__tests__/App.unit.test.tsx

Yes, I tested locally and works fine. Also, notice that all checks pass for this PR, including yarn build and yarn test:unit.

=============================== Coverage summary ===============================
Statements   : 28.22% ( 1369/4850 )
Branches     : 16.01% ( 453/2828 )
Functions    : 29.13% ( 338/1160 )
Lines        : 28.24% ( 1288/4560 )
================================================================================

Test Suites: 23 passed, 23 total
Tests:       32 passed, 32 total
Snapshots:   31 passed, 31 total
Time:        115.205 s
Ran all test suites matching /(\.|\/|-)unit\.(test|spec)\.[jt]sx?$/i.
Done in 116.44s.
gitpod /workspace/olympus-frontend $ yarn test:unit

Cannot find module<EMAIL_ADDRESS>
Have you tried jest --cleanCache or yarn test --clearCache ?
See this.

Ahhh I read about that in discord. Thanks for linking it. I've added details about the error and fix in the README.
I also merged develop into the branch in order to resolve the conflict.


Test out rendering the trail with transparency

Just tested this out. Works fine, might want to round out the tip but that is addressed in #3.


Migration guide from Flutter Quill to Visual Editor

Visual Editor is a fork of Flutter Quill. The main reason we separated from Quill was the opaque architecture. We needed an easy to maintain code base, however the architecture of Quill made it really hard to follow the code flow and adding improvements was difficult at best. Therefore we decided to completely refactor the general architecture of Quill and reorganise it into modules, services, states and models. Due to these changes if you desire to migrate from Flutter Quill to Visual Editor.

Migration instructions can be found here . Let me know if anything is unclear. Cheers!


Multi-line commands

Problem description
I want to get rid of our justfile and replace it with pixi commands. One thing preventing this is the lack of multiline commands.
Consider this justfile script:
rs-lint:
    cargo cranky --quiet --all-features -- --deny warnings
    typos
    scripts/lint.py
    cargo doc --quiet --no-deps --all-features
    cargo doc --quiet --document-private-items --no-deps --all-features
    cargo test --quiet --doc --all-features # runs all doc-tests

If I want to translate it into pixi.toml it will turn into something like:
rs-lint: """
       cargo cranky --quiet --all-features -- --deny warnings
    && typos
    && cargo doc --quiet --no-deps --all-features
    && cargo doc --quiet --document-private-items --no-deps --all-features
    && cargo test --quiet --doc --all-features # runs all doc-tests
    && scripts/lint.py
"""

This is okay, but has several shortcomings:
A) its syntax is somewhat ugly
B) it still execute as one big blob
C) it is not obvious to the reader that any extra argument to the script is piped to scripts/lint.py in this case
Proposal
I suggest that each new line is considered its own command, with an implicit && between them:
rs-lint: """
    cargo cranky --quiet --all-features -- --deny warnings
    typos
    cargo doc --quiet --no-deps --all-features
    cargo doc --quiet --document-private-items --no-deps --all-features
    cargo test --quiet --doc --all-features # runs all doc-tests
    scripts/lint.py
"""

Pixi will execute each command in order, and at any failure it would abort (like set -e in bash).
Moreover, pixi would print each command before executing it (like set -x in bash).
So the output of could be somethng like:
$ pixi run rs-lint
+ cargo cranky --quiet --all-features -- --deny warnings
+ typos
+ cargo doc --quiet --no-deps --all-features
`src/lib.rs:52`: Error: broken doclink `Foo`
$

Furthermore, I would suggest that the implicit "pass extra arguments to the command" feature would NOT be applied in the multi-command mode.

I would like an array, but I believe that would be a breaking change as I believe this already works:
rs-lint = ["cargo", "clippy", "-p", "my_crate"]

(though I'm not sure how used or useful that syntax is, as it is very verbose)


Postgres: Prioritize collection of size metrics on larger tables

I can work on the "Review checklist" items if someone agrees that this PR is a good idea.
What does this PR do?
The max_relations parameter (https://github.com/DataDog/integrations-core/blob/cf923f4aa3e63d/postgres/datadog_checks/postgres/data/conf.yaml.example#L160-L163) limits the number of relations that metrics are collected on.  Previously, no order was specified, which meant that the metrics that were reported depedended on the vagaries of Postgres. This change orders the query by total table size because people are more likely to care about size-related metrics for larger tables than for smaller ones.  There are exceptions, but even so, collecting metrics for the largest N tables seems more useful than collecting metrics for an unspecified subset of N tables.
Motivation
I was going to make a feature request, but I thought a PR would be more likely to be noticed.
Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] PR title must be written as a CHANGELOG entry (see why)
[ ] Files changes must correspond to the primary purpose of the PR as described in the title (small unrelated changes should have their own PR)
[ ] PR must have changelog/ and integration/ labels attached

I now think this won't really do what I wanted it to, since it covers only a subset of table-specific metrics. To cover them all, we'd have to add a join to the other queries in relationsmanager.py to order them by table size. This would add an appreciable amount of complexity.
It's still suboptimal to use a nondeterministic ordering for selecting what subset of tables to record metrics for, but I don't know what a good solution would be.


Update ghcr.io/prymitive/karma Docker tag to v0.114

This PR contains the following updates:

Package
Update
Change

ghcr.io/prymitive/karma
minor
v0.109 -> v0.114

Release Notes

prymitive/karma (ghcr.io/prymitive/karma)
v0.114
Compare Source
Fixed

Fixed silcen form crashes when silenceForm:defaultAlertmanagers config option
is not set.

v0.113
Compare Source
Added

Added silenceForm:defaultAlertmanagers config option - #5086 (@david-caro).

v0.112
Compare Source
Fixed

Upgraded project dependencies.

v0.111
Compare Source
Fixed

Fixed duplicated @receiver labels showing both on the alert and in the footer.

v0.110
Compare Source
Fixed

Alert group footer was always hidden when displaying only one alert,
even if there were shared labels or annotations to display - #4892.

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

Renovate Ignore Notification
Because you closed this PR without merging, Renovate will ignore this update (v0.114). You will get a PR once a newer version is released. To ignore this dependency forever, add it to the ignoreDeps array of your Renovate config.
If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.


Typo in Plain Text code snippet

The "If Exists" Conditional heading is missing the opening quote.

(Thanks for the catch @lindseydiloreto)

You're very welcome! :)


[HUDI-5167] Reducing total test run time: reducing tests for virtual keys

Change Logs
Describe context and summary for this change. Highlight if any code was copied.
ref: https://github.com/apache/hudi/pull/3306/files#diff-e6700bb657614fd972f92e1cb7c74b0f95d5164c62e298bb4712bb70db9f8ada
Impact
Describe any public API or user-facing feature change or any performance impact.
Risk level (write none, low medium or high below)
If medium or high, explain what verification was done to mitigate the risks.
Documentation Update
Describe any necessary documentation update if there is any new feature, config, or user-facing change

The config description must be updated if new configs are added or the default value of the configs are changed
Any new feature or user-facing change requires updating the Hudi website. Please create a Jira ticket, attach the
ticket number here and follow the instruction to make
changes to the website.

Contributor's checklist

[ ] Read through contributor's guide
[ ] Change Logs and Impact were stated clearly
[ ] Adequate tests were added if applicable
[ ] CI passed

@hudi-bot run azure


Chore remove some unused config

Proposed changes
remove some unused config
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall


Another bogus "Conditions should not unconditionally evaluate to "TRUE" or to "FALSE"" warning.

When changing a variable with unary operators, the analyser don't seem to invalidate its
assumptions - and produces false warnings.
Example, both inner conditionals in this function give bogus warnings:
    void test() {
        int b = 2;
        if (b > 0) {
            b--;
            if (b == 0) {
                return;
            }
            if (b > 0) {
              return;
            }
        }
    }

Funny enough, the warning would be appropriate for the outer conditional.
Dart SDK version: 1.22.1

@alexeieleusis

@ktullavik  b is equal to 1 inside the outer condition after b-- so b == 0 evaluates to false and b > 0 evaluates to true unconditionally. what is bogus about the warning?

These cases are indeed not considered in the rule, there is a bug reported for it and a PR out https://github.com/dart-lang/linter/pull/412 should land soon.

By the way, the rule does not try to infer the value of the variable, and should not warn about anything inside the outer if statement precisely because of the mutation to b.

@mraleph the warning is not dependant on the value of b.

@ktullavik no matter which constant value you select for the initial value of b conditions like b == 0 and b > 0 would always be constant - because b value after b-- is known. They might be different depending on the constant value of b you selected, but they are nevertheless known in compile time.
Compare your example with
void test(bool x) {
  int b = x ? 2 : 1;
  if (b > 0) {
    b--;
    if (b == 0) {
        return;
    }
    if (b > 0) {
      return;
    }
  }
}

Here indeed conditions are not constant.

@mraleph
Yes sorry, I should have made b unknown in the example to avoid confusion.
But it's irrelevant. The wrong analyser assumption is caused by the outer conditional,
not by the value of b.

This linter rule is removed.


Issues & Suggestions

I'll gladly pay some $ if you fix them & add them :P I love your work.
Issue #1:
You can't change what material the bot chooses, for me it constantly chooses the bones, I have over 4000 and it keeps choosing them instead of the others that I have like 0-100
Suggestion #1:
Join forts?
Suggestion #2:
Find gem tiles (maybe by moving around in the map trying to find the specific gem image, clicks it then sends march?)

Hey @steeljardas what emulator are you using to run the script? I am trying to use this but I am sure how.


Usage of persistence.advancedMounts when there are initContainers causes errors (common v2.0.0)

Details
What steps did you take and what happened:
When both persistence.advancedMounts and controllers.*.initContainers are specified in values.yaml, installing or
upgrading the chart (app-template) will fail with "error calling dig: interface conversion: interface {} is nil, not
string".

Failed example
helm upgrade -i release-name bjw-s/app-template --version 2.0.0 -f values.yaml
controllers:
  main:
    containers:
      main:
        image:
          repository: ghcr.io/mendhak/http-https-echo
          tag: 30

    initContainers:
      a-container:
        image:
          repository: ghcr.io/mendhak/http-https-echo
          tag: 30

service:
  main:
    enabled: false

persistence:
  config:
    enabled: true
    advancedMounts:
      main:
        main:
          - path: /data/config.yaml
            readOnly: false
            subPath: config.yaml

Successful example (same as above, with initContainers commented)
helm upgrade -i release-name bjw-s/app-template --version 2.0.0 -f values.yaml
controllers:
  main:
    containers:
      main:
        image:
          repository: ghcr.io/mendhak/http-https-echo
          tag: 30

    # initContainers:
      a-container:
        image:
          repository: ghcr.io/mendhak/http-https-echo
          tag: 30

service:
  main:
    enabled: false

persistence:
  config:
    enabled: true
    advancedMounts:
      main:
        main:
          - path: /data/config.yaml
            readOnly: false
            subPath: config.yaml

Error output
Error: UPGRADE FAILED: template: app-template/templates/common.yaml:14:3: executing "app-template/templates/common.yaml" at <include "bjw-s.common.loader.generate" .>:
error calling include: template: app-template/charts/common/templates/loader/_generate.tpl:8:6: executing "bjw-s.common.loader.generate" at <include "bjw-s.common.render.controllers" .>:
error calling include: template: app-template/charts/common/templates/render/_controllers.tpl:25:12: executing "bjw-s.common.render.controllers" at <include "bjw-s.common.class.deployment" (dict "rootContext" $ "object" $deploymentObject)>:
error calling include: template: app-template/charts/common/templates/classes/_deployment.tpl:59:13: executing "bjw-s.common.class.deployment" at <include "bjw-s.common.lib.pod.spec" (dict "rootContext" $rootContext "controllerObject" $deploymentObject)>:
error calling include: template: app-template/charts/common/templates/lib/pod/_spec.tpl:58:12: executing "bjw-s.common.lib.pod.spec" at <include "bjw-s.common.lib.pod.field.initContainers" (dict "ctx" $ctx)>:
error calling include: template: app-template/charts/common/templates/lib/pod/fields/_initContainers.tpl:28:32: executing "bjw-s.common.lib.pod.field.initContainers" at <include "bjw-s.common.lib.container.spec" (dict "rootContext" $rootContext "containerObject" $containerObject)>:
error calling include: template: app-template/charts/common/templates/lib/container/_spec.tpl:48:12: executing "bjw-s.common.lib.container.spec" at <include "bjw-s.common.lib.container.field.volumeMounts" (dict "ctx" $ctx)>:
error calling include: template: app-template/charts/common/templates/lib/container/fields/_volumeMounts.tpl:38:33: executing "bjw-s.common.lib.container.field.volumeMounts" at <dig $controllerObject.identifier $containerObject.identifier list .advancedMounts>:
error calling dig: interface conversion: interface {} is nil, not string

(Examples are a reduced version of advanced-values.yaml)
What did you expect to happen:
The chart should install successfully, with the volumeMounts rendered as expected for both main and init containers (or
ignored completely, if advancedMounts was not designed to include init containers).
Anything else you would like to add:
Additional Information:
I noticed that controllers.*.initContainers.*.volumeMounts is no longer applied (as in v1.5.1), and that
persistence.globalMounts applies to init containers. Does this imply that persistence.advancedMounts was intended to
also apply to init containers?

Thanks for reporting this issue! You are correct that persistence.advancedMounts was meant to apply to initContainers as well. Unfortunately I forgot to pass through an object to the function, which makes it fail with the error you are seeing.
I have the fix working locally, but also need to fix volumeClaimTemplates (which has a related bug) before I can release the fix


core: use getTrack().some() to tell if screenshare has audio

Description
Summary:
Replace the MediaStream.getAudioTracks().length > 0 with a MediaStream.getTrack().some() function, as some WebRTC implementation does not have .getAudioTracks() implemented.
Related Issue:

Testing

Start screenshare with and without audio
They should work as before

Screenshots/GIFs (if applicable)

Checklist

[x] My code follows the project's coding standards.
[x] Prefixed the PR title and commit messages with the service or package name
[ ] I have written unit tests (if applicable).
[ ] I have updated the documentation (if applicable).
[x] By submitting this pull request, I confirm that my contribution is made
under the terms of the MIT license.

Additional Information

/canary

/canary


Plot uWebSockets for public reference

Would be good to plot uWebSockets in the graph, for reference since Deno representatives use it in public claims:

Currently it performs on par with uWebSockets. Sorry for the lack of detailed information, we'll add benchmarks tomorrow.

I downloaded this repo, built it with --release and I got 87% that of uWS in the benchmark. Sure, it's high up there which is good but it's not really there yet. Can be a good point of reference. It's definitely high up. I would be interested in following the gap over time.

AFAIK @littledivy is working on that. Out of curiosity, which OS did you bench it on?

I only benchmark on Linux

Cool, thanks!

Woah, I just noticed that's my tweet and somehow the tilde I wrote before on par is not there. Sorry for the confusion!

I mean for anything practical it is on par but for nerd comparison and scientific measure it's not. So can be a good thing to track, I'm interested in how things progress, esp. since I've looked at bit at Rust lately. Also interesting to see whenever something io_uring takes over, at that time I need to sit down and tweak a bit.

I mean for anything practical it is on par but for nerd comparison and scientific measure it's not. So can be a good thing to track, I'm interested in how things progress esp. since I've looked at bit at Rust lately.

Agreed.

Also interesting to see whenever something io_uring takes over, at that time I need to sit down and tweak a bit.

This is something we've been nascently exploring too, but no concrete results yet. Currently we're focusing on squeezing more performance from Tokio on a single thread.

I did some more testing, if you increase the size of the message echoed to 65k or somewhere around there, the diff increases and becomes very significant:
20k messages/sec with uWS
12k messages/sec with fastwebsockets
Right now I only have MB setting for load_test but should probably lower it to take KB so one can test medium sized messages around 65k-ish

And for 1 MB is it:
1390
780

Oh wow! I added KB testing to load_test and testing with 1 KB messages has major difference:

320k messages/sec with uWS
140k messages/sec with fastwebsockets

I've found and plotted characteristics above, and made changes to load_test so that it's possible to specify kB message sizes and not just MB. That's how I made the above graph

@uNetworkingAB, Please note that you are not just benchmarking web-socket implementation,
But rather you are benchmarking  Operating System , Runtime,  Programming language, Interceptor, Compiler, library's  (std, libc)   who knows what else....
What I am saying it that, We really can't benchmark across runtime or languages,
Example:
For larger payload you are bancharking (web-socket frame parsing + masking)
Lets say,
uWebSockets provide 2x faster implementation, and finished at 15ms,
Where fastwebsockets finished at 30ms,
Without any SIMD optimization, both library decode masked payload in 100ms
So uWebSockets finished at 100 + 15 = 115ms
And fastwebsockets finished at 100 + 30 = 130ms

@uNetworkingAB, If you really want to benchmark against fastwebsockets,
Please provide us two function that encode and decode web-socket frame through FFI, And send us a pull request in this repo (web-socket-benchmark)

@nurmohammed840 It's good to have and track comparison with uWebSockets. This way we improve the software in general, regardless of implementation details.
There should be no reason to be 40-50% slower than C++ implementations and should be treated as a bug in most cases.

@littledivy, Is there any room for farther optimization ?
Some possible optimization:

Use SIMD for masking
Avoid separate header encode (so that fastwebsockets don't have to rely on writev), Try to encode header + payload together.
Avoid use of internal buffering, HTTP, TLS provide ther own internal buffering,

@nurmohammed840 I literally used the very benchmark that this very repo use. The only thing I did different was to run it over, not only 20 byte messages, but over varying message sizes (20 byte, 1kb, 16kb, 1mb).

What I am saying it that, We really can't benchmark across runtime or languages,

The implication of this opinion is totally nuts. Find enough arbitrary distinct characteristics to isolate on, and eventually you have enough isolated comparisons where every project is its own winner in its own isolated echo chamber. I've seen this argument made in the JS camp as well, where rather than improving from reported data, data is denied and shut down based on some failure to categorize the projects in the same pool.

Focusing on parser performance is quite pointless, it makes no difference. I just ran a parser benchmark of uWS where my 8 year old computer does 63 million 20 byte messages per second per CPU core. Those numbers are quite pointless and say nothing about the server's overall performance. The composition of the server library makes a lot more of a difference, so over focusing on parsers in particular is a dead end, just saying. The parser makes up such a tiny part of the server, esp. for WebSockets where it's not a text format but a very simple binary format.

Just merged a fix, this is what I get with fastwebsokets 0.4.1:

Compile echo_server with
RUSTFLAGS="-C target-cpu=native" cargo build --release --example echo_server

There are now charts in benches/README.md

Btw I'm using a modified load_test that takes a payload size (in bytes)
https://github.com/denoland/fastwebsockets/blob/6bb30ab732fa40d2001986c2f6427fcecede7669/benches/load_test.c

Nice!

Btw, I should probably clean up load_test and move to byte size always.


Why not upgrade express from version 3.x to 4.x?

Migrating from 3.x to 4.x

This is something we'd love to do in the next release. If you'd like to help, a PR would be appreciated.
cc @loicsaintroch

I think it would be logical to make these changes after https://github.com/balderdashy/sails/issues/2833 to see how the changed code coverage.

I started to work. I would be grateful for the help. https://github.com/listepo/sails/tree/next

Currently A default sails app is eating 140 - 160 MB of my server RAM and it increase as the app is modified. I create a Express 4.0 App. It used only 20 - 70 MB. Can anyone explain why the RAM usage is high is Sails?

"eating 140MB of RAM" is not a bug. There are tons of other memory usage threads in github that you can search. Please read through those before you file memory usage issues.

Ok.

Currently A default sails app is eating 140 - 160 MB of my server RAM and it increase as the app is modified. I create a Express 4.0 App. It used only 20 - 70 MB. Can anyone explain why the RAM usage is high is Sails?

@nikhiljohn10 The rest of the core team and I spent a lot of time analyzing this and other memory concerns earlier this year when we were first scaling the production deployment of Treeline.  What we learned is that the 140-160MB RAM usage in development is probably due to the Grunt child process running in the background, along with the fact that Sails has more dependencies than Express.  We've never experienced any sort of problems due to this alone (although there have been memory leak issues stemming from the release of Node v0.12, but those have since been resolved in a patch release to Node core-- be sure and check your versions though).
Hope that helps!

@huguangju re: upgrading Express, see https://github.com/balderdashy/sails/issues/3460#issuecomment-169545356 for our plans.

(locking this issue to funnel future discussion into the linked PR so it's easier to track)

For future reference, there's more information and tips on diagnosing memory leaks in Node apps, and on reproducing+reporting suspected memory leaks in Sails here:
https://github.com/balderdashy/sails/issues/3782#issuecomment-238679052


Sanitization of using sudo

PASSING! - Reasoning
Passing for the issue atm since i'm not familiar with workflow of repository.
EDIT: "passing" in terms of leaving the MR for X amount of time not forcing to pass QA.

I've made a wrapper for sudo that triggers only if user is not root -> sudo won't be used on root.
This should be further sanitized with checking for sudo executable flag or alternatively using su -c "command"
Referencing checkroot() from https://github.com/RXT067/Scripts/blob/kreyren/chrooter
checkroot () { # Check if executed as root, if not tries to use sudo
	if ! ((EUID)); then
		return
	elif [[ -x "$(command -v sudo)" ]] && [ -n "$KREYREN_CHECKROOT" ]; then
			info "Failed to aquire root permission, trying reinvoking with 'sudo' prefix"
			exec sudo "$0" "$@"
			exit 1
	elif [[ ! -x "$(command -v sudo)" ]] && [ -n "$KREYREN_CHECKROOT" ]; then
		info "Failed to aquire root permission, trying reinvoking as root user."
		exec su -c "$0 $*"
		exit 1
	else
		die 0 "Unable to elevate root access."
	fi
}

Affected Merge Requests
https://github.com/Bash-it/bash-it/pull/1407
https://github.com/Bash-it/bash-it/pull/1406
https://github.com/Bash-it/bash-it/pull/1405

I don't think this is useful. sudo works without prompt when running as root. It's just a noop. It already performs the goal of this function. Wrapping it seems simply unnecessary. $0.02.

I got to agree with @gaelicWizard on this one. closing


Remove Python packages from all-packages.nix

Things done:

[ ] Tested using sandboxing (nix-build --option build-use-chroot true or nix.useChroot on NixOS)
[ ] Built on platform(s): NixOS / OSX / Linux
[ ] 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/)
[ ] Fits CONTRIBUTING.md.

Goal
Too often people use Python packages that are in all-packages.nix causing all sorts of trouble. Earlier, we moved callPackage calls into python-packages.nix solving issues like accidentally having packages with different interpreter versions inside a single expression.
Now I would like to finish that job by removing all Python packages from all-packages.nix. Why? For exactly the same reason. Python packages in all-packages.nix are using CPython 2.7, and it still happens that these packages are mixed with python3Packages.

@jgeerds pkgs.pyatspi seems to be broken. I now moved it and it is still broken but differently so I marked it as broken.

I'm removing all top level Python libraries, see WIP b5240cf
cc @domenkozar @garbas @risicle @DamienCassou
Still an open question is now how to pass the required libraries to expressions.
a) with inherit in all-packages.nix
anki = callPackage ../games/anki {
  inherit (pythonPackages) pyqt4;
 };

b) by passing the attribute set pythonPackages.
Typically we try to specify exact inputs as done in. In the case of Python packages it can make sense to pass instead the attribute set in order to reduce the risk of incompatible interpreter versions.

Pushed to master all commits except for b5240cf2ab50f8a2a92a9b5a537ae4e45c4a1ee7


Guidance

This pull request adds a comprehensive guide on scaling OpenAI applications with Azure Services to the guidance/scaling/README.md file. The guide covers best practices for managing Azure OpenAI resources, details on quotas and rate limiting, the use of Provisioned Throughput Units (PTUs) and Azure API Management (APIM) for load balancing, security and high availability considerations, and addressing special cases and limitations.

good stuff Chris... are you going to move responsible ai and security into that section or should I do it? I'll review the scaling document later on today

good stuff Chris... are you going to move responsible ai and security into that section or should I do it? I'll review the scaling document later on today

I was going to move those at a later date to make sure have good links to content


ModuleNotFoundError

Hi, I am trying to run the slot_attention/train.py code in your repository, however, I keep getting stuck by a error reading...
Traceback (most recent call last):
  File "slot_attention/train.py", line 8, in <module>
    from slot_attention.data import CLEVRDataModule
ModuleNotFoundError: No module named 'slot_attention'

I cloned the git to a PC running on the Ubuntu operating system, and upon doing so, I ran the code within the highest directory of the cloned repository, as written in the Readme. Could you help me out with this issue?

To expand on the comment above, PYTHONPATH=. python slot_attention/train.py should solve this issue.

Thanks! It seems to work now :)
2021년 6월 3일 (목) 오후 10:07, greeneggsandyaml @.***>님이 작성:

To expand on the comment above, PYTHONPATH=. python
slot_attention/train.py should solve this issue.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/untitled-ai/slot_attention/issues/5#issuecomment-853854158,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APF7OEDFSC5RE5IZWEM6L5DTQ547HANCNFSM43562LUQ
.

You can also use python -m slot_attention.train to run the training script as a module instead of changing the Python path.


extend to link object

We would like to display file properties not only for assets but for links as well.
As a user I would like to see file sizes for given assets and links so that I can determine download strategies visually.

Links are usually not meant to be downloaded (automatically), instead downloadable things are usually in assets. Nevertheless, I could see some use cases here and we are happy to accept PRs.

PR for consideration in #9


XA4301 when building android projects

Occurs because both linux and android .so libraries are included in the build, leading to some conflicts. Not a big issue as the conflicts only happen with x86 Android, which is not commonly used in consumer devices.
This was mentioned in https://github.com/ppy/osu-framework/pull/5080#issuecomment-1079742266. The proposed solution is to deploy updated ppy.osu.Framework.NativeLibs.
Target _BuildApkEmbed:
0>C:\...\osu\osu.Android\obj\Debug\net6.0-android\lp\155\jl\jni\x86\libbass.so: Warning XA4301 : APK already contains the item lib/x86/libbass.so; ignoring.
0>C:\...\osu\osu.Android\obj\Debug\net6.0-android\lp\155\jl\jni\x86\libbassmix.so: Warning XA4301 : APK already contains the item lib/x86/libbassmix.so; ignoring.
0>C:\...\osu\osu.Android\obj\Debug\net6.0-android\lp\155\jl\jni\x86\libbass_fx.so: Warning XA4301 : APK already contains the item lib/x86/libbass_fx.so; ignoring.

This also happens with framework-side projects: SampleGame, etc.

Fixed with #5985.


Here is an example.

CreateChatCompletionRequest is the model: https://github.com/Azure/autorest.csharp/blob/a37076386944d9230b94d60e13e6362089801cef/test/UnbrandedProjects/Platform-OpenAI-TypeSpec/completions/models.tsp#L144-L174

It has a property model which is a union of a string and an alias CHAT_COMPLETION_MODELS.

CreateChatCompletionRequest is used as a spread boy in create operation: https://github.com/Azure/autorest.csharp/blob/a37076386944d9230b94d60e13e6362089801cef/test/UnbrandedProjects/Platform-OpenAI-TypeSpec/completions/operations.tsp#L20-L22

TCGC fails to give a name to CreateChatCompletionRequest:

Reproduction
Try to parse the definition in the link above.
Checklist

[X] Follow our Code of Conduct
[X] Check that this issue is about the Azure libraries for typespec. For bug in the typespec language or core libraries file it in the TypeSpec repo
[X] Check that there isn't already an issue that request the same bug to avoid creating a duplicate.
[X] The provided reproduction is a minimal reproducible example of the bug.

the root cause is from findContextPath does not handle nested operation group: https://github.com/Azure/typespec-azure/blob/b38b4cae08cbe6fd8b0a2bbe3fdef88232bf573a/packages/typespec-client-generator-core/src/public-utils.ts#L334.


Agents should be model-agnostic

Agent was created with --model airoboros-l2-70b-2.1.
memgpt run --model dolphin-2.1-mistral-7b --agent agent_7
Using existing agent agent_7

ValueError: Cannot override agent_7 existing model airoboros-l2-70b-2.1 with dolphin-2.1-mistral-7b

btw, just fyi - when I try that command for an existing agent (agent_1) I get the following error; (I have not seen this one yet)

...as a matter of fact, just running "memgpt run --agent agent_1" alone serves that error so I suppose this is yet a different issue. I think I would have gotten the error related to specifying a model if this one hadn't occurred first.

I spoke too soon, I can't even start memgpt now that I have updated to 0.1.18a1

@TheOnlyWiseJEDI Could you show the rest of the stack trace? Feel free to dm @vfang on discord or start a thread in #support.

@TheOnlyWiseJEDI I think you can fix this by just removing the config rm ~/.memgpt/config


Update to latest sokol_gfx

sokol_gp does not compile anymore with the latest sokol_gfx. Do you have plans to update sokol_gp?
I could give it a try, but I'd rather know from you how the sokol_gp public API should look like before starting to change the code to maximize the chance of the PR being accepted.

I plan to update at some point, right now you have to use pre sampler update tag from sokol:
https://github.com/floooh/sokol/releases/tag/pre-separate-samplers

Ok, thanks for the feedback. I was already using a previous sokol_gfx version but thanks for the link, the more recent the version, the better.
My offer stands though.

Trying to do it on my end as well over the weekend, I'll submit a PR if I get it working.

Trying to do it on my end as well over the weekend, I'll submit a PR if I get it working.

Any luck?

Started it a bit and then honestly just switching to sokol_gl - it seems to do most everything sokol_gp does and is by the main sokol dev, and as such maintains consistency with any sokol_gfx changes

Started it a bit and then honestly just switching to sokol_gl - it seems to do most everything sokol_gp does and is by the main sokol dev, and as such maintains consistency with any sokol_gfx changes

I wasn't aware of sokol_gl, but it seems quite limited as compared to sokol_gp.
Hopefully this repo will be updated before too long

I will update to latest sokol, just hadn't the time yet.

@edubart Have you looked at sokol_gl? I'm wondering if it makes sense to combine forces there or if it makes sense for gp to still exist in parallel.

@edubart Have you looked at sokol_gl? I'm wondering if it makes sense to combine forces there or if it makes sense for gp to still exist in parallel.

Sokol GL is designed to mimic a subset if OpenGL APIs, thus deisgned for 3D rendering and is not optimized for 2D. If you want to do some sort of 3D rendering use it, otherwise by cutting 3D related code something more optimized and simpler to use can be created, this is the case of Sokol GP.
Makes no sense to combine forces because of different objectives.

I worked on this issue recent commits, and sokol_gp is now working again with latest Sokol, changes are already merged in master branch.
The update required me to introduce new APIs that may be require attention when migrating such as sgp_set_sampler and sgp_reset_sampler. Shaders and examples were updated accordingly and they are working.
If you want to stick with the old behavior and APIs, I created the tag https://github.com/edubart/sokol_gp/releases/tag/pre-samplers , but I am not maintaining the old way anymore.
Closing.

@kkukshtel  @CaptainKraft @leiradel let me know if the update works for all of you (after you migrate your code).

Just set it up and ran it. Library compiles fine but upon trying to run the sample from the readme I'm seeing a sokol_gfx error:
[ERROR][sg] SG_LOGITEM_D3D11_CREATE_INPUT_LAYOUT_FAILED C:\Users\kyle\Workspace\Dinghy\Dinghy.Bootstrapper\libs\sokol\build/../src/sokol/sokol_gfx.h Line=9646
D3D11_CREATE_INPUT_LAYOUT_FAILED: CreateInputLayout() failed (d3d11)

@kkukshtel Thanks for trying, indeed I got that error when testing in D3D11, I forgot to rename a value, made a fix for this in https://github.com/edubart/sokol_gp/commit/d0c64677259b5997310e4b60448c0ea702486f0d . Tested D3D11 backend here and it worked fine, let me know if it works for you.

@edubart confirming it works!

Thank you! Will now move back to using gp instead of gl!

@edubart I can confirm that it works with the latest sokol_gfx.h in my application. I had a regression rendering to a render target, but that's very likely me doing something wrong.
Thank you so much for this update!


chore: update husky to v7

What kind of change does this PR introduce?
Dependency bump
Summary
As per the changelog .husky/.gitignore is now unnecessary and can be removed.
closes #13684
Did you add tests for your changes?
N/A
Does this PR introduce a breaking change?
No
What needs to be documented once your changes are merged?
N/A

Oops, this isn't the right time to update as Node v10 support is dropped in husky v7.