Your test duration measurement is inaccurate

Related: https://github.com/tinylibs/tinybench/issues/65

Performance measurement is unfortunately not as simple as performance.now() in browsers. Further, operating systems can and do sometimes have resolution limits of their own.
Here's some considerations that need to be addressed, in general:

Browsers are required by spec to coarsen resolution to a minimum of 5 microseconds (200k ticks/sec) in isolated contexts and 100 microseconds (10k) in non-isolated contexts, for security and privacy reasons.
Most browsers reduce resolution even further, but to varying degrees per https://github.com/w3c/hr-time/issues/56

Firefox: 20us (50k ticks/sec)
Chrome: 100us + 100us jitter (5-10k)
Safari: 1ms (1k)
Edge pre-Chromium: 20us + 20us jitter (25-50k)
Brave: 1ms (1k) per https://github.com/brave/brave-core/pull/15309

On Windows, all browsers' performance.now() tick during sleep. In other platforms, they don't, in violation of the spec: https://github.com/w3c/hr-time/issues/115#issuecomment-1172985601

The ramifications mostly apply to async tests and tests using atomics.

The benchmarks currently naively use start and end performance.now()/process.hrtime.bigint() calls. The precision issues can give you bad data, but it's not insurmountable:

Any test run that completes in less than half of the minimum timer precision is statistically indistinguishable from a test where the JIT optimized everything out. You could compare that to a null test, count the difference in timer ticks, and use that to build your time estimate, but even then, you'd need a massive number of runs to get much confidence from that. And for tests like ours where we need to measure frame times, in browsers like Brave and Safari where timer resolution is 1ms, this could require a very long time for some tests. (This isn't theoretical - one of our render tests in this PR ran 147169 times at an average of 0.03 ms/run or ~33k ops/sec, and that many frames at 60 FPS would come out to about 41 minutes.)
If the test completes in more than half a unit of precision but less than 1.5 units, you could use similar tricks to gain more confidence, but you'd still need a decent number of runs if you're only measuring spans. You could just expect roughly half the runs since you have a roughly 100% chance of at least one tick happening in the code block.
Even the act of measurement entails overhead (in the order of nanoseconds), so a null test is needed for accurately measuring at a resolution of more than about 100k ops/sec.

It doesn't appear your benchmark execution code currently takes any of this into account, hence this issue.

That's why the API:

allows to define a custom timestamping function to fit environment needs, such as
() => $.agent.monotonicNow()
() => $262.agent.monotonicNow()
...
allows to define the benchmark behavior such as minimum benchmark iterations and time
integrates JIT deoptimization

There's no one-size-fits-all benchmarking design in the JS ecosystem. But instead APIs allowing to refine the benchmark accordingly and sane defaults.
What is actually missing in tinybench API to adapt it to browsers?

@jerome-benoit I didn't realize you also used confidence - that means the jitter isn't of much concern.
But for the rest, in short, duration is inaccurate if the code executes faster than timer resolution:
let start = now()
fn()
let end = now()
let duration = end - start

The concrete fix is this:

Run multiple fn() iterations instead of just one, repeating until you sufficiently exceed the clock's granularity. (I chose 15x, but that was just a random guesstimate that turned out to he good enough for my needs.) The time per run becomes duration / iterations.

Unfortunately, to avoid measuring beforeEach and afterEach, it'd be a breaking change. If you want to ensure accuracy while just doing one (to not break people), you'll need to alert people of this benchmarking limitation so they're aware, and possibly display a warning if it measures a zero-duration sample.

Use the iteration count as a weight for your statistical analysis, including your confidence analysis (for when to stop looping).

Changing the now() function is not a valid workaround - it's inherent to the granularity of its result. Not even adding a durationSince(timestamp) is sufficient.

On a related note, maybe they should've called it performance.subtle.now(), not performance.now(), to align with crypto.subtle. Both seem to have a class of bugs that neither result in errors nor data returned that can be easily validated through automated means. 😅

The concrete fix is this:

Run multiple fn() iterations instead of just one, repeating until you sufficiently exceed the clock's granularity. (I chose 15x, but that was just a random guesstimate that turned out to he good enough for my needs.) The time per run becomes duration / iterations.

Benchmark warmup at Bench and Task level is supported and it has sane defaults for most case, that can be tuned.
The case where timestamping resolution is below the JS runtime timestamping is not solved by any means by incorrect measurement methodology such as measuring the latency of repeated benchmark function code and using the average as the latency of one function run:

using an average as a primary source for statistical analysis introduce non anecdotal bias, cf. below
a correct benchmark methodology must not modify the original experiment, it's a golden rule

Unfortunately, to avoid measuring beforeEach and afterEach, it'd be a breaking change.

Only the latency of the benchmarking function execution with JIT deoptimization is measured in tinybench.

If you want to ensure accuracy while just doing one (to not break people), you'll need to alert people of this benchmarking limitation so they're aware, and possibly display a warning if it measures a zero-duration sample.

A correct benchmark methodology means not modifying the experiment to time. Such as measuring the time a runner at doing 500m is not measuring the time and distance of one step repetitively and use the average of that measurement as a base to time his 500m course. It's utterly wrong in so many ways ...
I've seen benchmarking tool such as mitata using a similar totally flawed methology. Tinybench will never go that path as we care about using unbiased measurement methodology.

Use the iteration count as a weight for your statistical analysis, including your confidence analysis (for when to stop looping).

Tinybench is meant to be a lean library using state of the art benchmarking methods and advanced statistical results. The analysis of them such as determining if the margin of error is acceptable, the median absolute deviation is acceptable, ... and globally the statistical significance of the result will not be part of tinybench. It's up to the user to analyze them and eventually automate the detection of anomalies in the measurement.
The statistical indicators analysis can be documented and more state of the art statistical indicators can be added (z-score, IQR, ...) - we take PRs -.

Changing the now() function is not a valid workaround - this issue is inherent to the granularity of that function's result. Not even adding a durationSince(timestamp) is sufficient.

The analysis of the result is meant to tell if a measurement is correct or not: for example the presence of a lot of zero measurement will make the margin of error go high for latency => results cannot be trusted.
And using a totally flawed benchmarking methodology as a workaround to a too high resolution in the JS runtime timestamping is not an acceptable solution. The root cause must be fixed: not offering an optional mode with high resolution timer in a JS runtime is considered as a bug nowadays. And browsers can be started with high resolution timer for benchmarking purpose.
So I repeat: what is actually missing in tinybench to run accurate benchmark using state of the art methodology in browsers?

@jerome-benoit Just letting you know I plan to respond with precise numbers, just I've got a bunch of math (mostly stats and calculus) to work out.
May turn this into a whitepaper later for others to reference.

@jerome-benoit Just letting you know I plan to respond with precise numbers, just I've got a bunch of math (mostly stats and calculus) to work out.

Precise numbers on how a flawed benchmarking methodology can give unbiased results? ;-)

Averaging an average is a well-known statistics 'avoid to do' things documented in all books. Even with the introduction of weights.
Altering the experiment to benchmark is the ultimate rule to not violate in the measurement theory.

If you plan write down that violating theses two points will make a benchmark more accurate, the proof of the contrary is already settled since years.
The inaccuracy of timestamping in the measurement theory is a known issue and already handled by the statistical analysis of the sample of measurements.

@jerome-benoit Just letting you know I plan to respond with precise numbers, just I've got a bunch of math (mostly stats and calculus) to work out.

Precise numbers on how a flawed benchmarking methodology can give unbiased results? ;-)

The hard numbers I'm working on are around why your benchmarking methodology is flawed. Mine is not any more perfect, but I'd have to do (a lot) more research to figure out how to correctly account for measurement error in general.

Averaging an average is a well-known statistics 'avoid to do' thing documented in all books. Even with the introduction of weights.

These aren't simple averages. They're population-weighted averages. https://en.wikipedia.org/wiki/Weighted_arithmetic_mean lists precisely the method I'm using as a valid use, just in a different context (average test grade).
And to be clear, when it comes to performance, there's three main statistics that matter most: the arithmetic mean, the upper end of the confidence interval, and (for real-time cases) the max value.
In the context I'm currently working with, I'm dealing with a soft real-time process where a certain function call must complete in under 5 microseconds on average and preferably under 2 microseconds. Yes, microseconds, not milliseconds. And yes, this obviously sits well below even the minimum DOMHighResTimestamp resolution allowed by spec.

Altering the experiment to benchmark is the ultimate rule to not violate in the measurement theory.

Obviously, that is a concern. I in my current (not-yet-public) benchmarking code prepend a null test for this exact reason and make sure to print both raw stats including it and stats adjusted using numbers from a null test.
My adjusted stats displayed for those is admittedly probably biased and obviously not perfect, but fixing that would require a bunch of math that I currently don't plan to do in the near term. (I have more pressing priorities.)

If you plan to write down that violating theses two points will make a benchmark more accurate, the proof of the contrary is already settled since years: Kolmorogov-Naguno publications on the generalization of the averaging concept - the f-mean has the correct properties if and only if f is injective -> a mean (weighted or not) is not injective -> using a mean as f-mean does not behave correctly.

