Support Swarm mode / clarify its status

Tell us about your request
Please clarify the status of Docker Swarm mode.
Which service(s) is this request for?
Docker Engine
Additional context
Docker swarm mode is an awesome container orchestrator. Swarmkit is still upstream in moby and being actively developed. However the larger zeitgeist is that swarm is deprecated and K8s should be used instead and consequently swarm mode is increasingly not being actively targeted by projects.
However, it is super simple to setup and get working compared to K8s. New features are being added to swarm(kit) like jobs - which look perfect as CI/CD runners or Server-less task runners. But, with the hesitancy that projects are showing in continuing to invest in swarm related features, I fear the world will lose the best little multi node orchestrator that could.

Is this perhaps relevant https://github.com/docker/roadmap/issues/86 ?

nope. classic swarm was a - not sure what it was exactly actually - a kind of plug on orchestrator that presented as a single docker node. it was deprecated precisely because it was replaced with swarm mode.

But doesn't that issue effectively answer this one? I.e. classic swarm is deprecated but swarm is still actively supported?

Mirantis only committed to swarm until 2022 - understandable as they are a very K8s corporate facing solution provider and they target the space where that scale is needed.
Since that deal, every tech article covering swarm has basically stated that it's dead and its time for everyone to move to K8s.  But also accurate, because Mirantis got the corporate customers, who might have been using Swarm. Which means that literally no company is providing corporate level support for Docker Swarm.
However, on tonights "Docker Talks: Donnie Berkholz - Head of Product @ Docker" session, it was apparent that I am not the only person thinking that docker swarm is simple and effective and consequently deserves some attention to get it back in front of people as a viable option: there was near unanimous support amongst the chats participants for docker swarm.
So, swarm mode exists, and is actively developed. But as a devops / developer I cannot go to my boss and say it's a supported solution that we can build solutions on.

@chrisbecke  Everything is fine except one blocker issue: Only Windows Ubuntu-20.04 WSL distro with K8s knows to use systemd and run  Podman that is the real Docker engine replacement for the loosely connected laptops used as a development machine. Without systemd Podman is hardly useful and Docker startup suffers from instability too. But this is in Microsoft's hands.
RedHat already started pulling Docker support off from its Linux distros but Windows WSL CentOS8 and RHEL8 don't run Podman well.  I didn't try yet other WSL distros. Ubuntu is ahead for today.

Totally hooked on the great news that Mirantis is going to invest in swarm beyond 2022. They are expanding the SwarmKit team and adding new features (one has already hit moby master)
https://www.mirantis.com/blog/mirantis-will-continue-to-support-and-develop-docker-swarm/
The future of SwarmKit is fine, and @BretFisher talks about it on his show here: https://youtu.be/L5N43aQQArw

I do wonder where we're at now? I just read https://github.com/docker/roadmap/issues/194#issuecomment-782912802 :thinking:
Still see some movement on https://github.com/moby/moby/pulls?q=is%3Aopen+is%3Apr+label%3Aarea%2Fswarm though :pray:

Just a personal comment from Dockercon'21 - the talks involving swam seemed to be well populated with people using, or thinking of using, swarm in production. The consensus opinion seemed to be that swarm was, for a number of use cases, more fit for purpose than K8s :- i.e. the simplicity of swarm over K8s allows a smaller team to deliver a more secure product with higher SLOs.

A bug fix PR from Mirantis staff https://github.com/docker/swarmkit/pull/3003 :scream: What a cliff hanger!

@chrisbecke I'm actually working on CSI support right. Like, literally today still working on it. There have been delays, but at this point I'm hammering out the final API and CLI. It's very nearly completed.

@dperny you are a hero!!!

Is there any update on the status of swarm?
As far as I can see, it looks exactly what we need, simple, lightweight, easy to manage, easy to run, easy the whole concept.
However, we do not jump on a track that is heading dead end.

I highly recommend you to take a look at Hashicorp Nomad. It's as simple as Swarm and it's being actively maintained.
https://www.nomadproject.io/

Already using swarm mode for a couple of years and really love it. In my opinion it has the right layer of abstraction (i.e. almost none) in order to be flexible as well as to keep overall complexity low. (Also, I built some useful tooling that I want to release with documentation somewhere in the near future.)
I think swarm suits the needs of most small to medium enterprises as well as private users perfectly.
That said, the problem (from my outside point of view) seems to have always been monetization of swarm as a product, as selling an enterprise version seems not to have worked out.
Most small companies probably do not have the knowledge and time to contribute to the development of swarm directly. As another kind of solution, I imagine an open crowdfunding effort where users and enterprises could spend money (recurrently at best) for further development. Would be all in for something like that. I admit of course that real "corporate level support" would be outside of scope for this approach.
(About Nomad, I don't know, did not have a closer look yet. Can it really come close to swarm's ease of use, as well as the added bonus of the configuration being compatible with the docker compose format? But probably not the right place to discuss this.)

The biggest problem for Swarm is that Docker is not willing to lose 100% of its control, Docker is not willing to invest in continuing development, continuing its life cycle, but also does not allow those other developers who love it to join the team, continue to improve it, let Swarm slowly and slowly die

I guess there are some road blockers in Swarm's initial architecture that makes continuing its development so complicated. For instance, Swarm's networking stack is so easy to use but it's a huge deal for a small team to keep maintaining it. It might be a good idea to opt-out Swarm's networking feature and let people use CNI drivers.

all of the 3rd party CNI drivers have dried up.

It would be pity losing swarm mode, as it provides the possibility to simply create a zero-downtime deployment pipeline only for a single server, without having a loadbalancer or multiple machines in front. And that only by using docker swarm init, and some variant of a docker-compose.yml as follows:
    deploy:
      replicas: 1
      update_config:
        order: start-first
        failure_action: rollback
      rollback_config:
        parallelism: 0
        order: stop-first
      test: ...

Swarm is wonderful I really hope that it gets carried forward.  It would be absolutely catastrophic to have to find some alternative.  Kubernetes is a nightmare.

Swarm is wonderful I really hope that it gets carried forward. It would be absolutely catastrophic to have to find some alternative. Kubernetes is a nightmare.

