[Feature Request] A field to add options for docker run/create

Docker run/create commands accept a lot of options and each new release of docker add/change/remove some of them.
It would be useful if in the Portainer UI when creating a new container there would be a "generic" options field accepting any number of these specific docker options.
A single field sounds like a smarted approach to me as it doesn't bind Portainer to a given docker version as it would be with independent fields for all the options (also not maintainable on the long term).
This change would also need to be implemented in the templates ideally as they pre-fill fields when creating a new container.
More specifically I was looking to use the "--rm" option and the "--stop-timeout" option as many of my containers require more than 10 seconds for a clean shutdown (Oracle tools running inside).

@ncresswell what's your position on this evo?

I think it might be useful for a limited number of users. Maybe poll for interest.
A simple free text area under advanced settings where the user can type in the option as syntax "--option=setting" would be how i would see this, but again, IMO only useful for maybe 1% of users.
Rgds,
Neil Cresswell
On 14/02/2017, at 9:22 AM, Anthony Lapenna <notifications<EMAIL_ADDRESS>wrote:
@ncresswellhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_ncresswell&d=DQMCaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=0fx0h4vB56iTLpw2McH1ZD6TqG_QGpbggVOB-PfMJpM&m=saZGjGslr-Jxyt5Rb0rCDlVUbfBroags7iKlZ3g7YrY&s=BAOdT7Srn8w4mLKkZYydN79vAD1sYq-D7jCcBw70xqE&e= what's your position on this evo?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_portainer_portainer_issues_597-23issuecomment-2D279510662&d=DQMCaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=0fx0h4vB56iTLpw2McH1ZD6TqG_QGpbggVOB-PfMJpM&m=saZGjGslr-Jxyt5Rb0rCDlVUbfBroags7iKlZ3g7YrY&s=4VFHsi0ErZeQOMF5QoiZ0N7puNdrQj3MXPJRRPCXHtA&e=, or mute the threadhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AWGrlf2HMC-5FVKj1fAnJpz4ym3G-2DxAAWlks5rcLt3gaJpZM4L-5FQSd&d=DQMCaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=0fx0h4vB56iTLpw2McH1ZD6TqG_QGpbggVOB-PfMJpM&m=saZGjGslr-Jxyt5Rb0rCDlVUbfBroags7iKlZ3g7YrY&s=8Uspt91MgYztg2WxcxOQdfoEz9uE8ebYeeYmByX-plM&e=.

I think this would be a great addition. Especially if this will also be added to the swarm-mode service create
At this moment i still have to create services trough ssh since i need to give the --with-registry-auth since my images are in a private registry.

I think too this would be a great addition, for support this case : https://github.com/portainer/portainer/issues/329#issuecomment-288742821

I think it's complicated to implement, portainer just forward api calls to docker API
So it's not "docker client" options that we can add, but "docker api" fields
And functions like "docker --rm" are only available on client, not on API