The ultimate mean I'm returning isn't of the samples themselves, but of the (potentially unmeasurable) durations of each iteration plus the small but statistically significant measurement overhead.
Thing is, you don't need to know all values to have a mean. Simply knowing how many runs and how long all runs collectively took is sufficient. As wait times add just through the passage of time, you only need to measure the whole span to know how long all runs collectively took.
And non-weighted means (what these intermediate means are) with known population sizes can be correctly merged using population-weighted means. (You obviously can't do this with unknown populations. But the population size here is known.)
There are caveats, like the lack of a true min/max and a lack of a true median. But that goes without saying.

The inaccuracy of timestamping in the measurement theory is a known issue and already handled by the statistical analysis of the sample of measurements.

This is the part I'm working on, so I won't address it here right now.

Thing is, you don't need to know all values to have a mean. Simply knowing how many runs and how long all runs collectively took is sufficient. As wait times add just through the passage of time, you only need to measure the whole span to know how long all runs collectively took.

You still does not seem to really understand why it's plain wrong as a measurement method, why any weighted averages as a primary source of a measurements sample is just biased by definition and can't be used as a trusted source.
Basically you're building a sample from imputed data using the mean. It has be proven since years to be non anecdotally biased: rubin's law introduction, distribution of samples comparaison methods, ...

And non-weighted means (what these intermediate means are) with known population sizes can be correctly merged using population-weighted means. (You obviously can't do this with unknown populations. But the population size here is known.)

No, you can't. Or you have to prove that Kolmogorov-Nagumo where wrong on the generalization of the concept of averaging.
Since the beginning you are making incorrect statements on:

the way latency is measured in tinybench
the statistics computed in tinybench
the high-resolution timer supported granularity in JS runtimes

And you continue with plain wrong statements about well-known mathematics proven results in the statistics field.
No interesting outcomes are then expected.
I see not point in continuing such a discussion.

Okay, closing. I'll agree to disagree, in particular on these two key points.

Kolmogorov-Nagumo f-means somehow impacting the averaging of time delta samples (this was my key point in my previous comment)
Weighted averages not applying to aggregate time delta samples

If I write up a whitepaper about this and get it peer reviewed, I may consider sharing it here. But aside from that, I'm ending the discussion. I doubt that even providing hard stats on how naively using this code provides skewed statistics or providing mathematical proofs that either of the two above bullets are false will change your opinions on the matter, so continuing it will be fruitless.
let start = performance.now()
// do stuff
let end = performance.now()
let duration = end - start

My calculations came out to about a 70% chance of undercounting a 20us interval and 30% chance of counting it as zero given Chrome's 100us granularity + 100us random jitter, by the way. I just hadn't yet either 1. calculated the expected mean value (specifically Exp({Mean(S) for all S in possible sample sets})) or 2. confirmed precisely how Chrome generates the value (which from a cursory code search appears to diverge from what I used to math out, but only slightly). But the two stats I have calculated suggest a very possible skew towards zero.
I still plan to complete these calculations anyway, as you weren't the only considered audience for them.

I doubt that even providing hard stats on how naively using this code provides skewed statistics or providing mathematical proofs that either of the two above bullets are false will change your opinions on the matter, so continuing it will be fruitless.

And the reason is simple: no mathematical proof of their fallacy exists, no counter examples exists. And if you had one to share, it will probably end up being a candidate for the field medal ...
But one can give you tons of counter examples that averaging an average is biased, weighted or not. That doing measurement over a sleep interval on an async code execution design is not reliable per design, and a totally incorrect methodology to measure the timestamping accuracy on a JS runtime or even in general, ... (and the pile of technical and mathematical nonsense)


Fix ADSC race

Fix: #28341
The ADSC fields should be set before running. So i split the Run method out.

@hzxuzhonghu: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio
4ff13ae898f213b043ffaea2e73c4b6ec46a3ee1
link
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@hzxuzhonghu: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio
4ff13ae898f213b043ffaea2e73c4b6ec46a3ee1
link
/test unit-tests_istio

integ-multicluster-k8s-tests_istio
4ff13ae898f213b043ffaea2e73c4b6ec46a3ee1
link
/test integ-multicluster-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@hzxuzhonghu: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-multicluster-k8s-tests_istio
4ff13ae898f213b043ffaea2e73c4b6ec46a3ee1
link
/test integ-multicluster-k8s-tests_istio

unit-tests_istio
e795b6493ecf7981197b92e94dd4daa8e8cf98ba
link
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

In response to a cherrypick label: new pull request created: #28350


Add suite outputs as annotations

Adds suite stdout and strerr outputs as annotations. This is disabled by default.
Fixes #374.

Works nicely:


Cmdstan 2.23 release candidate

Summary:
We are going to have a release candidate for this next release. Opening an issue to track everything about it.
@serban-nicusor-toptal can you make release candidate tarballs at the end of your work day? On the very unlikely chance something gets merged after that we will update tomorrow. But I doubt there will me much action. Once we have the release candidate tarballs ready and we can proceed I will make a post on Discourse for users to try it out.
Draft of the text that will go with the announcement:
New features:
- introduces `reduce_sum` and `reduce_sum_static`
- added OpenCL (GPU) support for GLMs when using the "~" syntax (previously only supported  with target +=)
- upgraded to Sundials 5.2.0
- including files snytax supports < > brackets

Notable user-facing bugfixes:
 - fix to enable compiling of user-defined rng functions
 - fixed derivatives of log_sum_exp for large arguments
 - fix for a bug with normal_id_glm when sigma is constant
 - better checks for positive-definitnes in mdivide_left_spd
 - more consistent throwing behaviour on QR functions
 - clearer messages when using a variable name as a keyword
 - arbitrary spaces allowed betweeen words in "transformed data" and "transformed parameters"

There are also some ongoing refactors that don't have a direct user-facing impact at the moment (generalizing functions in the math library for example), but will in the future. We want to also make sure those didn't break any of your models.

Current Version:
v2.22

@wds15 @bbales2 would you mind helping me expand the first line on reduce_sum? Also, do we have a simple example we can show to people that isnt too complex but has some speedup?
No need to be too polished right now, so users can test it with the release candidate. Should I just use the base or nbme model?

Sure, I am happy to give a hand. I have some time tomorrow for this.
What a release!!!

Actually...we can point people to the intro Ben wrote which is a rewrite of an intro to Map rect. In addition we have Good Material in the Stan user guide already. That should both do it, I think.

Oh yeah, forgot about that. That is more than enough.

@serban-nicusor-toptal let me know when you make the release candidate tarballs so I can post the news.

Good morning @rok-cesnovar
You can find the candidate release here, sorry for being a bit late.
Is there anything else I can do to prepare us ahead for the next release ?

Thanks! Looks good. I updated the name to -rc1 in the case we need to do another one. Will make a post soon.

Is there anything else I can do to prepare us ahead for the next release ?

The PDF of the cmdstan guide is missing but that is it. We have some stanc3 fixes lined up already that will need to be swaped for the final release. But I guess that is the easy thing to change. If there are no sever bugs in Math/Stan/Cmdstan that will hopefully be everything.

The PDF of the cmdstan guide is missing

cmdstan makefile take manual will generate pdf in dir doc

checkint the CmdStan guide now - found broken links in the doc - fix in time for release?

fwiw, RC builds on both High Sierra and Catalina - but my environments are relatively cruft-free - using XCode's toolchain

checking the CmdStan guide now - found broken links in the doc - fix in time for release?

Yes, please. Feel free to tag for review.

@rok-cesnovar - on ubuntu I got this error message while running makefile task build:
/bin/sh: 1: [[: not found

found this on SO - seems relevant - https://stackoverflow.com/questions/12230690/string-comparison-in-bash-not-found/12230723
this is used in two of the makefile files:

https://github.com/stan-dev/cmdstan/blob/0ee3153ead078cf1bfcadd738dfb4f74bb1530c9/make/program#L58

https://github.com/stan-dev/math/blob/ee3a6604d3f2b1acb9c609f698af3731c5086964/make/libraries#L126-L127

I think the logic that's triggering this message is only relevant for Windows - what do you think?

@mitzimorris That may be because make is by default using bin/sh which is not the actual /bin/bash   it should be an easy fix following this post

@serban-nicusor-toptal would you mind doing a release candidate 2?
We had to fix a few things and I think that would be best. So cmdstan develop + stanc3 nightly.
I would say we move the actual release to Wednesday or Thursday to not prolong the feature freeze too much?

Hey @rok-cesnovar you can find rc-2 here please let me know if everything is fine, thanks!
I'm fine with any release day as long as everything is done for the current release and everyone is okay with it.

Cmdstan release notes:

Updated docs for stanc compiler
when random seed = -1, the actual used seed is written to the output and CSV file
fixed make clean-all to cleanup all build files
easier way of building models with the previous compiler (stanc2) for debugging
info on threading, MPI and OpenCL is now shown in the output and the CSV file
downloading stanc3 binaries now retries on failure
fixes for allowing execution of the downloaded stanc3 binary on Catalina

comment in above release notes, each entry should be capitalized and have a period at the end (i.e., a sentence) - or all entries should be lowercase with no period (i.e., a phrase)

I will fix that in a sec. If anyone volunteers for making a post once released, please let me know. Else I will make one in the evening CET time.

happy to start work on a post - we should also put an announcement up on Andrew's blog

Hey, math 3.2.0 is done.
There was a few merge conflicts that I had to solve and it resulted in this change being done: https://github.com/stan-dev/math/commit/5f28b8f106ada528fb81e83414a09121ccc87956
Posting here to be sure that won't break anything and is intended.

@serban-nicusor-toptal - are the docs getting updated automatically as part of the release now?  the reduce_sum case study links to the docs at the end.
also, I think the 2_23 docs for the User's Guide will have a bunch of really great new content - checking now.

Update: The release for math, stan and cmdstan is done.
I am currently waiting on:

stanc3 2.23.0 release, done through Jenkins
docs 2.23 done through Jenkins

I am sorry that it takes more than usual but there is a VERY high load on AWS and our machines get terminated randomly because they're bought as on-demand ( we are using spot instances, which are instances not in use put for 80-90% less ).
I have updated out instances types pool and raised the quota from 3 machines to 6. This will let it choose from more machine types and hopefully speed up our release builds.

Hey @mitzimorris docs have been generated again here PR can you please take a look and confirm Jenkins did everything all right then merge? Thank you!

looks great - merged it!

Everything works fine on the stan release thank you!

checking 2_22 docs - don't see redirects to 2_23 - maybe it'll take a few minutes to refresh?

Checking the logs I don't see any error popping so everything should be working fine. Maybe it's cached somewhere. How can I debug this, on what page should I see a redirect ? I can check in the repository to see if it's there.

https://mc-stan.org/docs/2_22/stan-users-guide/index.html

https://mc-stan.org/docs/2_22/stan-users-guide/regression-models.html

https://github.com/stan-dev/docs/blob/master/link_to_latest.py  - this needs to be run on 2_22
but it's a destructive hack-and-a-half, so it shouldn't be run more than once.

On 2.22? Did you mean 2.23?

I understand you mean the This is an old version, view current version.
Which can be seen here: https://mc-stan.org/docs/2_20/stan-users-guide/index.html
I just found out it's not on 2.22 either https://mc-stan.org/docs/2_22/stan-users-guide/index.html
I now understand what is wrong, will fix it in a PR in a second.

Hey @mitzimorris please take a look at this PR it will fix the redirects.
What happened ? Totally my mistake sorry, forgot to make Jenkins read the Jenkinsfile from the docs repository and it was using a static outdated version. Also found a typo, everything should be fine now!
The job takes now an extra argument  last_docs_version_dir which refers to the old version of docs, in this case 2_22 which will be passes to the add_links script. @wds15 that's why 2_22 and not 2_23.

looks great!

Checked above links plus some extra, everything looks fine now. I have updated scripts and Jenkinsfile so next time it will work flawlessly.
I think everything is done for the current release:

math v3.2.0
stan v2.23.0
cmdstan v2.23.0
stanc3 v2.23.0
docs v2.23.0

If anyone has a few minutes it would help a lot to double-check, thank you!

I updated 2 pages in the stan-dev.github.io repo to point to the 2.23 docs for Stan and CmdStan.
https://github.com/stan-dev/stan-dev.github.io/commit/319f89de5239f3d0b62ff9de8df24acd5d27eef2
don't know if this is worth automating.

I'll do it now, better to offload this kind of stuff to automation.

I think everything looks great. Thanks @serban-nicusor-toptal!
Closing.


Update demo page

To show the named templates feature

Demo page link doesn't even work for me.

there is same problem of me


Support for events that last longer than just one day

Rather than have the event show up separately for multiple days, could it say "Wednesday–Friday    19–24 Aug [Event name]"

I'm not sure how this would work. Where would it say "W-F 19-24 Aug [...]"? Can you provide some examples or mockups?

At the moment, my calendar looks like:

I would love to see something like:

This is obviously just a quick mockup but hopefully you get what I'm trying to say.


Fix spell check to detect Spanish spelling errors

Follow up to:

#5005

Spelling check failed, but was not reported as a failure :-/ ... see https://github.com/open-telemetry/opentelemetry.io/actions/runs/10317103275/job/28560650923
Run streetsidesoftware/cspell-action@v6
cspell-action
Pull Request
Error: Configuration
        name: Configuration Loader Error
        msg: Failed to resolve configuration file<EMAIL_ADDRESS>referenced from "./.cspell.yml"

Here are the current errors:
$ npm run check:spelling

> check:spelling
> npx cspell --no-progress -c .cspell.yml content data 'layouts/**/*.md'

content/es/_index.md:4:3 - Unknown word (Telemetría)
content/es/_index.md:4:59 - Unknown word (observabilidad)
content/es/_index.md:48:54 - Unknown word (telemetría)
content/es/_index.md:62:28 - Unknown word (telemetría)
content/es/_index.md:63:1 - Unknown word (reenvíalos)
content/es/_index.md:80:60 - Unknown word (observabilidad)
CSpell: Files checked: 1312, Issues found: 6 in 1 file.

/cc @theletterf

@theletterf - I'm willing to fix the workflow issues. I'll let you address the spelling errors.

Oh whoops. Going to fix that!

Oh, this has been failing even since we added pt-br spell-check support! Upstream issue:

https://github.com/streetsidesoftware/cspell-action/issues/1897

Closed by #5008 and #5009


merge package from arlac77/npm-package-template

package.json

chore(scripts): cover@#overwrite c8 --temp-directory build/coverage ava && c8 report -r lcov --temp-directory build/coverage
chore(package): add xo from template
chore(package): add nyc from template
chore(package): set $.ava.require='esm' as in template
chore(package): set $.ava.files='tests/-test.js,tests/-test.mjs' as in template

Codecov Report

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

@@           Coverage Diff           @@
##           master     #421   +/-   ##
=======================================
  Coverage   73.94%   73.94%
=======================================
  Files           2        2
  Lines         476      476
=======================================
  Hits          352      352
  Misses        124      124

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 de184ac...5e4c030. Read the comment docs.

Coverage remained the same at 71.626% when pulling 5e4c030326614d7a75db23d0107097601653b79d on template-sync-1 into de184ac437edb4048bcedcfed0fd4533027e5761 on master.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


⚠ SkyfallSMP Map has degraded performance

In 07dcd54, SkyfallSMP Map (https://map.skyfallmc.cc) experienced degraded performance:

HTTP code: 502
Response time: 1087 ms

Resolved: SkyfallSMP Map performance has improved in 7a7c6a2 after 12 minutes.


[CP] Please merge 86f3fde23fac9684f99200841f95db60bab79d20 into stable channel

commit(s) to merge: 86f3fde23fac9684f99200841f95db60bab79d20
merge instructions: https://dart-review.googlesource.com/c/sdk/+/149420
reason: This CL fixes a problem where persistent front-end process used for incremental compilation during development would leak more and more memory with each recompilation. The amount of leaked memory depends on which parts of their app user is editing. As an experiment editing 20 files in flutter framework and reloading after each caused FE server to leak 3GB. This is believed to be the cause of some reports in https://github.com/dart-lang/sdk/issues/41862
/cc @franklinyow

Dart approved

Flutter approved (@tvolkert)

Merged as 52793886a0a25802984e8cf5831b587ec3822aa3 and released in 2.8.4.


GH2410: T4 Global tool support

Adds t4 & t4.exe for tool resolution
Adds Properties & Class to TextTransformSettings
Integration tests for TransformTemplate
Fixes #2410

@devlead I will merge once CI passes

@devlead your changes have been merged, thanks for your contribution 👍


Import order autofix should move above comments with the import too (e.g. @ts-ignore etc)

Currently reordering leaves the comments behind. Thus something like:
import { connect } from 'formik'
import { useReferenceData } from '../../reference'

// @ts-ignore
import { FormikRadioGroup } from '@external/radio-group'

Becomes:
import { connect } from 'formik'
import { FormikRadioGroup } from '@external/radio-group'
import { useReferenceData } from '../../reference'

// @ts-ignore

That's incorrect. The autofix should move the above comment as well.

Comment attachment is difficult; I believe eslint doesn't actually attach comments to nodes. For you (and for ts-ignore comments, specifically), they go above, but some people put comments on the same line, and some below.
I'm not sure how to address this reliably except perhaps to bail on moving any line that has a comment adjacent in any direction.

This is a very annoying bug indeed. Has anyone found a workaround ?


SWT reproducibility

Motivation for this change
More reproducibility! And less likelihood of breakage moving forward into new versions. Also, the build-support/setup-hooks/canonicalize-jars-hook hook added to support this was pulled from the unused build-support/release/ant-build (& functions only used there sourced from build-support/release/functions.sh), which has been deleted due to being weird and old and not imported by any package built on Hydra in the last 3+ years.
Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"

Tested with applications/editor/music/tuxguitar & applications/networking/ipscan (in my NUR repo; planning to submit to Nixpkgs after this merges since it requires upgraded SWT).

[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Determined the impact on package closure size (by running nix path-info -S before and after)

Decrease from 648420920 to 648403736

[x] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@edolstra may also want to review this, as I think the build-support/release stuff was mostly him?

Ok, rebased and ready for review.

Please fix the merge conflicts.

Rebased.

Rebased.

Rebased.

Rebased. Reminder that this is blocking SWT upgrades.

I recently wrote https://fzakaria.com/2021/06/27/java-nix-reproducibility.html
Curious about the delta between the hook and other canonicalization vs. just adding strip-nondeterminism to the fixupPhase?

Can the PR description's motivation be augmented to describe the problem and the fixes?
I'm aware of the mtime fixes but not the other canonicalizations that are needed.
Doing it in a hook vs the fixupPhase is also of interest (see earlier comment)

Rebased, and @pSub removed as maintainer due to a lack of activity with this PR over the last 2 years.
@fzakaria It looks like META-INF/MANIFEST.MF is sorted & empty lines removed? It's been a while since I submitted this patch; that behavior was carried over from the original canonicalizeJarManifest function. Further documentation or fixes are welcome; I know that this PR works and just want it to finally get merged so I can use ipscan from upstream Nixpkgs.

Doing it in a hook vs the fixupPhase is also of interest

canonicalizeJarsIn is called in fixupOutputHooks, which are ran directly after runHook preFixup in the default fixupPhase.


Does not pass view-convention tests.

If setValue is called before the view is rendered (as it is in ampersandjs/ampersand-view-conventions) this line explodes: https://github.com/AmpersandJS/ampersand-input-view/blob/master/ampersand-input-view.js#L128

Cross-referencing https://github.com/AmpersandJS/ampersand-form-view/issues/28

Closing with #59


Fix typo and add add logging feature in the CSI parsing script (AEGHB-760)

Fixed variable name typo mentioned in #187
Add logging feature for corrupted data and other serial data #186

Thanks for that. I've pushed this into our internal review & merge queue, PR will be updated once it's merged to master.


Serving Checkpoint work

Within the callbacks.py module of this repo there is a ServingCheckpoint class that extends Keras' Callback class. The idea would be to implement model checkpointing per epoch, while training.
Within train.py there is a serving_checkpoing defined that instantiated this ServingCheckpoint class, and it is added into the training loop through the array of callbacks that are defined and passed into the model at training time. However this does not function correctly. The tf.Session() closes upon execution of the array of callbacks that includes the model checkpointing.

@edhenry  in which group we attach our docker? As I am a beginner to this repo I followed your video and I stuck at docker ps command. As it needs authentication.


Reduce TextureStore lock contention

Prereqs:

[x] https://github.com/ppy/osu/pull/10229 (otherwise osu! will crash after exiting from gameplay)

This is pretty visible by scrolling through beatmap listing with https://github.com/ppy/osu-framework/pull/3894.
The contention occurs between Get() and Purge(), especially when online resources are involved.
Another level of locking has been added to ensure that only one retrieval is happening concurrently (preserves current behaviour) and that the lock on textureCache is taken for as short of a period as possible.

Looks sane 👍 .
Weird because I thought we already addressed this in a similar way before...


Nested Partial Disclosure breaks assumptions?

I believe the statement

Therefore, an Issuer commitment via a signature to any variant of ACDC (compact, full, etc) makes a cryptographic commitment to the top-level section fields shared by all variants of that ACDC because the value of a top level section field is either the SAD or the SAID of the SAD of the associated section.

no longer holds when we introduce nested partial disclosure.
Consider the case where an issuer signs a fully disclosed, nested, ACDC. During disclosure by the issuee/discloser, unless the discloser discloses all nested SAD, the uncompact/fully disclosed a SAID cannot be computed for verification.
To solve this, I can, by convention, always sign the most compact variant ACDC SAID during issuance, even if issuing a partially disclosable ACDC with all fields exposed for the issuee/discloser's use. This way any participant can validate, and the part of the ACDC transformation that goes in one direction only (blinding the partially disclosable SAD) kind of leads one to that result. The thing is, during issuance it would be nice to transfer the fully disclosed ACDC to reduce message quantity. But, the signature on the message wouldn't match the ACDC. Is that okay? I mean, I know I can write the code, but it probably isn't specified that way. Originally, I was planning on signing the compact version, sending that over to the recipient and then letting them query the issuer for all the SAD they need via exn/bar messages. Is this the correct approach? Or (by spec) can I sign the SAID of the compact variant and attach that signature to a fully disclosed ACDC?

Potentially resolved by https://github.com/trustoverip/tswg-acdc-specification-archived/issues/78 @jasoncolburne ?

They are related, and it's not technically resolved because of acdc#78. I do think it belongs on an ACDC issue or discussion though, basically what I am saying here is that during exchanges and when referencing ACDCs externally, one should always use the most compact SAID since not all participants have access to levels of disclosure, which becomes particularly apparent when nesting partial disclosures.
I can close with this comment I believe.


Update firefox to 49.0.2

[ ] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} reports no offenses.
[x] The commit message includes the cask’s name and version.

Audit failed for all languages.
# brew cask audit --download firefox.rb
==> Auditing language: 'de'
==> Downloading https://ftp.mozilla.org/pub/firefox/releases/49.0.2/mac/de/Firefox%2049.0.2.dmg
######################################################################## 100.0%
==> Verifying checksum for Cask firefox
audit for firefox: passed
==> Removing cached downloads for firefox
/Users/user/Library/Caches/Homebrew/Cask/firefox--49.0.2.dmg
==> This operation has freed approximately 81M of disk space.audit for firefox: passed
==> Auditing language: 'en-GB'
...
...
==> Auditing language: 'zh'
==> Downloading https://ftp.mozilla.org/pub/firefox/releases/49.0.2/mac/zh-CN/Firefox%2049.0.2.dmg
######################################################################## 100.0%
==> Verifying checksum for Cask firefox
audit for firefox: passed
==> Removing cached downloads for firefox
/Users/user/Library/Caches/Homebrew/Cask/firefox--49.0.2.dmg
==> This operation has freed approximately 81M of disk space.
Error: audit failed for casks: firefox

Audit passed for each language.
# brew cask audit --download --language "language" firefox.rb

Yup, this is fine. Made a PR to fix the audit issue: https://github.com/Homebrew/brew/issues/1361


Added SecGen to Platforms

Added SecGen to Platforms

Thanks for the addition.
Also why not transfer the SecGen main repository to yourselves instead of maintaining the fork as master itself is pointing to your fork?


Specify text color

This is an amazing tool.  Thank you for creating it!
We have a requirement to put the logo on a dark background (t-shirt) and I can't see anywhere to specify the font color.  Is this easy to do?

Sorry, it doesn't support it. This Web Components was only a small proof of concept.
The color from the name is from:
https://github.com/abdonrd/gdg-logo/blob/2f8823494d4763f2cdaebd7e563d65339a81eeef/gdg-logo.html#L175
And the images:
https://github.com/abdonrd/gdg-logo/tree/master/images


Feature Request!

hello developer
We are trying to apply and operate the actual service using the developer's source code.
However, it is unfortunate that there is no way to prevent other users from experiencing inconvenience due to abuse by some users (eg, shouting or singing loudly when entering a room).
When I inquired last time, you said that it is difficult to implement the moderator function. Is it possible to add a function to silence other users?
Thank you.

Hey BOBODDO,
a function to mute other is easy to implement and already stands up on my to do list.
I will implement it in the next few weeks.
Regards Valentin

Hey BOBODDO,
a function to mute other is easy to implement and already stands up on my to do list.
I will implement it in the next few weeks.
Regards Valentin

Thank you very much!
Have a nice day

Hey BOBODDO,
in the newest Version 1.0.17  a function to mute other is implemented.

Regards Valentin

Sincerely Thanks!


No applications launch after installing new applications.

Describe the bug
after reinstalling 0.7.0, after installing an item from the menu, nothing will launch
To Reproduce
Install iso at https://github.com/helloSystem/ISO/releases/tag/r0.7.0
open System -> Applications -> Internet -> Chromium
install Chromium
when done, try to launch applications from menu or dock
Expected behavior
I expect applications to run. Nothing happens. I am unable to open Terminal. System -> Restart does nothing. The only things working are System -> About this computer, and Go -> Applications. But once the application folder is open, and double click on a selection, it does not run.
Version (please complete the following information):
Installed hello-0.7.0_0G160-FreeBSD-13.0-amd64.iso
Computer (please complete the following information):
Dell Inspiron 15 -  3521
Additional context
Before I found this, I used terminal to use pkg to install metalock, so I can lock my screen. It instructed me to run pkg update. It's never done that before, in fact you once told me update was disabled. So I updated. After updating, metalock installed, and worked.
I have found the only way around this issue is to re-install the os. I then tried to install from menu both after running pkg update, and without running pkg update. No difference.
I've reinstalled the os and retried several times, to no avail.. The only way I am able to use it is to restrict myself to installing via the package manager. I've been using helloSystem since version 0.3.0 was released, and never seen this issue before. Other than some minor issues, it's been pretty solid, and very usable as a secondary computer.

I suspect that when installing/upgrading pkg packages, some packages get deinstalled.
We need to find a way to avoid this at all cost.
How?

That sounds right.
I left the terminal open before the install. Then I tried to launch featherpad from the command line, and got an error. There is a mismatch in Qt5 - the program was looking for 5.15.2, the system had 5.15.5.  FreeBSD recently upgraded Qt5.

There is a pkg-lock command, that prevents changes to existing packages, so I ran
pkg lock --yes --all

Then I installed 'sudp pkg install chromium'.
It still fails, but I've never seen an error like this:
mozpeg-4.0.3 conflicts with jpeg-turbo-2.1.1 (installs files into the same place)

Chrome still fails, with libicui18n.so.71 was not found.
In addition, now Falcon fails with OpenGL context creation fails.
So I rebuilt the system again, I've discovered that Falcon is now authorized to log into gmail! So, I can do without chrome. I installed gnustep, but it fails to install with the same mozpeg issue, and Falcon fails again, with the same error.
(: It looks like it's a bit more than just existing side by side.
this freebsd thread https://forums.freebsd.org/threads/updating-installed-package-tries-to-remove-other-packages.67779/
hints at 2 solutions.

the other version of QT5 may be installed as a port. But they also warn not to mix packages and ports.
create your own repo. I think GhostBSD does that. Sounds like a lot of work.

References:

https://github.com/helloSystem/hello/issues/161
https://github.com/helloSystem/ISO/issues/374

My theory is that if the packages on the system haven't been upgraded in a while, then pkg prefers to REMOVE packages rather than to pull in the required never versions of depencencies (unlike from what I am used to from apt-get).

create your own repo. I think GhostBSD does that. Sounds like a lot of work.

Which is why we want to stay with the official FreeBSD repos.

pkg lock --yes --all

Not a good idea.

The challenge is that vanilla FreeBSD favors server over desktop. Mozpeg is actually slower than jpeg-turbo. But it produces a smaller file to send over the wire (https://libjpeg-turbo.org/About/Mozjpeg).
The GhostBSD repo reverts that change, and delivers jpeg-turbo, but still delivers the newer Qt.
I think ports are not very compatible with the goal of being human friendly. What about an img file like you have for developer files, that restore the missing Qt version and it's dependencies, such as the libicui18n lib?

The challenge is that vanilla FreeBSD favors server over desktop.

This seems to overlook the distinction between FreeBSD, and ports for FreeBSD.
FreeBSD is:

an operating system used to power modern servers, desktops, and embedded platforms. …

As desktop use cases require ports, so most server use cases involve ports.
Each port has a maintainer, and so on.

I've read the 'party line', and I'm not trying to start a fight, but I see a different point of view..
My meaning is that FreeBSD does not cater to 'The Home Version'. When I was in IT, all of our workstations were small servers. Desktops are what you have at home.
But from reading the FreeBSD Foundation and forum I get the understanding that when they refer to desktop, they refer to their workstation. They can get pretty rude when people ask for help with a home computer.
I've tried to use ports - many fail due to lack of resource on my desktop, which is just above the minimum requirement for helloSystem.

If there's rudeness, that's unfortunate.

… My meaning is that FreeBSD does not cater to 'The Home Version'. … from reading the FreeBSD Foundation and forum …

End User (Laptop and Desktop) is the primary focus area in the Foundation's Technology Roadmap:

Wi-Fi, graphics and hardware support
packaging.

Some things are too easily overlooked. https://www.freebsd.org/releases/13.1R/relnotes/#boot-loader for example, "UEFI boot is improved for amd64. …" from the technical note, readers might never guess the scope or impact of this improvement. Essentially: 13.0 could not boot a broad range of computers, 13.1 ended that situation – https://forums.freebsd.org/posts/567118 – IMHO, a massive improvement.

… ports - many fail due to lack of resource …

Better use packages, unless there's a special reason to ignore them.
net/citrix_ica is an example of something that must not be redistributed as a package (licencing).
Where there's popular demand for something that can be packaged, strategic planning applies.
Plus, DRM to base https://gitter.im/FreeBSDDesktop/Lobby/archives/2022/02/18?at=620fda5f4164105ab0a48254, and so on.

In any case - after replacing my main computer (the old one died), I was hoping to reinstall helloSystem 0.7.0 on my backup hardware and resume testing. But I'm unable to discover any workaround to the forced upgrade. At this point it looks to me like the only thing that can be done is wait for the pre-installed software to be upgraded and a new iso is burned.
Until then, I see the biggest issue is that new users may try out helloSystem, and get a bad impression.
Until then
bruce

What happens if you install helloSystem 0.7.0, then upgrade it with sudo pkg upgrade? (Cancel it if it wants to REMOVE anything.)
Can you successfully install software afterwards?

sudo pkg upgrade want to remove files... And yes I can still install software.
It appears that anything I install with a dependency on Qt5 causes the files at /usr/local/lib/qt5 to upgrade from 15.5.2 to 15.5.5, removing the older version. After that nothing that depends on qt will work - and if I reboot at this point, I just get a black screen. I can still use file manager. So I can get to xterm. once that is open I can run from the console and see the errors - mainly that the libqt5 15.5.2 files are missing. I can still import packages., but there is nothing I can find that re-installs the 15.5.2 files.

Well, this is embarrassing, but it finally works - I had to run the sudo pkg upgrade and type yes to all prompts.  It's been so long since I've used a system that didn't automatically done that itself, and I still remember an early version, doing that and it didn't work, and you said not to. And it appears that now gnustep is pre-installed!.
maybe I spoke too soon - metalock is not working correctly. I'll leave that until morning. Consider this closed and solved.

zgrep pkg /var/log/messages.0.bz2 for older pkg-related messages.
grep pkg /var/log/messages for the most recent.

… files at /usr/local/lib/qt5 …

For some of the packages in https://github.com/helloSystem/ISO/blob/experimental/settings/packages.hello:
% pkg provides /usr/local/lib/qt5 | grep -e qt5-l10n -e qt5-graphicaleffects -e qt5-sensors -e qt5-wayland -e py-qt5-webengine -e qt5-quickcontrols2 | sort
Name    : qt5-graphicaleffects-5.15.5p0
Name    : qt5-quickcontrols2-5.15.5p6
Name    : qt5-sensors-5.15.5p0
Name    : qt5-wayland-5.15.5p39_1
Name    : qt5-wayland-5.15.5p39_1
%

Currently, we are just installing the packages at ISO creation time.
Maybe the proper way would be to not just install them, but define them as dependencies of the hello package, and then locking the hello package. Wouldn't that require the dependencies of the hello package to remain installed on the system no matter what?
So, in practical terms:
For example, instead of doing  a pkg install for
https://raw.githubusercontent.com/helloSystem/ISO/da8bc8d510bb56b66ba7bae7c5ffc8a269da10ab/settings/packages.common-13
when we create the ISO, should we define these packages as deps? in, e.g., https://github.com/helloSystem/ISO/blob/experimental/overlays/uzip/hello/manifest?


command-not-found module is super slow

While working on https://github.com/sorin-ionescu/prezto/pull/1450, I noticed that enabling the command-not-found added ~2 seconds to shell startup time for an interactive session. This is on macOS using Homebrew.
However, directly calling brew command command-not-found-init seems to take only ~1 second.
Looking at https://github.com/sorin-ionescu/prezto/commit/b0c85eddf6bee4d75ca9920c9c6180ab7ff1962a, I'm wondering if the section:
&& brew command command-not-found-init > /dev/null 2>&1;

is actually running the command just to check its existence? If so, then this is running a very slow script twice on every shell startup...  Very possible I'm misreading this, as I'm very much a n00b when it comes to ZSH scripting.
@indrajitr am I reading this code correctly? Is it possible to change this to only run the script once?

@jeffwidman, this is closely following the official installation instruction.
brew subcommands are admittedly slow these days (particularly the tapped ones). I haven't thought much about a way to work around it in this particular case but am certainly open to advice.

Can you clarify first whether that code is actually running the script once or twice? We can figure out optimizations if it's twice, if just once there's not much to do about it...

Twice

We could either removed the second call to brew or cache the output. Unfortunately, I don't know how best to expire the cache, since there isn't a static place command-not-found-init will be found

Thanks for the workaround! I've switched prezto to use the .sh version of that file until we have a better solution.

Thanks for fixing this @belak, much appreciated.

Hopefully #1611 would address this in an idiomatic way.


Fix not $reload on getTranslations

I think it should not return the cached translations when $reload is true

Thanks :)


Added EuclideanGCD [JAVA]

By submitting this pull request I confirm I've read and complied with the below requirements.

[x] I have read the Contribution guidelines and I am confident that my PR reflects them.
[x] I have followed the coding guidelines for this project.
[x] My code follows the skeleton code structure.
[x] This pull request has a descriptive title. For example, Added {Algorithm name} [{Language}], not Update README.md or Added new code.

@Monal5031 : Please change the variable in main function. It should not contain underscores.
Also check with @aviaryan and introduce the ternary operator if needed.


4 useful patches, plus a new opacity approach

The first 4 patches are needed. The last 3 implement a new algorithm for the opacity. Note that it is back compatible, but it introduces 2 new settings:
switcher.settings.client_opacity_value_in_focus - opacity for the client currently in focus
switcher.settings.client_opacity_value_selected - opacity for the selected client.
personally I use these values:
switcher.settings.client_opacity_value = 0
switcher.settings.client_opacity_in_focus = 0.2
switcher.settings.client_opacity_selected = 0.8
Basically you have a full control of the opacity values for any kind of client: focus, selected, anything else.

Looks great! You're more than welcome to change the defaults and document the old settings :smiley:


Deluge not connecting

Edit: Posting it in correct Git repo for the fork I am using.

The problem is that deluge are now checking the "Content-Type" header (see commit: https://github.com/deluge-torrent/deluge/commit/11e8957deaf0c76fdfbac62d99c8b6c61cfdddf9).
I fixed the problem by changing modules/deluge.py:
changed
buf = StringIO( self.opener.open(url, post_data,1).read())

to
req = urllib2.Request(url, data=post_data, headers={'Content-Type': 'application/json'})
buf = StringIO(self.opener.open(req, timeout=1).read())

Thanks for the fix @wiggin15 Why dont you send a pr so you get credit for the fix? :P


feature/api image upload

Description
Adds ability for Application Admin users to upload images for MIDAS projects.

TODO: Limit file size to 2MB


Suitable version of powershell-core was not found even though vcpkg is launched from pwsh

Describe the bug
I launched vcpkg from my powershell 6.2.4. When I launch vcpkg, it complains of missing powershell...:
Building package boost-vcpkg-helpers[core]:x64-windows...
A suitable version of powershell-core was not found (required v6.2.1). Downloading portable powershell-core v6.2.1...
Downloading powershell-core...
  https://github.com/PowerShell/PowerShell/releases/download/v6.2.1/PowerShell-6.2.1-win-x86.zip -> D:\vcpkg\downloads\PowerShell-6.2.1-win-x86.zip

Even though I am literally running vcpkg from pwsh 6.2.4.
Environment

OS: Windows 10, pwsh 6.2.4 64bit, installed from .MSI
vcpkg updated today (git pull) and ran .\bootstrap_vcpkg.bat

@patrikhuber  See #8975 and #9606 - vcpkg uses its own version of powershell installed in the vcpkg-root/downloads/powershell - not the one(s) in the PATH environment variable.

@timautry Thanks for linking to those! I've left a comment there.


Allow 0 worker in pytorch plugins & Add objectMeta to PyTorchJob

TL;DR

Kubeflow PyTorch can be configured to use 0 workers when running distributed PyTorch jobs. In this case, the training job would run on a single machine (the master node), without any additional worker nodes.
Pass objectMeta to PyTorchJob

Type

[x] Bug Fix
[ ] Feature
[ ] Plugin

Are all requirements met?

[ ] Code completed
[ ] Smoke tested
[x] Unit tests added
[ ] Code documentation added
[ ] Any pending items have an associated Issue

is there any benefit to use only one master node in pytorch CRD? people can just run pytorch in regular python task for single node training, right?

I can only imagine the env vars set by the operator like world size, rank, ...? In the torch elastic task we opted to run single worker trainings in a normal python task/single pod so that users don't need the training operator.

In our case, we start with 0 worker since it's easier to debug, and then adjust to multiple workers.
Although python task can achieve the same thing, we shouldn't error out 0 worker in PyTorch because it's what PyTorch operator allows

Fair point. Users can still switch to python task if they prefer by removing the task_config=Pytorch(....

I actually want to get rid of a required dependency on PytorchOperator for simple single node training. which can suffice in many cases. This actually makes scaling really nice, you start with one node and simply scale to more nodes - to scale you may need to deploy the operator?
This is why when nnodes=1, we just change the task type itself. WDYT? @fg91  and @ByronHsu

check this out - https://github.com/flyteorg/flytekit/blob/e44b8027bd0f59c0f90eb5f86bfa181aebad0d74/plugins/flytekit-kf-pytorch/flytekitplugins/kfpytorch/task.py#L112

Could you elaborate the drawback to use PyTorch Operator to training a single node case?

@ByronHsu - FlytePropeller is way more optimal in allocating resources, retrying, and completing sooner. Also this for single node is faster, runs without needing an operator and does not need a CRD to be created.

@kumare3 skipping the CRD part can definitely be faster. Thanks. I will raise a corresponding pr in flytekit

Will merge with https://github.com/flyteorg/flyteplugins/pull/345 and do a integration test

Is this still supposed to be pushed over the finish line or shell we close it?


Replace clock_ticks with std::time in examples/support/mod.rs

circleci seems an unrelated failure


doctor-visits-smoothed_adj_cli has changed from little weekday pattern to clear weekday pattern

Actual Behavior:

doctor-visits-smoothed_adj_cli switches from successfully avoiding overt weekday effects to failing to avoid weekday effects from around October 2023 onward; see here.  Sunday appears to be the maximum each week, and Friday the minimum, with Fridays around 40% of the Sunday values.
Expected behavior

doctor-visits-smoothed_adj_cli adjusts for weekday effects, successfully.
Context

I was looking at the CDC COVID Data Tracker and COVIDcast dashboard to try to get some sense of where various potentially-leading indicators hint that COVID-19 hospitalizations are headed, to sanity-check some forecasts.  The weekday effects are not an issue for this application but would be for someone training a forecasting model on this signal (which we might have done in the past and probably want to do in the future).

Need to figure out what could be done to address this -- presumably would need a new weekday-effects-removal model.


rcl: 2.3.0-1 in 'rolling/distribution.yaml' [bloom]

Increasing version of package(s) in repository rcl to 2.3.0-1:

upstream repository: https://github.com/ros2/rcl.git
release repository: https://github.com/ros2-gbp/rcl-release.git
distro file: rolling/distribution.yaml
bloom version: 0.10.0
previous version for package: 2.2.0-2

rcl
* Remove redundant error formatting (#834 <https://github.com/ros2/rcl/issues/834>)
* Fix memory leak in rcl_subscription_init()/rcl_publisher_init() (#794 <https://github.com/ros2/rcl/issues/794>)
* Update maintainers (#825 <https://github.com/ros2/rcl/issues/825>)
* Add a semicolon to RCUTILS_LOGGING_AUTOINIT. (#816 <https://github.com/ros2/rcl/issues/816>)
* Improve error messages in rcl_lifecycle (#742 <https://github.com/ros2/rcl/issues/742>)
* Fix memory leak on serialized message in test_publisher/subscription.cpp (#801 <https://github.com/ros2/rcl/issues/801>)
* Fix memory leak because of mock test (#800 <https://github.com/ros2/rcl/issues/800>)
* Spelling correction (#798 <https://github.com/ros2/rcl/issues/798>)
* Fix that not to deallocate event impl in some failure case (#790 <https://github.com/ros2/rcl/issues/790>)
* calling fini functions to avoid memory leak (#791 <https://github.com/ros2/rcl/issues/791>)
* Contributors: Barry Xu, Chen Lihui, Chris Lalancette, Geoffrey Biggs, Ivan Santiago Paunovic, Jacob Perron, Lei Liu

rcl_action
* Update maintainers (#825 <https://github.com/ros2/rcl/issues/825>)
* Store reference to rcl_clock_t instead of copy (#797 <https://github.com/ros2/rcl/issues/797>)
* Use valid clock in case of issue in rcl_timer_init (#795 <https://github.com/ros2/rcl/issues/795>)
* Contributors: Ivan Santiago Paunovic, Shane Loretz, brawner

rcl_lifecycle
* Add lifecycle node state transition instrumentation (#804 <https://github.com/ros2/rcl/issues/804>)
* Update maintainers (#825 <https://github.com/ros2/rcl/issues/825>)
* Improve error messages in rcl_lifecycle (#742 <https://github.com/ros2/rcl/issues/742>)
* Fix test_rcl_lifecycle (#788 <https://github.com/ros2/rcl/issues/788>)
* Contributors: Christophe Bedard, Ivan Santiago Paunovic, Lei Liu, brawner

rcl_yaml_param_parser
* Update maintainers (#825 <https://github.com/ros2/rcl/issues/825>)
* Updated performance section QD (#817 <https://github.com/ros2/rcl/issues/817>)
* Several memory-related fixes for rcl_variant_t benchmarks (#813 <https://github.com/ros2/rcl/issues/813>)
* Improved rcl_yaml_param_parser benchmark test (#810 <https://github.com/ros2/rcl/issues/810>)
* Added benchmark test to rcl_yaml_param_parser (#803 <https://github.com/ros2/rcl/issues/803>)
* Remove MAX_NUM_PARAMS_PER_NODE and MAX_NUM_NODE_ENTRIES limitation. (#802 <https://github.com/ros2/rcl/issues/802>)
* Add mocking unit tests for rcl_yaml_param_parser (coverage part 3/3) (#772 <https://github.com/ros2/rcl/issues/772>)
* Add fault-injection unit tests (coverage part 2/3) (#766 <https://github.com/ros2/rcl/issues/766>)
* Add basic unit tests for refactored functions in rcl_yaml_param_parser (coverage part 1/3) (#771 <https://github.com/ros2/rcl/issues/771>)
* Fix yaml parser error when meets .nan (refactor on #754 <https://github.com/ros2/rcl/issues/754>) (#781 <https://github.com/ros2/rcl/issues/781>)
* Contributors: Alejandro Hernández Cordero, Chen Lihui, Ivan Santiago Paunovic, Scott K Logan, brawner

Holding to merge together with an rcutils and rclpy release...


Please make releases

I'm currently working on some Debian packaging for letsencrypt.sh and it would be really helpful to base this on releases (rather than some random commits in git).
Would you mind using some version schema and do a release from time to time?

I find it really hard to decide at which point I'd want a new version release.
Things are changing all the time and it now slowly starts becoming a bit more structured and stable, but i still don't feel like marking the code as "released".
At some point I may give it a version number, but at the moment it just doesn't feel right...

Okay, that's alright. I opened an ITP on bugs.debian.org for a "0.0.0~2016.01.21~git23b0ef5" version. This hopefully will be a low enough version to not increase the Debian epoch, once you're doing releases of letsencrypt.sh.
For me it's okay, if you prefer to close this GitHub issue.

I've just released version 0.1.0 of this script.

That's just great - thanks a lot!


ConfigPath setting doesn't work as expected

Hi,
Thanks for the great software! I think I found a bug though, I changed the ConfigPath setting in settings.json, but I still get the C:\ProgramData\win-acme folder filled with everything. How is that possible?
Kind regards,
mindstormsking

Hi @mindstormsking, as per the documentation and code, the setting to change this path is called ConfigurationPath, but in the default .json file it's mistakenly called ConfigPath. If you change that I expect it to start working as expected. Thanks for reporting this!

Thanks! Behaviour is indeed fixed now.

Im still getting this behavior with the setting as ConfigurationPath.  I have the 2.1.1 release and I know that it finds the field, it just doesn't update the value.

I think I found the reason.
In the CreateConfigPath function of SettingsService.cs you do not create the folder that is passed in + the client name if it doesn't exist.


Refont of idendity card

Description 📹
Current one : https://app.starknet.id/search?domain=kevils.stark

New design :

Figma file : https://www.figma.com/design/S1UKYgWewNqNHZFAaBUilG/🏝-Starknet-ID?node-id=4105-39530&t=RTtJhtT0ZH1WFqX0-1
Refont the domain idendity card : new card size, new color, new size content, text colors...etc
Proposed Actions 🛠
Here’s a checklist of actions to follow for resolving this issue:

Fork and Create Branch:
Fork the repository and create a new branch using the issue number:
git checkout -b fix-[issue-number]

Implement Changes:
[Insert Code snippet if needed with a mardown todo list]

Run Tests and Commit Changes:
Make sure your changes don't break existing functionality and commit with a clear message:
git commit -m "Fix: [Short description of the fix]"

Required 📋
To keep our workflow smooth, please make sure you follow these guidelines:

Assignment: Don't create a pull request if you weren’t assigned to this issue.
Timeframe: Complete the task within 3 business days.
Closing the Issue: In your PR description, close the issue by writing Close #[issue_id].
Review Process:

Once you've submitted your PR, change the label to "ready for review".
If changes are requested, address them and then update the label back to "ready for review" once done.

Testing: Test your PR locally before pushing, and verify that tests and build are working after pushing.

Thank you for your contribution 🙏
⚠ WARNING: Failure to follow the requirements above may result in being added to the OnlyDust blacklist, affecting your ability to receive future rewards.

Hello I am Nelson and I'd love to work on this! , I would solve this by going through the figma design and implementing the desgn

Could I try solving this?

May I handle this issue?

Can I work on this issue? @Kevils
I am a fullstack and blockchain developer with experience for more than 1.5 years and an active contributor to starkent
My profile: https://app.onlydust.com/u/SudiptaPaul-31
ETA-1Day

I’m interested in this one.

Can I attempt this issue? I’m a full-stack blockchain developer with over 3 years of experience working with Tailwind, React, TypeScript, and Solidity/Rust.

I’m interested in this one.


Create package.sh

Copied from another repository for

what's the reason for adding this file?

I'm going to close since this looks pretty stale - feel free to reopen if appropriate


Not able to download instagram stories(video)

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm reporting that yt-dlp is broken on a supported site
[X] I've verified that I have updated yt-dlp to nightly or master (update instructions)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and I'm willing to share it if required

Region
No response
Provide a description that is worded well enough to be understood
App version: 1.12.1 (11212)
Device information: Android 14 (API 34)
Supported ABIs: [arm64-v8a, armeabi-v7a, armeabi]
Yt-dlp version: 2<IP_ADDRESS>712
URL: https://www.instagram.com/stories/sameermalikrp/3389560480538586896?utm_source=ig_story_item_share&igsh=cXFwc3ViMjBtY3Fv
WARNING: [instagram:story] unable to extract user info; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
ERROR: [instagram:story]<PHONE_NUMBER>538586896: This content is unreachable. Use --cookies, --cookies-from-browser, --username and --password, --netrc-cmd, or --netrc (instagram) to provide account credentials
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
App version: 1.12.1 (11212)
Device information: Android 14 (API 34)
Supported ABIs: [arm64-v8a, armeabi-v7a, armeabi]
Yt-dlp version: 2<IP_ADDRESS>712

URL: https://www.instagram.com/stories/sameermalikrp/3389560480538586896?utm_source=ig_story_item_share&igsh=cXFwc3ViMjBtY3Fv
WARNING: [instagram:story] unable to extract user info; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
ERROR: [instagram:story]<PHONE_NUMBER>538586896: This content is unreachable. Use --cookies, --cookies-from-browser, --username and --password, --netrc-cmd, or --netrc (instagram) to provide account credentials

Are you passing cookies? You can't download stories w/o being logged in.
Also please share complete verbose output from yt-dlp or else I will have to close this issue


[Bug]: Localized currency pipe signatures

Package name
localization
Package version
8.1.1
Reproduction steps
Localized currency pipe extends angular currency pipe but at transpilation we lose the third signature.
The implementation is correct having the 3 signatures
https://github.com/AmadeusITGroup/otter/blob/main/packages/%40o3r/localization/src/tools/localized-currency.pipe.ts#L28
Current result
At transpilation the third signature is removed from the d.ts file
/**
 * @inheritdoc
 */
transform(value: number | string, currencyCode?: string, display?: 'code' | 'symbol' | 'symbol-narrow' | string | boolean, digitsInfo?: string, locale?: string): string | null;
transform(value: null | undefined, currencyCode?: string, display?: 'code' | 'symbol' | 'symbol-narrow' | string | boolean, digitsInfo?: string, locale?: string): null;
ngOnDestroy(): void;
...

Expected result
to have the 3rd signature in the types, as the extended angular currency pipe has.
 transform(value: number | string, currencyCode?: string, display?: 'code' | 'symbol' | 'symbol-narrow' | string | boolean, digitsInfo?: string, locale?: string): string | null;
 transform(value: null | undefined, currencyCode?: string, display?: 'code' | 'symbol' | 'symbol-narrow' | string | boolean, digitsInfo?: string, locale?: string): null;
 transform(value: number | string | null | undefined, currencyCode?: string, display?: 'code' | 'symbol' | 'symbol-narrow' | string | boolean, digitsInfo?: string, locale?: string): string | null;
    static ɵfac: i0.ɵɵFactoryDeclaration<CurrencyPipe, never>;
...

Additional comments
No response

What is the issue relative of having only 2 of the 3 function overload in this .d.ts file?
Because I think it is because of extending the CurrencyPipe that provides this function interface


Run & Test macOS Installer on a fresh machine (Not on developer machine)

Suggestion details
Run & Test macOS Installer on a fresh machine. It is best to avoid developer machine as developer's machine has so many things already preinstalled. Possible test should run on AWS EC2 MacMini runner. This is will help to find out if the installer requires any prerequisite.
Additional details
No response

I ran it on mac mini with no previous rust installed
brew install pyrsia
==> Downloading https://brewrepo.pyrsia.io/pyrsia-0.2.0.tar.gz
######################################################################## 100.0%
==> Installing pyrsia from pyrsia/pyrsia
Error: Your Xcode (12.4) is too outdated.
Please update to Xcode 13.4 (or delete it).
Xcode can be updated from the App Store.

having xcode as a prerequisite isn't strange for a developer machine, but why can't 12.4 be enough? (I can't easily upgrade since I really need 12.4 on that machine)

thank you @erwin1. I was expecting this kind of issues. Your comments helped me. Therefore we might need to pour some prerequisite as part of brew install. I am going to run the same on AWS macmini and expecting few more like that.

We will work on this when a real user complains. For now the brew install works as expected. Closing this.


⚠ ClamAV has degraded performance

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

HTTP code: 200
Response time: 278 ms

Resolved: ClamAV performance has improved in 4a2a251 after 13 minutes.


Ruby box vagrant bootup too slow

I don't know if there is any way to speed this up with Chef itself. If we cannot fix this with Chef, we might need to switch to Shell Script provisioning.
Notice that Chef cookbook has introduced over 330 files that has made this whole repository massively Ruby-rich. Not that I am against Ruby, but this would be a huge burden on the end user.
We need to come up with a solution that requires only the bare minimum, and if we cannot do that with Chef, we will explore other solutions.

Is it possible to reduce and customise on top of existing chef cookbooks?

I've changed package managers in pr #54
This takes the cookbooks out of the repo while only taking on a lil wait to the vagrant up time.
It does take longer to get to the meat of provisioning tan the vagrant box but only about 60 secs on my machine.
All the cookbooks are opensource so we can absolutely fork them to our needs.

Ok, I think we may want to overwrite some of their installs to cut everything to the bare minimum. I have a great urge now to switch to docker asap.

#65 should close this issue.


Improved verify

This PR addresses a few issues in the CLI verification process, and #1079

Stacked exceptions were yielding lots of tracebacks
Rather than using exceptions for non-error failure states, I've updated the code to use return values (False = revoked, True = good, None = unknown).  Exceptions were left in place where they are for unexpected errors (parse errors, http errors, etc.)

Verifying a large number of certificates was causing slowdowns as the code was pulling the same  CRL over and over for certs with the same CRL.
I implemented an extremely simple cache so that an individual CRL is only downloaded once.  This works fine for the CLI where the code is loaded fresh each time but it could be a problem if the verify methods are used by the running web app, as the cache has no update/expire feature.  Currently, verification is only in use by the CLI code.

Better logging
Added debug logging output in case anyone needs to troubleshoot the process.  Also, parse the cert in verify() and pass it to crl_verify() and ocsp_cerify() so they both have access to cert data for logging purposes.

This looks great! It looks like there are some lint errors. Can you run "make lint" and "make test" (or just "make test-python") locally to ensure flake8 and the unit tests are passing?


Query the language server

Is it possible to query the language server for example the path to the current project file.
I see in the lsp output that it correctly finds my csproj file
I have not found any documentation regarding the lsp, if there is one please do point it out.

So lsp itself doesn't have that data available, the OmniSharp server does surface this information with some of our endpoints, which request calling the custom endpoints.
A reference list is, when running in lsp mode the handlers are all bound using o#/{method}
https://github.com/OmniSharp/omnisharp-roslyn/blob/8e7eef87ad340664fcbc151f8d8742eed69410bc/src/OmniSharp.Abstractions/OmniSharpEndpoints.cs


Add docs build and populate content

Description
What is this PR

[ ] Bug fix
[x] Addition of a new feature
[ ] Other

Why is this PR needed?
Allows us to host more expansive documentation than just that in the README.
What does this PR do?

Adds a docs build and publish workflow
Adds scope to write fuller documentation for the plugin(s) that are developed here.

References
How has this PR been tested?
Please explain how any new code has been tested, and how you have ensured that no existing functionality has changed.
Is this a breaking change?
Does this PR require an update to the documentation?
Checklist:

[ ] The code has been tested locally
[ ] Tests have been added to cover all new functionality (unit & integration)
[ ] The documentation has been updated to reflect any changes
[ ] The code has been formatted with pre-commit

Do we want to update the installation instructions on the top index.md? Currently they refer to installing from pip, rather than from a locally cloned repo.

Also seems like sphinx doesn't understand emojis unfortunately (last line of the group_layers index.md)

Do we want to update the installation instructions on the top index.md? Currently they refer to installing from pip, rather than from a locally cloned repo.

This is probably a question for @alessandrofelder as to whether he wants to release the plugin on PyPI and napari hub, or would prefer it stayed as a local installation thing. If we want to get people testing the plugin, I would guess an alpha-release would be best. CI should be setup to handle this (save for the first push to PyPI) - though we might want a slightly more informative name for the plugin :joy:


feat: update permission & permission rule when role deleted

hi @hsluoyz, did you go to sleep? :v

@notdu it's daylight now. What's this PR for?

When a role is deleted, all the permissions contain that role should be updated as well.
All the related permission rules should be deleted too.


wrphttp: update dependencies

path was not changed from webpa-common

Codecov Report

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

@@           Coverage Diff           @@
##           master       #5   +/-   ##
=======================================
  Coverage   90.91%   90.91%
=======================================
  Files           5        5
  Lines         198      198
=======================================
  Hits          180      180
  Misses         17       17
  Partials        1        1

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 b753eef...900251b. Read the comment docs.


antigen-theme command may clutter antigen-list

When issuing antigen-theme interactively and switching between themes a few times, those themes are not removed from $_ANTIGEN_BUNDLE_RECORD, thus cluttering antigen-list.

Fixed in #368


Fix default icon path detection for Rails asset pipelines

In Rails applications you would usually use the asset pipeline or the webpacker gem  for bundling assets together. As all assets are fingerprinted with a SHA hash to enable effective caching, which results in output files that are named differently than in the project structure. This also applies to image files. When importing/requiring leaflet over yarn (npm), the bundling process also affects the default icon files in dist/images as these also need to be imported due to the reference in the stylesheet. Webpacker then adds the fingerprint to the filename, resulting in e.g. marker-icon-2273e3d8.png instead of marker-icon.png. It also replaces the corresponding URL occurences in the stylesheet which define the default icon paths over styles. This breaks line 55 of src/layer/marker/Icon.Default.js because the RegExp replaces the hardcoded filename with an empty string. In case of a fingerprinted file, it consequently doesn't match, leading to a broken path which errors in the console.
The fix introduces support for Webpacker and the Rails asset pipeline (Sprockets) without breaking the detection of the initial filename (without any fingerprints).

Ok, so this is an attempt to fix a specific instance of the default icon path detection (#4968 / #7092 / #6496).
I'm... unsure about this. Generally, Leaflet tries to focus on vanilla JS only, so a fix for a specific build toolchain seems out of place. On the other hand, this change shouldn't break anything. So I'm conflicted on merging this.
(I wish we'd rather spend some time on #7203)

#7203 would also be a good alternative, I think.
In any case some change would be useful. Basically everybody who tries to use it in Rails (which is kind of comfortable due to the NPM package and yarn) must provide a custom module or else it will break the icons (unless you specify custom ones which I haven't explored any further).
I understand this fix is very specifically related to Rails' builde pipeline. Even though it doesn't break existing code, it might not come in very handy. Nevertheless, we'd somehow need a solution that doesn't break any build toolchains by default.


csrf token error on request

wagtail-autocomplete version: >0.10.0
wagtail version: 4.1.5
Issue happens on our staging and prod environment, not on local.
After updating wagtail autocomplete to version 0.10.0 and searching for a model on our staging environment, the post request made by the search field fails with the following error:

<!DOCTYPE html>

  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <meta name="robots" content="NONE,NOARCHIVE">
  <title>403 Forbidden</title>

Forbidden (403)

CSRF verification failed. Request aborted.

Help

Reason given for failure:

    CSRF token missing or incorrect.

In general, this can occur when there is a genuine Cross Site Request Forgery, or when
  Django’s
  CSRF mechanism has not been used correctly.  For POST forms, you need to
  ensure:

Your browser is accepting cookies.

The view function passes a request to the template’s render
    method.

In the template, there is a {% csrf_token
    %} template tag inside each POST form that
    targets an internal URL.

If you are not using CsrfViewMiddleware, then you must use
    csrf_protect on any views that use the csrf_token
    template tag, as well as those that accept the POST data.

The form has a valid CSRF token. After logging in in another browser
    tab or hitting the back button after a login, you may need to reload the
    page with the form, because the token is rotated after a login.

You’re seeing the help section of this page because you have DEBUG =
  True in your Django settings file. Change that to False,
  and only the initial error message will be displayed.

You can customize this page using the CSRF_FAILURE_VIEW setting.

For some reason the server thinks the csrf token was not transmitted correctly. I copied the request from the browser as a cURL call and got this request. This is the request made by wagtail-autocomplete and it also fails when running the command in a terminal.
curl 'https://cms.staging.company/autocomplete/search/' \
  -H 'authority: cms.staging.company' \
  -H 'accept: application/json, text/plain, */*' \
  -H 'accept-language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7' \
  -H 'content-type: multipart/form-data; boundary=----WebKitFormBoundaryDGyzXw2bAmIflz2V' \
  -H 'cookie: intercom-device-id-teia4out=19f65a78-236d-492f-9c65-254be568eada; intercom-session-teia4out=a05oZ1dsSkF0RjNpbkFoUUQ0WHhuM2dQSjl1c3RmaitrY2dZdU5rVnRObnNBcURSWUsyUCtjd1ZEZFlhRXZGSy0tTnJrZU5pMmU5aGZEQlhlQ0NSWVhpdz09--79e1e5da7f3418fbfd02300b5cf3ecd047e79a7d; csrftoken=cESItigM83j2XncLYNDkHA5K7WzntiKNShNvcBwvICrHH1cNcvl4dEmURFmTMTU0; sessionid=daksobxeegtgfe9eckm6ib8oqkx4hot8' \
  -H 'origin: https://cms.staging.company' \
  -H 'referer: https://cms.staging.company/pages/3302/edit/' \
  -H 'sec-ch-ua: "Google Chrome";v="113", "Chromium";v="113", "Not-A.Brand";v="24"' \
  -H 'sec-ch-ua-mobile: ?0' \
  -H 'sec-ch-ua-platform: "Windows"' \
  -H 'sec-fetch-dest: empty' \
  -H 'sec-fetch-mode: cors' \
  -H 'sec-fetch-site: same-origin' \
  -H 'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36' \
  -H 'x-csrftoken: cESItigM83j2XncLYNDkHA5K7WzntiKNShNvcBwvICrHH1cNcvl4dEmURFmTMTU0' \
  --data-raw $'------WebKitFormBoundaryDGyzXw2bAmIflz2V\r\nContent-Disposition: form-data; name="query"\r\n\r\nau\r\n------WebKitFormBoundaryDGyzXw2bAmIflz2V\r\nContent-Disposition: form-data; name="type"\r\n\r\nspatial.EuAdministrativeUnit\r\n------WebKitFormBoundaryDGyzXw2bAmIflz2V\r\nContent-Disposition: form-data; name="exclude"\r\n\r\n\r\n------WebKitFormBoundaryDGyzXw2bAmIflz2V--\r\n' \
  --compressed

A csrf token is definitely included but seems to not be enough.
Normal edit requests go through and include the same csrf token but also a csrfmiddlewaretoken in the --data-raw part of the request. I suspect this may be the cause of this.
Has anyone experienced something similar?

Looks like this is the same as #151, but yours is more fleshed out. We'll look into this, thanks for the report!

@harrislapiroff Is this really related to #151? Wagtail 5.0 doesn't seem to be a part of this report.

I think I might have meant #149, in which case there's an open PR #157. Can you verify if this seems to be the same issue @chigby ?

It's very possible that #157, now merged, fixes this issue. Though I am not sure if the original submitter was using http-only CSRF cookies.

Hi @chigby , thanks for merging my PR. I think this issue could now be closed as well.

Closing due to merging of https://github.com/wagtail/wagtail-autocomplete/pull/157


⚠ Bofrost.at has degraded performance

In 927cf19, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1170 ms

Resolved: Bofrost.at performance has improved in 35ecdb0 after 6 minutes.


Shares created on same account as the IAM role grant too much access

Describe the bug
If a consumer role is registered on an environment and then a share is created on same environment using this role for an S3 bucket then the IAM role is granted S3:* permissions allowing it all permissions to the S3 bucket.
How to Reproduce

register consumer role on an environment
create an S3 bucket share with this role on the same environment
test if you can use the role to write to the bucket

Expected behavior
Writing to the bucket should fail
Your project
No response
Screenshots
No response
OS
N/A
Python version
3.11
AWS data.all version
2.3
Additional context
No response

Hi @zsaltys I think this issue is a duplicate of https://github.com/data-dot-all/dataall/issues/1172. We'll close this issue in favor of the initial one. We tagged it as high priority and will pick it up as soon as possible


Feature Request: Show name of item in storage drawers mouse-over

Please show more information from Storage Drawers. I can already see the icon on the drawer itself and with a key, I can see the quantity on the drawer as well.  What I cannot see in Storage Drawers by default is the name of the item stored.  For some items, its hard to tell the difference between similar items so having The One Probe providing that as the overlay would be fantastic.
For example - Silver, Tin, Invar, Aluminum ingots all have a very similar icon.  If The One Probe would show me the item icon and quantity (as it does now) but ALSO the name of the item, that would be the bee's knees.

I've seen screen-shots of this working with others but I've tried all (I think) of the config options and can't get the names of items inside the storage drawer to show up in the One Probe tool-tip.
I'm running Direwolf20 1.12 v1.3 - should have provided that information earlier

So, I was under the assumption the pack could be configured to allow seeing the detailed information (names of items in a chest) when you don't have the one-probe in your hand (or as a bauble in your head slot) but apparently, that's not the case.  I made a hand-held and a bauble version and now I see the extended information (only when crouching).
I still think this is a bug since the config entries indicate that TOP isn't required if you config it to work without it on your toon.  Sorry for the goose-chase.


Balance Issue

seems like the balance function is not perfect.
I am using a Samsung phone testing while even the balance is 1 or -1, I still can hear a very small sound from another end of earphones.
Any possible way to solve this issue?

Seem like in the IOS platform the sound generator also not able to control the balance.

Balance working Android platform.


CHT test: Connecting out of order header - issue 36

The list of headers is presented where the 1st half of them can be connected but then there is header which is not consecutive – its previous hash is not hash of the previous header in the list.
The 1st nonconsecutive header should be header that we saw before, so that it actually connects but it is out of order.
See #1321 (comment)
Preferred reviewers: @Aprogiena or @noescape00

Looks good to me


Memory Leak

I'm getting around 500MB of memory leak with this lib.

Hello @Dfmarulanda , I'm sorry to hear this. But I can't reproduce it in my own project (using KingfisherWebP 0.5.0, Kingfisher 5.5.0, libwebp 1.0.2 & Xcode 10.2). After double checking the implementation of WebPImageCreateWithData I also can't find the line which may cause this memory leak.
Would you mind sharing your code or a demo project to reproduce it? 😅

This is my code.
KingFisherSource is an array of Kingfisher Images.,
  viewModel.imageURL.map { itemImages in
      let processor = WebPProcessor.default
      let inputs: [KingfisherSource] = itemImages.compactMap({ return KingfisherSource(url: URL(string:$0!)!, options: [.transition(.fade(0.33)), .processor(processor), .cacheSerializer(WebPSerializer.default), .scaleFactor(UIScreen.main.scale)]) })
      return inputs }
      .observeOn(MainScheduler.instance)
      .subscribe(onNext: { [unowned self] inputs in
        self.itemSlideShow.setImageInputs(inputs)
      }).disposed(by: disposeBag)

I'm guessing you are using ImageSlideshow, right? I set up a demo project with ImageSlideshow, but still couldn't reproduce this issue.
Your screenshot just shows that KingfisherWebP allocates memory, but not leaks memory, so I assume it should not be a KingfisherWebP issue. Maybe it's designed feature relating to memory cache in Kingfisher itself.
You can add this line in your ImageSlideshow view controller to see whether the "memory leak" still happen:
override func viewDidDisappear(_ animated: Bool) {
    KingfisherManager.shared.cache.clearMemoryCache()
}

I changed everything from WebP to JPG and remove the library, and i have no leaks right now.
I'll try to cleanMemoryCache.

Hello, have you tried the clearMemoryCache method? Did it fix this memory problem?

I experience exactly same issue. Massive memory leaks but now issues with JPG and default Kingfisher processors.

Hello, have you tried the clearMemoryCache method? Did it fix this memory problem?

I experience exactly same issue , try clearMemoryCache but no hope :( , app quickly crash by the system because use too much memory.

我也遇到了 内存暴涨的问题··· 请问你是怎么解决的?

Hello, have you tried the clearMemoryCache method? Did it fix this memory problem?

I experience exactly same issue , try clearMemoryCache but no hope :( , app quickly crash by the system because use too much memory.

Hi @duyhungtnn @WangKunKun @Out1and3r , I'm investigating this problem now, but cannot reproduce it myself currently. In order to make sure it's not the cache feature in Kingfisher itself, would you mind trying these methods in your projects?
// Limit memory cache size to 20 MB.
cache.memoryStorage.config.totalCostLimit = 20 * 1024 * 1024

// Limit memory cache to hold 50 images at most.
cache.memoryStorage.config.countLimit = 50

The code above is taken from Kingfisher Cheat-Sheet, please let me know whether it works or not. Thank you all 🥺

It happened to me at Animated WebP list when I load more items .

It happened to me at Animated WebP list when I load more items .

it's fine now and memory used return to normal since I changed all webp url to gif.

也许应该监听UIApplicationDidReceiveMemoryWarningNotification，然后是否掉memery里面的cache

Hello, did the latest version solve this problem of memory explosion

@zhangzhifangi no , after many hour to try :(
On Wed, Jul 8, 2020 at 3:42 PM zhangzhifangi<EMAIL_ADDRESS>wrote:

Hello, did the latest version solve this problem of memory explosion
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Yeatse/KingfisherWebP/issues/25#issuecomment-655379245,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAT2GTSVZFS3A7W4OQ5WSPTR2QWNNANCNFSM4HOF7Q5A
.

--
Phạm Duy Hưng
iOS Lead Engineer
+84 9 7467-5965 | https://umbala.tv/ |<EMAIL_ADDRESS>| North Sunrise
City, 27 Nguyen Huu Tho
https://maps.google.com/?q=27+Nguyen+Huu+Tho&entry=gmail&source=g, D7,
HCM City

I'm experiencing the same issue where memory is being allocated and then it's never freed.
I'm attaching a screenshot of instruments for you to have a look at... the version of the library is 1.1.0 (the latest at the time I'm writing this)

I'm experiencing the same issue where memory is being allocated and then it's never freed.
I'm attaching a screenshot of instruments for you to have a look at... the version of the library is 1.1.0 (the latest at the time I'm writing this)

I believe the leak is mostly caused by the following allocation:
void *bufCopy = malloc(bufSize);

It is this line: https://github.com/Yeatse/KingfisherWebP/blob/7f5e0f5eb0e799e09d6850a0da85ace97f8d9a74/KingfisherWebP/Classes/CGImage%2BWebP.m#L260
I can't see this memory being deallocated anywhere. @Yeatse when can we free this buffer?

I believe the leak is mostly caused by the following allocation:
void *bufCopy = malloc(bufSize);

It is this line: https://github.com/Yeatse/KingfisherWebP/blob/7f5e0f5eb0e799e09d6850a0da85ace97f8d9a74/KingfisherWebP/Classes/CGImage%2BWebP.m#L260
I can't see this memory being deallocated anywhere. @Yeatse when can we free this buffer?

I believe the leak is mostly caused by the following allocation:
void *bufCopy = malloc(bufSize);

It is this line:
https://github.com/Yeatse/KingfisherWebP/blob/7f5e0f5eb0e799e09d6850a0da85ace97f8d9a74/KingfisherWebP/Classes/CGImage%2BWebP.m#L260
I can't see this memory being deallocated anywhere. @Yeatse when can we free this buffer?

Thanks for pointing it out. The memory pointed by bufCopy is transferred to CGDataProvider by CGDataProviderCreateWithData, and will be freed in WebPFreeInfoReleaseDataCallback when the CGDataProvider deallocates. CGDataProvider's lifecycle is bounded to the result image, so when the image releases, everything is freed.
You can test it yourself by forcing Kingfisher not to cache any image using .forceRefresh option:
KingfisherManager.shared.defaultOptions += [.forceRefresh]

Thanks for the explanation. I didn’t see that callback.
in my case it looks like the real issue is with the cache storing huge images. I don’t know where they came from but I disabled storing the original and I’m only saving the webp images which are all well under 500kb. But the other images were allocating about 200-300Mb each. Put them in a collection view and everything is going to crash and burn

内存暴增是由于缓存了解析的每一帧图

内存暴增是由于缓存了解析的每一帧图，目的是降低CPU的消耗  所以即使设置KingfisherManager缓存上限也是没用的 #25 (comment)  简单的做法就是设置frameCache缓存上限，并且缓存处理过的每一帧图

NSCache 本身会在收到 memory warning 的时候清理资源所以感觉还好，不加的话在某些场景会非常卡。后面我可以提供个开关配置下。


Finetuning

Hi! I'm a beginner to all of this. Can someone direct me how to finetune the v3 model? I saw #99 on how to structure the dataset https://github.com/MeetKai/functionary/blob/main/tests/test_case_v2.json
but not sure how exactly to begin the process of fine-tuning. Do I have to runs the scripts located here: https://github.com/MeetKai/functionary/tree/main/functionary/train?

Hi @sjay8, yes you can follow the readme in https://github.com/MeetKai/functionary/tree/main/functionary/train, although it has been frequently updated. You might need to upgrade to newest accelerate version:
pip install --upgrade accelerate
And in your training command, to use v3 model, please pass: --prompt_template_version VERSION
The VERSION can be:
v3-llama3.1
v3.llama3
v2.llama3

...
But I recommend using v3.llama3 or v3-llama3.1
Another thing is you can use --packing to pack training data points if you have a lot of training data. If your data contains mostly short examples, the packing ratio might be very big, for example from 20k data points --> 2k data points, this will result in small number of training steps --> the model parameters will not be well updated.
You can also set: --max_packed_size to control the number of data points after packing. If max_packed_size=4, this mean from 20k original data points, the number of data points after packing is not smaller than 20k/4.
From our experience, the number of training steps should be >= 500, the learning rate is ~ 5e-6 for 70B models and 8e-6 --> 1e-5 for 7B models

@khai-meetkai will you fine-tune llama3.3 in near future?


Add NATOutgoingAddress documentation

Description
Documentation for using NATOutgoingAddress.
related PRs here: https://github.com/projectcalico/felix/pull/2028 https://github.com/projectcalico/libcalico-go/pull/1096
Todos

[ ] Tests
[ ] Documentation
[ ] Release note

Release Note

None required

Deploy preview for calico ready!
Built with commit d5021a2eb85c200a20261d7c034491bfa2e8fddb
https://deploy-preview-2649--calico.netlify.com