There is so much potential in docker swarm mode! Imagine some love in docs, implementation of long needed features (persistent volumes, manager ip changes, affinity) and a marketing push. Kubernetes people know now what they are fighting with as memes go viral (for ex. https://twitter.com/lexzap/status/1594110738393870337?s=20&t=RUN3L2GyOBeUo4Zky6iaBg) but i'm not sure they know a simple solution already exists for years.

SeaweedFS

Agreed, the persistent volume thing is quite complex but oh wow never heard of SeaweedFS, tried all the rest (nfs, gluster, rexrays3, ...), i'll give it a try. I'm currently just replicating a shared folder across nodes with csync for failover.

I have no idea if you can reach out to someone directly on here without spilling the beans on an email address you own so feel free to reach out to me if you wanna bounce questions off someone.
<EMAIL_ADDRESS>I'll disable that email in a little while but if you want to reach out to someone to discuss the woes this is potentially better than posting our private contact info on github forever.

Looks like there are some good news!
Especially upcoming Swarm Container Storage Interface (CSI).
https://finance.yahoo.com/news/docker-swarm-still-thriving-three-170000776.html

Looks like there are some good news! Especially upcoming Swarm Container Storage Interface (CSI). https://finance.yahoo.com/news/docker-swarm-still-thriving-three-170000776.html

Very happy to hear this because if they're planning more things that's optimism enough for me to continue to support it.

Swarm classic definitely left a negative opinion towards Swarm. But man Swarm mode is such a joy to use. But extendibility is questionable. It looks like it doesn't embrace CNI, CSI driver support like k8s, big factor towards supporting major features.

Looks like there are some good news!
Especially upcoming Swarm Container Storage Interface (CSI).
https://finance.yahoo.com/news/docker-swarm-still-thriving-three-170000776.html

I can't find anything about this on the docs. https://github.com/moby/moby/issues/39624 there is this but no actual implementation for like EBS for example? Quick doc search gives this https://docs.docker.com/engine/extend/EBS_volume/ from 2017...

@shinebayar-g Not in the docs because it isn't released yet. Will be part of the next (feature) release, 23.00 or something like that I think

Swarm classic definitely left a negative opinion towards Swarm. But man Swarm mode is such a joy to use. But extendibility is questionable. It looks like it doesn't embrace CNI, CSI driver support like k8s, big factor towards supporting major features, enabling third party integrations.

Looks like there are some good news!
Especially upcoming Swarm Container Storage Interface (CSI).
https://finance.yahoo.com/news/docker-swarm-still-thriving-three-170000776.html

I can't find anything about this on the docs. moby/moby#39624 there is this but no actual implementation for like EBS for example? Quick doc search gives this https://docs.docker.com/engine/extend/EBS_volume/ from 2017...
Nevertheless, I'll give it a shot.

I wholeheartedly agree about swarm being an absolute joy to use. It really seems like a shame that it feels a bit like even with Mirantis suggesting they’re continuing to support it that it feels very much like they feel defeated by Kubernetes out of the gate even though kube very much feels many layers removed from what docker intends to be.
As far as I can tell kube is about as useful as it would feel if VMWare randomly decided to open up their tech stack without any documentation or support.

Just wanting to leave this more up-to-date status here for anyone else stumbling upon this.
On 2024-01-30:

Swarm is actively maintained by Mirantis, with @dperny as lead maintainer.

Source: comment on moby/moby#47241


Add ConnectRTM call to use the rtm.connect endpoint

Slack now provides rtm.connect for faster WS connection (details: https://api.slack.com/changelog/2017-04-start-using-rtm-connect-and-stop-using-rtm-start)
This implements ConnectRTM much in the same vein as StartRTM with the difference of passing back the WebResponse also. This is useful to be able to know when Slack is returning a 429 rate limitation response (not very elegant though... what's a better way?).

Hi,
Thanks for the PR.
I've been reading: https://api.slack.com/changelog/2017-04-start-using-rtm-connect-and-stop-using-rtm-start from what I can there, this is supposed to be a replacement for  rtm.start.
As such, I believe that we also need to add a different way to start the connection now, by calling this method that you've added in this PR which would replace startRTMAndDial() method (from websocket_managed_conn.go).
I'll work on adding those changes in before merging but I'm not sure just yet about the BC break from the previous commit. I want to work on the library and fix all the outstanding issues that the current static analysis tools find and that would be a proper moment to introduce such a break. Ideally I'd like this to support only the current and previous releases of Go as a model of support, but I've not decided yet and it's certainly not something I want to think now, sorry.
Thanks a lot for your hard work on this one, I'll make sure it's put to good use.

Hi, thank you for your kind words. I agree with you that handling rate-limiting with a string is not good.
How about a custom error type? Something like:
type SlackErrorTooManyRequests struct {
	RetryAfter int
	Err        error
}

To give some context, Slacks rate limiting became very much more aggressive just the last few days and we (all?) will need to deal with it soon.

Hmm, I'd rather build a more generic Slack error than this one and make it implement the standard error interface so that people can assert for the error, thus not having to break the API for them. I understand that this is something that you, and others as well, are going to needs this sooner rather than later, so I'll try and think on this as a top priority.
Meanwhile, I've split this PR into two PRs and opened #159 for the error specific bits, and if I've done this correctly, with the help of a bit of magic from Github, this will be updated with the code that enables the rtm.connect call.

I've finished the refactoring and now, from the client point of view, it looks like this:
-       slackBotRTM := slackBotAPI.NewRTM()
+       slackBotRTM := slackBotAPI.NewRTMWithOptions(&slack.RTMOptions{})
        go slackBotRTM.ManageConnection()

Using the old NewRTM() works and keeps the default rtm.start connection. passing a nil instead of a pointer to RTMOptions also keeps the old default in place.
I'll merge this tomorrow if it looks ok

Hmm, having some issues when I use this. It has some endless ping loop.
Event Received: nlopes/slack2017/11/03 18:22:13 misc.go:82: parseResponseBody: {"ok":true,"url":"wss:\/\/mpmulti-xxxx.lb.slack-msgs.com\/websocket\/<REMOVED>=\/2?dp=1","team":{"id":"<REMOVED>","name":"<REMOVED>","domain":"<REMOVED>"},"self":{"id":"<REMOVED>","name":"<REMOVED>-bot"}}
nlopes/slack2017/11/03 18:22:13 slack.go:86: Using URL: wss://mpmulti-xxxx.lb.slack-msgs.com/websocket/<REMOVED>=/2?dp=1
Event Received: Infos: &{wss://mpmulti-xxxx.lb.slack-msgs.com/websocket/<REMOVED>=/2?dp=1 0xc42025dcc0 0xc42055e0f0 [] [] [] [] []}
Connection counter: 1
nlopes/slack2017/11/03 18:22:14 slack.go:86: Incoming Event: {}
Event Received: nlopes/slack2017/11/03 18:22:14 slack.go:86: Sending PING  1
nlopes/slack2017/11/03 18:22:14 slack.go:86: Sending PING  2
nlopes/slack2017/11/03 18:22:14 slack.go:86: Sending PING  3
nlopes/slack2017/11/03 18:22:14 slack.go:86: Sending PING  4
nlopes/slack2017/11/03 18:22:14 slack.go:86: Sending PING  5
nlopes/slack2017/11/03 18:22:14 slack.go:86: Sending PING  6
nlopes/slack2017/11/03 18:22:14 slack.go:86: Sending PING  7
nlopes/slack2017/11/03 18:22:14 slack.go:86: Sending PING  8
nlopes/slack2017/11/03 18:22:14 slack.go:86: Sending PING  9


[NFT Standard]

Summary

Closes #628

The user how to hold or transfer NFT?

Yes, I haven't added the transfer yet
Here I still have some questions about Object
When transferring Object, must it be limited to the current Module?
If this function is not turned on, whether the NFT is an Object means the unique ObjectID

Will this version of nft consider implementing Royalty?


editLink doesn't respect astro's srcDir

What version of starlight are you using?
0.9.1
What version of astro are you using?
3.0.13
What package manager are you using?
npm
What operating system are you using?
Linux
What browser are you using?
Chrome
Describe the Bug
Consider this config:
import starlight from "@astrojs/starlight"
import { defineConfig } from "astro/config"

// https://astro.build/config
export default defineConfig({
  srcDir: ".",
  integrations: [
    starlight({
      editLink: {
        baseUrl: "https://github.com/user/repo/edit/main/",
      },
    }),
  ],
})

The generated Edit page button will be:

https://github.com/user/repo/edit/main/SRC/...

PS.
Thanks for the great documentation engine!
Link to Minimal Reproducible Example
No response
Participation

[ ] I am willing to submit a pull request for this issue.

Thanks for the issue. Would love a PR fixing this if someone would like to try!
We already expose some of the Astro config via a virtual:starlight/project-context module. Could add srcDir there and then import it when working out the edit link.

I would like to give it a shot 💜

Thanks a lot for working on it!


TypeError: $table.on is not a function

Love this column sorter, but I seem to be stuck on some error i FireBug, which I do not know how to debug...
TypeError: $table.on is not a function
$table.on("click.stupidtable", "th", function() {

I'm running jQuery v1.11.3 and this is still an issue for me, any suggestions?

@LukeXF Can you make a fiddle reproducing? Thanks!

Issue resolved, had jQuery v1.11.3 running and for some reason another JS file was including jQuery v1.2.6 aaaall the way back from 2008. Thanks for the quick response.

Hahah, it's like a time machine in a <script> tag! ;)


try ping的对方ip端口重试次数少

Issue Type
Bug
Source
binary
Secretflow Version
1.1.0b0
OS Platform and Distribution
centos7
Python version
3.8
Bazel version
No response
GCC/Compiler version
No response
What happend and What you expected to happen.
尝试重试链接connect_retry_times设置的次数无法生效
尝试20次就会自动结束进程

Reproduction code to reproduce the issue.
Try ping ['alice'] at 19 attemp, up to 3600 attemps.

提供下完整的代码配置


Add missing git tags for 0.1 and 0.3 releases, and backfill changelog for 0.1, 0.2, 0.3, 0.4

Looking at the PyPI releases i saw 0.1, 0.2, 0.3, 0.4, but only 0.2 and 0.4 as git tags in this repo.

I'd like to retroactively add git tags (without republishing something) to this repo.
There is an obvious commit that was made just before the PyPI release was registered for both 0.1 and 0.3.

[ ] v0.1 tag for 058e55ecef04daa0d907f78f27e81a5705f21afc
[ ] v0.3 tag for 08444aab7d74d114d6b53d9bd9985abbf15e4113

[ ] Then I'd like to generate a changelog retroactively for 0.1, 0.2, 0.3, 0.4, and then finally 1.0.0 coming up.

@yuvipanda any objections to pushing these two tags retroactively?

@consideRatio go for it!


Coordinate simplification

Just an observation about the simplification of ways. The example file you provided some time ago for Gothenburg has a lower quality topology for ways than the original NVDB data, i.e. it is using fewer nodes. Would it not be better to provide the best quality possible? I agree some simplification is needed, but the question is how radical it needs to be. Also, why is there a need to have weaker topology for some road classes compared to others?
Current manual mapping is perhaps not a guideline, I think, as it tends to be quicker and could be based on low quality satellite imagery. Doing an import is a big effort, never to be done again for that area, so it would be helpful to use high quality data the first time.
Consensus in the Norwegian import is a simplification corresponding to a factor of 0.2 in the JOSM simplify function. In a few municipalities, the quality in NVDB has been too weak for 0.2 but that can be fixed with the simplify function in JOSM after manual inspection.

The purpose of simplification is to put in adequate detail for OSM, but not clutter it with more data than required.
In the community, both the Swedish and international, I've seen some irritation of overly detailed imported geometry (making later hand-editing of imported geometry more cumbersome, and causing hand-made vs imported geometry to not blend well), so I've been careful to not include too many waypoints. I've since the first example increased the detail slightly, and may make further adjustments. I'm using douglas-peucker algorithm now and there could be a better way looking at angles in the waypoints as well as deviation in meters. Douglas-peucker only looks at deviation, not "smoothness".
The difference in detail level is to mimic how it usually looks, but with a better simplification algorithm I would probably do away with that. I'm not 100% satisified with that distinction, so it will likely go away.
Even recent manual mapping using the NVDB raster map as background layer generally uses lower amount of mapping points even than the simplified version, so I think it's not just old roads. Recent manually made roads are quite consistent in their detail level, people map to follow the detail in the photo, but don't go in to smoothen out curves just for the sake of smoothening.
I don't have a strong opinion on this and if people wants it I'll increase the detail level, but I think something around the level the script uses now is what is most acceptable in the Swedish community. I'll raise the question again and see what people think.
Regarding importing only once, I think that once the map has a good accuracy and coverage, it will be possible to make automated or near-automated imports in the future. This first time over is a cumbersome 100% manual process due to pretty bad offset errors that are in there, and that NVDB lacks some information that OSM has/needs (for example figuring out which ways that should be highway=service). Once that is in and aligned, further updates from NVDB or other databases will be much easier.

Ha! It sparked quite some discussion, and it seems people indeed want more detail level. I'll do some sort of update on this.

I tested the value of 0.2 (JOSM simplify is the same algorithm, Douglas-Peucker), and people seemed fine with that, so I have committed a patch with that, so we can close this issue now.

That was quick :) I think we agree on the general principles. The 0.2 factor seems to me to be a good compromise between getting acceptable curves and avoiding clutter.

Heh yeah, I had misjudged what people was thinking (the "too much detail" discussion actually came from when I was mapping nature, and it kind of stuck in back of my head).
I thought of making a more advanced simplification algorithm that looks at angle errors as that would look at smoothness and could then allow for more than 20 cm deviation in some situations to reduce node count without sacrificing smoothness. But, after doing some test runs on actual NVDB geometry I concluded that it's overkill and the plain 0.2 meter Ramer-Douglas-Peucker is just fine, and as you guys have been doing this for quite long it was an easy decision.


Add unittest target

A recent newt change removed final-atom support (https://github.com/apache/mynewt-newt/pull/381); this has a side-effect that results in the "unittest" target not being found if is not located in the repo where tests are being run (it does not search for "unittest" inside @apache-mynewt-core anymore). So add the same "unittest" target that already exists in @apache-mynewt-core repo here.

@sjanc @ccollins476ad I think this is a better solution than re-introducing the "final-atom" specifically for unittest targets in newt, but I would not mind doing the change there if you think it is a better solution (I tested it already!).


plugin not installing

Hi I am using E.S 5.6.9 and want to use this plugin. Facing this error while installing
Downloading file:/home/vljklkj/Desktop/fast-elasticsearch-vector-scoring/target/releases/elasticsearch-binary-vector-scoring-5.6.9.zip
[=================================================] 100%
ERROR: elasticsearch directory is missing in the plugin zip
I cloned the project, changed ES version to 5.6.9 in POM files and did mvn clean. Got a zip file and ran this command to install the plugin.
"sudo bin/elasticsearch-plugin install file:/home/vljklkj/Desktop/fast-elasticsearch-vector-scoring/target/releases/elasticsearch-binary-vector-scoring-5.6.9.zip"
please help me solve this issue as early as possible.... thanks in advance.

i also tried by changing folder name to elasticsearch.zip, didn't work....

You're missing a /, try running it like this:
'sudo bin/elasticsearch-plugin install file://home/vljklkj/Desktop/fast-elasticsearch-vector-scoring/target/releases/elasticsearch-binary-vector-scoring-5.6.9.zip'

Hi, i changed as per your instructions but now getting new error
-> Downloading file://home/nm,m/Desktop/fast-elasticsearch-vector-scoring/target/releases/elasticsearch-binary-vector-scoring-5.6.9.zip
Exception in thread "main" java.net.UnknownHostException: home
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)
at java.net.Socket.connect(Socket.java:589)
at sun.net.ftp.impl.FtpClient.doConnect(FtpClient.java:962)
at sun.net.ftp.impl.FtpClient.tryConnect(FtpClient.java:924)
at sun.net.ftp.impl.FtpClient.connect(FtpClient.java:1019)
at sun.net.ftp.impl.FtpClient.connect(FtpClient.java:1005)
at sun.net.www.protocol.ftp.FtpURLConnection.connect(FtpURLConnection.java:294)
at sun.net.www.protocol.ftp.FtpURLConnection.getInputStream(FtpURLConnection.java:400)
at org.elasticsearch.plugins.InstallPluginCommand.downloadZip(InstallPluginCommand.java:328)
at org.elasticsearch.plugins.InstallPluginCommand.download(InstallPluginCommand.java:248)
at org.elasticsearch.plugins.InstallPluginCommand.execute(InstallPluginCommand.java:216)
at org.elasticsearch.plugins.InstallPluginCommand.execute(InstallPluginCommand.java:202)
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:70)
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134)
at org.elasticsearch.cli.MultiCommand.execute(MultiCommand.java:69)
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134)
at org.elasticsearch.cli.Command.main(Command.java:90)
at org.elasticsearch.plugins.PluginCli.main(PluginCli.java:47)

same problem occurs to mine. Has the solution to it?

Hi guys, I'm checking it

hi @lior-k it's solved already. We can directly copy all files inside the zip to elasticsearch/plugins and it works perfectly.

Thanks for the tip @michaeltansytp
I fixed the issue. you can now follow the installation as stated in the readme file. Let me know if you find this useful.

Hi , sorry for the late reply. I tried the solution suggested by @michaeltansytp and ES wasn't starting.
@michaeltansytp  can you share the zip file or the files you're having inside the zip.
Need your help @lior-k

This issue is solved. Git pull and try without any work around. Just follow the instructions in the Readme

Tried , got error. It worked when i added one more "/" for file path
./bin/elasticsearch-plugin install file:///home/varun/Downloads/elasticSearchPlugins/fast-elasticsearch-vector-scoring/target/releases/elasticsearch-binary-vector-scoring-5.6.9.zip
Thanks @lior-k

Working, thanks @lior-k


wildcard prefix hostname validate fix

fixes: #12720
This kind of default/productpage is invalid

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: hzxuzhonghu
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

pilot/OWNERS [hzxuzhonghu]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

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

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
dd3e403e0ab31c3093e6a8422b79df13aa729830
link
/test istio-pilot-multicluster-e2e

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

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

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
dd3e403e0ab31c3093e6a8422b79df13aa729830
link
/test istio-pilot-multicluster-e2e

prow/istio-integ-k8s-tests.sh
dd3e403e0ab31c3093e6a8422b79df13aa729830
link
/test istio-integ-k8s-tests

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


Updates Are Applied To Turkish Translation

[+] Have you followed the contributing guidelines?
[+] Have you explained what your changes do, and why they add value to the Guides?

Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.

😊

😊


Use Stork search

Nextra now has built-in Stork search support.

Nice 🔥


Add Licensing info for Imageresizer 4.2.5

Type: Missing
Summary:
ImageResizer
Details:
Add Apache-2.0 License
Resolution:
License Url:
https://imageresizing.net/licenses/apache
https://github.com/imazen/resizer/blob/develop/LICENSE.md
Description:

Thank you for your contribution!


Turn off the expiration for experimental tables on BigQuery

Tables like experimental_summary_pages.2022_06_01_desktop are set to expire in ~1 month (IIRC). Let's disable expiration for now to prevent accidentally losing the data and having to rerun the pipeline.

Done


⚠ Bofrost.be has degraded performance

In 852530e, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1126 ms

Resolved: Bofrost.be performance has improved in 55e6597 after 7 minutes.


Float Backbuffer

Hey I've updated my game to this new version to work with 2021 (upgraded from 2019 and the old plugin)
I see that now the game uses a float back buffer instead of Unorm (integer) as it was.
This causes some additive shaders with negative values to actually subtract colors and cause some visual artifacts.
How can I force using Unorm back buffer? (When using the Oculus plugin it does not happen)
R8B8G8A8_Unorm on the previous version

R16G16B16_SFloats (here it seems like it is a signed float and twice the size wich also downgraded performance)

@1runeberg Is there any update on the Issue?

Hi sorry, this got lost in a sea of notifications.
This seems like a question best asked with Unity however?


Classification: recep_field.py

In the convolution part of the code the boundary for the window needs to be made 27 and not 15.
#Convolution
for i in range(28):
for j in range(28):
summ = 0
for m in ran:
for n in ran:
if (i+m)>=0 and (i+m)<=27 and (j+n)>=0 and (j+n)<=27:
summ = summ + w[ox+m][oy+n]*inp[i+m][j+n]/255
pot[i][j] = summ
return pot

yes，you are right!


refactor!: remove application address relay

Closes #225

Here in the library InputEncoding, it says such as portals and relays. Now there's only portals. So we should update this as well.
Also, now that we've removed address relay, I'm thinking about whether we need to introduce the new term relay at all, or should we keep using the word portal? On the other hand, the word relay still makes sense and is more general. What do you think?

Also, now that we've removed address relay, I'm thinking about whether we need to introduce the new term relay at all, or should we keep using the word portal?

I agree. Let's call them portals in another PR.


Disable telemetry for turbo CLI

The Turbo CLI sends usage telemetry by default without asking for consent. This change disables this telemetry-sending behavior. I've also added the informal standard DO_NOT_TRACK=1 environment variable in case any other tooling we use actually respects it.
How do I test this?
Checking the logs of the first build of this very PR and we no longer see the warning about Turbo sending telemetry.

@2rueSid, one more review here too?


Table text justification issue

Description
It seems there is no function to change the table text's justification, and it appears very weird when it's squeezed. Hope for a fix, thanks!

Reproduction URL
No response
Browsers
Chrome
OS
macOS

[ ] OMn  jemg

Have you tried show table: set par(justify: false)? This would disable justification in tables.

Have you tried show table: set par(justify: false)? This would disable justification in tables.

Can this not simply be closed? This seems to answer the question

thanks, it did help!


A way of reset

I can not find a way to reset service instance id, but maybe I am doing something wrong.

modify app_code

I can not find a way to reset service instance id, but maybe I am doing something wrong.

What do you mean reset? it looks like a strange requirement for me.

@wu-sheng - when testing the application I would find it useful to be able to reset it, but the simple solution to modify app_code does it for me, so I'm fine with that :-)

Got it, have fun.


Fix: Actually run phpstan in build

This PR

[x] adds a stan script to composer.json and runs it as part of the check script
[x] requires phpstan/phpstan-shim as a development dependency

@svpernova09
Any reason this doesn't get merged in?
I think this is rather critical.

Looks like we need to fix a few more things.

Thank you, @svpernova09!


Clarifications for Toilet entity and its properties; proposal of new properties

In this proposal i'd like to discuss properties of Toilet and usage of FoldingHandles.
Toilet
The Toilet entity has the following properties currently:

spaceInFront
spaceOnUsersRightSide
spaceOnUsersLeftSide
foldingHandles
hasFoldingHandles
heightOfBase

(1)
Could you please tell me, what "space" means, for instance in spaceOnUsersLeftSide? Do you mean the length or the depth of the area left/right of the user?
(2)
Using foldingHandles is a little bit narrow, because there are support handles which are not foldable. Would you be open to add more details here?

I would like to propose the following property additions to the Toilet entity.
The following properties clarify:

available space in the toilet
emergency bell information
door information
steps and handrail information till toilet

Property
Data Type

markedWithPictogramAsDisabledToilet
bool

areaInFrontOfWcLength
number

areaInFrontOfWcWidth
number

areaLeftOfWcLength
number

areaLeftOfWcWidth
number

areaRightOfWcLength
number

areaRightOfWcWidth
number

supportHandles (see below in FoldableHandles section)
SupportHandle [ ]

vanityBasinFittingActivation
string

stairs
Stairs[]

doors
Door[]

emergencyBellInsideToiletCabinAvailable replaced by emergencyBell
EquipmentInfo[ ]

leftSupportHandleFoldable located within FoldingHandle
bool

rightSupportHandleFoldable located within FoldingHandle
bool

stepsTillToiletAvailable
bool

numberOfStepsTillToilet
bool

stepsHeightTillToilet
number

stepsTillToiletContinuousHandrailLeftAvailable
bool

stepsTillToiletContinuousHandrailRightAvailable
bool

stepsTillToiletFirstLastColorized
bool

doorWidth
number

doorUnlockableFromOutside
bool

distanceFromGroundEmergencyBellInsideToiletCabin

FoldingHandle => SupportHandle
I would like to rename it to SupportHandle, because there are handles, which are not foldable. If you enforce FoldingHandle, other types of handles have to be created with the same/similar properties.
I would change it to:

Existing properties
Data Type

distanceBetweenHandles
Length

onUsersLeftSide
bool

onUsersRightSide
bool

topHeightFromFloor
Length

New properties

isFoldable
bool

Feel free to adapt the properties, if there is a more suitable word in English.
EDIT: I cancelled Door and Stairs related properties in favor of using Door and Stairs instances directly.
EDIT 2: Relation to FoldableHandles discussed; proposal to renaming it to SupportHandle.

I reworked my proposal (e.g. added critics about FoldableHandle).

Could you please tell me, what "space" means, for instance in spaceOnUsersLeftSide? Do you mean the length or the depth of the area left/right of the user?

Space means the length/width/depth of clearance, from the user's perspective (while using the facility).
I'd leave the single properties for measurements and add a description how they are to be used:

I've renamed the word FoldingHandles to the correct English term GrabBars (plural, as it's defining a fixed structure named with a plural word in English) for the next release, and added the foldable property.
What do you mean by vanityBasinFittingActivation?

vanityBasinFittingActivation is used to describe activation mechanism of the tap/valve at the basin.

Ah, thanks!
I'd move this to a separate entity describing a tap activation mechanism. In our new office I've learned that this can be complex. For whatever reason, the tap in our office kitchen has 3 interdependent activation mechanisms, and for taps inside toilets, there is stuff like this:


Shared resources (resx) does not work in .net core 3.1 and VS 16.4

Describe the bug
Shared resources has stopped working since .net core 3.1 / vs.16.4.
Works with vs 16.3.4 and .net core 3.0
To Reproduce
examplecode: https://github.com/Weboholics/ResourceTest
Run this code in vs.16.4  and notice that the shared resources does not work. View resources does work. This is on the /home/index page.
Changing to 3.0 under vs 16.4 does not work either.
If you change visual studio to 16.3.4 and runtime to 3.0 it will work.

ASP.NET Core version: 3.1
The IDE (VS / VS Code/ VS4Mac) you're running on, and it's version: vs 16.4.0

@livarcocc Seems related to the MSBuild issue with resource paths?  Should we move this to dotnet/sdk?

Yes. Feel free to move it. I will ask Ben to take a look at it.

This issue was moved to dotnet/sdk#4033


301's not correctly generated

I'm running prerender locally to try it out, behind an Nginx server. When I set the 404 prerender-status-code meta tag in my Angular application, the page is rendered correctly and a 404 is returned.
However, I'm redirecting certain pages where the page has been typed incorrectly to the correct page. In Angular I'm doing this with the $location.path() function. Now, I want prerender to generate a 301 on this page, so I've set the prerender-status-code and prerender-header meta tags. However, I'm getting back a 200; the rendered page under the incorrect URL.
$location.path() is only called when the escaped_fragment query parameter is not present. I'm setting the window.prerenderReady variable to true right after I've set the 301 meta tags.
Is there something I'm missing here to correctly return the 301 instead of the 200?

The Prerender server does not send _escaped_fragment_ through to your website when it makes a request so it sounds like you are doing the $location.path() which is clearing out the page to render the new page (causing the meta tags to be removed). You might want to instead check the user agent to see if it contains "Prerender" in order to prevent the redirect.

Thanks, that was indeed the issue. This works:
if ($window.navigator.userAgent.toLowercase().indexOf("prerender") === -1) {
    $location.path(...);
}

Great!


Tray icons don't scale up with HiDPI monitor and i3

I'm using polybar with i3, and I'm using a HiDPI monitor.
here's how it looks like

I don't know if the issue is with polybar or i3 (my i3 config has no bar configuration in it)
I saw that there's a config in polybar called tray-scale however all it does is move the icons around and it doesn't make them bigger.
Here's what I see with tray-scale = 2.0

github.com/jaagr/polybar/issues/398

Thanks, that fixed it.

It doesn't work for me

Try to use these the following confs:
tray-scale = 1.0
tray-maxsize = 28

make sure you are using the right DPI/SCALE for GTK/QT.


Update main.py

Change call to clock() method from time to time() method from time in order to function with python 3.8 and piglet 1.5.9

Updating process_queue() method to use time.time() method


Name or classify tasks spawned by the subscriber runtime

The subscriber starts its own runtime and server, and those tasks are instrumented and shown in the Console too. That is actually useful in some situations. But it also can be distracting. It would help if we could name or classify any tasks in that runtime to help a user viewing the Console, so they understand "oh, those aren't my tasks".

Since using the console already requires enabling tokio_unstable, we can probably just use task::Builder to add a name, anywhere we spawn a task.
In the future, it would be nice to be able to associate tasks with runtimes, and name runtimes as well. That way, we could say things like "hide all tasks belonging to the console runtime". But that would require new instrumentation in Tokio, so it's a bigger project.

#117 added names to the console's aggregate and serve tasks. However, we can't easily name the per-connection tasks spawned by Tonic without switching to tonic's lower-level API and writing our own accept loop to spawn those tasks on our own. We'll do that in a subsequent branch (or consider changes upstream?)

Could the many tonic / hyper tasks be filtered out using spans and layers?
I don't know enough about tracing to know if logic like metadata.is_within_span is implementable.
When debugging a hyper-based application this is a lot of noise, ways to hide or at least distinguish would be welcome.

@g2p it's definitely possible to use dynamic_filter_fn to filter out those spans at the subscriber-level, but I think the best long-term solution is to add filtering to the console UI: https://github.com/tokio-rs/console/issues/131


Support breakpoint map for fs-scale

Allow for passing a breakpoint map for scale attributes similar to poly-fluid-sizing
https://github.com/Jakobud/poly-fluid-sizing

https://threespot.slack.com/archives/GSN56HNNA/p1610123589183900

https://threespot.slack.com/archives/GSN56HNNA/p1610123589183900

Added as part of v3.9 https://github.com/Threespot/frontline-sass/releases/tag/v3.9.0

Added as part of v3.9 https://github.com/Threespot/frontline-sass/releases/tag/v3.9.0


Unable to download report from ATA

I have a ATA 1.9.7312.32791. When ever i go to reports and try to download, it would not download with a error. please help. I am very sure it is not the browser issue and i have reinstall ATA a few times, and even create a new OS from start and reinstall it. Seems like it does not work.

Thanks for your comment.
From the screen you sent, you are not running the latest version of ATA (ATA 1.9 Update 1).
Download ATA v1.9, update 1 here
If your report download issue is not resolved with the update, reach out to support to help you troubleshoot this specific issue.

@Zanber82 Open a support case

After much struggling, no money to log a case, below is the answer
Turn off IE Enhance Security Configuration.


 Did you manually call torch.cuda.* functions, have moved the model to the device, or allocated memory on the GPU any other way? Please remove any such calls, or change the selected strategy. You will have to restart the Python kernel.

However, going to https://lightning.ai/docs/pytorch/stable/extensions/strategy.html, it is not clear what strategy would remove this problem. I have not had this issue before, so I assume that some portion of lightning has become more fussy about this. In fact, I must admit that the description of the strategies are pretty unhelpful. I am running a single model on a single gpu, so which strategy is that?
cc @borda

Hey @kaare-mikkelsen
In which version of Lightning did this happen and what arguments did you pass to the Trainer.

Hello awaelchli
conda list lightning
\# packages in environment at /home/knox/.conda/envs/torc2:
\#
\# Name                    Version                   Build  Channel
lightning-utilities       0.9.0              pyhd8ed1ab_0    conda-forge
pytorch-lightning         2.0.9              pyhd8ed1ab_0    conda-forge

Trainer call looks like this:

trainerKeys={'deterministic':True,
             'logger':neptune_logger,
             'enable_progress_bar':True,
             'benchmark':True,
             'callbacks':[EarlyStopping(monitor="valKappa", mode="max",patience=10)]}

trainerKeys['accelerator']='gpu'
trainerKeys['devices']=1
trainerKeys['max_epochs']=30

trainer=pl.Trainer(**trainerKeys)

I call torch.cuda.is_available() in order to be able to run the same code on both gpu-enabled nodes and a laptop without a GPU installed.

@kaare-mikkelsen This error won't happen if you run on one GPU. You must have accidentally run with multiple GPUs and then this happened.

@awaelchli
Thank you. adding os.environ["CUDA_VISIBLE_DEVICES"]="1" to the top of my script makes the error go away.

@kaare-mikkelsen I run into the same issue while running on multiple GPUs. I want to use multiple GPUs. How to handle the error?

Hi Patel, I run multiple GPUs, did you manage to solve this error?

Nope @xakirasa.


WebGLPointsLayer style: icon-scale doesn't work with [ 'get', 'scale']

Describe the bug
Using a webgl points layer worked in 9.2.2, to scale the icons the style included:
'icon-scale': [ 'get', 'scale', 'number' ]

Testing with 9.2.4 and 10.0.0, changed the style to:
'icon-scale': [ 'get', 'scale' ]

This doesn't show any icons (testing with the scale property being set to 0.5 for all markers).
Using a fixed number works though:
'icon-scale': 0.5

This commit seems to have recently touched the code, but i don't quite understand the code that parses the style: https://github.com/openlayers/openlayers/commit/993af2edfe43e0c8b41c97769e378fb85d8d6117
To Reproduce
https://openlayers.org/en/latest/examples/webgl-points-layer.html
Select icons, use this style
{
  "icon-scale": [ "*" , 0.000002, [ "get", "population" ] ],
  "icon-src": "data/icon.png",
  "icon-width": 18,
  "icon-height": 28,
  "icon-color": "lightyellow",
  "icon-rotate-with-view": false,
  "icon-displacement": [
    0,
    9
  ]
}

To check that the scale is reasonable, this style works:
{
  "circle-radius": [
    "*",
    0.000002,
    [
      "get",
      "population"
    ]
  ],
  "circle-fill-color": [
    "match",
    [
      "get",
      "hover"
    ],
    1,
    "#ff3f3f",
    "#006688"
  ],
  "circle-rotate-with-view": false,
  "circle-displacement": [
    0,
    0
  ],
  "circle-opacity": [
    "interpolate",
    [
      "linear"
    ],
    [
      "get",
      "population"
    ],
    40000,
    0.6,
    2000000,
    0.92
  ]
}

Expected behavior
Icons should scale according to a marker property.

Found a work-around:
 'icon-scale': [ 'array', ['get', 'scale'], ['get', 'scale'] ],

I'll leave this issue open regardless as a single number was working fine before 9.2.3


Icon request: HashiCorp

URL for the brand / site / app
https://www.hashicorp.com/
Logo resources for the icon
https://www.hashicorp.com/brand
Proof of the Aegis-compatible 2FA
Documentation page: Introduction to Multi-Factor Authentication
The page states:

HCP offers one method of MFA called one-time password (OTP).

And includes an example of setting up 2 factor authentication with a scannable QR code.
Also see entry on 2FA Directory.
Anything else?
The "Brand Kit" item from the press kit page is a ZIP file.  For a square logo, the file Brand Kit/Logos/Corporate/Logos/Logomark/RGB/SVG/HashiCorp_Logomark_Black_RGB.svg in the ZIP file would probably be most ideal.
Confirmation

[X] I have read and followed the issue guidelines & issue form.

Here you go!
https://github.com/aegis-icons/aegis-icons/blob/master/icons/1_Primary/HashiCorp.svg
https://github.com/aegis-icons/aegis-icons/blob/master/icons/2_Variations/HashiCorp bg.var.svg

:question: How to add icon(s) to Aegis?
:star: Support this project by giving a star! Just adding like to this comment is also appreciated.


Additional alternative literal for strings

I really enjoy using pipes | for surrounding string literals and other kinds of literals in ruby. Would it be possible to support that too?

Is there a case you remember where using one of ( [ < wasn't enough?

Mostly code examples, docs. That kind of thing. I use pipe because the
others are more commonly used and pipe isn't nearly as common except when
showing shell code.
I like to use one literal rather consistently. In Ruby, I use it for every
literal that I can.
On Sep 25, 2015 12:23 PM, "Ary Borenszweig"<EMAIL_ADDRESS>wrote:

Is there a case you remember where using one of ( [ < wasn't enough?
—
Reply to this email directly or view it on GitHub
https://github.com/manastech/crystal/issues/1598#issuecomment-143330674.

I'm closing this. This adds more syntax variations that are not very needed. I mostly see the delimiters I mentioned above when I write/browse Ruby code. In other cases heredoc can be used. The less syntax variation there is and users have to learn, the better.

That works for me, I'll just write ruby like I write ruby and write crystal
some other way.
On Sat, Mar 19, 2016 at 7:44 AM, Ary Borenszweig<EMAIL_ADDRESS>wrote:

I'm closing this. This adds more syntax variations that are not very
needed. I mostly see the delimiters I mentioned above when I write/browse
Ruby code. In other cases heredoc can be used. The less syntax variation
there is and users have to learn, the better.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/crystal-lang/crystal/issues/1598#issuecomment-198715147


Unable to resolve play-swagger

Hi All,
I'm trying to run the example project. I changed
// play swagger plugin
addSbtPlugin("com.iheart" % "sbt-play-swagger" % "0.5.10-SNAPSHOT")
to
// play swagger plugin
addSbtPlugin("com.iheart" % "sbt-play-swagger" % "0.5.1")
and tried to run update in activator console (tried package and run with a similar result). Here what I'm getting:
[info] Resolving com.iheart#play-swagger_2.11;0.5.1 ...
[warn]  module not found: com.iheart#play-swagger_2.11;0.5.1
[warn] ==== local: tried
[warn]   /Users/John/.ivy2/local/com.iheart/play-swagger_2.11/0.5.1/ivys/ivy.xml
[warn] ==== public: tried
[warn]   https://repo1.maven.org/maven2/com/iheart/play-swagger_2.11/0.5.1/play-swagger_2.11-0.5.1.pom
[warn] ==== activator-launcher-local: tried
[warn]   /usr/local/Cellar/typesafe-activator/1.3.10/repository/com.iheart/play-swagger_2.11/0.5.1/ivys/ivy.xml
[warn] ==== typesafe-releases: tried
[warn]   https://repo.typesafe.com/typesafe/releases/com/iheart/play-swagger_2.11/0.5.1/play-swagger_2.11-0.5.1.pom
[warn] ==== typesafe-ivy-releasez: tried
[warn]   https://repo.typesafe.com/typesafe/ivy-releases/com.iheart/play-swagger_2.11/0.5.1/ivys/ivy.xml
[info] Resolving jline#jline;2.12.1 ...
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: com.iheart#play-swagger_2.11;0.5.1: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]
[warn]  Note: Unresolved dependencies path:
[warn]      com.iheart:play-swagger_2.11:0.5.1 ((com.iheart.sbtPlaySwagger.SwaggerPlugin) SwaggerPlugin.scala#L27)
[warn]        +- example:example_2.11:1.0-SNAPSHOT
[trace] Stack trace suppressed: run last *:update for the full output.
[error] (*:update) sbt.ResolveException: unresolved dependency: com.iheart#play-swagger_2.11;0.5.1: not found

I found why, I missed this line:
resolvers += Resolver.jcenterRepo
I believe that something should be added to "Get Started"

Thanks very much @anisimovsergey !

This is a bug in the sbt plugin which should probably add the resolvers += Resolver.jcenterRepo settings

fix released as 0.5.2

Putting the path in ~/.sbt/repositories that had a version for Scala 2.10 that worked with my sbt 0.13 worked for me:
[repositories]
local
iheart-sbt-plugin-releases: https://dl.bintray.com/iheartradio/sbt-plugins, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier] ).[ext]
iheart-play-swagger_2.11-releases: https://jcenter.bintray.com

and the jcenter version for sbt publishLocal


Android smoke tests

Added tests for each external function that points to core, it is more than just smoke tests because it tests every okay result and almost every error (doesn't test an error if it is an unexpected error or is unreasonably hard to invoke in a test) (close #119 )
You have to build the macos jni, windows jni, or linux jni from core to be able to run the tests, which is respectively make macos_jni, make windows_jni, and make linux_jni. The macos make command is comfirmed to work, but windows and linux one isn't so it needs to be tested by someone else. Next you have to add a vm option that helps java find the library, in android studio you can do this by editing the junit test running template, so it will run on each subsequent test:
-ea -Djava.library.path=-ea -Djava.library.path="/lockbook/clients/android/core/src/main/jniLibs/desktop/"
Added ci/cd for kotlin tests

Closes #119

This should fix #189 as well


[Bug] Triply-redeclared types defining methods annotated by self-referential relative forward references fail inscrutably (much like this title)

I am sorry to turn up to the bear's cave yet again, but I must beseech thee for assistance!
Recently I've been doing a lot of cryptographic research in IPython notebooks, and use the bear's wisdom to keep myself sane by enforcing more complex type hints than mypy will cope with (see #350 for the levels of dark magic I would like to be able to invoke, but such arcane incantations are not involved here).
Recently I've run up against some oddness where repeated evaluations of a notebook cell exhibiting a certain pattern will flop between successfully passing the bear's scrutiny and getting swiped at by its claws. In particular, this only happens within a live IPython session where I am re-evaluating a cell that requests the bear's scrutiny.
So What Is This Pattern?
Yeah, good point. I should probably provide some code that shows the issue.
from beartype import beartype

@beartype
class MyClass:
    attribute: int

    def __init__(self, attr: int) -> None:
        self.attribute = attr

    @classmethod
    def new_incremented(cls, attr: int) -> "MyClass":
        return MyClass(attr + 1)

instance = MyClass.new_incremented(10)

Any guesses as to what the 50%-of-the-time complaint is?
BeartypeCallHintReturnViolation: Class method __main__.MyClass.new_incremented() return <__main__.MyClass object at 0x107ecc990> violates type hint 'MyClass', as <class "__main__.MyClass"> <__main__.MyClass object at 0x107ecc990> not instance of <class "__main__.MyClass">.

Seems a bit odd, though I can imagine why it's happening.
Theories from the Typing Codices
Now I've obviously not spent anywhere near enough time in the internals of beartype to really understand the deep magicks it uses, but I can see a potential cause for this. Jupyter (or really IPython) keeps things around in an interactive session, and I think that this may well be the crux of the issue:

When we first execute the notebook, MyClass gets defined successfully, and the deferred "MyClass" type hint on new_incremented is not resolved until that class definition is done! Awesome!
However, when we execute that cell again, MyClass is already defined. I can easily see that beartype might resolve that type hint as soon as it can in that case, for performance!
But therein lies the rub! By the time we get to calling new_incremented, the MyClass it is being called on is a new definition of the class (and hence returning an instance of that new definition), and not the one that was hanging around from the previous execution!
Boom! Type hint violation! We did indeed return an instance of MyClass that was not an instance of MyClass! Oops!

Frankly I have no clue how one might resolve this. It might be very simple, or fiendishly complicated, but it is not for me to tell the great bear its business!
Blood for the Bear God
No bug report can come without ritual sacrifice (I think), so here's all the information that should be necessary, as well as a small repro that you can use!
Beartype Version: 0.18.2 (as mentioned in the title)
Python Version: 3.11.8
Jupyter Version: 1.0.0
I will note that this happens with from __future__ import annotations as well, rather than the string-y type hint declaration.
All you need to run this is a notebook execution environment with IPython and beartype installed, so I've set one up here that you can use as follows:

Clone the repo.
poetry install --no-root
Launch the notebook in your host of choice and make sure it is pointed at the venv listed by poetry env list.
Run the whole notebook once. It will complete without errors.
Run it twice more. It will give some variation of the above error.

I wonder if this might be fixed by any of the machinery used to fix #364?

tl;dr: Please globally replace all relative forward references of the form "{class_name}" with the typing.Self type hint. See below for long-winded blowhard discussion.
Yes! It's my favourite bleeding-edge typonista, @iamrecursion. I now ramble incoherently.

Recently I've been doing a lot of cryptographic research...

...heh.  Oh, Gods. This is like Matt Damon's infamous "Good Will Hunting" NSA interview scene all over again, isn't it? Pretty sure that's where I almost ended up when I took the military's cryptography test in high school. But... why? Why did I do that!? Poverty of both wallet and imagination is the answer. The Army head-hunted me for literally years after I took that test. Thankfully, I instead chose to live in a rotting cabin in the woods with coywolves and beavers. Score 1: @leycec.
I now inexplicably want a quantum computer – whatever that is. :smile:

use the bear's wisdom

Sadly, the bear is only as wise as its creator. These are clearly dire times.

enforcing more complex type hints than mypy will cope with

Hah! I always knew mypy couldn't cope with the harsh reality. Now, we have official confirmation.
...wait. Even @beartype doesn't do what you want yet. Nobody's coping with the harsh reality of your codebase, huh? Cryptography. My head hurts just thinking about post-quantum. It's probably because I have no hair. If I still had hair, surely everything would be easier like when I still had youth. :smiling_face_with_tear:
...wait. What are we even chatbotting about here? Wasn't there an issue somewhere around here...
BeartypeCallHintReturnViolation: Class method __main__.MyClass.new_incremented() return
<__main__.MyClass object at 0x107ecc990> violates type hint 'MyClass', as <class "__main__.MyClass">
<__main__.MyClass object at 0x107ecc990> not instance of <class "__main__.MyClass">.

Oh. Right. I sigh mournfully in the black despair of a windy Friday evening. The cat is wheezing. Will nothing go right?
Jupyter + Forward References = :boom:
Oh, Gods. Non-determinism in Jupyter, huh? Your educated guess is uncomfortably educated. It's almost like you should be authoring the @beartype codebase instead of me. Please! Help! Author the @beartype codebase instead of me!
I jest, of course. I jest badly. I'm no longer funny at all.
So, you're right about everything. Forward references are a perpetual pain point (P3) for runtime type-checkers. Doubly so for forward references in frequently re-evaluated Jupyter cells. Each time you re-evaluate a cell defining a class, you redefine that class as a new object with a unique identity. Although the recently deceased and newly resurrected classes share the same names, they're otherwise distinct types that basically share nothing in common from @beartype's admittedly autistic low-level perspective. As an autist, I can say things like that.
For efficiency, @beartype caches previously instantiated forward reference proxy objects as well as the user-defined classes those proxies resolved to. Almost certainly, the problem lives here.
Even so, @beartype should be doing the right deterministic thing. Due to prior issues like this, @beartype already:

Internally detects when you're redefining a previously defined class decorated by the @beartype decorator.
Responds by clearing all internal type-checking caches – .

I double-checked just now, because I no longer trust my younger self. Indeed, @beartype is doing both of those things. Even unit tests agree. I'm stumped like a suspicious mound of Sandkings in your backyard. For example, you'd think that something like the following would exhibit your exact issue...
...wait! That's it. By generalizing your original example, we obtain this shambolic horror:
from beartype import beartype

for _ in range(3):
    @beartype
    class MyClass:
        attribute: int

        def __init__(self, attr: int) -> None:
            self.attribute = attr

        @classmethod
        def new_incremented(cls, attr: int) -> "MyClass":
            return MyClass(attr + 1)

    instance = MyClass.new_incremented(10)

...which deterministically raises your exception:
beartype.roar.BeartypeCallHintReturnViolation: Class method __main__.MyClass.new_incremented() return
<__main__.MyClass object at 0x7f4557cf4e60> violates type hint 'MyClass', as
<class "__main__.MyClass"> <__main__.MyClass object at 0x7f4557cf4e60> not instance of
<class "__main__.MyClass">.

Oddly, it has to be 3 iterations. 2 is too few. Let's escalate this issue to official bugdom. If you can reproduce it, you can kill it.
And what is this...

Blood for the Bear God

W40K memes in my issue tracker!? Bear-Nurgle approves before spewing sickening honey everywhere.
Piously Plead for Workarounds and Bear-Nurgle Shall Provide
You're in luck. It's Friday and I'm feeling magnanimous like a bloated royal from the 1100's. If you wouldn't mind trivially refactoring your code in a bothersome way that will annoy you to no end, @beartype will happily satisfy your code's every desire to work. Specifically, please globally replace all relative forward references of the form "{class_name}" with the typing.Self type hint ala:
from beartype import beartype
from typing import Self

@beartype
class MyClass:
    attribute: int

    def __init__(self, attr: int) -> None:
        self.attribute = attr

    @classmethod
    def new_incremented(cls, attr: int) -> Self:
        return MyClass(attr + 1)

instance = MyClass.new_incremented(10)

I can confirm that type-checks deterministically across 10,000 repeat declarations of the same class. Of course, that will probably fail on the 10,001th iteration. (If you don't test it, it's broken.)
Indeed, globally replacing all relative forward references of the form "{class_name}" with the typing.Self type hint is a good idea anyway irrespective of this issue. For various reasons that reduce to "@leycec is waving his noodly appendages," type-checking typing.Self is a lot faster (and robuster) than type-checking relative forward references.
@beartype: it hardly ever works, but when it does, it works.

Resolved by 1204de437e40ba. Somebody, please feed @beartype coins the size of the world. Thank you. :coin: :earth_americas: → :bear:

I would like to preface all of this long-winded babbling with a hearty thanks for such a rapid fix @leycec! You are truly doing the bear's work here, and "bleeding edge" is indeed right it seems!

tl;dr: Please globally replace all relative forward references of the form "{class_name}" with the typing.Self type hint. See below for long-winded blowhard discussion.

Unfortunately this causes MyPy to balk! Either it is not as wise as our dear bear, or something else is going on!
beartype_pls.ipynb:cell_1:14: error: Incompatible return value type (got "MyClass", expected "Self")  [return-value]

Now this is curious! Beartype is always happy, but MyPy is not! Let's give ourselves something concrete to chew on!
from typing import Self
from beartype import beartype

@beartype
class MyClass:
    attribute: int

    def __init__(self, attr: int) -> None:
        self.attribute = attr

    @classmethod
    def new_incremented(cls, attr: int) -> Self:
        return MyClass(attr + 1)

    @classmethod
    def mypy_happy(cls, attr: int) -> Self:
        return cls(attr + 1)

instance = MyClass.new_incremented(10)

Would you believe that it doesn't think that explicitly naming the class in question satisfies the Self type annotation? I totally would.
Based on my reading of the Self typing spec, both the bear and the python are unfortunately correct. The bear sees at runtime that we have not broken anything, while MyPy can only deal with the static nature to know that cls is the correct class instance!
Thankfully it is simple enough to construct the instance using cls(...) instead of explicitly naming things. More robust too I'd wager!
Phew!

For various reasons that reduce to "@leycec is waving his noodly appendages," type-checking typing.Self is a lot faster (and robuster) than type-checking relative forward references.

I had known about the speed differential, but had previously intended that this class method did indeed return an instance of the base type, rather than the derived type. That means that the explicit naming would be necessary! Thankfully you are correct in this case and my assuptions had changed!
The bear's wisdom indeed!!

It's almost like you should be authoring the https://github.com/beartype codebase instead of me. Please! Help! Author the https://github.com/beartype codebase instead of me!

I can say nothing to doing it instead of you, but I genuinely am up for helping to the best of my ability, starting with #350 if you think it doable within the codebase! Type checkers are a terrible twisted kind of home for me, and while I have little experience with runtime ones I am sure I could do some good. Perhaps!


Notifications UX

We need to explore improving the way that we display warnings, errors and notifications to users. Currently we have a variety of mechanisms (info in status bar, details in quick open, error/warning dialog).
We need a consistent way that prompts the user when there are notifications/errors/warnings for them to pay attention to and a consistent affordance for the user to get a holistic view of all of the notitications/errors/warnings.

I'm agree with you.
It would be great to have a notifications center.
For extensions, status bar messages is the only way to display info for a short time without disturbing the user too much, but it is difficult to attract the attention.
The only way is to show a warning|info|error message, but the user must interact with it which is not necessary in most cases. So, a notification center would be a great enhancement to track non blocking messages (displayed for 5 seconds only by default for example).

We really cannot believe you introduced this kind of annoying feature, especially because every other IDE has solved this kind of message-handling years ago in a perfect way: the usual solution does not annoy users and nobody reclaims that they are missing notification.
Therefore, it's really strange that you need more than 2 years to roll it back and reapply the old and great working concept.

Duplicate of https://github.com/Microsoft/vscode/issues/22388


All good, r+


dfilemaker floating point exception

using dfilemaker to create large file with deep tree renders  Floating point exception:
following parameters were used:
dfilemaker   ntotal<PHONE_NUMBER>    nlevels 100      maxflen21990232555520
[mutt6:321964] *** Process received signal ***
[mutt6:321964] Signal: Floating point exception (8)
[mutt6:321964] Signal code:  (-6)
[mutt6:321964] Failing at address: 0x7b1b0004e9ac
[mutt6:321964] [ 0] /lib64/libc.so.6(+0x4e5b0)[0x1555542b45b0]
[mutt6:321964] [ 1] /g/g0/carbonne/build/src/dfilemaker/dfilemaker(main+0x534)[0x403f9b]
[mutt6:321964] [ 2] /lib64/libc.so.6(__libc_start_main+0xe5)[0x1555542a07e5]
[mutt6:321964] [ 3] /g/g0/carbonne/build/src/dfilemaker/dfilemaker(_start+0x2e)[0x4024ee]
[mutt6:321964] *** End of error message ***
Floating point exception (core dumped)
This issue needs to be addressed before we put dfilemaker in production.

@carbonneau1 what args and node/process counts triggered this?

@carbonneau1 I'm unable to reproduce this with the current dfilemaker code, which has changed a lot with Levatin's commits and mine.  Please try again and let me know if you can still reproduce the issue.

I was waiting for your changes that are in the area of the failure. I will test it again and let you know.

After the changes from Olaf we can no longer reproduce this issue. I am closing it.


When fill material is AIR, whole GUI is bricked

When setting fill material to AIR, GUI being unusable, clicked items not reacting properly

I don't think AIR is considered a valid item. If you don't want items in your GUI, look into slot actions. https://github.com/TriumphTeam/triumph-gui/blob/eb16b04329c746989fa1847a6cf4cd3333e6c369/core/src/main/java/dev/triumphteam/gui/guis/BaseGui.java#L429-L451


[Feature]: Add Star rating widget

Is your feature request related to a problem? Please describe.

I want to add a star rating widget in Feedback page instead of the rating text box. That will make this website more beautiful.
PA please assign me this task.
Checklist

[X] I have checked the Existing Issues
[X] I have read the Contributing Guidelines
[X] I want to work on this issue. (optional)

this issue was raised before, and they are updating the page with star rating. You can check in issues section.
So i am closing this issue.
Please understand.

@vivekvardhan2810 If he doesn't add this feature in 2 days then please assign me.. I am waiting


Draft es_MX

Draft es_MX translations
Can verify that es_MX is used if based off the language preference of the browser (see attached; note the image is not translated yet).
Per the log files, the img src is also acknowledging es_MX:
<IP_ADDRESS> - - [17/May/2021 18:09:33] "GET /static/img/es_mx/how-it-works.svg HTTP/1.1" 200 -

For reference, the following pybabel commands were used:
$ pybabel extract -F ../babel.cfg . -o translations/base.pot
$ pybabel init -l es_MX en_US -i translations/base.pot -d translations
$ pybabel init -l en_US -i translations/base.pot -d translations
$ pybabel compile -d translations -f

And naive translations performed using Poedit which seems to be commonly recommended. Note that the translations here were manually done with Google translate although it might be worth the few dollars to get a license for Poedit.

Note: new_results_page.jinja2 was not extracted due to a jinja2 syntax item, and apparently pybabel is by default silent on failure. Updates coming

....I'm not sure if we want to include this in the repo or not, but I wrote a brief script for autotranslating:
import googletrans
import polib
import click

@click.command()
@click.option('--pofile', help='The file to translate',
              type=click.Path(exists=True), required=True)
@click.option('--locale', help='The locale to translate into', type=str,
              required=True)
@click.option('--output', help='A file to save into (if not specified, '
              'saves inplace)', required=False, type=click.Path(exists=False))
def trans(pofile, locale, output):
    # verify the locale name is in the path of the pofile
    assert locale in pofile
    pofile = polib.pofile(pofile)

    # example interaction based on https://github.com/Brandon1016/poTranslate (MIT license)
    translator = googletrans.Translator()
    entries = pofile.untranslated_entries()
    entries.extend(pofile.fuzzy_entries())
    for entry in pofile.untranslated_entries():
        translated = translator.translate(entry.msgid, dest=locale)
        entry.msgstr = translated.text

    if output is not None:
        pofile.save(output)
    else:
        pofile.save()

if __name__ == '__main__':
    trans()


Update how-to-connect-fed-group-claims.md

Remove 'preview' tagging in preparation for GA of feature

@paulgarn : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Hi @billmath
Could you review the proposed changes to your article?
Thanks!

Just realised I also need to update screenshots to with versions without the preview tag on them

#sign-off

@billmath Thanks for your review.
@paulgarn Do you want us to merge this PR as-is now, or do you want to add updated images to this PR?

@paulgarn Do you want us to merge this PR as-is now, or do you want to add updated images to this PR?

@billmath Do you have a preference? Thanks.

Let's go ahead and merge this and the images can be updated separately. Thanks.


LoxBerry Integration

Should be integrated in http://www.loxwiki.eu/display/LOXBERRY/LoxBerry

There is a plugin: https://github.com/andweber/loxberry-plugin-kalliope/
http://www.loxwiki.eu/display/LOXBERRY/Kalliope


Typo in Sample

Hi.
Just a small typo on the second code sample :
as stated in the "New-AzLoadBalancerBackendAddressConfig" documentation the correct vNet parameter is "-VirtualNetworkid" and its value should be VirtualNetwork.id
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: ed6443fd-7d44-4afe-803e-78bd61b6aee9
Version Independent ID: d625cea4-d72c-933d-f4ff-8ce717a32d9a
Content: Backend Pool Management - Azure Load Balancer
Content Source: articles/load-balancer/backend-pool-management.md
Service: load-balancer
GitHub Login: @asudbring
Microsoft Alias: allensu

Hello @renaudwangler
Thank you for your feedback! We will review and update as appropriate.

Hello @renaudwangler, Thank you for your feedback. The doc author has made the suggested change in the documentation.

We will now proceed to close this issue out. Please tag me in your response if you have any additional questions. Thank you!


Latest version of azure-storage-queue doesn't have QueueService function. Please make the necessary changes to the page

>>> from azure.storage.queue import QueueService
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: cannot import name 'QueueService'

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

ID: a1242be4-e5a7-b6ae-74f5-94eca39b79a4
Version Independent ID: f2c47895-2837-a658-60f4-46f0dc46f572
Content: How to use Azure Queue storage from Python - Azure Storage
Content Source: articles/storage/queues/storage-python-how-to-use-queue-storage.md
Service: storage
Sub-service: queues
GitHub Login: @mhopkins-msft
Microsoft Alias: mhopkins

@AkshayTharval Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

QueueService has been renamed to QueueServiceClient.

Hi @AkshayTharval,
A new quickstart article using the latest version (v12) of the Python library will be published this week. We may keep this article around for people using the previous version. If so, we'll label it with the version to which it applies.
Thanks for your feedback!
~ Mark
#please-close

Hi, Is this fixed . I'm using version 12.1.1 and still face the error

from azure.storage.queue import QueueServiceClient
Traceback (most recent call last):
File "", line 1, in
ImportError: cannot import name 'QueueServiceClient'

Hi @rajeshr6r
Please run the pip freeze command to make sure you are using azure-storage-queue version 12 or later. QueueServiceClient is definitely part of version 12.
Please see the quickstart for v12 here: Quickstart: Azure Queue storage client library v12 for Python.
Thanks,
~ Mark

Hello Mark,
Thanks . It solved the problem . I'm surprised why the previous pip install
that I fired from VS Code virtual environment indeed pulled a lower version
2.1.x something . I upgraded it to 12.x
*Rajesh R *
*India : + 91 9819-937-639 *
<EMAIL_ADDRESS><EMAIL_ADDRESS>On Fri, Jun 5, 2020 at 7:15 AM Mark Hopkins<EMAIL_ADDRESS>wrote:

Hi @rajeshr6r https://github.com/rajeshr6r
Please run the pip freeze command to make sure you are using
azure-storage-queue version 12 or later. QueueServiceClient is definitely
part of version 12.
Please see the quickstart for v12 here: Quickstart: Azure Queue storage
client library v12 for Python
https://docs.microsoft.com/azure/storage/queues/storage-quickstart-queues-python
.
Thanks,
~ Mark
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/azure-docs/issues/42228#issuecomment-639208678,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEJMBHBY2VVSUEMFM2MEWELRVBEZ5ANCNFSM4JJWFXGA
.

@rajeshr6r good to hear! Have a great weekend.


BUG: "winegstreamer: failed to create decodebin, are 64-bit GStreamer "base" plugins installed?" Seeing this error with Bottles when running a game

Describe the bug
When running a game with Bottles, I am seeing this error.

The effect of this is that no videos ingame are playing. From reading the error, I feel that there's some configuration that I'm missing or some base package that I need to add from the Nixpkgs repo. Please help
Steps To Reproduce
Steps to reproduce the behavior:

Open game "Disintegration"
Notice no videos playing
Check bottles logs and see this

Expected behavior
Videos work in game
Notify maintainers
@SuperSamus I saw that you also spotted and fixed this here
https://github.com/NixOS/nixpkgs/issues/207641
Any help is appreciated 🙂
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
output here

system: "x86_64-linux"
host os: Linux 6.6.30, NixOS, 24.05 (Uakari), 24.05pre623656.f1010e0469db
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.18.2
channels(root): "nixos"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

What Wine version are you using? (And is it from the system?)
Could I have more logs?

What Wine version are you using? (And is it from the system?)
When you say Wine version, you mean the Runner, right? Because I don't specifically choose Wine, it's whatever is the default being used by Bottles as part of this Runner that I'm using. It's soda-9.0.1, the latest.

Is there any change if you set the environment variable BOTTLES_USE_SYSTEM_GSTREAMER?
Could I have more logs?

I set it by running the bottles app from a terminal and that is how I've been looking at logs data. Attaching screenshots of the entire log.

You'll notice at the top that I started the bottles program with the variable set.
And at the very bottom the same error logs
And no videos in game

@SuperSamus
Let me know if there's any additional information I can provide. Thank you for the help 🙂

I can reproduce it with Oblivion.
Going back in time (3f25b9d19362430dfc1bfc99c4ff17d98a5e8732), the issue isn't there.
I'll do a bisection.

Found the bad commit: 4c214a73c3a45c6935fe3a36e9011cbd483ddf8e.
Why it causes the problem, I have no idea.

Should we be reporting this somewhere upstream? Or is this specific to Nix?
Happy to report and ask for help elsewhere if you think that makes sense 🙂

I have an idea.
In the changelog, I see a lot of mentions of Rust, so I was wondering if adding gst-plugins-rs would do something.
Unfortunately, the 32 bit version of it isn't cached, and it takes hours to compile, so because you are using a 64 bit game, I ask you to test it with this:
nix run github:SuperSamus/nixpkgs/bottles-gstreamer-test#bottles

@SuperSamus Hi Samus 👋🏼
I ran this to get the output logs
nix run github:SuperSamus/nixpkgs/bottles-gstreamer-test#bottles --verbose --log-format raw

Still seeing the same message and no videos in game

Well, I hoped for an easy solution...
I guess the next best idea is bisecting gstreamer itself.

After a torturous bisect, I finally found the faulty commit: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/bd97973ce0f2c5495bcda5cccd4f7ef7dcb7febc.
Reverting it fixes the issue, even on the current version.
I'll leave the choice of whether to revert it upstream or only on nixpkgs to someone with more authority with me.

I'll leave the choice of whether to revert it upstream or only on nixpkgs to someone with more authority with me.

I believe this is the domain of @lilyinstarlight.

Working: bottles-3f25b9d.log
Broken: bottles-present.log

@SuperSamus Hmm that does not seem to include the debug messages around the code which that commit changes. Were these manually redacted?

No, I only removed stuff like fsync: up and running.

That counts as manually redacted... but I'm just going to assume the logs I'm looking for don't exist then
How were you adding that env var/running stuff?

How were you adding that env var/running stuff?

I simply ran from the terminal
G_MESSAGES_DEBUG=all /path/to/bottles &> filename.log

(With /path/to/bottles being the path returned by nix-build)
By the way, I remembered one thing.
GStreamer didn't always work out of the box on Bottles: it required that buildFHSEnv had the following:
  # `/usr` is optional
  profile = ''
    export GST_PLUGIN_PATH=/usr/lib32/gstreamer-1.0:/usr/lib64/gstreamer-1.0
  '';

This workaround was later not needed (in not going to bisect when).
Trying this today, it still solves the problem. (I've added logs)
However, it is a workaround (and I assume that packages like Lutris or Heroic would also need it, if using system libs).

I couldn't get bottles to work for me (it seems any bottle I make just stays grayed out?), but I think this is enough information for me to figure out the issue
Reverting that upstream commit is itself also a workaround from what I can tell, but I'll get to the bottom of it today or tomorrow

So, what should be done?
NixOS 24.05 is coming. While this is not the biggest regression in the world, it would be better if it didn't stay there for long.

@SuperSamus Are you on Matrix (I'm @lily:lily.flowers) and would you be able and willing to help me repro this? I was having trouble reproducing the issue

With help from @SuperSamus, I've gotten to the bottom of the issue now. There was no GST_PLUGIN_SYSTEM_PATH_1_0 var that bottles propagated, and when gstreamer tried to canonicalize libgstreamer path (and later on reuses that path for fallback plugin dir), it started looking in a different dir from before

Might or might not be a proper fix, but my game launcher repo was seeing the same problem on unstable branch, fixed by adding GStreamer and it's plugins to buildInputs, where wrapGAppsHook4 will see them and set the appropriate env vars correctly (as documented here). The lutris package seems to have incidentally already been doing this, which is what led me to try it as a solution.

This sort of also works by accident, and I imagine it only works for 64bit-on-64bit too
The proper solution is probably for the fhsenv to set a profile of export GST_PLUGIN_SYSTEM_PATH_1_0=/lib/gstreamer-1.0:/lib32/gstreamer-1.0, like the following diff:
diff --git a/pkgs/applications/misc/bottles/fhsenv.nix b/pkgs/applications/misc/bottles/fhsenv.nix
index fd0d38f69892..a8d7e0cd5764 100644
--- a/pkgs/applications/misc/bottles/fhsenv.nix
+++ b/pkgs/applications/misc/bottles/fhsenv.nix
@@ -94,6 +94,10 @@ let fhsEnv = {
     ] ++ xorgDeps pkgs
     ++ gstreamerDeps pkgs
     ++ extraLibraries pkgs;
+
+    profile = ''
+      export GST_PLUGIN_SYSTEM_PATH_1_0=/lib/gstreamer-1.0:/lib32/gstreamer-1.0
+    '';
 };
 in
 symlinkJoin {

So, the workaround of before (https://github.com/NixOS/nixpkgs/issues/311004#issuecomment-2111923059) was the right thing to do all along?

So, the workaround of before (#311004 (comment)) was the right thing to do all along?

Oh, ha, I forgot about that message. Yes


fix test: let quick action open on edge operations

do not hide quickactions after pressing shortcut
before:
https://github.com/axonivy/process-editor-client/assets/93579455/db3eb313-c4f6-476f-9fd2-a131484ce169
after:
https://github.com/axonivy/process-editor-client/assets/93579455/7cd0b21b-e1db-4855-b562-c71f8796943a

👍


nerdctl error message provides no context

Description
This command used to fail for me:
$ sudo nerdctl run --debug --rm registry.k8s.io/pause:3.9
DEBU[0000] verifying process skipped
DEBU[0000] generated log driver: binary:///usr/bin/nerdctl?_NERDCTL_INTERNAL_LOGGING=%2Fvar%2Flib%2Fnerdctl%2F1935db59
FATA[0000] failed to verify networking settings: failed to check for default network: error parsing configuration: missing 'type'

I have wasted a few hours trying to figure out what was wrong, without much progress, because I had no idea where 'type' might be missing. On a different machine I had a similar error, only there it was something about a stray 'c', but providing no hint on where it might be. I inspected /etc/containderd/config.toml a few times but could not find anything wrong.
Eventually, somewhat by chance, I stumbled upon an incorrect net.d json files.
Steps to reproduce the issue

A system with a properly configured containerd and nerdctl installed
Run

echo '{
  "cniVersion": "0.3.1",
  "Network": "<IP_ADDRESS>/16",
  "Backend": {
    "Type": "vxlan"
  }
}' | sudo tee /etc/cni/net.d/net-conf.json

Execute the command found above.

Describe the results you received and expected
Actual error message:
FATA[0000] failed to verify networking settings: failed to check for default network: error parsing configuration: missing 'type'

Expected error message with context that is helpful for the user:
FATA[0000] failed to verify networking settings: failed to check for default network: error parsing '/etc/cni/net.d/net-conf.json': missing json key 'type'

Bonus points if you can also document what is the proper expected schema and even give a link or easily found keyword (this is what error codes were used for) to this doc in your error.
What version of nerdctl are you using?
nerdctl version 1.7.7
containerd containerd.io 1.6.12
Are you using a variant of nerdctl? (e.g., Rancher Desktop)
None
Host information
Namespace:	default
Debug Mode:	false
Server:
Server Version: 1.6.12
Storage Driver: overlayfs
Logging Driver: json-file
Cgroup Driver: systemd
Cgroup Version: 2
Plugins:
Log: fluentd journald json-file syslog
Storage: native overlayfs
Security Options:
apparmor
seccomp
Profile: builtin
cgroupns
Kernel Version: 6.9.10-1rodete5-amd64
Operating System: Debian GNU/Linux rodete
OSType: linux
Architecture: x86_64
CPUs: 24
Total Memory: 94.29GiB
Name:
ID: e34b639d-c6f1-4e15-b4f3-f4a96621f171

Part of the problem here comes from inside libcni, which indeed is quite suboptimal on UX here.
We can still do a bit better inside nerdctl, specifically point to which file is a problem - and/or maybe provide a static example of a valid file.
Will take this.

@RonBarkan ^
Updated logic would at least (always) point to the offending file, and link to godocs for schema.
This is not perfect, but should make this less obnoxious.
LMK your thoughts on the PR.

Looks so much better! Thank you.
Close?

Looks so much better! Thank you. Close?

Let’s merge first.


sign declaration  idempotency

endpoint PATCH /api/declaration_requests
spec
Create declaration endpoint on OPS should be idempotent:
if there is existing record in the declarations table with the same id and declaration_request_id, return ok to IL.
Same with mpi

on trying to sing declaration request second time I get an error
{
    "error": {
        "message": "person is not found",
        "type": "request_conflict"
    },
    "meta": {
        "code": 409,
        "request_id": "70c07c01-e2df-46af-9d3f-3fd93620e5f7#8558",
        "type": "object",
        "url": "http://api-svc.il/api/declaration_requests/1e70e255-2ea2-430b-a4dd-60bca762c042/actions/sign"
    }
}


Some labels on axis's are missing

I'll draw a chart with on the X-axis names of cities. The problem is when I'll draw the chart. The values of the even names are missing (see the yellow marks on the image below).

For this chart I wouldn't have that. Is this a bug or have I miss anything in my code?

The auto skip feature is probably hiding them. There is a setting to turn it off, but i don't recall the exact name

I've found it in the documentation:
scales: {
    xAxes: [{
        stacked: false,
        beginAtZero: true,
        scaleLabel: {
            labelString: 'Month'
        },
        ticks: {
            stepSize: 1,
            min: 0,
            autoSkip: false
        }
    }]
}

In case the previous comment was not clear here is the documentation link:
http://www.chartjs.org/docs/latest/axes/cartesian/#tick-configuration
autoSkip property.

not working for me, even if setting autoskip:false (tried in the ticks options, in the data array...)

This works for me (as an example):
chart.scales["x-axis-0"].options.ticks.autoSkip = false;
chart.scales["x-axis-0"].options.ticks.stepSize = 1;
Note that it's not chart.scales["x-axis-0"].ticks as that contains the array of labels

I've tried this, but it doesn't solve the problem for me. I get a second set of labels on the xaxis that contains all the labels, however they don't align with the data. The first level of labels with the skipping still exists:

options: {
scaleShowValues: true,
scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}],
xAxes: [{
ticks: {
autoSkip: false
}
}]
}
}

scales: {         xAxes: {           ticks: {             autoSkip: false,             source: 'data',         }         },       },
using ticks.source help me fix that problem. At least, it works for me

scales: { xAxes: { ticks: { autoSkip: false, source: 'data', } }, }, using ticks.source help me fix that problem. At least, it works for me

 source: 'data'
I also came to this solution and it really works


fix cast error

Fixing this error:
E/flutter (20393): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: type '_InternalLinkedHashMap<dynamic, dynamic>' is not a subtype of type 'Map<String, dynamic>' in type cast
E/flutter (20393): #0      normalizeNode (package:normalize/src/normalize_node.dart:41:25)
E/flutter (20393): #1      normalizeNode.<anonymous closure> (package:normalize/src/normalize_node.dart:90:29)
E/flutter (20393): #2      ListMixin.fold (dart:collection/list.dart:237:22)
E/flutter (20393): #3      normalizeNode (package:normalize/src/normalize_node.dart:60:19)
E/flutter (20393): #4      normalizeOperation (package:normalize/src/normalize_operation.dart:68:5)
E/flutter (20393): #5      NormalizingDataProxy.writeQuery (package:graphql/src/cache/_normalizing_data_proxy.dart:128:7)
E/flutter (20393): #6      fetchMoreImplementation.<anonymous closure> (package:graphql/src/core/fetch_more.dart:58:55)
E/flutter (20393): #7      InternalQueryWriteHandling._writeQueryOrSetExceptionOnQueryResult (package:graphql/src/core/_query_write_handling.dart:32:17)
E/flutter (20393): #8      InternalQueryWriteHandling.attemptCacheWriteFromClient (package:graphql/src/core/_query_write_handling.dart:89:7)
E/flutter (20393): #9      fetchMoreImplementation (package:graphql/src/core/fetch_more.dart:54:20)
E/flutter (20393): <asynchronous suspension>

Hi @smkhalsa, can you check this PR after about 5 months :)


Doc: infra doc and evaluation doc

We need Infra doc about setup and evaluation doc before final release. For trouble shooting, let's hold it now. Let's user open issue on Github. If it is popualar, we can make a trouble shotting doc.

https://github.com/TheAgentCompany/TheAgentCompany/blob/main/docs/EVALUATION.md


Nil reference panic in RuleResultSet.GenerateSpectralReport

Issue
When applying rulesets on specifically circular referencing schemas, the circular-references-rule will in this specific case, not set a StartNode and EndNode. RuleResultSet.GenerateSpectralReport does not seem to check for this, and panics on nil reference.
It also crashes in the vacuum online demo (does that use the spectral report? might be different issue).
Reproducable schema
openapi: 3.0.1
components:
  schemas:
    Schema:
      type: object
      properties:
        anyOf:
          type: array
          items:
            $ref: '#/components/schemas/Schema'
    SchemaObject:
      type: object
      properties:
        anyOf:
          type: array
          items:
            $ref: '#/components/schemas/Schema'
        items:
          $ref: '#/components/schemas/SchemaObject'

Resulting RuleFunctionResult (Index = 1) in the ResultSet:
model.RuleFunctionResult {
    Message: "circular reference detected from #/components/schemas/SchemaObject",
    Range: github.com/daveshanley/vacuum/model/reports.Range {
        Start: (*"github.com/daveshanley/vacuum/model/reports.RangeItem")(0xc00026b8b0),
        End: (*"github.com/daveshanley/vacuum/model/reports.RangeItem")(0xc00026b8c0)
    },
    Path: "SchemaObject -> SchemaObject",
    RuleId: "circular-references",
    RuleSeverity: "",
    Origin: *github.com/pb33f/libopenapi/index.NodeOrigin nil,
    Rule: *github.com/daveshanley/vacuum/model.Rule {
        Id: "circular-references", Description: "Circular reference detected",
        Message: "Circular reference detected",
        Given: interface {}(string) *(*interface {})(0xc000000cf0),
        Formats: []string len: 0, cap: 0, nil, Resolved: false,
        Recommended: true, Type: "validation",
        Severity: "warn", Then: interface {}(github.com/daveshanley/vacuum/model.RuleAction) *(*interface {})(0xc000000d40),
        PrecompiledPattern: *regexp.Regexp nil,
        RuleCategory: *(*"github.com/daveshanley/vacuum/model.RuleCategory")(0xc00046a750),
        Name: "Circular References",
        HowToFix: "Circular references are created by schemas that reference back to themselves somewhere in the chain. The link could be very deep, or it could be super shallow. Sometimes it's hard to know what is looping without resolving the references. This model is looping, Remove the looping link in the chain. This can also appear with missing or references that cannot be located or resolved correctly."
    },
    StartNode: *gopkg.in/yaml%2ev3.Node nil,
    EndNode: *gopkg.in/yaml%2ev3.Node nil,
    Timestamp: *time.Time nil,
    ModelContext: interface {} nil
}

Stacktrace:

2024/11/28 17:32:37 [Recovery] 2024/11/28 - 17:32:37 panic recovered:
runtime error: invalid memory address or nil pointer dereference
/usr/lib/go/src/runtime/panic.go:262 (0xd6c29d)
	panicmem: panic(memoryError)
/usr/lib/go/src/runtime/signal_unix.go:917 (0xdac0a4)
	sigpanic: panicmem()
/*****/go/pkg/mod/github.com/daveshanley/vacuum@v0.14.2/model/results.go:102 (0x1d29ffc)
	(*RuleResultSet).GenerateSpectralReport: Line: result.StartNode.Line,
/*****/project/src/rules/validator.go:101 (0x220357a)
	Validate: spectralReport := resultSet.GenerateSpectralReport(filename)

When stepping over it basically panics on https://github.com/daveshanley/vacuum/blob/main/model/results.go#L102
It doesnt seem to make a difference to upgrade to 0.14.3.
Thank you for providing the online demo, it helped me keep my sanity.
Background
I co-maintain some Microservices that return or accept OpenAPI 3.0 documents, and as a result basically describe the entire OpenAPI3 document schema. In the Schema -> SchemaObject -> ... reference structure there is a certain chain that seems to confuse either libopenapi or vacuum, depending how you see it. I spent most of today crafting a minimal reproduction, but can provide the entire doc if required. Its basically just the OpenAPI v3 schema, specified in OpenAPIv3.

Thank you for finding panics, they are my number one enemy. They do crash the online services (which restart almost instantly and resume state) however, it's still like letting a bomb off on the platform.
I'll look into this asap.


Editorial changes to governance docs

Initial work so far focuses on clarifying what is already written and applying principles found in the Cilium Documentation Style Guide.

Thanks for the clean up


Ok

A configuration change would be something outside of our code that we change with our production environment, such as environment variables, virtual machine tier or quantity, or service providers.

Primary person:
Second person:
When:
Zoom URL:

What is the configuration change?
Why are we updating this configuration?
What risks are there with this configuration change?
If an issue happens, how do we roll back?
Once the change is verified good, please close this issue.

A configuration change would be something outside of our code that we change with our production environment, such as environment variables, virtual machine tier or quantity, or service providers.

Primary person:
Second person:
When:
Zoom URL:

What is the configuration change?
Why are we updating this configuration?
What risks are there with this configuration change?
If an issue happens, how do we roll back?
Once the change is verified good, please close this issue.