Good point about the API, didn't think about that ...
Looking at the API right now (assuming it's this one: https://docs.docker.com/engine/api/v1.26/#operation/ContainerCreate) they support a lot ("StopTimeout", "AutoRemove", "Links" etc.) but it's true that it's more complicated than just a single text input as it require to be formatted based on the API specs.

OK, well how about to start with, we just add a few (dropdown select box). This way we extend portainer to support these extra runtimes, but we dont have to parse to find the API... rather, we support 4-5 now.

Isnt that what i suggested?
Either way, agree..
Rgds,
Neil Cresswell
On 10/05/2017, at 1:08 PM, Anthony Lapenna <notifications<EMAIL_ADDRESS>wrote:
OK, well how about to start with, we just add a few (dropdown select box). This way we extend portainer to support these extra runtimes, but we dont have to parse to find the API... rather, we support 4-5 now.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_portainer_portainer_issues_597-23issuecomment-2D300384150&d=DQMFaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=0fx0h4vB56iTLpw2McH1ZD6TqG_QGpbggVOB-PfMJpM&m=-8xLgYA1lK63RgHS9YrwyyrSVIZxLEa0kdjW1KjT0cg&s=lQthyfWrKLWYek7tjYnDRZ4OW8gU4Eicu4r033p9ejU&e=, or mute the threadhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AWGrlZUhBXWCAET-5F59tIa9WjegbzW27oks5r4VRpgaJpZM4L-5FQSd&d=DQMFaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=0fx0h4vB56iTLpw2McH1ZD6TqG_QGpbggVOB-PfMJpM&m=-8xLgYA1lK63RgHS9YrwyyrSVIZxLEa0kdjW1KjT0cg&s=myb9dNkyE-N4c11XHz6AkDx5s8vrGHZoJ2sIis1lwa4&e=.

Yes it is, I just relocated the suggestion inside this issue (the other one is closed and marked as duplicate).

For capadd capdrop, it's link to #468

Any decision on this request?
It's essential for me as well - in my case I was looking for "--shm-size" ("ShmSize") and "--cpu-shares" ("CpuShares").
It's not something that most users would need - though I think it's way more than 1% that would - but it's a showstopper for those that do. Even with the API constraints it can be a reasonably simple implementation: a single text field that accepts a JSON doc to be merged into HostConfig ("Advanced advanced container settings". That or a key-value map for just the top-level keys (would need to do a bit of data type detection).
I just started using Portainer and really like, the fewer containers I have to create command line, the better!

No real decision here, my point of view is that all docker run options should be available inside the container creation view. It's just a matter of UX/UI design.

+1 I would need --security-opts for enabling group managed service account on windows containers.

Well @deviantony I just want to add a comment from my side concerning free defineable additional options. Basically I like the idea of having a line where to enter some more parameters portainer is not offering a solution yet for to specify them. Especially I was looking for the "--rm" option.
We are running your portainer project in our embedded device https://www.netiot.com/netpi/ and customer requests me to offer openVPN too for it. I found an exisiting container https://hub.docker.com/r/kylemanna/openvpn/ that has been pulled meanwhile 60Mio+ times (so not a 1% demand) and if you dig into details you will find that this openVPN container needs to be called multiple times first to create all the certificates (outputting them in a specified volume). The final call then is starting the server along with the volume where the certificates are located. With the clean option "--rm" the first containers all remove themselve (when I am using docker with command line on my raspberry) and you can start right away with another instance. On our device using portainer, customers need to remove the stopped containers manually cause --rm cannot be addressed.
Just to let you know how real life can be ...

+1 This would also be very useful for me.

@Payden-Pringle You can already do this. Go in the Runtime & Resources Tab ->

I landed here looking for a way to add --volumes-from $othercontainer
Maybe I'm just completely missing it but I can't even find it after searching the docs and google for 20 minutes.

We do not support this.. we only support bind mounts, or named volumes.
From: Helmi<EMAIL_ADDRESS>Sent: Tuesday, 11 September 2018 4:44 AM
To: portainer/portainer<EMAIL_ADDRESS>Cc: Neil Cresswell<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [portainer/portainer] [Feature Request] A field to add options for docker run/create (#597)
I landed here looking for a way to add --volumes-from $othercontainer
Maybe I'm just completely missing it but I can't even find it after searching the docs and google for 20 minutes.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_portainer_portainer_issues_597-23issuecomment-2D419980431&d=DwMCaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=0fx0h4vB56iTLpw2McH1ZD6TqG_QGpbggVOB-PfMJpM&m=u8r488eSo4VT4mmvN30v6t6q62ILWJX2FkdZbchayRA&s=7MiG8Je0twhljjcwr6xDGu5zuYa8eIPa-xpsHrtITEw&e=, or mute the threadhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AWGrlVZgqgDBNnJyECZQNF-5FYDYPcbH2bks5uZpbrgaJpZM4L-5FQSd&d=DwMCaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=0fx0h4vB56iTLpw2McH1ZD6TqG_QGpbggVOB-PfMJpM&m=u8r488eSo4VT4mmvN30v6t6q62ILWJX2FkdZbchayRA&s=raLqlPRA417poRQRPkQKx_czYXjcyeFcWPxKkJ317HU&e=.

hmm interesting, so there's only support for a selected set of options from docker?
Am I supposed to create containers that use that option (in this case one from the dockker hub) through the docker cli then? I just wonder how it's meant to be with portainer.

@Helmi This option is not available yet in the container-creation view, I don't think we have it as a feature request either. You could open a new feature request for this.

@deviantony I see. Is there any special reason to not just enable a possibility to openly add additional args to the create/run command like initially suggested here? That just sounds like the best solution to me thought I admire I'm quite new to docker still so may not see the problems connected with that.

Yes, Portainer basically interacts with the Docker API. Some CLI options (such as docker --rm) are only available in the client and not available in the API.
Besides filtering the features that could be executed, we'd also need to map/translate all the existing docker run options (a lot)  into Docker API requests.
My preferred way to go on this one is to simply add an equivalent of all the options in the container creation form. In the end, it's just a matter of UX/UI.

Thanks for the explanation. So what you basically say is that it would work if I just create that container manually in the meanwhile (from the cli).
I'll add a feature request in addition.

... memory-swap ?

have you found a way to set --memory-swap through Portainer's UI?

I need "--cap-add=SYS_PTRACE --security-opt seccomp=unconfined" to enable gdb C++ debugging

Maybe you could create the 'add user-defined configuration part' field to enter a json configuration part.
Then you could append/merge this json with the configuration that is created elsewhere.
Obviously this should be hidden by default and have a pretty BIG warning that you might kill some kittens with it and a link to the docker engine API reference (so you can look up where you find your --with-dragons --enable-doomsday options)
(I did not evaluate your code, just assumed you are using the HTTP API)

+1
I'd need to run with the --device option to add some host devices to the container. As a work-around I need to run in privileged mode which I don't like for various reasons.

+1 for shm-size

+1 I need --replicas-max-per-node as of  docker-ce 19.03+

+1 --security-opt seccomp=unconfined for netdata

Any news here? I would need the —dns option.

I need too

Same here. I would like to use the --device parameter.

+1 for nvidia-docker

+1 for --security-opt seccomp=unconfined, especially for mysql docker.
It may fix mbind: Operation not permitted errors...

+1 for --group-add , needed for example in nodered container.
a tool to add arbitrary run options would be really appreciated as Its a complete showstopper to use portainer in many use cases.

+1

+1

+1 for shm-size

+1

+1 for --net=host and --cap-add=NET_ADMIN in pihole container

+1 for shm-size

--device useful for exposing acceleration devices ( see https://docs.linuxserver.io/images/docker-jellyfin#intel )

We already allow mapping of devices. See resources and runtime when creating a container.
Rgds,
Neil Cresswell
On 17/04/2020, at 5:21 PM, Micah Roth<EMAIL_ADDRESS>wrote:

--device useful for exposing acceleration devices ( see https://docs.linuxserver.io/images/docker-jellyfin#intelhttps://urldefense.proofpoint.com/v2/url?u=https-3A__docs.linuxserver.io_images_docker-2Djellyfin-23intel&d=DwMCaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=0fx0h4vB56iTLpw2McH1ZD6TqG_QGpbggVOB-PfMJpM&m=eUtPLu8KjPwselQLHeMPG31UEcCYNaaNVbqXAu2EV2A&s=ajgJL84m0EZpYKzdHPy8D5NzKUKk0wyvmOWlK80toV0&e= )
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_portainer_portainer_issues_597-23issuecomment-2D615048650&d=DwMCaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=0fx0h4vB56iTLpw2McH1ZD6TqG_QGpbggVOB-PfMJpM&m=eUtPLu8KjPwselQLHeMPG31UEcCYNaaNVbqXAu2EV2A&s=xc9rrSvYhWwQq85_PoIhlVfBX3F-Fth2Zg8BvYEmZq0&e=, or unsubscribehttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AFQ2XFJEFMTEC5BSOV3JRLTRM7RNXANCNFSM4C75ASOQ&d=DwMCaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=0fx0h4vB56iTLpw2McH1ZD6TqG_QGpbggVOB-PfMJpM&m=eUtPLu8KjPwselQLHeMPG31UEcCYNaaNVbqXAu2EV2A&s=hN0KnVN1lSuU4e2sIbju8zz8RcZ4LERn5cregEn8WdI&e=.

+1

I need to use --gpus=all for allowing tensorflow to see my gpu, but this is not covered by any ui options in portainer. Complete blocker for using portainer as result for me, unfortunately.
I understand why you do not want to include UI options for every not-so-popular exotic parameter - but why not to allow users to append  their  own parameters as an escape hatch?

Can we seriously not add additional parameters like --cap-add or --net? I guess I'll stick with good ol' RDP & SSH then

--shm-size
In my case, it is needed for my pihole docker which just breaks if /dev/shm gets full when doing too many DNS requests.

I would also need it for the --security-opt, so the Windows containers are treated as Domain-Hosts. 👍

I too need this.

+1

+1 for shm-size

Any progress?
How to run this in portainer? docker run --gpus all -it tensorflow/tensorflow:latest-gpu bash

+1 for shm-size for chromium browser

+1 for shm-size, zoneminder is broken until I can set this value, any update on this?

+1 for shm-size, zoneminder is broken until I can set this value, any update on this?

+1 for shm-size, zoneminder is broken until I can set this value, any update on this?

+1 for shm-size, zoneminder is broken until I can set this value, any update on this?

+1 for shm-size, zoneminder is broken until I can set this value, any update on this?
I've had to rollback an image due to the latest update there REQUIRING shm-size to be set.

+1 for shm-size, zoneminder is broken until I can set this value, any update on this?
I've had to rollback an image due to the latest update there REQUIRING shm-size to be set.

Wow 4 years old...  really wish this was supported...

+1 for shm-size
@ptruman Thanks a ton!

+1 for shm-size.  I also have images that require it (in my case, using Chrome in xfce4)

i want to limit available storage inside a container, how can i do this with portainer? i don't find a way to pass that option to a container.
https://docs.docker.com/engine/reference/commandline/run/#set-storage-driver-options-per-container

We've been tracking separate flag requests for container creation/update through different issues:

Support for --shm-size: https://github.com/portainer/portainer/issues/4992
Support for --security-opts: https://github.com/portainer/portainer/issues/1132
GPU support can be tracked via https://github.com/portainer/portainer/issues/3143
Capabilities via --cap-add and --cap-drop are already supported

wow - this is a great example of how infinite this would be, and maybe we can simplify the work, by trying to generate some UX from a typed and constrained view of the docker inspect yaml - rather than from the docker cli, which is further removed.

+1

+1 vote

+1 for --rm

+1 for me as well, as I'm leveraging GPUs in my deployments quite heavily now. Having the ability to simply add --gpus=all for the time being until #3143 is official would be great.

Gitlab needs   --shm-size 256m

Frigate also needs --shm-size

Not sure if this is still an active discussion topic, i would also need to add --sysctl net.ipv6.conf.all.disable_ipv6=1 for haugene transmission
Don't want to rebuild the container from scratch! If its possible add via UI would be great

A simple free text area under advanced settings where the user can type in the option as syntax "--option=setting" would be how i would see this

Any news on this one?

security-opt would be really nice to have! just having some open field to add in extra stuff would make a huge difference here

在容器运行正常的情况下，采用编辑（Duplicate/Edit）替换镜像版本，也许可行（前提是已经有一个加载过该项配置，且正常运行的容器）

Currently I dont see a way to add ulimits, which is currently broken for quite a few distros: https://github.com/moby/moby/issues/45204
Such a feature would be real nice. @ncresswell


⚠ Bofrost.at has degraded performance

In 35011d2, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1175 ms

Resolved: Bofrost.at performance has improved in 41550ef after 15 minutes.


Is it possible to get Splink working with a real-time data?

I don't see it in examples but I am curious if Splink would work with kafka and spark streaming api?

It certainly works with batch data.
So if you consider streaming data as constantly updating mini batches then yes it would.
Of course we havent used it in such a way (with streaming api) but if you would like to try a small example it would be interesting to see it  👍

Splink3 (which is currently under development) has support for real time and incremental linkage.
Note this is not  explicitly geared to kafka or spark streaming - I don't know enough about technologies to know whether it's a perfect fit.
You can see a demo here:
https://github.com/moj-analytical-services/splink_demos/blob/splink3_demos/real_time_record_linkage.ipynb

Thanks I saw that, I don't think duckdb works for streaming use-case. I am interested in doing demo with spark streaming. I might open PR with example if I get it to work.

Thanks.  Worth noting that the splink3 real time demo will also work with spark - you just need to substitute
from splink.duckdb.duckdb_linker import DuckDBLinker

for
from splink.spark.spark_linker import SparkLinker

and everything else stays the same.  (Still has the caveat that i'm not sure whether it's compatible with Spark streaming)


Collada scene from SketchUp can not be imported properly

Godot version
3.3.2.stable
System information
windows10/manjaro, GLS3
Issue description
When importing dae from Sketchup, the import gets several different errors. Importing the same dae file into blender then exporting it as dae always fixes it, but is not a working solution. Sketchup does not have GLTF support so this is the only format that can work.
Link to sketchup:
https://www.sketchup.com
Steps to reproduce
This dae file produces this error:
https://cdn.discordapp.com/attachments/275788728168087556/871370866452226058/terrain.dae
https://cdn.discordapp.com/attachments/275788728168087556/871370304478392330/2021-08-01_14-34-20.png
editor/collada/collada.cpp:1060 - Primitive type "polygons" is not well supported (concave shapes may fail). To ensure that the geometry is properly imported, please re-export using "triangles" or "polylist".

This was fixable by changing that "polylist" setting to "triangles".
With tringles enabled, we get this:
https://cdn.discordapp.com/attachments/275788728168087556/871376248692154408/terrain.dae

with this error:
 editor/collada/collada.cpp:1691 - Multiple instance_* not supported.
 editor/collada/collada.cpp:1691 - Multiple instance_* not supported.
 editor/collada/collada.cpp:1691 - Multiple instance_* not supported.
 editor/collada/collada.cpp:1691 - Multiple instance_* not supported.
 editor/collada/collada.cpp:1691 - Multiple instance_* not supported.
 editor/collada/collada.cpp:1691 - Multiple instance_* not supported.
 editor/collada/collada.cpp:1691 - Multiple instance_* not supported.
 editor/collada/collada.cpp:1691 - Multiple instance_* not supported.
 editor/collada/collada.cpp:1691 - Multiple instance_* not supported.
 editor/collada/collada.cpp:1691 - Multiple instance_* not supported.
 editor/collada/collada.cpp:1691 - Multiple instance_* not supported.

Minimal reproduction project
Drop the linked dae files into a blank godot project and import.

For the reference, there seems to be a glTF export addon for SketchUp, that might be worth trying: https://extensions.sketchup.com/extension/052071e5-6c19-4f02-a7e8-fcfcc28a2fd8/gltf-exporter
But fixing the DAE support is still worth looking into of course.

We checked that addon, and that is not an option.

Since this is the only option to natively export models from SketchUp (the plug-in isn't great) I'd love to see this fixed, just ran into this issue myself. OBJ is too limiting.

Does COLLADE2GLTF help convert those scenes to something Godot supports best?

I'd really not like to change my pipeline when importing models honestly. Unity supported SKP (SketchUp's native file format) so having to use a different file format is already a hassle, converting that (even when automated) just adds yet another step.

Well the point is that if it works, this can be automated in a way where you wouldn't even know that a conversion takes place.
Like Unity does when it "imports" .blend files by actually calling Blender on the command line to export to fbx.

@akien-mga Ah sorry, I misunderstood before and thought you meant I had to use that converter - not that it'd be integrated. I'm all for that, obviously!
I will be testing the glTF exporter plug-in and report back.

BTW if you have example DAE exports that you can share for testing, it could be useful to validate that #63072 actually solves your problems.
I tested with @Frontrider's https://cdn.discordapp.com/attachments/275788728168087556/871370866452226058/terrain.dae and it does solve the errors. The actual imported scene looks kind of the same to me, I'm not sure if the bug was just the error spam and that the scene actually is broken.

BTW if you have example DAE exports that you can share for testing, it could be useful to validate that #63072 actually solves your problems.

My findings so far are that COLLADA2GLTF doesn't do such a good job, at least on a few random DAE files I found in bug reports here.
So it would still be interesting to explore other avenues to improve the SketchUp workflow, given that our COLLADA exporter is difficult to maintain and overall COLLADA I/O in 3D software is notoriously problematic:

Test the glTF export plugins for SketchUp. I found 3:

https://extensions.sketchup.com/extension/6caab93c-aa62-4637-be26-5d09ed7af997/sketch-up-gl-tf-exporter
https://extensions.sketchup.com/extension/7c51731a-5517-40aa-bd6d-700109837837/sim-lab-gltf-exporter-for-sketch-up
https://extensions.sketchup.com/extension/052071e5-6c19-4f02-a7e8-fcfcc28a2fd8/gltf-exporter

Test FBX export from SketchUp. In Godot 3.x the FBX importer is quite limited so it might not work (but could be tested). In 4.0, we use FBX2glTF to perform the conversion and it works quite well in what we could see so far.

FBX2glTF needs to be downloaded from https://github.com/V-Sekai/FBX2glTF/releases and the path to this binary should be set in the Editor Settings at filesystem/import/fbx/fbx2gltf_path.

I'm the Engineering Director for the SketchUp team and I will bring this up as an issue on the Collada exporter.  We are actively working on a glTF exporter as well so stay tuned.  (FYI: I came across this issue on Kenney's twitter feed.)

@taustin73 What is the status of this? Does SketchUp have glTF support? I could not find a blog post about this from a Google search. The website seems to mention only exporting SKP, PNG, STL, not Collada or glTF.


added mobile viewport and IE8 no support message

Mobile viewport because currently mobile support isn't the best
Let's not support IE8 and we should add it to #65

LGTM!


Wont connect to snapchat during install.

I'm 100% sure my information is correct and I get this:
Incorrect snapchat username!
Please press 'back' on your browser and try again.
No matter what I do during the install.

yeah man this code is pretty outdated. how much php do you know?
it could be as simple as replacing the /src/ folder with the new files from mgp25's "SC-API" repo, though.

I was able to fix that but then I think I got rate limited... I get this when I run the test file:
stdClass Object
(
[message] => The network you are connected to has been temporarily blocked because of suspicious activity. If you are connected to a VPN, retry after disconnecting from it.
[status] => 403
[logged] =>
)
RESULT: 1

yep that'll rate limit you. one thing I might suggest is to keep sessions -
instead of logging in every time you make a request, have the program use
the same session for multiple requests. Which is why PHP probably isn't the
best for this type of API.
On Wed, Sep 9, 2015 at 3:50 PM TGEJesse<EMAIL_ADDRESS>wrote:

I was able to fix that but then I think I got rate limited... I get this
when I run the test file:
stdClass Object
(
[message] => The network you are connected to has been temporarily blocked
because of suspicious activity. If you are connected to a VPN, retry after
disconnecting from it.
[status] => 403
[logged] =>
)
RESULT: 1
—
Reply to this email directly or view it on GitHub
https://github.com/sallaben/storybot/issues/5#issuecomment-139026723.


tests refactor

Hi Pam, thanks for your work on the npe2 tests.  Rather than put a bunch of comments inline that might not be clear, I refactored your tests.  (it's really just the test_npe2 file, all the other files here are just merging in main).
The main patterns i would point out:

rather than using patch('napari.plugins._npe2.npe2.PluginManager.instance') in every test, create one fixture that you can reuse (see mock_pm fixture here)
rather creating each contribution mock individually in each test, I created a plugin manifest that I manually added to my mock plugin manager... at the top of the file.  I think it makes it a bit easier to parse visually
This one is rather tricky: but i used another mock for the command registry when creating the plugin manager: mock_reg = MagicMock()
 with patch.object(PluginManager, 'discover'):
     _pm = PluginManager(reg=mock_reg)

what this allows me to do is to later do things like mock_pm.commands.get.assert_called_once_with('my-plugin.some_reader'), which tells me that the call to _npe2.whatever made it through to the appropriate plugin command, without actually needing that plugin command to actually be functional.

Hope this helps clarify some of the tricks one can use with mocks. Thanks again for your time on this!

@tlambert03 thanks for this.  Will go ahead and merge and make sure I understand how you set things up.


Fix ordering of table labels, stats.html

Coverage remained the same when pulling 58d494b6fcd0cbedc32c08c891ed25941cd95938 on adamrp:stats_fix into 687b01f9d5c368088fbbf8a3c28a0168e25113db on biocore:master.

:+1:


Auto apply codes

Without auto applying these codes, this script is no use. I tried entering 50 codes manually, no luck. Please make a pyautogui script that takes each codes saved from codes.txt and pastes on that Flipkart page, if code doesn't match, it clicks 'Redeem another voucher' and goes on.

Without auto applying these codes, this script is no use. I tried entering 50 codes manually, no luck. Please make a pyautogui script that takes each codes saved from codes.txt and pastes on that Flipkart page, if code doesn't match, it clicks 'Redeem another voucher' and goes on.

The only way to check those codes are by seeing whether they are redeemed successfully or not. If they are redeemed then it means that it is a real code,but you cant use it again cause just now it is redeemed,and even to check many codes you need many flipkart accounts,cause they wont accept many codes for to redeem. Even if they allow to redeem,they will cancel they order saying you used many codes,and even they will block your IP if you check many codes.

Did you get any working code for yourself?

Did you get any working code for yourself?

No, I couldn't find one.


ARROW-13485: [Release] Replace ${PREVIOUS_RELEASE}.9000 in r/NEWS.md by post-12-bump-versions.sh

We need this because we changed to use release branch style.

@kszucs Do you want to review this?

I'll merge this.


[BiliBili] Unable to Extract Video Formats ,  No video formats found

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

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

Checklist

[X] I'm reporting a bug unrelated to a specific site
[X] I've verified that I'm running yt-dlp version 2023.10.13 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Provide a description that is worded well enough to be understood
I attempted to download a video from Bilibili (https://www.bilibili.com/video/BV1ms411Q7vw/?p=4) using yt-dlp tool and encountered an issue where it failed to extract video formats. Thank you for your assistance in resolving this issue.
Provide verbose output that clearly demonstrates the problem

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

Complete Verbose Output
PS C:\Users\Administrator\Desktop> .\yt-dlp.exe   -v -F "https://www.bilibili.com/video/BV1ms411Q7vw/?p=4"
[debug] Command-line config: ['-v', '-F', 'https://www.bilibili.com/video/BV1ms411Q7vw/?p=4']
[debug] Encodings: locale cp936, fs utf-8, pref cp936, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>[b634ba742] (win_exe)
[debug] Python 3.8.10 (CPython AMD64 64bit) - Windows-10-10.0.20348-SP0 (OpenSSL 1.1.1k  25 Mar 2021)
[debug] exe versions: none
[debug] Optional libraries: Cryptodome-3.19.0, brotli-1.1.0, certifi-2023.07.22, mutagen-1.47.0, sqlite3-3.35.5, websockets-11.0.3
[debug] Proxy map: {}
[debug] Loaded 1890 extractors
[BiliBili] Extracting URL: https://www.bilibili.com/video/BV1ms411Q7vw/?p=4
[BiliBili] 1ms411Q7vw: Downloading webpage
[BiliBili] BV1ms411Q7vw: Extracting videos in anthology
[BiliBili] Format(s) 1080P 高清, 360P 流畅, 720P 高清, 480P 清晰 are missing; you have to login or become premium member to download them. Use --cookies-from-browser or --cookies for the authentication. See  https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp  for how to manually pass cookies
[BiliBili] 4120229: Extracting chapters
ERROR: [BiliBili] BV1ms411Q7vw_p4: No video formats found!; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
Traceback (most recent call last):
  File "yt_dlp\YoutubeDL.py", line 1567, in wrapper
  File "yt_dlp\YoutubeDL.py", line 1723, in __extract_info
  File "yt_dlp\YoutubeDL.py", line 1782, in process_ie_result
  File "yt_dlp\YoutubeDL.py", line 2751, in process_video_result
  File "yt_dlp\YoutubeDL.py", line 1076, in raise_no_formats
yt_dlp.utils.ExtractorError: [BiliBili] BV1ms411Q7vw_p4: No video formats found!; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U

Are you able to watch the video in your browser without logging in? (use an incognito/private browsing tab)

Are you able to watch the video in your browser without logging in? (use an incognito/private browsing tab)

Yes, I can watch videos normally in Firefox private mode, I analyzed that this is a video in flv format

I thought that bilibili has discontinued flv completely. It is surprising to find this video still exclusively use a flv source.

I have the same issue on another video https://github.com/yt-dlp/yt-dlp/issues/8912
I wonder if we also need to add another exception into the bilibili extractor code?
CC. @GD-Slime

#8912 is a case of single mp4 file (instead of flv) format, another discontinued format that bilibili.com used before. Not exactly the same but can be handled using the same logic.

It's been two months since PR #8553 was updated. Any plan to finish this PR? @GD-Slime
Or may I somehow take over or start a new PR to fix this?

It's been two months since PR #8553 was updated. Any plan to finish this PR? @GD-Slime Or may I somehow take over or start a new PR to fix this?

@c-basalt Yes, I have no time these days, so you can take over #8553 . Thanks for your help!

@c-basalt Yes, I have no time these days, so you can take over #8553 . Thanks for your help!

@GD-Slime Thanks for letting me know. I've forked your patches: https://github.com/c-basalt/yt-dlp/tree/bili-legacy
Feel free to close your PR whenever you wish. I'll start a new one when I complete the patch.

Hey sorry but I came across 2 more videos that have the same issues:
https://www.bilibili.com/video/BV1nx411u7vc?p=3
and
https://www.bilibili.com/video/BV1nx411u7vc?p=6
I wonder what is the proper way to address this in the future? Should I make an issue again or make a PR with the exceptions or..., thanks

@c-basalt I am wondering if there can be logic added to the extractor code to detect if it is one of those older video formats so we don't have to add an exception for each video ID that uses old formats like I came across a playlist with 2 more videos with same issue above.

@c-basalt I am wondering if there can be logic added to the extractor code to detect if it is one of those older video formats so we don't have to add an exception for each video ID that uses old formats like I came across a playlist with 2 more videos with same issue above.

Feel free to locally checkout my PR and test it yourself.

@c-basalt sadly I also don't have time to work on that. It would be great if you add the 2 videos into your PR
Thanks

Hi. Please i found a similar issue with this link:
https://www.bilibili.com/video/BV19x411G7i4/
Thanks

Hi, I tested @c-basalt PR and it worked well with the following video
Thanks!


Haley's live css editor

the codepen doesn't work because I couldn't figure out how to use a cdn in time

a .gitignore file would probably have been helpful. Can you point me to where your code is?

please don't bother looking at mine! I wasn't able to link ace in codepen.


Fix documentation warnings

Running cargo doc raises many documentation warnings about missing elements. For example:
 /// Create the [`SecureChannel`] [`PurposeKey`]
   |                               ^^^^^^^^^^ no item named `PurposeKey` in scope

We should fix this either by:

importing the right scope
or the right element name
or in some cases not quote a struct name (for example if this is a concrete example of an abstract crate usage)

We love helping new contributors!
If you have questions or need help as you work on your first Ockam contribution, please leave a comment on this discussion.
If you're looking for other issues to contribute to, checkout this discussion and labels - Good first issue or Help wanted

Would you please assign it to me?

Hi @Riahiamirreza please, it's all yours.

@etorreborre Anyone working on it?

@Ankit8848 I'm currently working on it.

@etorreborre
Can you give a guide on what to do for this? There's not PurposeKey in the code that I can import. The most similar name I could find is PurposeKeys, which I think is not semantically what I'm searching for.
99 |     /// Create the [`SecureChannel`] [`PurposeKey`]
   |                                        ^^^^^^^^^^ no item named `PurposeKey` in scope
   |

Hi @etorreborre
I have created a PR that solves all the warnings that we previously get.
Please have a look at it


gh-640 - fixed equals method on hllp aggregator

Current coverage is 61.36% (diff: 27.27%)

No coverage report found for develop at a966a3b.

Powered by Codecov. Last update a966a3b...7135427

@gaffer01 - good spot. I have renamed the test methods.


basic info

👷 Deploy Preview for hongdeyu processing.

Name
Link

🔨 Latest commit
0b671ad633a662fbb3925a0192007ba873688cb2

🔍 Latest deploy log
https://app.netlify.com/sites/hongdeyu/deploys/670bfcdb6c39d3000803211c


Lock file maintenance

This PR contains the following updates:

Update
Change

lockFileMaintenance
All locks refreshed

:wrench: This Pull Request updates lock files to use the latest dependency versions.

Renovate configuration
:date: Schedule: "on monday" in timezone Asia/Seoul.
:vertical_traffic_light: Automerge: Enabled.
:recycle: Rebasing: Whenever PR is stale, or if you modify the PR title to begin with "rebase!".
:ghost: Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

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

This PR has been generated by Renovate Bot.

Branch automerge failure
This PR was configured for branch automerge, however this is not possible so it has been raised as a PR instead.

Branch has one or more failed status checks


[QUESTION] PLOT_1.m

@aweinert-MIT Did you mean to delete PLOT_1.m  in v2.0.0? Old file still works with the new changes

It was intentionally deleted as I was reworking to functionalize it and reintroduce it in a future reelease. I didn't think it was being used by anyone. Do you need it back?

Understood. I don't really need it. If I ever need it, I can use a copy of the old file


Weird results in interactive mode

Sometimes I'm getting weird results when using the interactive REPL. No idea why. I'm investigating. I've just put this issue here incase anyone else comes across it.

Looks like it's due to MicroPython not keeping up when in interactive mode. Not quite sure why but the following works:
    def show_unroll(self):
        self.sm.put(self.pixels[0],8)
        self.sm.put(self.pixels[1],8)
        self.sm.put(self.pixels[2],8)
        self.sm.put(self.pixels[3],8)
        self.sm.put(self.pixels[4],8)
        self.sm.put(self.pixels[5],8)
        self.sm.put(self.pixels[6],8)
        self.sm.put(self.pixels[7],8)
        self.sm.put(self.pixels[8],8)
        self.sm.put(self.pixels[9],8)

While the following does not
    def show(self):
        for i in range(self.num_leds):
            self.sm.put(self.pixels[i],8)
        time.sleep(self.delay)

Not too sure what the best way of solving this is ATM

Looks like it's due to MicroPython not keeping up when in interactive mode. Not quite sure why but the following works:
    def show_unroll(self):
        self.sm.put(self.pixels[0],8)
        self.sm.put(self.pixels[1],8)
        self.sm.put(self.pixels[2],8)
        self.sm.put(self.pixels[3],8)
        self.sm.put(self.pixels[4],8)
        self.sm.put(self.pixels[5],8)
        self.sm.put(self.pixels[6],8)
        self.sm.put(self.pixels[7],8)
        self.sm.put(self.pixels[8],8)
        self.sm.put(self.pixels[9],8)

While the following does not
    def show(self):
        for i in range(self.num_leds):
            self.sm.put(self.pixels[i],8)
        time.sleep(self.delay)

Not too sure what the best way of solving this is ATM

Not sure that this will be solvable until DMA is implemented on MicroPython, but ideas welcome!

Not sure that this will be solvable until DMA is implemented on MicroPython, but ideas welcome!

Have you tried putting a delay after the put?
In the working example, there is time between the execution of the puts (the time it takes for the line being sent)
In the failed example, there is no time between the execution of the puts. Only after all the puts have been executed.
I don't have my pico yet, so I cannot try it myself.

Have you tried putting a delay after the put?
In the working example, there is time between the execution of the puts (the time it takes for the line being sent)
In the failed example, there is no time between the execution of the puts. Only after all the puts have been executed.
I don't have my pico yet, so I cannot try it myself.


Yield Aggregator UI - Deposit UI component design

The task is to create the UI component itself.
Focus on the design itself, don't worry about the params, use hardcoded text, we'll do the params on another task.
Use the same branch feat/yield-aggregator-ui and we'll keep updating the PR until the whole feature is done; and then we merge.
Bonus point for using Tailwind 🎉

Awesome job @chriswudev thank you! Closing this issue!


Synchronize history message keeps popping up

Every time I log in to hoppscotch and use the REST tool, the sync history message keeps popping up. In the video I show the case.
https://user-images.githubusercontent.com/56084970/162647505-eaf08f5c-603a-4142-a337-af6c0756c8c4.mp4

whoops, wrong repo


Is anyone still maintaining this repository?

I'm submitting a ...
[ ] bug report
[ ] feature request
[ ] question about the decisions made in the repository
[ ] question about how to use this project

Summary

SWR v1 has just been released with breaking changes. Is anyone still maintaining this repo to fix the behavior?

Other information (e.g. detailed explanation, stack traces, related issues, suggestions how to fix, links for us to have context, eg. StackOverflow, personal fork, etc.)

We will release 0.7.0 with version 1.0.x of SWR.


object spread causes syntax error

@keenahn Thank you for reporting. I'm working on it.
(FYI: duplicated with https://github.com/power-assert-js/power-assert/issues/108 )


Error with selected inputs for the send transaction (btc balance is enough)

1. balance overview

Addr No.
account
btc balance
omnitest balance

addr1
mx7r52d2oaNTeiMDr2zrcw2VGm1BQurC9K
0.14196558
2

addr2
n4YZv8eV8VTXW2ae2uZhnb64KdK3jS4GCx
0
0

The balace is checked by below commands:
btc balance:
usdt@iZj6c48apyeg9dvouqz3uxZ:~$ omnicore-cli listreceivedbyaddress 0 true
[
  {
    "address": "mx7r52d2oaNTeiMDr2zrcw2VGm1BQurC9K",
    "account": "",
    "amount": 0.14196558,
    "confirmations": 412,
    "label": "",
    "txids": [
      "641d9e1975333ba61af5ffd3023427ab4935b507cb042ff561a563d09e0f2644"
    ]
  },
  {
    "address": "n4YZv8eV8VTXW2ae2uZhnb64KdK3jS4GCx",
    "account": "",
    "amount": 0.00000000,
    "confirmations": 0,
    "label": "",
    "txids": [
    ]
  }
]

omnitest (asset id = 2)
usdt@iZj6c48apyeg9dvouqz3uxZ:~$ omnicore-cli omni_getbalance "mx7r52d2oaNTeiMDr2zrcw2VGm1BQurC9K" 2
{
  "balance": "2.00000000",
  "reserved": "0.00000000",
  "frozen": "0.00000000"
}

usdt@iZj6c48apyeg9dvouqz3uxZ:~$ omnicore-cli omni_getbalance "n4YZv8eV8VTXW2ae2uZhnb64KdK3jS4GCx" 2
{
  "balance": "0.00000000",
  "reserved": "0.00000000",
  "frozen": "0.00000000"
}

2. send  0.2 omnitest from addr1 to add2 by below command
usdt@iZj6c48apyeg9dvouqz3uxZ:~$ omnicore-cli omni_send "mx7r52d2oaNTeiMDr2zrcw2VGm1BQurC9K" "n4YZv8eV8VTXW2ae2uZhnb64KdK3jS4GCx" 2 0.2

3. Then the omni_send returns the error:
error code: -206
error message:
Error with selected inputs for the send transaction

I have read other issues about this error, seems it occurs a lot:
https://github.com/OmniLayer/omnicore/issues?utf8=✓&q=Error+with+selected+inputs+for+the+send+transaction
Below is my conf setting, I have set txconfirmtarget = 25 to lower the tx fee, but it's not working.
# This config should be placed in following path:
# ~/.bitcoin/bitcoin.conf

# [core]
# Specify the location of the configuration file. To use non-default location, create a default location config file containing this setting.
conf=~/.bitcoin/bitcoin.conf
# Specify a non-default location to store blockchain and other data.
datadir=/mnt/bitcoin/omni

# [debug]
# Run this node on the Bitcoin Test Network.
testnet=1

# [rpc]
# Accept command line and JSON-RPC commands.
server=1

# Accept public REST requests.
rest=1

# RPC user
rpcuser=rpcuser

# RPC password
rpcpassword=rpcpass

# listen for connections
port=16333

# RPC prot
rpcport=16332 #for testnet
#rpcport=6332 #for mainnet

# RPC allow ip (allow all)
rpcallowip=<IP_ADDRESS>/0

# RPC bind
rpcbind=<IP_ADDRESS>

# get all transaction
txindex=1

# lower the tx fee
txconfirmtarget=25

My addr1 have 0.14196558 btc, is it not enough to pay the tx fee? I can't belive it. How exactly can I send omni assets?
@laanwj @sipa @zathras-crypto @dexX7 @gavinandresen needs your help, thanks!

@msgilligan can you please help

@huahuayu,  Please, can you run omnicore-cli listunspent 0 9999999 and send the output?
Checking in the blockexplorer the address mx7r52d2oaNTeiMDr2zrcw2VGm1BQurC9K have 0 BTC balance , https://live.blockcypher.com/btc-testnet/address/mx7r52d2oaNTeiMDr2zrcw2VGm1BQurC9K/
The "omnicore-cli listreceivedbyaddress 0 true" list the amount that you received, but not show what you spent.

@huahuayu
If your wallet unlocked?
Could you try to conduct an BTC transaction from addr1 to addr2?

@huahuayu
If your wallet unlocked?
Could you try to conduct an BTC transaction from addr1 to addr2?
it's unlocked, and I can send btc, actually, I got omnitest asset by send btc to an address and then get omnitest return back.

@marucelo yes sir
usdt@iZj6c48apyeg9dvouqz3uxZ:~$ omnicore-cli listunspent 0 9999999
[
  {
    "txid": "d503bda0b4ad6cd03a0a34ae32f5a110d6e1022cd954c61d2325fdfd126d2b9c",
    "vout": 0,
    "address": "mhPo6yfETX9SxzQ1HtC7aRrpE3HhNcMA98",
    "scriptPubKey": "76a9141495aae7c076772932b80b8359cddd22a7c5453f88ac",
    "amount": 0.12196269,
    "confirmations": 150,
    "spendable": true,
    "solvable": true
  },
  {
    "txid": "aeac1b69426bc3f6e3ca0be8bec369ffae6308f9e3e56184dae8b8cc868937c3",
    "vout": 1,
    "address": "n1RfuCXBdVniV2afuUM67Frz5NuvWEmqxR",
    "account": "",
    "scriptPubKey": "76a914da62c034eb7ca90dc7a8a5bbcf710e296947fecc88ac",
    "amount": 0.20043000,
    "confirmations": 18,
    "spendable": true,
    "solvable": true
  },
  {
    "txid": "6d8207a697e5aaf9f579358483625cc0f88690904620b8e5fe112178273ed1c8",
    "vout": 0,
    "address": "n1RfuCXBdVniV2afuUM67Frz5NuvWEmqxR",
    "account": "",
    "scriptPubKey": "76a914da62c034eb7ca90dc7a8a5bbcf710e296947fecc88ac",
    "amount": 0.13428332,
    "confirmations": 18,
    "spendable": true,
    "solvable": true
  }
]

I checked the link you give, I don't know why the balance shows zero, please refer below pic, let me explain:

By the output of listunspent the address mx7r52d2oaNTeiMDr2zrcw2VGm1BQurC9K have no balance, this happened because the change for transaction d503bda0b4ad6cd03a0a34ae32f5a110d6e1022cd954c61d2325fdfd126d2b9c  returned to address mhPo6yfETX9SxzQ1HtC7aRrpE3HhNcMA98.
To solve your problem you can do a small btc transfer to address mx7r52d2oaNTeiMDr2zrcw2VGm1BQurC9K  ( 0.001 for example )  and after this repeat the omni_send.
To do a omni_send, the source address must have BTC funds, balance in wallet is no enough.

@marucelo thank you for giving a hand, my problem solved(after I got some btc from faucet)!
But, why I spend 0.02 btc and the change returned to another address, I can't understand.

It's the default behavior of bitcoin when you use sendtoaddress ( you can change this in GUI  or with rawtransaction ) , every time that you send a bitcoin transaction, the wallet generate a new address and send the change to this address.
Using omni_send the change returns to fromaddress.

but what I used is sendfrom method, is it same as sendtoaddress?

yes, the same

@marucelo ok, I see, thanks a lot!

you need at least a tiny amount of BTC in fromaddr to construct a transaction.

@AllenYaoya if it's as you said, each time I send a omni asset, the from address must have unspent btc, and after the omni send, the from address will spent all the unspents, changes give back to a new address generated by wallet; next time if I want send omni asset, I have to send some btc to from address again, it's driving me crazy. How can I get the changes return to from address?

@huahuayu seems you need to manually construct the transaction, use createrawtransaction, signrawtransaction, (maybe fundrawtransaction), sendrawtransaction

@AllenYaoya is correct
Using bitcoin-gui you can define the change of transaction, but in console only with rawtransaction

Stil not found solve :(


docs: fix incorrect PHPDoc types

Description

fix PHPDoc type errors found by Psalm

Checklist:

[x] Securely signed commits
[x] Component(s) with PHPDoc blocks, only if necessary or adds value
[ ] Unit testing, with >80% coverage
[ ] User guide updated
[x] Conforms to style guide

This PR fixes the current Psalm errors. Review first.


How to use suspense mode on specific components?

Hi all,
I just want to use suspense for specific components.
So, I set suspense: false for the urql client and context.suspense: true
const client = createClient({
  url: 'http://localhost:1234/graphql',
  suspense: false, // Disable suspense by default
  exchanges: [
    dedupExchange,
    suspenseExchange, // Add suspenseExchange to your urql exchanges
    cacheExchange,
    fetchExchange,
  ],
});

I just want to  enablesuspense mode only on CommentList.jsx
// CommentList.jsx
const context= {
   suspense: true
}

const ComponentList = () => {
   const [data, fetching] = useQuery({
     query: ...,
     context
   });

  console.log(data, fetching);// undefined true
   ....
}

export default props => (
  <Suspense fallback="loading....">
    <ComponentList {...props} />
  </Suspense>
);

Thanks in advance.

This isn't well documented (purposefully) but you can disable suspense mode selectively by setting it in the context to false: https://github.com/FormidableLabs/urql/blob/master/packages/core/src/client.ts#L232
So for instance for useQuery you'd have to write:
const context = { suspense: false };

const YourComponent = () => {
  useQuery({
    // ...
    context,
  });

  // ...
};

Now the obvious question that follows is, why is client-side suspense mode hard to enable/disable?
And to that there are two parts: For us it's always been intended to be used for server-side rendering as a server-side suspense-mode in combination with react-ssr-prepass, and the other side is that we're deprecating @urql/exchange-suspense and client-side suspense support. We're adding notices for this soon.
The tl;dr reason is that users lose control over the loading behaviour entirely and run into odd issues due to usage fairly frequently. It's also not a good loading primitive on the client-side and hasn't been intended as such by the React team. It's not meant to be used as a "fancy loading mode" 😅
More details can be found here: https://github.com/FormidableLabs/urql/issues/685#issuecomment-611133478


Retire redundant buildkite kubernetes cluster: buildkite-infra-east1

This issue is to track retiring the buildkite kubernetes cluster buildkite-infra-east1.
Retiring this cluster would consolidate Bulidkite infrastructure into a single cluster for easier management. This cluster currently runs 40 buildkite agents that will need to be migrated before the cluster can be retired. In total, the process of retiring the cluster is as follow:

[x]  Scale up the agent count on cluster buildkite-infra-central1 from 40 agents to 80.
[x] Scale down agents on buildkite-infra-east1 to 0.
[x] Remove prometheus metrics cluster configurations and pods.
[x] Delete Kubernetes cluster buildkite-infra-east1.

Removing kubernetes cluster buildkite-infra-east1 also removes a number of resources from GCloud, including:

Node pools (the physical servers assigned to the cluster).
Kubernetes secrets (keys and credentials used by builkite agents on the cluster)
Kubernetes config maps (configuration scripts that run to customize buildkite agent containers during deployment)

The following related github source files would also be removed, as they would be no longer used:

[x] https://github.com/MinaProtocol/mina-deployments/blob/main/src/buildkite/buildkite-east1.yaml

This item has been completed. Buildkite kubernetes cluster buildkite-infra-east1 has been retiredrom GCloud.


Migrate user, social auth, and system settings from Django Admin to be first-class citizens in UI/API

Proposed Functionality
Before the launch of Nautobot, there was significant work to migrate functionality from Django Admin into core and create first-class views and APIs for webhooks, custom links, and export templates.  Custom fields are also coming soon in #229.  This proposes doing the same for everything in the Users, Python Social Auth, and System sections in Django Admin.
Use Cases
As Patti the Platform Admin,
I want to have the ability to manage users, groups, and permissions from the Nautobot UI without going into Django Admin,
So that there is a more consistent user experience for my team as well as APIs for anything else that doesn't have an API currently within Django Admin, e.g. Social Auth, retrieving background tasks, etc.
One option is to create an "Admin" dropdown in the navigation bar which contains "Users (no change)," "Social Auth (drop 'Python')," and "System" sections. We may need one additional section called "plugins" for when plugins have created entries in Django Admin.
I will know this is done when it is possible to:

Manage what is currently under Users, Python Social Auth, and System sections in Django Admin in the main Nautobot UI
Manage what is currently under Users, Python Social Auth, and System sections in Django Admin through Nautobot REST API calls

Did we narrow the scope of this issue to simply "hide social auth" (#877) or are we still planning to migrate Users and System out of the admin? I think it's the former.


accept TextMarshaler

this pr does a few things

support for using Text[Unm/M]arshaler for encoding/decoding objects in a struct
moves logic that is not specific to redis, but instead the conversion of struct->map, etc, to "gtrsconvert", for better namespace separation
no longer export the types used in testing.

we had an internal need for this, but it seems to also addresses #16
@dranikpg  some questions for you

time.Duration & time.Time already implements Text/BinaryMarshaler - should we use it? it would reduce the amount of code and make things more compatible with the go std.  right now, i am not. it is more standard, and protected by go-1 guarantees. however, it will break existing applications since the string will be in a different format.
technically redis is a "binary" protocol (can send arbitrary bytes over stream). should i use BinaryMarshaler instead or both? the only reason why i am using textmarshaler is bc the redis protocol itself is utf8, but this is all semantic - it's up to you.
i've reimplemented Metadata as a case of TextUnmarshaler/BinaryUnmarshaler. I've aliased the types for backwards compatibility, but maybe that it not enough?

Thanks! Will take a look in the coming days

@dranikpg
hmm, so i guess there's some weirdness with how the library currently is (encodes time as human readable) while binarymarshaler/unmarshaler doesn't.
my thoughts here - since the redis library uses MarshalBinary, we should use MarshalBinary to keep consistency accross their codebase.
users interested in having a human readable representation of "time" in their packages can implement their own type wrapper around time.Time which uses TextMarshaler, or use the provided "AsciiTime"
i've pushed with this change.


fix: hybrid neural network deprecated package fix

Changes
I have commented out the code section where the qobj is created and replaced the run function by simply calling the quantum circuit (t_qc) in the backend.run() method.
Closes #2062
Implementation details
Introduced changes to the machine-learning-qiskit-pytorch.ipynb notebook by removing the qobj statement and replaced with t_qc.

@nuvinga thank you and my apologies for getting to this so late. if possible can you resolve the merge conflict so we can properly review your changes. thanks

Hi @vabarbosa
I have raised a new PR with the merge conflicts resolved. Sorry for the confusion. Hope this makes it easier for you! thanks.
New PR: #2133


Synchronizer

Description of the Change
Synchronizer, which tasks it to download blocks, which we lack in our local storage and tree, and answer for such download requests from other peers.

Please elaborate on the PR description, it is hard to understand.


Removed unnecessary clones in rug trial_division

Reusing storage and reducing allocations by .assign()ing incomplete operation results to variables instead of .clone()ing. On my machine it's ~6x faster (tested by factoring a product of 20 random primes <100_000_000).
I also had a glance at the rest of the code, and similar optimizations could improve other functions using rug (but they are best modified by someone more familiar with the code).
Also I'm not quite sure why this function consumes self instead of taking &self and cloneing it. Factorisation operation doesn't feel like it requires ownership of the number it factors.

Looks good, thank you very much!
I really need a better benchmarking capabilities here, what I have is very messy and homebrewed.


[QUESTION] Chapter 13 DATA API: question 10 part e

Hi @ageron!
I have problem with understanding the following helper function available for creating an Embedding layer.
This is not a technical issue or that something is not working.
def compute_mean_embedding(inputs):
    not_pad = tf.math.count_nonzero(inputs, axis=-1)
    n_words = tf.math.count_nonzero(not_pad, axis=-1, keepdims=True)
    sqrt_n_words = tf.math.sqrt(tf.cast(n_words, tf.float32))
    return tf.reduce_mean(inputs, axis=1) * sqrt_n_words

I understand second line of the codenot_pad variable, it counts the number of the non-zero elements and returns it. I do not understand the value in the variable n_words: is it going to provide us with the number of the words in the whole training_set or only the number words contain each instance.
For example, I first created a bag of word representation of the train_set (with the help of the codes available in the note book) as follow:
x_train = train_set.map(lambda review, label: review)
x_train = np.concatenate(list(x_train), axis = 0)

x_train_vectorized = text_vectorization(x_train)
x_train_bgw = bag_of_words(x_train_vectorized)
x_train_bgw

OUTPUT>>>

                <tf.Tensor: shape=(25000, 1100), dtype=float32, numpy=
                array([[2., 3., 1., ..., 0., 0., 0.],
                       [1., 4., 1., ..., 0., 0., 0.],
                       [1., 0., 0., ..., 0., 0., 0.],
                       ...,
                       [1., 3., 1., ..., 0., 0., 0.],
                       [1., 1., 0., ..., 0., 0., 0.],
                       [1., 1., 1., ..., 1., 0., 0.]], dtype=float32)>

Then again tried your code to count the non-zero elements in the rain set:
not_pat = tf.math.count_nonzero(x_train_bgw, axis = -1)
not_pat

OUTPUT>>>

<tf.Tensor: shape=(25000,), dtype=int64, numpy=array([40, 42, 44, ..., 40, 44, 44])>

Up to this point, I see that the first review contains 40 word, the second 42 and so on. Now here is my question with the following line of the code:
n_words = tf.math.count_nonzero(not_pat, axis = -1, keepdims = True)
n_words

OUTPUT>>>

<tf.Tensor: shape=(1,), dtype=int64, numpy=array([25000])>

I get [25000] which is the size of the previous variable not_pad. What I was expecting was to be the sum of the whole words in the trappings set something maybe like:  tf.reduce_sum(not_pat) which gives the number of all available words in the train_set.
Or maybe I am getting it wrong, since during the training compute_mean_embedings is executed once for each review and each review is multiplied by the square root of its own number of words: for example the first review is multiplied by sqrt(40) and the second sqrt(42) and so on.
I appreciate your passion clarifying this question: ☺

Hi @kasrahabib ,
Thanks for your question! I propose to use a simpler input to understand what's happening:
>>> inputs = tf.constant([[[1., 2., 3.], [4., 5., 0.], [0., 0., 0.]],
...                       [[6., 0., 0.], [0., 0., 0.], [0., 0., 0.]]])
...

Note that this is a 3D array, not a 2D array like your x_train_bgw. Indeed, after the embedding layer, each word is represented as a vector, so a sentence is represented as a 2D array, and a list of padded sentences is represented as a 3D array. I think this is probably the source of the confusion.
The above inputs array represents two very short sentences: the first one has two words (embedded as [1., 2., 3.] and [4., 5., 0.] respectively), and the second has just one word (embedded as [6., 0., 0.]). Both sentences are padded with padding tokens (represented as a zero vector: [0., 0., 0.]). The first sentence is padded with 1 padding token, and the second sentence is padded with 2 padding tokens.
The first time we use count_nonzero(), we're just counting the number of non-zero values in each token's embedding:
>>> not_pad = tf.math.count_nonzero(inputs, axis=-1)
>>> not_pad
<tf.Tensor: shape=(2, 3), dtype=int64, numpy=
array([[3, 2, 0],
       [1, 0, 0]])>

Indeed, the first sentence has three tokens: the first token's embedding has 3 non-zero values (1., 2. and 3.), the second has 2 (4. and 5.), and the last token is the padding token, full of zeros (so there are 0 non-zero values).
The second sentence also has three tokens: the first one's embedding has just 1 non-zero value (6.), and the other two tokens are padding tokens, so there are 0 non-zero values.
With this we're ready to count the number of words in each sentence. To do this, we count the number of tokens whose embeddings have at least one non-zero value. For the first sentence, not_pad[0] is [3, 2, 0], which contains 2 non-zero values: this tells us that there are two words in the first sentence (we're simply ignoring the 3rd token, which is a padding token and has 0 non-zero values, since it is represented as [0., 0., 0.]). In the second sentence, not_pad[1] is [1, 0, 0] which contains just 1 non-zero value. So the second sentence has just 1 word (the rest are padding tokens).
>>> n_words = tf.math.count_nonzero(not_pad, axis=-1, keepdims=True)
>>> n_words
<tf.Tensor: shape=(2, 1), dtype=int64, numpy=
array([[2],
       [1]])>

Next, let's compute the square root of the number of words. Since n_words has an integer type, we need to cast it to float32 first:
>>> sqrt_n_words = tf.math.sqrt(tf.cast(n_words, tf.float32))
>>> sqrt_n_words
<tf.Tensor: shape=(2, 1), dtype=float32, numpy=
array([[1.4142135],
       [1.       ]], dtype=float32)>

Now let's compute the mean of the embeddings, over all the words in each sentence:
>>> mean = tf.reduce_mean(inputs, axis=1)
>>> mean
<tf.Tensor: shape=(2, 3), dtype=float32, numpy=
array([[1.6666666, 2.3333333, 1.       ],
       [2.       , 0.       , 0.       ]], dtype=float32)>

The mean embedding in the first sentence is [1.6666666, 2.3333333, 1.], and the mean embedding in the second sentence is [2., 0., 0.].
Lastly, the function returns the mean embedding multiplied by the number of words, for each sentence:
>>> mean * sqrt_n_words
<tf.Tensor: shape=(2, 3), dtype=float32, numpy=
array([[2.3570225, 3.2998314, 1.4142135],
       [2.       , 0.       , 0.       ]], dtype=float32)>

Hope this helps!

I just realized that there's an error in this function: the mean of the embeddings should have been computed only on the word embeddings, excluding the padding tokens. Right now the function includes the padding tokens when computing the mean, which is incorrect.
So right now, for each sentence the function outputs S / (N + P) * sqrt(N) where S is the sum of all the word embeddings in the sentence, N is the number of non-padding tokens, and P is the number of padding tokens. The correct result should have been S / N * sqrt(N), which is equal to S / sqrt(N).
We can easily fix this issue by replacing reduce_mean() with reduce_sum(), and dividing the result by the square root of the number of words, instead of multiplying by this square root:
def compute_mean_embedding(inputs):
    not_pad = tf.math.count_nonzero(inputs, axis=-1)
    n_words = tf.math.count_nonzero(not_pad, axis=-1, keepdims=True)
    sqrt_n_words = tf.math.sqrt(tf.cast(n_words, tf.float32))
    return tf.reduce_sum(inputs, axis=1) / sqrt_n_words

FYI, I just fixed this issue in commit https://github.com/ageron/handson-ml2/commit/0459e92a89e245a11202c582ef4c7531b29eead6

Thanks!
It is much clear now!


Build failed Windows

Most of the part looks downloaded successfully but gives below error after around 30 mins..
Please help.

-- Looking for pthread.h
-- Looking for pthread.h - not found
-- Found Threads: TRUE
CMake Error at C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:164 (message):
Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
Call Stack (most recent call first):
C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:445 (_FPHSA_FAILURE_MESSAGE)
C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.17/Modules/FindPkgConfig.cmake:45 (find_package_handle_standard_args)
dependency/libkvscproducer/kvscproducer-src/CMakeLists.txt:109 (find_package)

Seems you are missing pkgconfig per error output

Where to get this ?

Seems you are missing pkgconfig per error output

Here are some answers on how to install: https://stackoverflow.com/questions/1710922/how-to-install-pkg-config-in-windows

Where to install pkgconfig for MSVC ?

There is a project called pkg-config-lite https://sourceforge.net/projects/pkgconfiglite/ you might try.
GStreamer is packaged with the executable: https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp/blob/master/CMakeLists.txt#L120

Thanks Mush. Looks like there is some progress with this. After trying further step it is not progressing....can you please help us to move ahead.
Below is build result...

Looks like you are not building dependencies such as gtest. Are you specifying -DBUILD_TEST=TRUE -- Build unit/integration tests, may be useful for confirm support for your device. ./tst/webrtc_client_test per readme?

Below command from bat file was executed..
cmake -G "NMake Makefiles" -DBUILD_TEST=TRUE -DBUILD_GSTREAMER_PLUGIN=TRUE ..

@amitrjaiswal1 ,
Based on your comment, it looks like the build succeeded. Closing this.


SideNavigation: SideNavigationGroupItem with link

Summary
GroupItem subcomponent now can have links.
The example is added in the Subcomponent composability section of SideNaivgation docs page.

What changed?

[!NOTE]
Refactored and moved things around to make the implementation less DRY.

Links

Jira
Figma

Checklist

[ ] Added unit tests
[ ] Added documentation + accessibility tests
[ ] Verified accessibility: keyboard & screen reader interaction
[ ] Checked dark mode, responsiveness, and right-to-left support
[ ] Checked stakeholder feedback (e.g. Gestalt designers, relevant feature teams)

I think this PR is doing too much.
You're changing several components APIs beyond your SideNavigation changes.
I'd say we need onMouseEnter, onMouseLeave in all components if we decide we want to make them accessible, But All components not just 1.
Here we are opening the door to something that only TapArea was doing.
I'd suggest,

Going TapArea rather than changing IconButton
Proposing consistency onMouseEnter, onMouseLeave props for all Button like components... But it's a bigger discussion

@hectoid @AlbertCarreras I made a change that when nested item is selected, ots parent will always have border. This is how i understood the specs. If it's not something intended, i'll remove

@hectoid @AlbertCarreras I made a change that when nested item is selected, ots parent will always have border. This is how i understood the specs. If it's not something intended, i'll remove

This prob a design spec. Whatever Hector says.

@hectoid @AlbertCarreras I made a change that when nested item is selected, ots parent will always have border. This is how i understood the specs. If it's not something intended, i'll remove

This prob a design spec. Whatever Hector says.

I think for simplicity I'll leave as it was. If you play around, there's time you can get 3 selected items... not sure what's going on.

Can we create an example to just this? I cant test it on Subcomponent compoasabiltiy, dont see any link behavior.

Can you document in description chnages in API?
We are adding 3 props? it's hard to track among the whole changes.

@hectoid @AlbertCarreras I made a change that when nested item is selected, ots parent will always have border. This is how i understood the specs. If it's not something intended, i'll remove

very nice work @diyorbek ! Sorry if this wasn't clear in the spec, but:

For the groups that have a parent link, the parent does not need the border; it will look like the children with the reversed background when selected, and no background or border when unselected.
For groups that don't have a parent link, then it needs the border when selected

Examples look good! One tweak to the subgroup with links session if possible. can be a follow up ticket instead depending on time.
When the entire link group is collapsed, show the parent link as selected with the border. The way we do in the collapsed icon-only version.

Otherwise, users lose track of where in the nav they are:

Sorry, you had the border selected before and I wasn't clear. Continue to show it when it's completely collapsed.

hey again @diyorbek ! sorry, a couple of nits/questions.

I'm seeing the icon shift slightly when selecting the parent link (see attached)
Is there a reason why the Group Display example doesn't show any selected states for the parent or children? https://deploy-preview-3642--gestalt.netlify.app/web/sidenavigation#Group-display

https://github.com/pinterest/gestalt/assets/96082362/39c23711-3814-4970-9548-93d2a1999496

@hectoid I have been planning to make follow up PR for icon shift and other nits I found. This is PR is already big so I didn't want to rush it. Speaking of rushing, this PR is hanging for 2 weeks :D
Regarding the examples, none of the examples work if you pay attention. Except the ones I created (Collapsible, Group link). If we want to fix the examples, we should consider that is not a small work. I would actually go ahead and fix all of the component examples in the docs site. Because, honestly, they are very, very poorly done.

@diyorbek from my end, this is approved! sorry, I can never find where to approve on github.


NIFI-2640 Fixed Windows encrypt-config.bat script

The Apache repo hasn't synced with GitHub yet, so PR 834 still shows as open, and this PR includes the c638191 commit which will close it. I'll update this PR after Apache syncs.

Hey @alopresto, when building the encrypt toolkit on Windows I get a number of test failures. Since this PR is specifically about encrypt toolkit, could you address them here?
testOutput.txt

@jpercivall it looks like the errors are of two flavors:

setPosixFilePermissions() apparently does not work on Windows systems. I will add the equivalent file permission modification code to be compatible (but I can't test, as I don't have a Windows system available, so please verify after the next push).
your Windows date output format uses an offset time zone (GMT-0500) as opposed to the *nix  format (PST). I'll adjust the regex to handle this.

Thanks for finding these.

@alopresto that fixed some of the issues but not all. Here is the latest:
testOutput_2.txt

+1
Visually verified code and ran a contrib check build on Windows 8. Observed that the bat script runs as expected on Windows. Thanks @alopresto, I will squash and merge it in.


24fps (noticeable) when opening animation demo on Nexus 5

There is a noticeable un-smoothness when opening the animation demo.
Make a release build of the gallery, open animation demo:

For reference, here are the spikes when opening pesto, shrine, and contacts:

Seth believes this should block an updated release of the gallery.  The next build is slated to being release verification next week, so we'd need to fix this by then.

On a Moto G4 (the lower-bound of our Android phone target) we see 22fps when opening any component/widget demo (not just the vignettes)

@chinmaygarde do you know if we upload images async to the GPU?  Just musing at Triage about why these huge spikes might exist.

It is the raster cache snapshotting huge portions of the hierarchy when the animation is about to start and settle at either end. This work is expensive and completely unnecessary.

I investigated this further. Though the extra snapshotting work does take time, it is not the bottleneck. The SkCanvas::Flush itself takes a long time. This suggests we are simply making too many draw calls to the GPU. We need to simplify the scene.

@chinmaygarde So that means that the scene has hit the limit of what Flutter can do on the phone? Are there any other potential areas of optimization?

@chinmaygarde so next step is to look at the skpicture?  Or where would we look next for reducing draw calls?  What sort of tooling/logging should we add to understand situations like this?

In that screenshot, we're being descheduled for a really long time. The flush is long, but not THAT long.
Can we break down what's in the scene and how expensive each operation is? It doesn't seem that complicated superficially. It has very little text, for instance. A few gradients, a few rectangles, some images.

The last time we saw a trace like this (i.e. one where the flush was
abnormally long but the CPU time was relatively short), we traced the
difference to the GL driver. Also, given that I am seeing wildly different
traces on iOS, Android & Mac Desktop makes me more certain that this is the
issue. Also, if the swap was taking the majority of the frame slice, I
would have suspected it was frame scheduling or pipelining. From the
traces, that is not the case.
Next Steps:
To be absolutely certain, I can add traces to all GL calls and try to add
up the wall times and CPU times from each frame slice (there is a macro in
Skia that allows you to do this, will apply it and post updated traces). I
will also get traces from the Vulkan backend and see how they differ.
I'll also capture an SkPicture and share it with the Skia team to see what
they think.
I am not too confident I will be able to get reliable OpenGL traces on
Android, so the best way to identify how expensive each operation is would
be to keep simplifying the SkPicture incrementally and noting the
difference.
On Tue, Apr 11, 2017 at 5:42 PM Ian Hickson<EMAIL_ADDRESS>wrote:

In that screenshot, we're being descheduled for a really long time. The
flush is long, but not THAT long.
Can we break down what's in the scene and how expensive each operation is?
It doesn't seem that complicated superficially. It has very little text,
for instance. A few gradients, a few rectangles, some images.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/9219#issuecomment-293440010,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AACsNT9G5bOJs4ds6PGTtcX0lsp3q4aYks5rvB3mgaJpZM4M0kg2
.

Thanks for doing the research!

@chinmaygarde is evaluating, if this can't be fixed by EOW we'll disable the demo.

Update: Within the SkCanvas::Flush, it seems to be the frequent render target switches that cause slowdowns. In the attached trace, glClear on a frame with numerous render target switches causes a stall.
LogGLCalls.json.zip

Another data point: The Vulkan backend does not have this issue. Frame rates are much more consistent. This is the timeline when moving in and out of the demo.

The render target switches were traced to the excessive use of OpacityLayers. All transitions that happen when we open a demo use a full screen opacity layer. This causes a slowdown on most devices (like the one described by @sethladd above). Using a simple animation that does not use an opacity transition (like the ones used elsewhere in the Android framework) fixes that issue.
In the case of the "Animation" demo, more opacity layers are used to fade away the images on the tabs. This causes a render target switch per tab. Overlaying a simple color layer on top of the image without the opacity achieves the same visual effect without the corresponding hit in performance.

We were talking about a dynamic classification method. I think grouping into general year classes is a good way to dynamically toggle settings and adjust graphical fidelity for performance.
go/device-classifier
Let's use the data and hand switch expensive UI features on year class as long as we don't use it too much.

The resolution I would recommend is that we make a surgical fix to the Animation Demo ( @HansMuller ) given the time constraints and we file separate bugs about enhancements we want to make.
For example, @chinmaygarde do you feel like you had sufficient debugging tools for this?  Should we be surfacing some additional information to catch these cases in the future?
Also, iOS uses transparency all over the place.  Are they doing something fancy that we're not here (probably) or do we need to work with Skia to make this kind of operation less expensive (assuming that's possible)?  Or other options? :D
Probably all of those above questions/answers should just end up as bugs which relate back to this (giant) one. :)

I have a fix that replaces the fade transition used on Android with a simple slide out. That fixes perf issues on opening all demos. @xster mentioned that this used to be the previous behavior anyway. So I don't I think simplifying that transition should be an issue.
Specifically for these page transitions, the CupertinoPageTransition used on iOS does not use opacity layers. So it was always a bit cheaper on iOS. For other uses of opacity layers, we can detect cases where we can get away from using an SkCanvas::saveLayer and applying the opacity via a paint. For example, the opacity applied to the items on the tabs can probably be applied in the fragment shader instead of requiring a render target switch (the layer has a single child so group opacity is unnecessary). I will have to investigate how to do that with Skia. But at least now I know what to optimize for.

I would very much prefer if we kept the fade animation... it's what other Android apps do on those devices.

it's what other Android apps do on those devices.

While @sethladd, @xster and I were tooling around on the device, we saw that the behavior was inconsistent. The contacts app had the slide transition while some parts of Google Play Music had the fade.
In any case, if really like the fade transition, we can also introduce a picture layer boundary at that point in the hierarchy and make that picture be eligible for participation into the raster cache. We would pay the cost of populating the raster cache entry once (and may skip a frame or two on less powerful hardware) but subsequent frames would be fine. I'll submit patches for both tomorrow and we can just keep the one we like.

I would very much prefer if we kept the fade animation... it's what other Android apps do on those devices.

Once we make it fast, we should add it back. It looks really nice.

I thought Opacity already always introduced a repaint boundary.

I thought Opacity already always introduced a repaint boundary.

That is not true.
Update:

This pull request should make the transitions on all demos fast.
The perf issue on the Animations demo can be fixed by removing this opacity widget and expressing the effect in terms of a custom color and blend mode. RenderImage currently hard codes the blend mode to BlendMode.srcIn. @HansMuller is working on making that configurable. He says he will be done with that by today. We can then fix the demo to use the new stuff.
If we need to release the demo before Hans is able to land the fix, we can manually change the opacity of the images on the section tabs (they are in the asset bundle) and remove the opacity layer. That should give us equivalent performance but is obviously a hack.
Issues of this class will be caught earlier in the future once we enable a debugging option where offscreen rendered layers are checker-boarded. The issue tracking the implementation of that option has been filed here.
The particular issue of the tabs in the animations demo (single child in an opacity layer) can also be detected by flow and an optimization applied where the render target switch is avoided in favor of achieving the same effect via paint options (like the one we are manually applying in this case). The issue tracking the implementation of that optimization is filed here.

https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/rendering/proxy_box.dart#L709
...says that Opacity will generate a new layer whenever the opacity is not 100% or 0%. At 100% it just passes everything through unmodified. At 0% it doesn't render anything.
Is this not working?

Ah, I see. I was looking at isRepaintBoundary on RenderObject. But, even if a picture layer is introduced, the raster cache may disregard it for caching purposes if the op count of the picture is low enough (which it is in this case because there is only child). To force the raster cache to always cache the picture, you would need to set the isComplexHint on the same. I am hesitant to set that hint for this particular layer because doing it correctly via a paint in a flow optimization is better than making the raster cache populate an entry for us. Populating the raster cache entry will incur a hit initially and will also take up extra memory.
Ideally, the user will the performance debugging tools to avoid creating unnecessary opacity layers. In case that is not the case, the flow optimizations should catch most remaining cases.

In the case of the transitions, there's only one Opacity widget in the app if I understand correctly right? We should let users have one opacity without having to do performance debugging and removing the opacity.

I don't think we can count on our users doing anything involving profiling FadeTransitions, especially those involved in a MaterialPageRoute. They're going to want to assume that Just Works.

Hmm, even with the flow optimizations, we will only be able to handle cases where the fade is applied to a pictures that have a child (or maybe multiple children that themselves have no children, and, don't overlap). Using FadeTransitions on nested hierarchies excessively will cause performance bottlenecks. Some profiling there is unavoidable.


Genie find conf file & parse it to create cni command

This PR was created to address Issue #29

@karunchennuri Please do NOT merge!

@karunchennuri Please do NOT merge!


[Feature Request]: Standalone nuget package providing TitleBarContent functionality

Describe the solution you'd like
MicaWPF is a great library, but even for an empty project it is 25MB in size, which seems a bit heavy for developing nice looking tool app.
I see that in the new version, MicaWPF already supports TitleBarContent function, which is a useful feature, can it be branched out separately?
I want to be able to simply customize the title bar, including support for Minimize, Maximize, Close buttons with associated event subscriptions (MaximizingEvent, MaximizdEvent...) For example, I may need to do something before clicking Maximize button.

Is your feature request related to a problem? Please describe.
No response
Describe alternatives you've considered
No response
Additional context
No response

Will be fixed in release 6.0.0
You can now use MicaWPF.Lite


Prevent escaping underscores with '' when going from WYSIWYG to Markdown?

Hello,
It seems that underscores are escaped with a backslash '' when you go from WYSIWYG mode to Markdown mode. For example:
WYSIWYG :

test_test_test

Markdown :

test\_test\_test

What is the best way to prevent this or stop it from occurring? Do we need to customize the regex in markdownTextToEscapeRx?
Thank you in advance!

@michael-roschenwimmer
We had some issues, so the _, *, ~, and backtick(`) characters entered in WYSIWYG all escaped when converted to Markdown.

tui-editor : https://github.com/nhn/tui.editor/issues/617
to-mark : https://github.com/nhn/to-mark/issues/30

Unfortunately, there is currently no way to control this with options in the editor. :(

@seonim-ryu
I see. Thank you for following up with me!


reland always adds alert label for alert dialog in Android

Description
The PR broke a post submit test, which is now fixed in this PR
Related Issues
Fixes https://github.com/flutter/flutter/issues/64926
Tests
I added the following tests:
Replace this with a list of the tests that you added as part of this PR. A change in behavior with no test covering it
will likely get reverted accidentally sooner or later. PRs must include tests for all changed/updated/fixed behaviors. See Test Coverage.
Checklist
Before you create this PR, confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[ ] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[ ] I signed the CLA.
[ ] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[ ] I read the Tree Hygiene wiki page, which explains my responsibilities.
[ ] I updated/added relevant documentation (doc comments with ///).
[ ] All existing and new tests are passing.
[ ] The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
[ ] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Did any tests fail when you ran them? Please read Handling breaking changes.

[ ] No, no existing tests failed, so this is not a breaking change.
[ ] Yes, this is a breaking change. If not, delete the remainder of this section.

[ ] I wrote a design doc: https://flutter.dev/go/template Replace this with a link to your design doc's short link
[ ] I got input from the developer relations team, specifically from: Replace with the names of who gave advice
[ ] I wrote a migration guide: https://flutter.dev/go/breaking-changes-template Replace this with a link to a pull request that adds the migration guide to https://flutter.dev/docs/release/breaking-changes

Gold has detected about 6 untriaged digest(s) on patchset 2.
View them at https://flutter-gold.skia.org/cl/github/66057


Add Ruby EOL support policy

Contributors came to a common conclusion in #8112
Closes #8112 since we will support 2.4 for a year.

Before submitting the PR make sure the following are checked:

[x] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[ ] Added tests.
[ ] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[ ] Run bundle exec rake default. It executes all tests and RuboCop for itself, and generates the documentation.

Thanks!


Server connection could not be etablished. Error for installling WSL

"Failed to fetch the list distribution from 'https://raw.githubusercontent.com/microsoft/WSL/master/distributions/DistributionInfo.json'. A connection with the server could not be established
Error code: Wsl/InstallDistro/WININET_E_CANNOT_CONNECT"
Error while running "wsl --install -d Ubuntu"

I suspect a temporary internet outage, could you try again?

the command is not working
Invoke-WebRequest : Unable to connect to the remote server
At line:1 char:1

Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com ...

  + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebExc
 eption
  + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

Was there any update to this? @BajajAditya123 how did you solve this? suddenly started facing the same issue. WSL can't do anything and wont even connect or browse distros.


Enable accessing the user's ORCID to the authors

The user profile ORCID should be accessible by other parts of nmrXiv

Related to #728 to https://github.com/NFDI4Chem/nmrxiv/issues/472

Duplicate of #729


ERROR in There is no format with import statements in '/xxx/' entry-point.

error after upgrading to Angular v8 ivy

Can you please provide more information? When do you get the error message? During the npm installation or compilation process (prod or dev?)? @Timebutt : any suggestion?

in dev ... during compile (ng serve).
similar to:
https://github.com/swimlane/ngx-datatable/issues/1699

Test with version 1.2.6. It should work now.


Loki4j Fails to log with the following error

Hi I am using the loki-logback-appender in my project. Following are the dependencies which we are using in our Spring Boot project. We are using Java11 version.
<dependency>
    <groupId>com.github.loki4j</groupId>
    <artifactId>loki-logback-appender</artifactId>
    <version>1.3.2</version>
</dependency>
<!-- use the httpclient for loki appender -->
<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
</dependency>

We have some slow HTTP GET Requests which takes more time to respond. For these requests loki4j component is producing the following error. Please find the logs which shows the error from Loki4j.
[2m2022-12-04 11:36:29.624[0;39m [32m INFO [SimulationService,68503b7196796cff,68503b7196796cff][0;39m [35m1[0;39m [2m---[0;39m [2m[tp320605039-343][0;39m [36md.n.common.logging.NoxRequestMdcFilter  [0;39m [2m:[0;39m Slow request to GET /app/addresses?search=122796&type=consigner detected, running for 97801ms
11:36:39,489 |-ERROR in com.github.loki4j.client.pipeline.DefaultPipeline@6fa3c3f9 - Loki responded with non-success status 400 on batch #bc1b001da45 (1,034 bytes). Error: 1:225: parse error: unexpected character inside braces: '.'
[2m2022-12-04 11:37:31.703[0;39m [32m INFO [SimulationService,a41157d74faadfc0,a41157d74faadfc0][0;39m [35m1[0;39m [2m---[0;39m [2m[tp320605039-372][0;39m [36md.n.common.logging.NoxRequestMdcFilter  [0;39m [2m:[0;39m Slow request to GET /app/addresses?search=122796&type=consigner detected, running for 99876ms
11:37:31,798 |-ERROR in com.github.loki4j.client.pipeline.DefaultPipeline@6fa3c3f9 - Loki responded with non-success status 400 on batch #bcddde76d8c (1,034 bytes). Error: 1:225: parse error: unexpected character inside braces: '.'
[2m2022-12-04 11:38:24.053[0;39m [32m INFO [SimulationService,4d6b34d991336319,4d6b34d991336319][0;39m [35m1[0;39m [2m---[0;39m [2m[tp320605039-119][0;39m [36md.n.common.logging.NoxRequestMdcFilter  [0;39m [2m:[0;39m Slow request to GET /app/addresses?search=122796&type=consigner detected, running for 92224ms
11:38:24,111 |-ERROR in com.github.loki4j.client.pipeline.DefaultPipeline@6fa3c3f9 - Loki responded with non-success status 400 on batch #bda0bd173d7 (1,034 bytes). Error: 1:225: parse error: unexpected character inside braces: '.'

Hi @ajayaviyyapu, thanks for reporting this! A few questions to clarify:

What format do you use for sending logs to Loki, json or protobuf?
Could you please provide an example log message that causes this parse error you mentioned?

Feel free to re-open if there's more info on how to reproduce this.


Update tests to use new Caikit + TGIS images

Updating the tests to reflect the new architecture of Caikit runtime with TGIS, as implemented in https://github.com/opendatahub-io/caikit-tgis-serving/pull/107: new runtime is composed by 2 separate containers, one for TGIS and one for Caikit, in the same pod.

tested on rhods-ci-pr-test/2111/ . 2 failures not related to this PR: one GPU test which wasn't excluded (no gpu on the cluster) and one failed for timing issue, the pod wasn't ready by the timeout.

do not merge for now, there is a new change coming into the product image and the test files need to be accordingly changed

PR validation:

Entire WatsonX/Kserve suiterhods-smoke/3880 . 3 failures related to the PR changes.
Re-run base deployment test + failed test cases after fixes. rhods-smoke/3881 Running


OSError: Could not find Ghostscript on path. There should be either a gs executable or a gswin32c.exe on your system's path

When running the sample example, I encountered a problem and reported the following error:
OSError: Could not find Ghostscript on path. There should be either a gs executable or a gswin32c.exe on your system's path

conda install ghostscript

I also get this error even when I have ghostscript installed in my virtualenv.


Output not displayed in Excentre calculator

Describe the bug
Output not displayed in Excentre calculator
Screenshots

Hi, I want to work on this issue I will start working on it as soon as I get assigned!! I am a part of GSSoC'21.
Kindly assign this issue to me!
Discord Username : Abhijeet Sinha(P)
Discord Tag: #4018


Adds demo option for handling json

Since we're switching to handling straight json instead of jsonp,
this PR needs to be coordinated with the json-handling branches
of CCDB4/complaint-randomizer and CCDB4/ccdb-jenkins-automation.
The original WordPress page pulled the json straight from S3, which
required formatting the narratives as jsonp to avoid CORS restrictions.
We can drop all that now, because a Django view pulls from S3.
Sequence of merging
The 3 related PRs would need to be merged in this order:

This PR would need to be merged first and deployed to prod.
The randomizer PR should be merged shortly after the prod deployment, and then the randomizer should be manually run. That will put the right S3 json file in place for the new landing-page code.
The JAC PR can be merged any time the same day. This will run the project seed job in Jenkins and put the new monitor in place for the next morning's check.

Removals

Deletes code for parsing jsonp

Testing

In standalone, you can see the demo in action, reading a local file, at

http://<IP_ADDRESS>:8000/complaintdatabase/demo/demo.json/

Review

@amymok @fna @cfarm @willbarton

Todos

[x] CHANGELOG updated.

Coverage remained the same at 100.0% when pulling 0813bac547327d7adb8293679ec97be5119b0a30 on json-handling into de9c3b1fa113fb02be97531950de8c9a6b877763 on master.

Coverage remained the same at 100.0% when pulling 9fa75168c6eb0d42688420af762a373b80f8e813 on json-handling into de9c3b1fa113fb02be97531950de8c9a6b877763 on master.

Coverage remained the same at 100.0% when pulling 62a0d7dd7f8cd1b2a9a450c55ae0ee8e1f16412e on json-handling into de9c3b1fa113fb02be97531950de8c9a6b877763 on master.

Coverage remained the same at 100.0% when pulling e499cad25d11d32f3b7a87b695f1b8becbbdbf32 on json-handling into de9c3b1fa113fb02be97531950de8c9a6b877763 on master.

Coverage remained the same at 100.0% when pulling ad86fb9c9089412aa4e101b352df315d70e65263 on json-handling into d23528699c3eeafe22f13a308d4943a007e3679b on master.

@higs4281 These changes look good to me!


Reduce logging

Coverage decreased (-41.07%) to 26.829% when pulling 39743ff903a81f1d5526a72fd24f09acab6db63f on ni-kismet:reduce-logging into 481f70210787fc2cae60f18b6da723ce2fa1db04 on ExHammer:master.


Adding create Pull Request Template #75

Contributing Screenshot

Pull Request Template Screenshot

You can add a contributing.md for that part. Add it in docs

In pull request template . Add follow commit me rules . See the one by github .

Okk.

Are you talking about this?

not this long.

Tell me I can do it. Now I have created a contributing.md file in docs.

Now, is it okk?