Fix for multiple DisplayInt nodes

When there are multiple DisplayInt nodes in a graph, whenever any of them gets executed, the text widget of the most recently created node gets updated instead of the text widget of the executing node because the text widget variable showValueWidget in js/display_int.js is being shared between all the nodes. This can be fixed by attaching it to the node object (this) instead:
 import { app } from "../../scripts/app.js";
 import { ComfyWidgets } from "../../scripts/widgets.js";
 import { addConnectionLayoutSupport } from "./utils.js";
 app.registerExtension({
     name: "rgthree.DisplayInt",
     async beforeRegisterNodeDef(nodeType, nodeData, app) {
         if (nodeData.name === "Display Int (rgthree)") {
-            let showValueWidget;
             nodeType.title_mode = LiteGraph.NO_TITLE;
             const onNodeCreated = nodeType.prototype.onNodeCreated;
             nodeType.prototype.onNodeCreated = function () {
                 onNodeCreated ? onNodeCreated.apply(this, []) : undefined;
-                showValueWidget = ComfyWidgets["STRING"](this, "output", ["STRING", { multiline: true }], app).widget;
-                showValueWidget.inputEl.readOnly = true;
-                showValueWidget.serializeValue = async (node, index) => {
+                this.showValueWidget = ComfyWidgets["STRING"](this, "output", ["STRING", { multiline: true }], app).widget;
+                this.showValueWidget.inputEl.readOnly = true;
+                this.showValueWidget.serializeValue = async (node, index) => {
                     node.widgets_values[index] = '';
                     return '';
                 };
             };
             addConnectionLayoutSupport(nodeType, app, [['Left'], ['Right']]);
             const onExecuted = nodeType.prototype.onExecuted;
             nodeType.prototype.onExecuted = function (message) {
                 onExecuted === null || onExecuted === void 0 ? void 0 : onExecuted.apply(this, [message]);
-                showValueWidget.value = message.text[0];
+                this.showValueWidget.value = message.text[0];
             };
         }
     },
 });

Ha, good catch. Honestly, I made the Display Int node only as I was creating/debugging the Seed node and don't think I ever had two on the screen at once. Almost didn't include it.
If you want to create a PR, I'll merge it; otherwise I can fix this later.

Ah, I tried to use it to debug something with multiple integer outputs so that's how I came across the issue.
You can fix it when you make changes next since it's just a small change. Thanks!


aria: 1.33.1 -> 1.34.0

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/aria2/versions.
These checks were done:

built on NixOS
/nix/store/f0hppn5vc107wkq50cr0g4ynjb791g3g-aria2-1.34.0/bin/aria2c passed the binary check.
1 of 1 passed binary check by having a zero exit code.
0 of 1 passed binary check by having the new version present in output.
found 1.34.0 with grep in /nix/store/f0hppn5vc107wkq50cr0g4ynjb791g3g-aria2-1.34.0
directory tree listing: https://gist.github.com/6c2f66e62f9ea93c98dc5a83ef9ffd34
du listing: https://gist.github.com/83ac4ccd9f9514ba26058582ec916e1e

meta.description for aria is: '"A lightweight, multi-protocol, multi-source, command-line download utility"'.
cc @k0ral @jgeerds for testing.

Looks OK to me.

Failure on x86_64-darwin (full log)
Attempted: aria
Partial log (click to expand)
make[3]: *** [Makefile:2646: InternalDHKeyExchange.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory '/private/tmp/nix-build-aria2-1.34.0.drv-0/source/src'
make[2]: *** [Makefile:2682: all-recursive] Error 1
make[2]: Leaving directory '/private/tmp/nix-build-aria2-1.34.0.drv-0/source/src'
make[1]: *** [Makefile:554: all-recursive] Error 1
make[1]: Leaving directory '/private/tmp/nix-build-aria2-1.34.0.drv-0/source'
make: *** [Makefile:465: all] Error 2
builder for '/nix/store/pczcqzfq0ikriwhqbsph0yqxhykayqam-aria2-1.34.0.drv' failed with exit code 2
error: build of '/nix/store/pczcqzfq0ikriwhqbsph0yqxhykayqam-aria2-1.34.0.drv' failed

Success on x86_64-linux (full log)
Attempted: aria
Partial log (click to expand)
make[1]: Leaving directory '/build/source'
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/f0hppn5vc107wkq50cr0g4ynjb791g3g-aria2-1.34.0
shrinking /nix/store/f0hppn5vc107wkq50cr0g4ynjb791g3g-aria2-1.34.0/bin/aria2c
gzipping man pages under /nix/store/f0hppn5vc107wkq50cr0g4ynjb791g3g-aria2-1.34.0/share/man/
strip is /nix/store/j75dgadrff2d1fyc4fczmcgqkid2imdx-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/f0hppn5vc107wkq50cr0g4ynjb791g3g-aria2-1.34.0/bin
patching script interpreter paths in /nix/store/f0hppn5vc107wkq50cr0g4ynjb791g3g-aria2-1.34.0
checking for references to /build in /nix/store/f0hppn5vc107wkq50cr0g4ynjb791g3g-aria2-1.34.0...
/nix/store/f0hppn5vc107wkq50cr0g4ynjb791g3g-aria2-1.34.0

Success on aarch64-linux (full log)
Attempted: aria
Partial log (click to expand)
make[1]: Leaving directory '/build/source'
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/0rm0pkivxchx1q2j04svpbqmwpkdr6l9-aria2-1.34.0
shrinking /nix/store/0rm0pkivxchx1q2j04svpbqmwpkdr6l9-aria2-1.34.0/bin/aria2c
gzipping man pages under /nix/store/0rm0pkivxchx1q2j04svpbqmwpkdr6l9-aria2-1.34.0/share/man/
strip is /nix/store/jk6j4lh9v5mvjdbdc35sj0zffhhf6s56-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/0rm0pkivxchx1q2j04svpbqmwpkdr6l9-aria2-1.34.0/bin
patching script interpreter paths in /nix/store/0rm0pkivxchx1q2j04svpbqmwpkdr6l9-aria2-1.34.0
checking for references to /build in /nix/store/0rm0pkivxchx1q2j04svpbqmwpkdr6l9-aria2-1.34.0...
/nix/store/0rm0pkivxchx1q2j04svpbqmwpkdr6l9-aria2-1.34.0

let's try again
@GrahamcOfBorg build aria

Success on aarch64-linux (full log)
Attempted: aria
Partial log (click to expand)
these paths will be fetched (0.93 MiB download, 3.70 MiB unpacked):
  /nix/store/4xmfpy4z10kq3h8nhar614yj7hi0vrk9-aria2-1.34.0
copying path '/nix/store/4xmfpy4z10kq3h8nhar614yj7hi0vrk9-aria2-1.34.0' from 'https://cache.nixos.org'...
/nix/store/4xmfpy4z10kq3h8nhar614yj7hi0vrk9-aria2-1.34.0

Success on x86_64-linux (full log)
Attempted: aria
Partial log (click to expand)
these paths will be fetched (0.96 MiB download, 3.53 MiB unpacked):
  /nix/store/fl6i4p9ydfg7vvrgrg6i5yrpm470ryk0-aria2-1.34.0
copying path '/nix/store/fl6i4p9ydfg7vvrgrg6i5yrpm470ryk0-aria2-1.34.0' from 'https://cache.nixos.org'...
/nix/store/fl6i4p9ydfg7vvrgrg6i5yrpm470ryk0-aria2-1.34.0

1.34 is already in master as of 2060ac6c79aa1975e3cf9924248fc9aeea71f42d

Failure on x86_64-darwin (full log)
Attempted: aria
Partial log (click to expand)
16 errors generated.
make[3]: *** [Makefile:2646: InternalDHKeyExchange.lo] Error 1
make[3]: Leaving directory '/private/tmp/nix-build-aria2-1.34.0.drv-0/source/src'
make[2]: *** [Makefile:2682: all-recursive] Error 1
make[2]: Leaving directory '/private/tmp/nix-build-aria2-1.34.0.drv-0/source/src'
make[1]: *** [Makefile:554: all-recursive] Error 1
make[1]: Leaving directory '/private/tmp/nix-build-aria2-1.34.0.drv-0/source'
make: *** [Makefile:465: all] Error 2
builder for '/nix/store/2d98qj10i0k62pm2zxbv8xdv657w1xan-aria2-1.34.0.drv' failed with exit code 2
error: build of '/nix/store/2d98qj10i0k62pm2zxbv8xdv657w1xan-aria2-1.34.0.drv' failed


🧑💻 Add new AsyncTaskBuilder to merge fetch and submit usage

This is a proposal aimed at unifying the usage of fetch and submit operations within a single AsyncTaskBuilder object. It's important to note that this is merely a suggestion for improving code consistency and is open for discussion and refinement.
In particular, the current implementation of AsyncTaskBuilder<void, T>.submit() is suboptimal. We should strive to simplify the type parameterization, potentially eliminating the need for the void parameter.
Furthermore, it may be beneficial to completely review the architecture to enhance maintainability. This could involve restructuring the AsyncTaskBuilder to better accommodate both fetch and submit operations without unnecessary complexity.
We welcome feedback and alternative ideas from the team to ensure we adopt the most effective and efficient solution for our specific needs.

Thanks poka for your suggestion.
After reviewing you PR, I'm not very convinced by the global interest of it.
Fetch & Submit flows are quite different, in both use cases and code.
I find the new AsyncTaskBuilder you propose quite cumbersome, mixing too different usages together, resulting in a much larger code-base and more complex component, while having little code in common.
Keep in mind that while FetchBuilder and SubmitBuilder are the 2 mains widgets or this package, there are several other ones that extends the possibilities.
So even from a "API" perspective, I'm not sure trying to join these two (while having several others) is a good idea.
Maybe, the whole suggestion could be a better naming of theses two widget ? Or a better documentation that would better explain different in usage ?
Please let me know :)

Yes this PR is useless


chore: bump golang.org/x/* deps

This bumps golang.org/x/* dependencies to the most recent ones.
Discovered by accident, looking through a dependency report on a project using this package

see discussion linked from here https://github.com/miekg/dns/pull/1387#issuecomment-1177358232


Workaround .NET install script issue

Related to https://github.com/dotnet/core/issues/6556

Friendly reminder to open an issue to track reverting this change to get back to using latest.


Incompatible with Fill gguf model

The preview in the sampler shows that there is a correct picture in the first half, but it becomes noisy in the second half.

Yes, normal redux and gguf compatible, I am checking my other Settings for this, maybe it has something to do with the other clip quantization models I have loaded, I am ruling out this possible issue. Thank you for your reply.
In addition, I learned your code, which is very simple and efficient. You've done a great job, more succinct and effective than most projects.
I tested my idea, and I found that by directly reducing the reference picture without reducing it in the downsampling, sigclip can also extract less picture content and achieve similar effect. Thank you for your work, which has inspired me.


Remove kernelConnect Observable/event in favour of kernelChanged event in Jupyter Sessions

In the Jupyter class, we can chekc if the kernel status changes to restarting and whether it then changes to idel or the like.
If it does, then we know that the kernel restarted, and if its a local kernel, then we can trigger the kernelChanged event.
However we need to see how this issue impacts this https://github.com/microsoft/vscode-jupyter/issues/14500
Should the kernelConnection.Id change and what about websocket instance?
In classic Jupyter session, we have a whole new instance of the kernel connection class.

Done


[AIRFLOW-1574] add 'to' attribute to templated variables of email ope…

…rator
Dear Airflow maintainers,
Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!
JIRA

[x] My PR addresses the following Airflow JIRA issues and references them in the PR title. For example, "[AIRFLOW-1574] add 'to' attribute to templated variables of email operator"

https://issues.apache.org/jira/browse/AIRFLOW-1574

Description

[x] Here are some details about my PR, including screenshots of any UI changes:
The to field may sometimes want to be to be template-able when you have a DAG that is using XCOM to find the user to send the information to (i.e. we have a form that a user submits and based on the ldap user we send this specific user the information). It's a rather easy fix to add the 'to' user to the template-able options.

Tests

[x] My PR adds the following unit tests OR does not need testing for this extremely good reason:
Just adding a template-able field nothing more.

Commits

[x] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

@aoen this is similar to the slack operator ticket I filed. Mind quickly merging it?

Codecov Report

Merging #2577 into master will not change coverage.
The diff coverage is 0%.

@@           Coverage Diff           @@
##           master    #2577   +/-   ##
=======================================
  Coverage   70.95%   70.95%
=======================================
  Files         150      150
  Lines       11617    11617
=======================================
  Hits         8243     8243
  Misses       3374     3374

Impacted Files
Coverage Δ

airflow/operators/email_operator.py
0% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

LGTM


Plugin details to display

name
description
link to npm
funding status
last version checked
license
example before/after?

self-reinforcing metrics :

number of github stars
number of npm downloads

npm lists the plugin author but I don't see the point of naming singular people when it is often a community effort
package size in kb is not relevant for users of packages, should be the responsibility of maintainers.
If people think this is important they can look this up on one of the services that provides this info.

done


runtime org.freedesktop.Platform branch 22.08 is end-of-life

Info: runtime org.freedesktop.Platform branch 22.08 is end-of-life, with reason:
   org.freedesktop.Platform 22.08 is no longer receiving fixes and security updates. Please update to a supported runtime version.
Info: applications using this runtime:
   com.alovoa.alovoa-electron

Info: runtime org.freedesktop.Platform.VAAPI.Intel branch 22.08 is end-of-life, with reason:
   org.freedesktop.Platform 22.08 is no longer receiving fixes and security updates. Please update to a supported runtime version.
Info: applications using this runtime:
   com.alovoa.alovoa-electron

Info: runtime org.freedesktop.Platform.GL.default branch 22.08-extra is end-of-life, with reason:
   org.freedesktop.Platform 22.08 is no longer receiving fixes and security updates. Please update to a supported runtime version.
Info: applications using this runtime:
   com.alovoa.alovoa-electron

Info: runtime org.freedesktop.Platform.GL.default branch 22.08 is end-of-life, with reason:
   org.freedesktop.Platform 22.08 is no longer receiving fixes and security updates. Please update to a supported runtime version.
Info: applications using this runtime:
   com.alovoa.alovoa-electron

Wrong repo, sorry
-> https://github.com/flathub/com.alovoa.alovoa-electron


BUG: TFR.plot misc issues

I am experiencing several issues with the .plot method of TFR objects. I suspect that there are several things off, but for now I found this obvious bug:
These are valid inputs for the title parameter:
https://github.com/mne-tools/mne-python/blob/638847ea5539be32919b6ac4dd85ef8c4c3b79aa/mne/time_frequency/tfr.py#L1136-L1139
Yet in the code, we have this logic:
https://github.com/mne-tools/mne-python/blob/638847ea5539be32919b6ac4dd85ef8c4c3b79aa/mne/time_frequency/tfr.py#L1269-L1278
Hence, when I pass title='auto', my figure will have the title auto

It appears that this is also not true:
https://github.com/mne-tools/mne-python/blob/638847ea5539be32919b6ac4dd85ef8c4c3b79aa/mne/time_frequency/tfr.py#L1183-L1185
if combine=None and picks=[ch1, ch2], I still only get 1 figure, instead of the advertised 2 figures.

AFAIK these functions are not super widely used, so these are indeed likely bugs

yes that function is unusable for anything other than plotting a single TFR.
If you look at the code the return is inside the loop so it shouldn't be surprising that it doesn't work with multiple channels.
https://github.com/mne-tools/mne-python/blob/056c273f1bb96bb3229e60874122f830f946746c/mne/time_frequency/tfr.py#L1280-L1284
For what its worth it is relatively easy to write your own wrapper that will do what you need it to. I use something based off the plotting in https://mne.tools/stable/auto_examples/time_frequency/plot_time_frequency_erds.html#sphx-glr-auto-examples-time-frequency-plot-time-frequency-erds-py to plot multi channel tfrs.

Thanks @bloyl that looks good. I'll give it a try tomorrow, but also attempted a fix of the plot method in #8019. I'd be happy if you could try and review if you have time.

the function also does not plot units for the colorbar label.

not sure, but perhaps this could be an "easy" issue for the sprint? @drammock? it would involve digging into the .plot method, finding all bugs and fixing them (without extending functionality), and adjusting docstrings so that they accurately reflect what is happening.

I could try some digging.

That would be wonderful @eort

oh boy, this is really quite a challenge to unpack :)
a couple of design question:
The auto value for title, number of picks, and combine are co-dependent
title='auto' is supposed to concatenate channels names for up to 6 picks. This would only make sense when there are multiple picks and those picks are combined into a single figure (with the combine keyword). Otherwise, I don't see why I would want to have all picks in the title of a figure that only shows one pick. In case multiple picks are combined, I am not sure whether listing the channels is the best representation. At least in viz/utils.py it seems to be to produce a title like RMS/AVG of X electrodes instead of just a list of channel names.
Perhaps a combination of the two would be better? (e.g. AVG of Ch1, Ch2, ..., for fewer than 6 picks).
In any case, what mne promises auto will do, is only reasonable for a specific combination of parameters. What would be the best approach to deal with that? Explain it in the doc? Raising exceptions? Silently adjusting the output whenever it does not make sense (i.e. multiple picks, uncombined)?
return separate figures or subplots?
Right now, the function promises to return multiple figures (even though it actually only returns a single figure). Is the idea to have a separate figure for each pick, or would it make sense to collect the tr plots in subplots of a figure and return that one? Or allow for both? If it should be possible to return multiple figures, they probably should be returned as a list of figures.
Tomorrow during the sprint, I'll try to move further into this rabbit hole. Happy to chat then!

At least in viz/utils.py it seems to be to produce a title like RMS/AVG of X electrodes instead of just a list of channel names.

Agreed, I like the RMS/AVG of X electrodes better. The combination you propose is also fine IMHO.

what mne promises auto will do, is only reasonable for a specific combination of parameters. What would be the best approach to deal with that? Explain it in the doc? Raising exceptions? Silently adjusting the output whenever it does not make sense (i.e. multiple picks, uncombined)?

explaining it in the docstring might be the easiest choice here. If it's properly documented there, adjusting the title silently (or with a runtime warning) can be done if the parameters pushed by the user don't make sense for title ...

Right now, the function promises to return multiple figures (even though it actually only returns a single figure). Is the idea to have a separate figure for each pick, or would it make sense to collect the tr plots in subplots of a figure and return that one? Or allow for both? If it should be possible to return multiple figures, they probably should be returned as a list of figures.

I think allowing for both would be nice, returning a list of figures would be a good solution IMHO.

Tomorrow during the sprint, I'll try to move further into this rabbit hole. Happy to chat then!

I am glad you are doing this :-)
maybe after the sprint these lines within the mne codebase will finally spark joy again.


Set group ownership of unix socket

Is your feature request related to a problem? Please describe.
I have a command that I want to run as root wrapped up by ttyd but I'd like nginx user (www-data) to be able to access the unix socket created by ttyd.
Describe the solution you'd like
This would be made possible by allowing the permissions (owner:group) for the newly created ttyd socket file.
Describe alternatives you've considered
I've worked around this issue by modifying the permissions of the socket after it comes online.
Additional context
I'm a huge fan of the unix socket interface.  This was only a minor inconvenience in an otherwise awesome experience getting ttyd setup to accomplish my project needs.

The underlying websocket feature (and unix socket) is based on libwebsockets, so if libwebsocket support it (didn't check yet), I'm OK to add it to ttyd.

I had the same or similar issue and solved it by having ttyd executed as user exampleuser and group www-data through a systemd service.
An example of this service can be found in the wiki here.
Instead of Group=root you could use Group=www-data.
When ttyd is called with -i /tmp/ttyd.sock the socket file with have rw permissions for user exampleuser and group www-data.

A solution is building docker image by yourself.
Like it: https://github.com/xfl12345/docker-setup/tree/1e994e5d8bb17c1117061864e01dc7cf3b4b1bab/compose/standalone/ttyd


Parameterized weights for loss functions

Added pos_weight and weight to BertDataBunch constructor and to from_pretrained_model of BertLearner class, initializing said attributes of multilabel classifiers in model_class. Passed attributes to BCEWithLogitsLoss instantiations in modeling multilabel classification class forward functions.
Accuracy and confusion matrix observed in non multilabel run with master branch using sample weighting scheme with custom sampler but no pos_weights or weights parameter consistent with prior runs.
Implementation of class weight demonstrated improved accuracy and precision over sample weighting.

@kaushaltrivedi I resolved merge conflicts - anyway to look this over?

merged


run tests from bundler instead of chefdk install

Our appveyor builds are currently breaking with gem conflicts between stuff in the bundle and the bin stubs from chefdk (see https://ci.appveyor.com/project/ChefWindowsCookbooks/windows/build/1.0.57).
This stops installing chefdk and just uses the bundle to avoid these issues in the future.

As soon as AppVeyor passes I'll pull this in. Thanks @mwrock !

:-1: We should be testing against the current channel of chefdk, to catch the pain before it hits the stable branch.

:+1: on appveyor coming back green

Just did a 180 turn here and changed the pr title and desc to reflect that.


Move f.wg.Done() to Read and Write to avoid leaking handles

This fixes a handle leak introduced in #50
@jstarks
Signed-off-by: Darren Stahl<EMAIL_ADDRESS>

Updated to include pipe.go and a note on prepareIO that The caller must call f.wg.Done() when the IO is finished, prior to calling Close().


OkHttp &clearlydefined : exception blocks the whole process

Hi,
I build a ORT docker image yesterday evening that contains https://github.com/oss-review-toolkit/ort/commit/c298c8aeea7505a9d1317c681cc9652657ba3d76.
It works well, but I got an other issue around clearlydefined usage.
When something get wrong during the request to clearlydefined, it freezes the whole process of the analyzer and my pipeline never finishes.
Here is the exception :
12:00:14  11:00:13.948 [DefaultDispatcher-worker-1] INFO  org.ossreviewtoolkit.analyzer.Analyzer - Finished NPM analysis.
12:00:21  11:00:20.312 [DefaultDispatcher-worker-12] INFO  org.ossreviewtoolkit.downloader.vcs.Git - Trying to fetch only revision 'main' with depth limited to 50.
12:00:25  11:00:24.988 [DefaultDispatcher-worker-12] INFO  org.ossreviewtoolkit.utils.common.ProcessCapture - Running 'git checkout main' in '/home/ort/.ort/ort-config'...
12:00:25  11:00:25.023 [DefaultDispatcher-worker-12] INFO  org.ossreviewtoolkit.analyzer.curation.OrtConfigPackageCurationProvider - Successfully cloned main from https://github.com/oss-review-toolkit/ort-config.git.
12:01:04  11:00:59.843 [OkHttp https://api.clearlydefined.io/...] ERROR org.ossreviewtoolkit.utils.ort.OkHttpClientHelper - HTTP request to 'https://api.clearlydefined.io/definitions' failed with an exception: SocketTimeoutException: timeout
12:01:04  Exception in thread "DefaultDispatcher-worker-12" java.net.SocketTimeoutException: timeout
12:01:04  	at okhttp3.internal.http2.Http2Stream$StreamTimeout.newTimeoutException(Http2Stream.kt:675)
12:01:04  	at okhttp3.internal.http2.Http2Stream$StreamTimeout.exitAndThrowIfTimedOut(Http2Stream.kt:684)
12:01:04  	at okhttp3.internal.http2.Http2Stream.takeHeaders(Http2Stream.kt:143)
12:01:04  	at okhttp3.internal.http2.Http2ExchangeCodec.readResponseHeaders(Http2ExchangeCodec.kt:96)
12:01:04  	at okhttp3.internal.connection.Exchange.readResponseHeaders(Exchange.kt:106)
12:01:04  	at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.kt:79)
12:01:04  	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
12:01:04  	at org.ossreviewtoolkit.utils.ort.OkHttpClientHelper$defaultClient$2$invoke$$inlined$-addNetworkInterceptor$1.intercept(OkHttpClient.kt:1086)
12:01:04  	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
12:01:04  	at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:34)
12:01:04  	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
12:01:04  	at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95)
12:01:04  	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
12:01:04  	at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83)
12:01:04  	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
12:01:04  	at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76)
12:01:04  	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
12:01:04  	at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201)
12:01:04  	at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:517)
12:01:04  	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
12:01:04  	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
12:01:04  	at java.base/java.lang.Thread.run(Thread.java:833)
12:01:04  	Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@464dde64, Dispatchers.Default]

Can we find a way to make this exception non-blocking ?

I anyway have more CD-related improvements in the pipeline, so I'll have a look at this.

It's not relative to the pipeline, I wrote my own pipeline that run ORT image.
I think the analyze process never end if there is an exception when clearlydefined is called.
I don't go deeper in the code but it may be relative to the exception management of OkHttp

By "in the pipeline" I meant "in the works"... 😉

Note that we already have such a test for ClearlyDefined as a curation provider:
https://github.com/oss-review-toolkit/ort/blob/dfde047dc1dbc6fa159bd5d2d21a56887a1cbf54/analyzer/src/test/kotlin/curation/ClearlyDefinedPackageCurationProviderTest.kt#L61-L77
What's missing is an according test for ClearlyDefined as a scan storage.


Team sync groups data source pagination

Affected Resource(s)

data_source_github_organization_team_sync_groups

Deets
Given the data source is returning exactly 100 items (when there should probably be thousands sad sigh), I'm going to assert that pagination is either broken. Unsure whether it's the provider or go-github lib.
Given my realisation of just how much data is going to be returned, I opted to roll the azuread provider into my module to perform the look up based on a groups name.

cc @anGie44

ah thanks for catching this @patrickmarabeas! i haven't tested it out yet but it looks like this line might be responsible https://github.com/terraform-providers/terraform-provider-github/blob/91fc6ed8e5bfca2e31bed79527f82084fb146718/github/data_source_github_organization_team_sync_groups.go#L67 .. in retrospect, casting did seem questionable. i believe it should be options.Page = resp.NextPageToken per docs

@patrickmarabeas do you mind giving a review to the PR?

For anyone needing background context, this was fixed in this PR in the go-github client:

https://github.com/google/go-github/issues/1383
https://github.com/google/go-github/pull/1384


1865 mcb god users

Context
Changes proposed in this pull request
Guidance to review
Checklist

[ ] Make sure all information from the Trello card is in here
[ ] Attach to Trello card
[ ] Rebased master
[ ] Cleaned commit history
[ ] Tested by running locally

 [M] add/revoke god users with mcb

One way you could avoid having an --admin flag is to auto-detect [digital.]education.gov.uk emails and have an extra step asking the support agent whether they want to deify the new user or not.

One way you could avoid having an --admin flag is to auto-detect [digital.]education.gov.uk emails and have an extra step asking the support agent whether they want to deify the new user or not.

Going forward, we're likely to change the implementation that an "admin" is someone who has access to all the providers, so it may be un-intuitive that the provider grant command is reused for admin access, and really what we want is a command user admin or something like that.

what we want is a command user admin or something like that

Thinking more about it, it would be nice to eventually have the commands:
mcb user admin [list]
mcb user admin add
mcb user admin remove

This didn't audit at all :-(
Even though the models have audited

Going to start a new PR for audit as from talking to @richrace it looks like it'll involve a model change.


I want save the streams to .MP4,how doing?

Now, I need to save the stream to MP4 at the specified time. What do I need to do?

Hi, I use ffmpeg with a shell script to save the proxied video feed from RTSPtoWEB in 15min files. Maybe this can help you. To find the video endpoint for your feed, check the stream-id which is easy to find in the config.json file and use that together with the video endpoint documentation to know the url https://github.com/deepch/RTSPtoWeb/blob/master/docs/api.md#rtsp then once you know the rtsp url from RTSPtoWEB you can use a shell script to save the video, this is mine:
#!/bin/bash

# RECORD EAST LAWN CCTV

ffmpeg 	-rtsp_transport tcp -re \
	-i "rtsp://localhost:5541/362f6461-58d1-4411-85ee-49cfebf590d5/0" \
	-vcodec copy -map 0 \
	-f segment \
	-segment_atclocktime 1 \
	-segment_time 900 \
	-segment_format flv \
	-strftime 1 \
	"/0.5tb/%Y-%m-%d_%H-%M-%S_EL.flv"

you can also then create a unit file if your linux uses systemd, something like this:
as you can see I'm running the service from the root account keep in mind that usually this is a bad idea.
[Unit]
Description=cctv-el
After=network.target rtsptoweb.service
Requires=network.target network-online.target rtsptoweb.service

[Service]
User=root
Group=root
Type=forking
ExecStart=/usr/bin/screen -dmS cctv-el /bin/bash -c \
    'echo "$$$$" > /root/.cctv-el.pid && exec /root/.scripts/cctv-el.sh'

ExecStop=/bin/bash -c '/bin/kill -15 "$$(cat /root/.cctv-el.pid)"'
ExecStop=/bin/bash -c 'while /bin/kill -0 "$$(cat /root/.cctv-el.pid)"; do /bin/sleep 0.1; done'
ExecStopPost=/usr/bin/rm /root/.cctv-el.pid
UMask=007

Restart=always
RestartSec=60s

[Install]
WantedBy=multi-user.target

But if you only need to save videos at specific predefined times then maybe a cronjob is better and also modify the shell script to stop saving after preset amount of time

Hi, I use ffmpeg with a shell script to save the proxied video feed from RTSPtoWEB in 15min files. Maybe this can help you. To find the video endpoint for your feed, check the stream-id which is easy to find in the config.json file and use that together with the video endpoint documentation to know the url https://github.com/deepch/RTSPtoWeb/blob/master/docs/api.md#rtsp then once you know the rtsp url from RTSPtoWEB you can use a shell script to save the video, this is mine:
#!/bin/bash

# RECORD EAST LAWN CCTV

ffmpeg 	-rtsp_transport tcp -re \
	-i "rtsp://localhost:5541/362f6461-58d1-4411-85ee-49cfebf590d5/0" \
	-vcodec copy -map 0 \
	-f segment \
	-segment_atclocktime 1 \
	-segment_time 900 \
	-segment_format flv \
	-strftime 1 \
	"/0.5tb/%Y-%m-%d_%H-%M-%S_EL.flv"

you can also then create a unit file if your linux uses systemd, something like this: as you can see I'm running the service from the root account keep in mind that usually this is a bad idea.
[Unit]
Description=cctv-el
After=network.target rtsptoweb.service
Requires=network.target network-online.target rtsptoweb.service

[Service]
User=root
Group=root
Type=forking
ExecStart=/usr/bin/screen -dmS cctv-el /bin/bash -c \
    'echo "$$$$" > /root/.cctv-el.pid && exec /root/.scripts/cctv-el.sh'

ExecStop=/bin/bash -c '/bin/kill -15 "$$(cat /root/.cctv-el.pid)"'
ExecStop=/bin/bash -c 'while /bin/kill -0 "$$(cat /root/.cctv-el.pid)"; do /bin/sleep 0.1; done'
ExecStopPost=/usr/bin/rm /root/.cctv-el.pid
UMask=007

Restart=always
RestartSec=60s

[Install]
WantedBy=multi-user.target

But if you only need to save videos at specific predefined times then maybe a cronjob is better and also modify the shell script to stop saving after preset amount of time

I need your help
could you contact me please?
<EMAIL_ADDRESS>


fix(*): remove text-shadow from prettify theme

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Styling improvement
What is the current behavior? (You can also link to an open issue here)
The styling on the AngularJS bits (tags, attributes, placeholders) in the code examples include a white colored text-shadow on a light blue background. This makes text difficult to read.
What is the new behavior (if this is a feature change)?
This commit removes this shadow to improve readability.
Does this PR introduce a breaking change?
No
Please check if the PR fulfills these requirements

[ ] The commit message follows our guidelines
[ ] Fix/Feature: Docs have been added/updated
[ ] Fix/Feature: Tests have been added; existing tests pass

Other information:
#16495

Is this the right place to fix it? I thought the site was built off of https://github.com/angular/angularjs.org (in which case this is the style you would need to override).
Has that changed as part of the recent refactorings in hosting infrastructure, @Narretz?

That's right, Angularjs.org is not built from this here repository.

Oh that's confusing, the css file looks very alike. But I guess that's why I asked you how to be able to verify this change locally.
What's the css file in this repo used for ?

The prettify.css files are used for google-code-prettify, which we use on both pages.

@gkalpak Does the changes in this repo makes sense? To align both of them ?

I don't think we use light-blue, highlighted regions here.


Add all contributors extension to this repository

To keep easily track about the contributors of this repository add the all contributors GitHub extension, see the official homepage.

@all-contributors please add @jarmee for code, tests


sync git without requiring internet access on remote server

Currently, the git related options are executed on the remote host. There're some cases where the remote hosts have network isolation/restriction for security reasons. Without internet access, we can't sync git project with vscode. We may need a option to manipulate git pull/push/... locally and only synchronize results on the remote server.

@Jason3900, thanks for filing this issue. The built-in extensions that provide git functionality (vscode.git-base, vscode.git) are both workspace extensions which means that they will always be installed and run on the remote extension host. While you can control where an extension is installed using the remote.extensionKind setting, running these extensions on the host is not a supported scenario. As of right now, we have no plans for supporting running the git extensions on the host machine.


[boost-preprocessor:x64-linux] build failure

Host Environment

OS: ubuntu 20.04
Compiler: gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)

To Reproduce
Steps to reproduce the behavior:
`./vcpkg install folly
Failure logs
-Cut and past the appropriate build messages from the console output.
-Please attach any additional failure logs mentioned in the console output.
joseph@ubuntu:~/vcpkg$ vcpkg install folly
Computing installation plan...
The following packages will be built and installed:

boost-algorithm[core]:x64-linux -> 1.76.0
boost-align[core]:x64-linux -> 1.76.0
boost-any[core]:x64-linux -> 1.76.0
boost-array[core]:x64-linux -> 1.76.0
boost-atomic[core]:x64-linux -> 1.76.0
boost-bind[core]:x64-linux -> 1.76.0
boost-build[core]:x64-linux -> 1.75.0
boost-chrono[core]:x64-linux -> 1.76.0
boost-concept-check[core]:x64-linux -> 1.76.0
boost-container[core]:x64-linux -> 1.76.0
boost-container-hash[core]:x64-linux -> 1.76.0
boost-context[core]:x64-linux -> 1.76.0#1
boost-conversion[core]:x64-linux -> 1.76.0
boost-core[core]:x64-linux -> 1.76.0
boost-crc[core]:x64-linux -> 1.76.0
boost-date-time[core]:x64-linux -> 1.76.0
boost-detail[core]:x64-linux -> 1.76.0
boost-endian[core]:x64-linux -> 1.76.0
boost-exception[core]:x64-linux -> 1.76.0
boost-filesystem[core]:x64-linux -> 1.76.0
boost-foreach[core]:x64-linux -> 1.76.0
boost-function[core]:x64-linux -> 1.76.0
boost-function-types[core]:x64-linux -> 1.76.0
boost-functional[core]:x64-linux -> 1.76.0
boost-fusion[core]:x64-linux -> 1.76.0
boost-integer[core]:x64-linux -> 1.76.0
boost-intrusive[core]:x64-linux -> 1.76.0
boost-io[core]:x64-linux -> 1.76.0
boost-iterator[core]:x64-linux -> 1.76.0
boost-lambda[core]:x64-linux -> 1.76.0
boost-lexical-cast[core]:x64-linux -> 1.76.0
boost-math[core]:x64-linux -> 1.76.0
boost-modular-build-helper[core]:x64-linux -> 1.76.0#1
boost-move[core]:x64-linux -> 1.76.0
boost-mpl[core]:x64-linux -> 1.76.0
boost-multi-index[core]:x64-linux -> 1.76.0
boost-numeric-conversion[core]:x64-linux -> 1.76.0
boost-optional[core]:x64-linux -> 1.76.0
boost-phoenix[core]:x64-linux -> 1.76.0
boost-pool[core]:x64-linux -> 1.76.0
boost-predef[core]:x64-linux -> 1.76.0
boost-preprocessor[core]:x64-linux -> 1.76.0
boost-program-options[core]:x64-linux -> 1.76.0
boost-proto[core]:x64-linux -> 1.76.0
boost-range[core]:x64-linux -> 1.76.0
boost-ratio[core]:x64-linux -> 1.76.0
boost-rational[core]:x64-linux -> 1.76.0
boost-regex[core]:x64-linux -> 1.76.0
boost-serialization[core]:x64-linux -> 1.76.0
boost-smart-ptr[core]:x64-linux -> 1.76.0
boost-spirit[core]:x64-linux -> 1.76.0
boost-static-assert[core]:x64-linux -> 1.76.0
boost-system[core]:x64-linux -> 1.76.0
boost-thread[core]:x64-linux -> 1.76.0
boost-throw-exception[core]:x64-linux -> 1.76.0
boost-tokenizer[core]:x64-linux -> 1.76.0
boost-tuple[core]:x64-linux -> 1.76.0
boost-type-index[core]:x64-linux -> 1.76.0
boost-type-traits[core]:x64-linux -> 1.76.0
boost-typeof[core]:x64-linux -> 1.76.0
boost-unordered[core]:x64-linux -> 1.76.0
boost-utility[core]:x64-linux -> 1.76.0
boost-variant[core]:x64-linux -> 1.76.0
boost-winapi[core]:x64-linux -> 1.76.0
double-conversion[core]:x64-linux -> 3.1.5#1
fmt[core]:x64-linux -> 8.0.1
folly[core,zlib]:x64-linux -> 2<IP_ADDRESS>#1
gflags[core]:x64-linux -> 2.2.2#3
glog[core]:x64-linux -> 0.4.0#4
libevent[core,thread]:x64-linux -> 2.1.12#2
openssl[core]:x64-linux -> 1.1.1l#1
vcpkg-cmake[core]:x64-linux -> 2021-07-30
vcpkg-cmake-config[core]:x64-linux -> 2021-05-22#1
Additional packages (*) will be modified to complete this operation.
Detecting compiler hash for triplet x64-linux...
Restored 0 packages from /home/joseph/.cache/vcpkg/archives in 398.8 us. Use --debug to see more details.
Starting package 1/73: boost-preprocessor:x64-linux
Building package boost-preprocessor[core]:x64-linux...
-- Downloading https://github.com/boostorg/preprocessor/archive/boost-1.76.0.tar.gz -> boostorg-preprocessor-boost-1.76.0.tar.gz...
[DEBUG] Feature flag 'binarycaching' unset
[DEBUG] Feature flag 'manifests' = off
[DEBUG] Feature flag 'compilertracking' unset
[DEBUG] Feature flag 'registries' unset
[DEBUG] Feature flag 'versions' unset
[DEBUG] popen(curl --fail -L https://github.com/boostorg/preprocessor/archive/boost-1.76.0.tar.gz --create-dirs --output /home/joseph/vcpkg/downloads/boostorg-preprocessor-boost-1.76.0.tar.gz.91549.part 2>&1)
[DEBUG] cmd_execute_and_stream_data() returned 14336 after 19432899 us
Error: Failed to download from mirror set:
https://github.com/boostorg/preprocessor/archive/boost-1.76.0.tar.gz:   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
0     0    0     0    0     0      0      0 --:--:--  0:00:19 --:--:--     0
curl: (56) OpenSSL SSL_read: Connection reset by peer, errno 104

[DEBUG] /home/joseph/vcpkg/buildtrees/_vcpkg/src/vcpkg-tool-2021-09-10/src/vcpkg/base/downloads.cpp(626)
[DEBUG] Exiting after 19.44 s us (19434890 us)
CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:83 (message):
  Failed to download file with error: 1
  If you use a proxy, please check your proxy setting. Possible causes are:

  1. You are actually using an HTTP proxy, but setting HTTPS_PROXY variable
     to `https://address:port`. This is not correct, because `https://` prefix
     claims the proxy is an HTTPS proxy, while your proxy (v2ray, shadowsocksr
     , etc..) is an HTTP proxy. Try setting `http://address:port` to both
     HTTP_PROXY and HTTPS_PROXY instead.

  2. You are using Fiddler. Currently a bug (https://github.com/microsoft/vcpkg/issues/17752)
     will set HTTPS_PROXY to `https://fiddler_address:port` which lead to problem 1 above.
     Workaround is open Windows 10 Settings App, and search for Proxy Configuration page,
     Change `http=address:port;https=address:port` to `address`, and fill the port number.

  3. You proxy's remote server is out of service.

  In future vcpkg releases, if you are using Windows, you no longer need to set
  HTTP(S)_PROXY environment variables. Vcpkg will simply apply Windows IE Proxy
  Settings set by your proxy software. See (https://github.com/microsoft/vcpkg-tool/pull/49)
  and (https://github.com/microsoft/vcpkg-tool/pull/77)

  Otherwise, please submit an issue at https://github.com/Microsoft/vcpkg/issues

Call Stack (most recent call first):
scripts/cmake/vcpkg_download_distfile.cmake:274 (z_vcpkg_download_distfile_show_proxy_and_fail)
scripts/cmake/vcpkg_from_github.cmake:173 (vcpkg_download_distfile)
ports/boost-preprocessor/portfile.cmake:3 (vcpkg_from_github)
scripts/ports.cmake:140 (include)
Error: Building package boost-preprocessor:x64-linux failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with ./vcpkg update, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
Package: boost-preprocessor:x64-linux
Vcpkg version: 2021-09-10-unknownhash
Additionally, attach any relevant sections from the log files above.
Additional context
Add any other context about the problem here, such as what you have already tried to resolve the issue.
I've already added the boost_LICENSE_1_0.txt to my VCPKG_ROOT/downloads, but the issue still exits. Besides, I didn't use proxy

@JosephQu68, the https://github.com/boostorg/preprocessor/archive/boost-1.76.0.tar.gz failed to download, could you downloaded it manually and rename it to boostorg-preprocessor-boost-1.76.0.tar.gz, put it to VCPKG_ROOT/downloads any try again?

@JosephQu68, does this still be a problem for you?

@JosephQu68, please reopen this issue if it still be a problem for you.


event in constructor shows up only second time

I have the following minimal contract
contract c {
    event myEvent(string);

    function c() {
        myEvent("constructor called");
    }
}

The event myEvent of the constructor should result in the usual output of the event list.

That should be fixed in the refactor currently doing but that not going to be merged very soon.


Editing titles within the plot doesn't call onUpdate

The plot/axis titles can be conveniently edited 'inline', i.e. in the same place that they're displayed, but this doesn't trigger the PlotlyEditor.onUpdate callback. On the other hand, they sync nicely with the editors in the controls sidebar under Style > General/Axes, and making the edits there does correctly call onUpdate.
For my application this makes the inline editing effectively broken, as the changes won't be saved. Is there a way to disable it so that users don't get confused?
Overall though this is a great project that'll be very valuable to us, so thank you!

Hi @alexmojaki, IIRC those trigger onRelayout event and you can handle them there.


Warning on updating sessionStorage cookie

When updating the sessionStorage cookie I'm getting the following warning:
Warning: Cannot update a component (NavigationLinks) while rendering a different component (App).
It happens when submitting a form and inside the action I update the sessionStorage:

  const languageSession = await getLanguageSession(request);
  languageSession.setLanguage(language);
  return json(
    { headers: { "Set-Cookie": await languageSession.commit() } }
  );

The problem always come from the "layout page", which is a sidebar.

That looks like an error with Remix, this packages doesn't do anything with the sessionStorage aside of reading the language if provided, the sessionStorage object it's still handled by your and Remix.

Well yeah... I don't think the problem comes from sessionStorage either. It clearly logs that the error comes from useTranslation hook.

Well yeah... I don't think the problem comes from sessionStorage either. It clearly logs that the error comes from useTranslation hook.

The useTranslation hook comes from react-i18next and is not touched by remix-i18next

For anyone having the same issue it looks like it was an issue with the remix-i18next package and was solved on #27. On tag 2.2.0 this is working as expected.


[GT-23] Add BE sync support for Translation Diff

Adds support for Translation Diff to backend by introducing a is-backend flag
Goes with https://github.com/SpringCare/rotom/pull/3117

@2KAbhishek can we update the translation_diff workflow with the is_backend flag as well for references?


Ability to ignore elements when matching by body

Reuse censoring code to effectively ignore (normalize) specific elements in the bodies when matching by request body.
Made a number of censoring methods static for normalization purposes, with instance-based overloads for normal censoring process.
Side-effect improvement: Censored header/query/body elements can now be case-sensitive on a per-element basis.
Changed data service used for unit tests to match C# version.

@ryannguyen16 you can take a look too if you'd like. This is our Java VCR tool that we just finished that finally allows us to run VCR unit tests in our Java client library the same way we do in all our other client libraries.


Update numeraljs.d.ts

Added formatCurrency, changed format to a optional param to match functionality and spec.

@vansimke Ready to merge

Thanks for your contribution.


Web server is blocked when taking snapshots

To Reproduce
Steps to reproduce the behaviour:

have a project of large size, head -c 10GB /dev/zero > data
create a job
the webserver will be blocked while the snapshot is being copied

This happens for job and project deletion as well.
Expected behaviour
The web server should not be blocked, i.e. other requests should happen concurrently.

Nice find!


Throne of the Tides not detected

Describe the bug
Throne of the Tides allows me to select from +2 and ahead although I have done a +17 (depleted)
To Reproduce
Steps to reproduce the behavior:

Open /mpg
Throne of the Tides shows me the whole range

Expected behavior
Let me select only from keys that upgrade
Screenshots

Additional context
None

Thanks for the report. Are there any Lua errors with the addon? Did this happen after completing a key?

After looking at your 17 Throne of the Tides run, the key selection scroll frame for that dungeon is actually correct. Your run was overtime by more than 40% of the dungeon timer so that run doesn't actually reward you any score, so any key can still grant you score. I never checked the edge case for when a players best run is worth 0 score so I'd guess that is why a 17 shows up in your best runs frame. I'll check for this case and replace the runs number with a dash to avoid any confusion.

Thank you so much for the quick response and conclusion. I did not even consider that case because I was not fully aware it was giving me no score.

Now that I check too. I am getting points from a previous run that was timed. So instead of considering 0 points given by the "best", it should consider the previous valid and max score given run. It seems the "best" run is not the higher scorer one 😁

What you are suggesting isn't necessary. Both of the alternating affixes (Tyrannical and Fortified) have a "best" run that contributes to a dungeons total score. In this case the highest scoring Tyrannical key is contributing 0 score and the highest scoring Fortified key is contributing some other amount.

The "best" run is the highest scoring so technically there is no need to replace a "best" runs level with a "-" as I did because that is the key contributing to the dungeons total score. However I think making that replacement will cause less confusion among users.


MIN_RADIUS is sometimes too large

Issue
MIN_RADIUS can prevent us from adjusting the spot size to a tiny object.
Investigation
Currently, MIN_RADIUS is hard-coded here to 1.0, which can be too large sometimes.
Suggestion

make it customizable from Preferences
change the value of MIN_RADIUS to 0.0 or very small value

Could we make it adapt to the min pixel size?

I think it's a good idea to set the value to the equivalent of 1 pixel.

Fixed with https://github.com/mastodon-sc/mastodon/pull/163


Update POM and add CI build

com.cloudbees.syslog.sender.TcpSyslogMessageSenderTest passes locally for me but not on CI, presumably because the Kubernetes cluster for CI does not have network connectivity to logs2.papertrailapp.com. For now I am disabling that test on CI to get the build up and running.


Heatmaps structure and validation

Hey JotaBravo, congratulations for you and your team's work on the spacecraft robust pose estimation.
I am trying to reproduce the result of your work in order to understand the challenges of domain gap adaptation in spatial field. In order to do so, i retrieved the weights of the 2 stacked large Hourglass model on the synthetic dataset and tried to view the results. I struggle a bit on understanding the the output data. Is it possible to have few details about it ?
First, i managed to retrieve the weights and perform a prediction based on a random image of the synthetic dataset. The model then gives me an output as a list and len(output) = 2 :

output[0] = {'hm_c' : [...], 'depth' : [...]}
output[1] is also {'hm_c' : [...], 'depth' : [...]} but with different values.
=> Does theses two output corresponds to something like "without pseudo-labels" and "with pseudo-labels" ?

Also, i tried to display the heatmaps to identify their keypoints id but i have few concerns :

hm_c is shape [n, 64,64] and not normalized. is it correct ?
is it normal that multiple keypoints dont match correctly ?

Thank you for your time and your amazing work !

Hi boijuny,
Thanks for your kind words on the work.
As you mention, you are using a stack of 2 Hourglass networks. Each element of the output list corresponds to the individual output of each network in the stack.

output[0]: output of the first network
output[1]: output of the second network

Each output contains two tensors:

hm_c: represents the heatmap, which is not normalized.  In fact, it is scaled by a factor of 100. Usually, other implementations  make the center value of the Gaussian to equal 1 (also not normalized). Somehow, the experiments didn't converge with that value, so I scaled the value of the center by 100.
depth: the estimated metric depth of the keypoint

Regarding the heatmap plotting:

First of all, check that the weights you are using correspond to the actual dataset. The weights overfitted over Sunlamp likely won't work on the synthetic domain (and viceversa)

As you mention, the heatmap has a shape of [n, 64, 64]. Make sure that:
-  you're properly scaling the keypoint coordinates to the image size. Also check that you're using rows and cols properly (i.e. [x,y] vs [y,x])
- you're correctly sampling the keypoint position (i.e. retrieve the maximum)

I'm planning to post a tutorial soon with some simple, base code for spacecraft pose estimation. Please stay tuned, it might be useful


🐞[Bug]: content flowing outside the block

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
Content flowing outside of the card
Expected behavior
Should not flow outside
Add ScreenShots

What browsers are you seeing the problem on?
No response
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

Hello please assign this issue to me under gssoc 24

@kapilG0 Hi , I assigned to you


alert if empty selector

this fixes https://github.com/elementary-data/elementary/issues/676

fixed by Idan in a different PR


Improve quick-repo-deletion copy

LINKED ISSUES:
Closes #3984

TEST URLS:
None

SCREENSHOT:
None

3. SCREENSHOT:
None

🤷♂

Um um um....
"It may take up to an hour for repositories to be displayed here. You can only restore repositories that have no forks or have not been forked"
You cannot restore it (a fork)! 😠

We should change our copy to “You might be able to restore it”


included Eeems' instructions for setting PIN after install

Thank's for the PR, but I'm going to decline it for now. Instead I'll add some more information to the release notes.

Thank's for the PR, but I'm going to decline it for now. Instead I'll add some more information to the release notes.


Revert "terraform: maintained by numtide"

This reverts commit 2e365a077df2428af1e0a477263c5b7b4eb12158.
It adds too many maintainers for ofborg. https://github.com/NixOS/nixpkgs/pull/173541#issuecomment-1130683480
Description of changes

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

Thanks.


NodePort, LoadBalancer and ClusterIP from k8s Node support for AntreaProxy on Linux

This PR implements:

The connection request of NodePort whose client is from remote or
localhost.
The connection request of LoadBalancer whose client is from remote
or localhost.
The connection request of ClusterIP whose client is from localhost.

For NodePort support, on each interface whose IP addresses can be
NodePort IP addresses, Linux TC is used to redirect the request packets
to Antrea gateway. For response packets, on interface Antrea gateway,
Linux TC is used to redirect the packets back to the interface where
the requests packets are from.
For LoadBalancer support, when client is from remote hosts, on default
route output interface, Linux TC is used to redirect the request
packets to Antrea gateway. For response packets, on interface Antrea
gateway,Linux TC is used to redirect the packets back to the default
route output interface. When client is from localhost, the request
packets are routed to Antrea gateway.
For ClusterIP support, the request packets are routed to Antrea gateway.
To support the Service traffic of above cases, there are main changes of
OVS pipeline.

Add table serviceConntrackCommitTable 106 to perform SNAT for
Service traffic.
Modify table hairpinSNATTable ID from 106 to 108.
Modify table serviceHairpinTable ID from 29 to 23.
Add table serviceConntrackTable 24 to transform SNATed connnections.
Add table serviceClassifierTable 35 to classify the Service traffic.
Add table serviceDstMacRewriteTable 75 to rewrite destination MAC
address of response Service packets.

The below cases are supported on:

IPv4, encap
IPv6, encap
IPv4, noEncap

No.
Service
Client
ExternalTrafficPolicy
Endpoint Network
SNAT
AntreaProxy Support
KubeProxy Support

1
NodePort
Remote
Cluster
Pod CIDR
Yes
✔
✔

2
NodePort
Remote
Local
Pod CIDR
No
✔
✔

3
NodePort
Remote
Cluster
Host
Yes
✔
✔

4
NodePort
Remote
Local
Host
No
✔
✔

5
NodePort
Localhost
Cluster
Pod CIDR
Yes
✔
✔

6
NodePort
Localhost
Local
Pod CIDR
Yes
✔
✔

7
NodePort
Localhost
Cluster
Host
Yes
✔
✔

8
NodePort
Localhost
Local
Host
Yes
✔
✔

9
NodePort
Localhost(<IP_ADDRESS>,::1)
Cluster
Pod CIDR
Yes
✔
✔

10
NodePort
Localhost(<IP_ADDRESS>,::1)
Local
Pod CIDR
Yes
✔
✔

11
NodePort
Localhost(<IP_ADDRESS>,::1)
Cluster
Host
Yes
✔
✔

12
NodePort
Localhost(<IP_ADDRESS>,::1)
Local
Host
Yes
✔
✔

13
NodePort
Pod (local node)
Cluster
Pod CIDR
Yes
✔
✔

14
NodePort
Pod (local node)
Local
Pod CIDR
No
✔
✔

15
NodePort
Pod (local node)
Cluster
Host
Yes
✔
✔

16
NodePort
Pod (local node)
Local
Host
No
✔
✔

17
NodePort
Pod (remote node)
Cluster
Pod CIDR
Yes
✔
✔

18
NodePort
Pod (remote node)
Local
Pod CIDR
No
✔
✔

19
NodePort
Pod (remote node)
Cluster
Host
Yes
✔
✔

20
NodePort
Pod (remote node)
Local
Host
No
✔
✔

21
LoadBalancer
Remote
Cluster
Pod CIDR
Yes
✔
✔

22
LoadBalancer
Remote
Local
Pod CIDR
No
✔
✔

23
LoadBalancer
Remote
Cluster
Host
Yes
✔
✔

24
LoadBalancer
Remote
Local
Host
No
✔
✔

25
LoadBalancer
Localhost
Cluster
Pod CIDR
Yes
✔
✔

26
LoadBalancer
Localhost
Local
Pod CIDR
Yes
✔
✔

27
LoadBalancer
Localhost
Cluster
Host
Yes
✔
✔

28
LoadBalancer
Localhost
Local
Host
Yes
✔
✔

29
LoadBalancer
Pod (local node)
Cluster
Pod CIDR
Yes
✔
✔

30
LoadBalancer
Pod (local node)
Local
Pod CIDR
No
✔
✔

31
LoadBalancer
Pod (local node)
Cluster
Host
Yes
✔
✔

32
LoadBalancer
Pod (local node)
Local
Host
No
✔
✔

33
LoadBalancer
Pod (remote node)
Cluster
Pod CIDR
Yes
✔
✔

34
LoadBalancer
Pod (remote node)
Local
Pod CIDR
No
✔
✔

35
LoadBalancer
Pod (remote node)
Cluster
Host
Yes
✔
✔

36
LoadBalancer
Pod (remote node)
Local
Host
No
✔
✔

37
ClusterIP
Localhost
\
Pod CIDR
No
✔
✔

38
ClusterIP
Localhost(hairpin)
\
Host
Yes
✔
✔

39
ClusterIP
Pod
\
Pod CIDR
No
✔
✔

40
ClusterIP
Pod(hairpin)
\
Pod CIDR
Yes
✔
✔

41
ClusterIP
Pod
\
Host
No
✔
✔

Signed-off-by: Hongliang Liu<EMAIL_ADDRESS>

Codecov Report

Merging #2239 (2a0ee53) into main (4f38c73) will decrease coverage by 16.04%.
The diff coverage is 1.22%.

@@             Coverage Diff             @@
##             main    #2239       +/-   ##
===========================================
- Coverage   61.98%   45.94%   -16.05%
===========================================
  Files         278      274        -4
  Lines       21255    20891      -364
===========================================
- Hits        13175     9598     -3577
- Misses       6710    10071     +3361
+ Partials     1370     1222      -148

Flag
Coverage Δ

kind-e2e-tests
45.94% <1.22%> (-7.24%)
:arrow_down:

unit-tests
?

Flags with carried forward coverage won't be shown. Click here to find out more.


Add Extension Panel showing outside of firefox

Hey, The add extension or cancel it window showing leftmost means outside of firefox

I'd guess that it may be a resolution or size problem but I have no idea why this is happening to you.
Sorry I can't help you with that :grimacing:


GCP plugin creates invalid compute directory when compute API is unavailable

Description
The GCP plugin will create a compute directory even if the GCP Compute Engine API is disabled. If one attempts to list the compute directory an error will be emitted:
wash gcp/s2-backups ❯ ls compute
WARN FUSE: List /gcp/<project>/compute errored: googleapi: Error 403: Access Not Configured. Compute Engine API has not been used in project <project> before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/compute.googleapis.com/overview?project=<project> then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry., accessNotConfigured
cannot access 'compute': Input/output error (os error 5)

Expected Behavior
The gcp/compute directory should not be created when the Compute Engine API is not enabled.
Steps to Reproduce
Steps to reproduce the behavior:

Create a new GCP project with gcloud projects create ...
Attempt to enter the compute directory with wash

Environment

Wash bb77569
Ubuntu 18.04

We have two desires to balance when fixing this:

we shouldn't list things where we know every operation on it is going to error, as it makes using Wash less enjoyable
we want it to be clear what functionality is available and can be enabled for a specific provider

We should hide the directory, but we should call out in both logs and documentation when things are hidden and why. It should also be clear from that how to fix it so they're usable.

Ideally we should fix this more broadly, not just in GCP. For now, that means every plugin needs to think about permissions on individual items they list. This could lead to a property on entries that we define, but it's not clear to me yet how it should behave.

I'm going to take the pragmatic approach here where we primarily test permissions on fixed lists. This avoids making list slow when listing something with a lot of elements, like a set of objects in S3 or VMs in GCE, and maps pretty well to API permissions. If you list VMs and don't have permission to do anything on one VM, it makes sense to list the VM as an empty directory (it will still have metadata) and omit specific things you might not have access to (the filesystem, console output).


Refactor ldbl conv

This PR is intended to address #205.
Here we repair and refactor I/O stream round tripping for 10/12-byte long double on GCC-MinGW/Apple x86_64 (which is broken). This is an actual bug fix.
Along the way do some additional long outstanding refactoring.

Codecov Report

Merging #206 (d93bf8e) into main (d1ec955) will decrease coverage by 0.1%.
The diff coverage is 100.0%.

@@            Coverage Diff            @@
##             main     #206     +/-   ##
=========================================
- Coverage   100.0%   100.0%   -0.0%
=========================================
  Files          43       43
  Lines        3162     3152     -10
=========================================
- Hits         3162     3151     -11
- Misses          0        1      +1

Impacted Files
Coverage Δ

math/wide_decimal/decwide_t.h
100.0% <100.0%> (-<0.1%)
:arrow_down:

test/test_decwide_t_algebra_edge.cpp
100.0% <100.0%> (ø)

util/utility/util_dynamic_array.h
100.0% <0.0%> (ø)

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 d1ec955...d93bf8e. Read the comment docs.

New Boost.Math develop seems to break GCC 4 compatibility (even with -std=c++1y). Since GCC 4 is not mandatory in wide-decimal, the corresponding CI job will be eliminated.

This PR resolves the bugs in long double conversion for 10/12-byte long double implementations. At the moment, the disadvantage is that it rules out float cast on deeply embedded platforms due to using <ios> flags that might be unavailable. This itself is a rather trivial problem to fix, and it will be fixed in a future issue.
We also in this PR remove the std=c++1y job on GCC 4, in fact, by removing the GCC 4.8 job from CI altogether. Recent changes in Boost.Math have gone beyond this very old compiler and the Boost code used for testing can no longer be easily adapted for this compiler.


Delete manifests/m/Mozilla/Thunderbird/Beta/120.0b4 directory

Winget currently can't discriminate between normal versions and beta versions of Thunderbird. Until the version checking logic of winget is updated, beta versions have to be removed. Fixes https://github.com/microsoft/winget-pkgs/issues/118246

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.5 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

@vedantmgoyal2009 Please remove Mozilla.Thunderbird.Beta from your auto-update script!

Compare:
https://github.com/microsoft/winget-pkgs/pull/121455


Make termination u16 and add set_termination

This fixes termination in the user facing api to be an u16 like it is in the kernel and then adds a set_termination function to set the internal termination resistor, for can interfaces that support it.

Thanks for the PR!


fix named binding not found bug

Coverage increased (+0.1%) to 90.698% when pulling ab317348a110e9892a5853d822a4caded4420cac on sni/fix-named-binding-not-found-bug into 42222029fc73899bb979d10aa6985f5a1e5364d0 on master.


Eagle assembly for new app framework

https://issues.apache.org/jira/browse/EAGLE-437
https://issues.apache.org/jira/browse/EAGLE-430

Already reviewed by Hao in patch 315


Add Rvalue-static-promotion RFC

Promote constexpr rvalues to values in static memory instead of stack slots, and expose those in the language by being able to directly create 'static references to them.
This would allow code like let x: &'static u32 = &42 to work.
Rendered
Credit for idea and impl goes to @nikomatsakis and @eddyb ;)
Closes https://github.com/rust-lang/rfcs/issues/827

In the MIR, rvalues end up in temporary "lvalues" (as opposed to variable lvalues).
So when we make promotion-to-'static work for the MIR, we can even promote variables, too, if they're eligible (truly immutable, no UnsafeCell).

I am concerned about this being breaking behavior; I'm not sure what would cause it, exactly, but &42 being a pointer to the stack is at least well-documented behavior.

Consider this function:
fn f() -> *const i32 {
   let a = &10;
   a
}

What type does a have? &'static i32?
Is pointer returned by f valid?
Now consider another function:
fn f() {
   let a = &10;
   use_pure(a);
}

The pointer to 10 doesn't escape from f. Does 10 still have to be kept into static memory or it may be optimized (placed into a code instruction as immediate value, for example)? Does LLVM perform this escape analysis and optimization automatically or Rust front-end will have to do something for it to happen?

@steveklabnik AFAIK no stable (1.x) Rust version has been released where &42 points at the stack: the implementation of rvalue promotion has been around since January or so.
So if there is any documentation claiming references of rvalues always point at the stack, that documentation is outdated and wrong.

I cannot find what I'm thinking of now, but I remember having arguments
related to this issue on the bugtracker at some point.

@petrochenkov In the existing (1.x stable and current nightly) compilers, &10 always points at .rodata, no matter what.
It goes deeper than that: let x = constexpr; lowers to effectively let x = *&constexpr;.
There are two exceptions: immediates are loaded directly by rustc_trans (allowing LLVM to remove the global holding the constant) and [constexpr; n] are instantiated in-place because that's more efficient than copying the whole array from .rodata.
This is not unlike what clang does for struct literals.
I assume your performance concerns are about the following scenarios (represented in pseudo-machine-code):
*stack = 10
arg0 = stack
call use_pure

arg0 = rodata_ptr_to_10
call use_pure

You are correct that in variable-length encodings, storing a byte to memory and doing a register-to-register copy can be shorter than placing a constant pointer into a register.
But is it faster? Even if the stack is in cache (which it should be), the memory store is not free.
OTOH, rodata_ptr_to_10 may not be in cache, causing a penalty on the first access.
AFAIK LLVM doesn't do that kind of escape analysis at this moment.
Or if it does, I haven't seen it demote globals to allocas.

@eddyb
Interesting, thanks.
It looks like LLVM indeed does the optimization. In this example the constant A presents in unoptimized IR but is inlined in optimized IR.

@petrochenkov That's because you're loading the value and not actually using the pointer itself.

@eddyb
I actually meant this case. If the pointer itself is used then it probably doesn't matter much where it points (LLVM keeps it in rodata).

Isn't "&'static mut T is OK if sizeof(T) = 0" just a special case of "&mut T: Copy is OK if sizeof(T) = 0"? It seems like the same reasoning - you can't violate memory safety if you never follow the pointer, no matter how many "aliases" exist - applies. That said, I wonder if there's user code which relies on the fact that &mut T is never Copy, regardless of T, to enforce some extra-lingual invariants? Does that (potentially) make any sense?
(This also feels eerily similar to "overlapping impls of trait Tr are OK if members(Tr) = 0"... I wonder if there's some deeper connection here.)

On Fri, Dec 18, 2015 at 03:02:03PM -0800, Eduard-Mihai Burtescu wrote:

@petrochenkov In the existing (1.x stable and current nightly) compilers, &10 always points at .rodata, no matter what.

It seems to me that the purpose of this RFC (and i've not had time to
read it yet...) is basically to expand (and perhaps define more
precisely) the set of expressions where you can safely rely on values
being moved into static slots, right?

On Sat, Dec 19, 2015 at 06:06:14AM -0800, Gábor Lehel wrote:

Isn't "&'static mut T is OK if sizeof(T) = 0" just a special case of "&mut T: Copy is OK if sizeof(T) = 0"? It seems like the same reasoning - you can't violate memory safety if you never follow the pointer, no matter how many "aliases" exist - applies. That said, I wonder if there's user code which relies on the fact that &mut T is never Copy, regardless of T, to enforce some extra-lingual invariants? Does that (potentially) make any sense?

Indeed, this kind of special-case reasoning around zero-sized types
makes me sort of uncomfortable. I feel like it's something one is
likely to forget about when reasoning "in the abstract".

@nikomatsakis My point is that there won't be any surprise because the compiler already does this promotion so unsafe code couldn't have relied on &10 to ever point to the stack, unless it was from before 1.0.

On Tue, Dec 22, 2015 at 09:09:40AM -0800, Eduard-Mihai Burtescu wrote:

@nikomatsakis My point is that there won't be any surprise because the compiler already does this promotion so unsafe code couldn't have relied on &10 to ever point to the stack, unless it was from before 1.0.

Sure, though conceivably it might rely on [22;22] being on the
stack. But in general it seems like we should clarify a range of
expressions where we MAY promote to a static if we so choose, and a
set where we WILL promote. The latter are the set where you can have
lifetime 'static. The former are an optimization.

You're referring to the same thing as my previous comment, right?
Something along the lines of:
let value = 5;
do_something_with(&value); // fine even if promoted
unsafe {
    // happens to work now, page fault if promoted
    *transmute::<&i32, &mut i32>(&value) = 6;
}

FWIW, in two (1 and 2) places in trans::expr, #1229 resulted in doing the wrong thing when debug assertions are turned off (i.e. Release mode): &(255_u8 + 1) will compile with a warning and point to the stack, instead of .rodata, as it otherwise would (if it wasn't overflowing).
This has to be fixed before rvalue promotion is turned on.

What is the status of this?

cc @rust-lang/lang -- I'd like to see this RFC go forward! Most of the infrastructure in the compiler is laid, and I think the core idea is sound. The key is that when you borrow a constant (e.g., &42) that meets the criteria in the RFC, this will be allocated into static memory, and hence we can assign a &'static 42 lifetime. This eliminates annoying (and unnecessary) errors in practice and also rationalizes some of our other typing rules (e.g., &[] has type &'static [T] for some T).
Reading the thread, I think the major concerns have to do with the runtime guarantees. Since the runtime behavior does not (and should not) depend on lifetime inference, this implies that &42 is guaranteed to be in static memory. You can imagine safe code relying on this. That said, this ought not to be a breaking change -- for optimization reasons, this is largely true today in any case, so it's not really a breaking change -- we just use conservative typing rules. But also, this seems to come back to the unsafe code guidelines as well. =)
That said, I still haven't had time to do a detailed review of the rules -- I have the printout here in front of me though and plan to do it now. But my feeling is that while we may find some minor detail to correct, we should go forward with the general idea.
@rfcbot fcp merge

Ah, one thought I had that I should raise. This text in the RFC itself:

This workaround also has the limitation of not being able to refer to type parameters of a containing generic functions, eg you can't do this:
fn generic<T>() -> &'static Option<T> {
    const X: &'static Option<T> = &None::<T>;
    X
}

Seems to suggest we ought to also just enable generic statics/constants already. I used to think "that makes no sense!" -- at least for statics -- but now I realize it's just another case of monomorphization of course. That said, it's prob better to defer this to a second RFC.

I am a little uneasy about the basis for supporting &'static mut of a zero-sized type. Maybe I just am not understanding the expected use case.

@rfcbot concern I am a little uneasy about the basis for supporting &'static mut of a zero-sized type. Maybe I just am not understanding the expected use case.

@pnkfelix I agree, in fact, the way it's implemented right now we don't take advantage of it in most cases.
However, do keep in mind &mut [] is already 'static and would remain a special-case.

@rfcbot concern basis-for-static-mut
I am a little uneasy about the basis for supporting &'static mut of a zero-sized type. Maybe I just am not understanding the expected use case.

@eddyb and I just followed up, but I'll just transcribe the most important bit of what I said there:

I'm not sure the existence of that special case really makes me excited to add &'static mut const-expr feature
the feature seems fine to me for the shared reference case

I'm fine with taking out anything &mut-related from the RFC. There's already some more weirdness around (non-ZST!) arrays in static mut, solely to get a "mutable 'static slice" of sorts.

There's already some more weirdness around (non-ZST!) arrays in static mut, solely to get a "mutable 'static slice" of sorts.

Ew. Yet another reason static mut is bad.

I'm open to moving forward with shared references only, to start, and with a feature gate.
My biggest worry with this proposal is that reasoning correctly about examples like @petrochenkov's requires thinking about the precise rules in this RFC -- in particular, knowing the constexpr grammar and being very carefully aware of which const fns happen to use UnsafeCell. To the extent that this winds up being subtle, you could easily wind up with cases where you get a raw pointer to something you think is 'static but isn't, and the type system doesn't help you. But I think we probably need more experience to know whether this will actually be a problem in practice.

@aturon I would also be fine with moving forward with shared references only (no &'static mut) (at least that's how I interpret your comment).

@pnkfelix Yes, that's what I meant.

given a constant X, does this RFC guarantee that multiple expressions of the form &X will result in only one static copy of X? In ring we have many things like static ALGORITHM_VARIANT: Algorithm = Algorithm { } and I'd like to s/static/const/ so that things like ALGORITHM_VARIANT.OUTPUT_LEN are constant expressions (now they aren't). However, I don't want to have multiple copies of all the ALGORITHM_VARIANTs generated.

@briansmith It does not, although the implementation has done that since before 1.0.
However, it's only unique per-crate, unlike static which always has one address.

@briansmith It does not, although the implementation has done that since before 1.0.
However, it's only unique per-crate, unlike static which always has one address.

Is there anything about the current proposal or other factors that would preclude doing the same optimization across crates, at least for named constants? Would it be difficult to add this optimization in the future (or even now)?
It seems like for named constants (const X: T = ...), the compiler could/should generate a hidden static X_[some_mangling] with the same value, rewrite all &X as &X_[some_mangling], and rely on -fdata-sections optimizations to remove any unreferenced &X_[some_mangling]. In other words, every const would be effectively a static const, which I heard actually existed in the language at one point.

Are you proposing we rely on symbol nanes for linker-level deduplication? Otherwise the optimizer couldn't see the contents of constants, which is generally a worse problem.

Otherwise the optimizer couldn't see the contents of constants, which is generally a worse problem.

In my suggestion, nothing should change for anything except references to a named constant would be rewritten as references to a named static. So, CONSTANT.field or CONSTANT + ANOTHER_CONSTANT wouldn't be affected at all by what I suggest because those expressions aren't references to a named constant, but &CONSTANT would be rewritten to a reference to a synthesized static that has the same type and value as CONSTANT.

That's not an optimization, that's also a constant. An optimization in this case could be inlining a call which reads from a reference and thus could be simplified by being able to know those constants.
Also, we deduplicate by value so you'd have to combbine that with inter-crate reuse.
TBH I almost want to throw out crates as compilation units, between #[inline] and this, and making any kind of parallel codegen scheme horribly more complicated, I'm not sure it's worth keeping.

AFAICT, an implementation of this RFC would mean that the semantic difference between a const and a non-mut static is simply that a static's value is hidden from the compiler at compile time. I'm not sure that's even a useful enough distinction to keep on having distinct concepts for them.

That's not an optimization, that's also a constant. An optimization in this case could be inlining a call which reads from a reference and thus could be simplified by being able to know those constants.

I mean that it should be done like this: Do all those optimizations. Then, rewrite references to constants as references to (synthesized) statics. Note that you have to synthesize a static even if you don't take my suggestion, but you just currently don't do it in a way that allows full de-duping. Really all I care about is that the de-duping is done the same way it is done for statics.

But statics are not deduped, they're guaranteed unique. Their addresses can be used as keys in a map, for example. Whereas all &0 in a crate have the same address.
To get the best of both worlds you'd probably want content-"addressed" symbols and available_externally - this would also help statics if LLVM guarantees symbol reuse.

But statics are not deduped, they're guaranteed unique. Their addresses can be used as keys in a map, for example.

I think this should also apply to all named constants.

@briansmith That's wasteful, that's why there's a distinction. It would've made more sense if we had rvalue promotion in the language at 1.0 but we're finally nearing meaningful CTFE in Rust.
The restrictions on accessing statics from constants will likely relax, too. The important points which are sure to remain is that a static cannot be mutated before runtime, its address is unique and it cannot be moved out of (at most copied from - while a const always duplicates). We might get generic/associated statics if we can figure out a foolproof uniqueness scheme.
The problem with multiple translation units and available_externally is that it can't work between siblings: one has to keep its copy and the other one refer to it, but there is no way to know ahead of time.
The UNIX-era linkage models cannot readily account for nice maximal reuse schemes AFAICT.
Incremental and pipelined compilation is also affected by the crate == translation unit model, because the picture is always clearer at the final build product.
ThinLTO could potentially get us a lot closer to that goal, although I'm not sure what kind of deduplication it allows for.
Ideally the linker would be "in on it" and perform relocation-invariant deduplication of certain sections/symbols marked so, and even overlap them where possible. We could look into where that would even be possible, and perhaps augment LLD with this ability.

I'd like to se this RFC get merged. It seems like we want to change it to only support shared borrows, right? i.e., &mut <constexpr> doesn't get statically allocated... @Kimundi, can you do that?

Ah right, I meant to have done that already. I'll get to it asap.

Done.

@rfcbot resolved basis-for-static-mut
(@dikaiosune does this work yet?)

@eddyb I think only the original comment author can resolve their concern.

@rfcbot resolved basis-for-static-mut

@rfcbot reviewed

This has been in FCP for 16 days and there have been no new comments. Merging.

Does the UnsafeCell stuff also need to be done for atomic types, since they seem to have the same issues?

AtomicFoo is already built around UnsafeCell: https://doc.rust-lang.org/src/core/sync/atomic.rs.html#91-93

Atomic types use UnsafeCell inside, there is no other sound way.


Add support for protected fields

We are going to implement a new feature for protected fields.
This would be the expected behaviour:

There is a new optional property in any .json named protected as a list of strings:

common/models/Player.json
{
  "name": "Player",
  "base": "User",
  "public": true,
  "properties": {
    "level": {
      "type": "number",
      "default": 1
    },
    "experienceToNextLevel": {
      "type": "number"
    }
  },
  "protected": [
    "experienceToNextLevel"
  ]
}

Only the $owner of the object (the player), admins and a special role named "__protectedFieldsPrivileged" will be allowed to read or update those fields.

Tests:

Test_ProtectedFields()


working test and or Readme documenting stream_query query get etc

would be useful to see example tests for query and stream_query for ppl not familiar with dynamodb query expressions.  also might want to clarify position on queryfilter and if it is not going to be supported.
i could not get the following to work
user = %User{admin: false, age: 23, email<EMAIL_ADDRESS>name: "Bubba"}
Dynamo.scan("Users",
      limit: 12,
      exclusive_start_key: [email: "email"],
      expression_attribute_names: [email: "#email"],
      expression_attribute_values: [email<EMAIL_ADDRESS>      filter_expression: "#email = :email")

{:error,
 {:http_error, 400,
  "{\"__type\":\"com.amazon.coral.validate#ValidationException\",\"Message\":\"ExpressionAttributeNames contains invalid key: Syntax error; key: \\\"email\\\"\"}"}}

I definitely agree some examples are in order. The following works:
  "Users"
  |> Dynamo.stream_scan(
    limit: 1,
    expression_attribute_values: [desired_api_key: "adminkey"],
    expression_attribute_names: %{"#asdf" => "api_key"}
    filter_expression: "#asdf = :desired_api_key")
  |> Enum.to_list

expression_attribute_names are only necessary when you need to alias one of the columns you're searching against because it uses a reserved word like Percentile. In this case it's totally unnecessary as api_key is a fine column name, but I wanted to demonstrate. It's functionally equivalent to:
  "Users"
  |> Dynamo.stream_scan(
    limit: 1,
    expression_attribute_values: [desired_api_key: "adminkey"],
    filter_expression: "api_key = :desired_api_key")
  |> Enum.to_list


Customization of RDP/SSH listening ports for Bastion usage

[Enter feedback here]
It would be good to say in FAQ if RDP/SSH listening ports are/will customizable or not between Bastion and target VM.
Thanks.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 3a1d3f69-74ba-0ba9-17ba-c7c1086d2662
Version Independent ID: 7f2680d3-7d10-b253-bdc3-ca661b5da5af
Content: Azure Bastion
Content Source: articles/bastion/bastion-overview.md
Service: bastion
GitHub Login: @cherylmc
Microsoft Alias: cherylmc

Thanks for the feedback! I have assigned the issue to the content author to investigate this and update the document as appropriate

#reassign: @AbdullahBell

#reassign: @cherylmc

Thank you for you dedication to our documentation.
Unfortunately, we have been unable to review this issue in a timely manner. We sincerely apologize for the delayed response. We are closing this issue. If you feel that the problem persists, please respond to this issue with additional information.
Please continue to provide feedback about the documentation. We appreciate your contributions to our community.
#please-close


Add watcher recreation in VirtualKubelet

Description
This PR adds the recreation of the watchers over Advertisement and TunnelEndpoint in the VirtualKubelet when a casting error occurs.
It also adds tests on network updates in the VirtualKubelet.
Fixes #250
Other changes
Fix ownerReference in the virtual node: it pointed to liqo-<clusterID> deployment, whereas the virtualKubelet deployment is named virtual-kubelet-<clusterID>
How Has This Been Tested?

[x] Tests on VirtualKubelet network update after the creation of a TunnelEndpoint with no remapping
[x] Test VirtualKubelet network update with remapping

Pull Request Test Coverage Report for Build 250036435

39 of 88 (44.32%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.3%) to 51.05%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

internal/kubernetes/test/node.go
4
8
50.0%

internal/kubernetes/virtualNodeupdater.go
35
80
43.75%

Totals

Change from base Build 249972862:
0.3%

Covered Lines:
6831

Relevant Lines:
13381

💛  - Coveralls

/rebase

/rebase


Update README.md

Update README.md

Hey @Olexandr88, thanks for pointing out this issue. To avoid you needing to sign the CLA for a one-line change, I pushed the fix directly here: https://github.com/Shopify/remote-dom/commit/401da6230420dbd19e4b269a525ccd2d22f58901.
Hope you're staying safe 💙


Revisions to support Helidon in the MP starter

These changes are inspired by but slightly different from the earlier PR by @rdebusscher for Helidon support:
Main differences from the earlier PR:

Use the built-in Helidon MP server Main class rather than include one as a template.
Add to the configuration for working around pending clarifications of the JWT-Auth security spec interpretations.

Hi @tjquinno,
Can you sign the Eclipse ECA (see also https://www.eclipse.org/legal/ECA.php) and use the signed-off-by in the commit message?
See also https://github.com/eclipse/microprofile-starter/blob/master/CONTRIBUTING.md

Helidon support is merged through https://github.com/eclipse/microprofile-starter/pull/95


use #[non_exhaustive] instead of Unknown

Features Description
instead of having an Unknown variant for types::Vendor, make it #[non_exhaustive] so it's possible to add other variants over time without breaking changes for folks consuming this library.
Current code Sample
pub enum Vendor {
    AppCenter,
    AppVeyor,
    AzurePipelines,
    Bamboo,
    BitbucketPipelines,
    Bitrise,
    Buddy,
    Buildkite,
    CircleCI,
    CirrusCI,
    AWSCodeBuild,
    Codeship,
    Drone,
    DSARI,
    GitLabCI,
    GitHubActions,
    GoCD,
    Heroku,
    Hudson,
    Jenkins,
    MagnumCI,
    NetlifyCI,
    Nevercode,
    Render,
    SailCI,
    Screwdriver,
    Semaphore,
    Shippable,
    SolanoCI,
    StriderCD,
    TaskCluster,
    TeamCity,
    TravisCI,
    ZEITNow,
    Unknown,
}

Proposed code Sample
#[non_exhaustive]
pub enum Vendor {
    AppCenter,
    AppVeyor,
    AzurePipelines,
    Bamboo,
    BitbucketPipelines,
    Bitrise,
    Buddy,
    Buildkite,
    CircleCI,
    CirrusCI,
    AWSCodeBuild,
    Codeship,
    Drone,
    DSARI,
    GitLabCI,
    GitHubActions,
    GoCD,
    Heroku,
    Hudson,
    Jenkins,
    MagnumCI,
    NetlifyCI,
    Nevercode,
    Render,
    SailCI,
    Screwdriver,
    Semaphore,
    Shippable,
    SolanoCI,
    StriderCD,
    TaskCluster,
    TeamCity,
    TravisCI,
    ZEITNow,
}

good idea. I will take care of it.
thanks a lot for the feedback

the unknown should stay however, because it means i detect its CI env, but cant tell which.

i'd argue that the Option tells you if it detects it as a CI env, and adding non_exhaustive means consumers would handle the _ case and that would count as "detecting as CI env but not sure which one it is".

ya, as lib consumer. but as provider i need to provide some value.

oohhh i see. that makes sense! carry on 😄

released. thanks a lot.


Is it possible to perform batch image captioning tasks?

I suddenly discovered this treasure model and would like to ask if it is possible to implement the image captioning task?
The images in my dataset have very low pixels and are generally blurry (size: 60 * 160). The image example is as follows:

Can use your model to perform batch image captioning tasks on the images in my dataset?
I am very much looking forward to your reply. Thank you for your work, he is excellent!

Hi. ShareCaptioner is available now! And we also support batch inference.

I suddenly discovered this treasure model and would like to ask if it is possible to implement the image captioning task? The images in my dataset have very low pixels and are generally blurry (size: 60 * 160). The image example is as follows:
Can use your model to perform batch image captioning tasks on the images in my dataset? I am very much looking forward to your reply. Thank you for your work, he is excellent!

Hi. ShareCaptioner is available now! And we also support batch inference.


test(nodeOps): rename file, fix type errors, add tests

Problem
src/core/nodeOps.ts has a test file, but it's called nodeOpts.test.ts – note the extra 't'.
Solution
Rename to src/core/nodeOps.test.ts.
Problem
The test file had a lot of type errors.
Solution
Fix most type errors.
Problem
The test file was organized in a flat hierarchy, leading to a lot of repetition of names createElement should ....
Solution
Group tests using describe
Problem
There's no way to easily see test coverage.
Solution
Add test coverage plugin to Vitest and add to pnpm run test:ui script.
Here's how to use it in the UI.
Problem
nodeOps test coverage is about 50%, which makes changes riskier than they could be.
Solution
Improve test coverage

closes  #631

Hey @alvarosabu !
I increased test coverage of nodeOps to about 90%.

Could you have a look and see if anything stands out: Do the tests reflect the intention of the code?
I'm not sure what to do about things like deregisterAtPointerEventHandlerIfRequired. It was said that these were going away, so I didn't write tests. Is that right?
There are still gaps, but fewer and smaller. Feel free to suggest more tests.

Hi @andretchen0 thanks a lot for submitting this PR, I'm so happy to have proper coverage, especially on the nodeOps. This will make our maintenance easier.

I'm not sure what to do about things like deregisterAtPointerEventHandlerIfRequired. It was said that these were going away, so I didn't write tests. Is that right?

Yes, that is going to disappear (check #515)
You would need to change the origin to v4 instead of main since you branch from v4. There are a lot of changes in this PR that don't belong.

@alvarosabu

v4

Whoops! Thanks for the heads up! Fixed.


tfmask appears to swallow exit codes

Version: 0.7.0
Expected:
If a process piped to tfmask exits with non-zero exit code tfmask should also exit with a non-zero exit code.
Actual:
tfmask always exits with exit code zero regardless of exit code from piped process.
Steps to reproduce:
exit 1 | tfmask && echo "$?"
0

Additional Info:
I am using tfmask in conjunction with terragrunt and I am finding that although terragrunt will exit with a non-zero exit code if it encounters errors the final exit code is remains zero.    This ends up being a problem with CI/CD pipelines that report success/failure based on final exit code.

I am facing the similar issue where tfmask swallows the exit code of terraform plan -detailed-exitcode.

@davidji99 I am now realizing that I completely forgot to update this issue.  Try set -o pipefail;.
set -o pipefail; exit 1 | tfmask

That should raise the correct exit code.

Oh thanks for the tip @jcreager!


Retry operation when network connection is down.

Description
Continue retry operation when internet connection goes down.

Created a new method that checks for internet connectivity.
If we are not connected with the internet then continue retry operation.

Reference to any github issues

https://github.com/Azure/azure-event-hubs-node/issues/178

@ramya-rao-a @AlexGhiondea

This fixes #32


Cache candidate while CRM down

1. Add delete method
We are going to cache the Candidate model temporarily while the CRM integration is paused. We will need to delete the cache when it is back up.
2. Add Candidate cache
The CRM can't accept any new data during releases. The solution to this in Get into Teaching is to queue the request until the CRM is back up.
However, in School Experience, the Candidate upsert cannot be queued because the candidate information is needed immediately by the Schools Experience app.
Add a Candidate cache. The cache can be used when the CRM integration is paused.
Note: This creates a table for each entity related to Candidate, despite not declaring a DbSet for them.
3. Cache Candidate in Store if CRM integration is paused
When the CRM integration is paused, we want to provide a GUID to the Candidate, and cache it.
Usually, it is best practice to allow the CRM to generate sequential GUIDs which provide better SQL performance. However, in this scenario we have agreed it is beneficial to provide the GUID up-front because the School Experience app needs the Candidate ID immediately.
The Candidate upsert job is also triggered, so that when the CRM is operational again, we can persist the stored Candidate there, deleting the cache.
4. Update UpsertCandidateJob to remove candidate cache when successful
We cache the Candidate while the CRM integration is paused. However, we don't want to persist this permanently as it contains personal information.
Ensure that when the Candidate is inserted into the CRM, the API cache record is deleted. Due to the way the CandidateUpserter job is configured, the API record will always be deleted within 24 hours (which it needs to be because it contains personal data).
5. Update Candidate controller actions to use cache when CRM down
When the CRM integration is paused, the record may exist in the cache (if they have completed their sign up recently). When that is the case, fetch the record from there instead of the CRM.
Thoughts

Fetching from the cache won't work when the candidate has signed up before the CRM integration was paused. This is used for various stuff like cancelling a placement and accepting a placement. If we can't figure out a way to make the GETs work, we might as well get rid of the Store code.
Linked to the above. I am querying the database/CRM conditionally based on whether the CRM integration is paused. There will be a period of time when it is unpaused, but that CandidateUpsertJob has not yet completed.

Went a bit off target here. No need to create a Candidate table. See here https://github.com/DFE-Digital/get-into-teaching-api/pull/851


Android - Report fields - Save button overlaps with device navigation in name page

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

Version Number: 9.0.70-0
Reproducible in staging?: Y
Reproducible in production?: N
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?: Y
Issue reported by: Applause Internal Team
Action Performed:
Precondition:

Device navigation is buttons and not gestures.

Launch ND or hybrid app.
Go to workspace settings > Report fields.
Tap Add field.
Tap Name.

Expected Result:
Save button will not overlap with device navigation.
Actual Result:
Save button overlaps with device navigation.
Workaround:
Unknown
Platforms:

[x] Android: Standalone
[x] Android: HybridApp
[ ] Android: mWeb Chrome
[ ] iOS: Standalone
[ ] iOS: HybridApp
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
https://github.com/user-attachments/assets/73f3260b-f089-4d32-9458-d0656915e7e6

View all open jobs on GitHub

cc @kirillzyusko

Hey, I'm Kiryl from Margelo expert agency and I'd like to work on this issue!

Issue was not reproducible on build 70-9 🎉 Video here

@OfstadC There will be no payments here
@ZhenjaHorbach can you please complete the checklist? Thanks!