fix: detach volume when the node is on pre-drained state

IMPORTANT: Please do not create a Pull Request without creating an issue first.

In order to avoid https://github.com/harvester/harvester/issues/3681, we need to detach volumes
To reduce the risk (https://github.com/harvester/harvester/issues/3727), detach should be only done during node upgrades
Test manifest setup

Use Cordon to make sure only one node in the cluster can be scheduled
Create a vm foo
Create a vm backup foo-backup for vm foo
Create a vm snapshot foo-snapshot for vm foo
Create a vm bar
Stop the vm bar
Create a vm backup bar-backup for vm bar
Create a vm snapshot test-snapshot for vm bar
Create a volume bar-volume
Create a volume snapshot bar-volume-snapshot  for volume bar
Uncordon

Test plan:

Simple Fast Test

Prepare a 3 nodes Harvester cluster (master-head version)
Follow the Test manifest setup
Build a custom image based on this PR
Change log-level to Debug and Replace the deployment harvester's image (you can use the following command to check the status of the images)

kubectl -n harvester-system get pod -l app.kubernetes.io/name=harvester -o custom-columns='NAME:metadata.name,IMAGES:spec.containers[*].image,STATU:status.phase'

Use kubetail to watch the logs of the harvester pod

kubetail -n harvester-system -l app.kubernetes.io/component=apiserver

Open another terminal, taint node  to mock the pre-drain stage

MOCK_UPGRADE_NODE="<the node where vm foo is located>"
kubectl taint node ${MOCK_UPGRADE_NODE} kubevirt.io/drain=draining:NoSchedule

after taint node, we will see

related debug logs from kubetail output
the vm foo will start migrating to other nodes from UI

Check volumes state until vm foo migrated to other nodes

kubectl -n longhorn-system get volume -o custom-columns='NAME:metadata.name,NODE:spec.nodeID,STATE:status.state,WORKLOAD:status.kubernetesStatus.workloadsStatus'

during this time, we will see

the volume state of vm bar will change to  detached
the volume state of volume bar-volume will change to detached

untaint node to mock finish pre-drain stage

kubectl taint node ${MOCK_UPGRADE_NODE} kubevirt.io/drain-

after untaint node, we will see

no related debug logs from kubetail output
the volume state of vm foo should be attached to a new node

Full Upgrade Test

Prepare a 3 nodes Harvester cluster (v1.1.1 version)
Follow the Test manifest setup
Build iso from the PR, refer to https://github.com/harvester/harvester/wiki/Build-ISO-images and https://github.com/harvester/harvester/wiki/Speed-up-Harvester-ISO-build
Upgrade cluster refer to https://docs.harvesterhci.io/v1.1/upgrade/automatic#prepare-an-air-gapped-upgrade

The first question is:
If below code is running in controller, then it will work in v1.1.2->v1.2.0 upgrade path, how to deal with v1.1.1->v1.1.2 upgrade path?
In general, if v1.1.2 plans to solve issues existing in v1.1.1 version, the upgrade script is the place to fix them.
thanks.

@w13915984028 Refer to https://docs.harvesterhci.io/v1.1/upgrade/troubleshooting#diagnose-the-upgrade-flow
We will upgrade Harvester first, so this controller can deal with v1.1.1->v1.1.2 upgrade path


Left-to-right tikz exports

Add the option to export tikz diagrams with left-to-right reading direction.

Thanks Chiara!
As discussed privately, we will eventually have a global setting for the reading direction (which we already have an issue for in #642) but that requires more work on the UI for things like the slice controls and the drag handler.


[Pages] Spacing

This page does not need dramatic change except an image update .

SVG here: https://ibm.box.com/s/op9p6b71r8zb2si4blnjf9awda4wl2mx

Hey Tyler ! For spacing I have been using the Teal 60 for the handle lines and text. The pink color I usually use for rules specific for a component, containers, or icon specs


[gpuCI] Auto-merge branch-0.13 to branch-0.14 [skip ci]

Auto-merge triggered by push to branch-0.13 that creates a PR to keep branch-0.14 up-to-date. If this PR is unable to be immediately merged due to conflicts, it will remain open for the team to manually merge.

SUCCESS - Auto-merge complete.


Appengine Flex: Websockets Sample

New sample to demonstrate GAE Flex Websockets support.
This is based on a Python canonical sample
Screenshot of Frontend

I can't read Go but can confirm this is on target in terms of functionality, configuration and HTML. Thanks!


Image does not resize according to viewport size

Hi,
so if you open the frontpage https://gatstrap.netlify.com/ in a mobile phone (or just pick mobile device like IPhone 5 from Chrome devtools), you'll notice that the image does not resize to fit the screen.
Just so you know =)

Thanks 👍


SSH multiplexing doesn't work if multiple thread tries to connect to the same host

Needs futher investigation. Here is what I think is happening:
If multiple threads tries to connect to the same host, the very first one detects that no master connection is created. So it creates one. But in meantime other threads detect that master connection is opened but it actually isn't fully initialized yet.

Another type of error messages:
[28.08.2019 11:16:29] I: Program invoked as ./tpcp AAAK000001 BBB100 CCC200 CPY ADD
[28.08.2019 11:16:29] I: Loading ini file /nagpci/bsj-scripts/tpcp/system-definition.ini.
[28.08.2019 11:16:29] W: Pseudo-terminal will not be allocated because stdin is not a terminal.
[28.08.2019 11:16:29] W: Control socket connect(/tmp/ssh-master-control-bbbadm@bbbci:22): No such file or directory
[28.08.2019 11:16:29] W: Pseudo-terminal will not be allocated because stdin is not a terminal.
[28.08.2019 11:16:29] W: Control socket connect(/tmp/ssh-master-control-cccadm@ccc00:22): No such file or directory
[28.08.2019 11:16:30] W: Pseudo-terminal will not be allocated because stdin is not a terminal.
[28.08.2019 11:16:30] W: Control socket connect(/tmp/ssh-master-control-aaaadm@aaa00:22): No such file or directory
[28.08.2019 11:16:30] W: Pseudo-terminal will not be allocated because stdin is not a terminal.
[28.08.2019 11:16:30] W: Control socket connect(/tmp/ssh-master-control-aaaadm@aaa00:22): No such file or directory
[28.08.2019 11:16:30] W: ControlSocket /tmp/ssh-master-control-aaaadm@aaa00:22 already exists, disabling multiplexing
[28.08.2019 11:16:30] W: Pseudo-terminal will not be allocated because stdin is not a terminal.
[28.08.2019 11:16:30] W: Master running (pid=941)
[28.08.2019 11:16:30] W: Pseudo-terminal will not be allocated because stdin is not a terminal.
[28.08.2019 11:16:30] W: Master running (pid=941)
[28.08.2019 11:16:31] W: Pseudo-terminal will not be allocated because stdin is not a terminal.
[28.08.2019 11:16:31] W: Master running (pid=872)
[28.08.2019 11:16:31] W: Pseudo-terminal will not be allocated because stdin is not a terminal.
[28.08.2019 11:16:31] W: Master running (pid=866)

The other explanation is that both thread detect that no master connection is created to the same host. Both tries to create one. One succeeds, the other fails.

Partially fixed with b10568f5ba3402560c3b154866674387cd3a8a7f and 77f0d0febe1d6ab8f04769f361152b6f1ddcd429 since most of the connections are created when discovering transport domains.
Still there will be some connections made on-demand (eg. copying from transport source).

Commit a4bcc5f fixed last occurence of on-demand connection. Beware of #45 to not introduce it back.


Posting Product receipt - incomplete information on help page

[Enter feedback here]
Hello
This page does not explains the usage of all the options for the Quantity field of packing slips :

Ordered quantity : explained OK
Receive Now quantity : explained OK
Registered quantity : explained OK
Product receipt quantity : NOT EXPLAINED
Registered Quantity and services :  NOT EXPLAINED

It would be good to have the details when to use what options and the differences between one or the other option.
Can it be possible such as it was on previous version to have a page that explains the role and the usage of each field of the screen
Best regards

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

ID: ca390ea5-dbe2-5575-7258-67bb0f2f3635
Version Independent ID: 85b06de9-07c7-ff6a-9ced-3ec786baebbc
Content: Product receipt against purchase orders - Supply Chain Management | Dynamics 365
Content Source: articles/supply-chain/procurement/product-receipt-against-purchase-orders.md
Service: dynamics-365-supply-chain
GitHub Login: @GalynaFedorova
Microsoft Alias: gfedorova

Bug 805510 has been logged to address this issue.


Fix yargs version to 17.2.1

What it does

Fix yargs version to 17.2.1. Higher versions can't compile update-checksum.ts anymore.
This is the script that is used to update the checksum on the windows machine after the installer was signed by eclipse
This should fix the current master build for Windows as well, so that the Theia 1.21 update is available with Blueprint: https://ci.eclipse.org/theia/job/Theia2/job/master/

How to test

Build blueprint yarn && yarn electron package
Check if the checksum update script can be executed again (adjust args based on your OS)
yarn electron update:checksum -e TheiaBlueprint.exe -y latest.yml

Review checklist

[x] as an author, I have thoroughly tested my changes and carefully followed the review guidelines

Reminder for reviewers

as a reviewer, I agree to behave in accordance with the review guidelines

Do we have a follow up ticket to fix this with newer versions after 1.21 is done?


BadMatch (invalid parameter attributes)

I am getting the following error in Pop!_os (22.04 LTS)
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  130 (MIT-SHM)
  Minor opcode of failed request:  4 (X_ShmGetImage)
  Serial number of failed request:  44
  Current serial number in output stream:  44

I am using PopOs too, can you send me the command you are using to run the pipeline?

I am using PopOs too, can you provide the command you are using to run the pipeline?

gst-launch-1.0 ximagesrc xid=121634826 ! video/x-raw,framerate=30/1 ! videoconvert ! video/x-raw,format=YUY2 ! v4l2sink device=/dev/video42


Notify ScreenEncoder when a folding event occurs

Hello :wave:
It's been a while since my last contribution, it's a pleasure to be able to contribute again to this amazing project!
I'm the lucky owner of a foldable phone ( Z fold 4 ) and I've seen that scrcpy does not handle the fold events ( The SDL Window does not update its size when I bend my phone ).
I just fixed this issue ( it is implemented the same way as RotationWatcher ).
Btw I have a little concern about the naming of the boolean ScreenEncoder.rotationChanged which may not have a good name after this PR.

Awesome, I didn't know there was such a folding change event.
I will review in details later (I have other things to implement/fix first). In any case, I will merge it for the next release (2.1).
Thank you.

I rebased on current dev, fixed conflicts, and renamed rotationChanged to resetCapture in a separate commit.
I pushed to pr3979. Please review and test (to confirm I did not break anything compared to your PR).

Merged: 24999d0d32daf50246168dde212f01cf109569f9


failed to convert, but have ffmpeg. Encoder not found.

System OS
Linux
Python Version
3.7 (CPython)
Install Source
pip / PyPi
Install version / commit hash
4.2.5
Expected Behavior vs Actual Behavior
No response
Steps to reproduce - Ensure to include actual links!

As it shows on the picture it downloads the track and then fails to convert it.
Ubuntu 22.04
Install: pip
I tried to download ffmpeg with spotdl, it succeeded and still fails.
Traceback
One example log here:
`### return_code:
8

### arguments:
['-nostdin', '-y', '-i', '/home/user/.spotdl/temp/RmCU1PHyMhQ.webm', '-movflags', '+faststart', '-v', 'debug', '-progress', '-', '-nostats', '-codec:a', 'libmp3lame', '-b:a', '124k', '/mnt/win/Users/user/Music/spotdl/Infant Annihilator - Devotion to the Child Rape Syndicate.mp3']

### ffmpeg:
ffmpeg

### version:
7.0

### build_year:
2024

### error:
ffmpeg version 7.0.1 Copyright (c) 2000-2024 the FFmpeg developers
built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04)
configuration: --disable-x86asm
libavutil      59.  8.100 / 59.  8.100
libavcodec     61.  3.100 / 61.  3.100
libavformat    61.  1.100 / 61.  1.100
libavdevice    61.  1.100 / 61.  1.100
libavfilter    10.  1.100 / 10.  1.100
libswscale      8.  1.100 /  8.  1.100
libswresample   5.  1.100 /  5.  1.100
Splitting the commandline.
Reading option '-nostdin' ... matched as option 'stdin' (enable or disable interaction on standard input) with argument 0.
Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.
Reading option '-i' ... matched as input url with argument '/home/user/.spotdl/temp/RmCU1PHyMhQ.webm'.
Reading option '-movflags' ... matched as AVOption 'movflags' with argument '+faststart'.
Reading option '-v' ... matched as option 'v' (set logging level) with argument 'debug'.
Reading option '-progress' ... matched as option 'progress' (write program-readable progress information) with argument '-'.
Reading option '-nostats' ... matched as option 'stats' (print progress report during encoding) with argument 0.
Reading option '-codec:a' ... matched as option 'codec' (alias for -c (select encoder/decoder)) with argument 'libmp3lame'.
Reading option '-b:a' ... matched as option 'b' (video bitrate (please use -b:v)) with argument '124k'.
Reading option '/mnt/win/Users/user/Music/spotdl/Infant Annihilator - Devotion to the Child Rape Syndicate.mp3' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option nostdin (enable or disable interaction on standard input) with argument 0.
Applying option y (overwrite output files) with argument 1.
Applying option v (set logging level) with argument debug.
Applying option progress (write program-readable progress information) with argument -.
[pipe @ 0x5d7be5dd08c0] Setting default whitelist 'crypto,data'
Applying option nostats (print progress report during encoding) with argument 0.
Successfully parsed a group of options.
Parsing a group of options: input url /home/user/.spotdl/temp/RmCU1PHyMhQ.webm.
Successfully parsed a group of options.
Opening an input file: /home/user/.spotdl/temp/RmCU1PHyMhQ.webm.
[AVFormatContext @ 0x5d7be5dd9240] Opening '/home/user/.spotdl/temp/RmCU1PHyMhQ.webm' for reading
[file @ 0x5d7be5dd9a00] Setting default whitelist 'file,crypto,data'
[matroska,webm @ 0x5d7be5dd9240] Format matroska,webm probed with size=2048 and score=100
st:0 removing common factor 1000000 from timebase
[matroska,webm @ 0x5d7be5dd9240] Before avformat_find_stream_info() pos: 600 bytes read:32768 seeks:0 nb_streams:1
Transform tree:
mdct_pfa_15xM_inv_float_c - type: mdct_float, len: 120, factors[2]: [15, any], flags: [unaligned, out_of_place, inv_only]
fft4_ns_float_c - type: fft_float, len: 4, factor: 2, flags: [unaligned, inplace, out_of_place, preshuf]
Transform tree:
mdct_pfa_15xM_inv_float_c - type: mdct_float, len: 240, factors[2]: [15, any], flags: [unaligned, out_of_place, inv_only]
fft8_ns_float_c - type: fft_float, len: 8, factor: 2, flags: [unaligned, inplace, out_of_place, preshuf]
Transform tree:
mdct_pfa_15xM_inv_float_c - type: mdct_float, len: 480, factors[2]: [15, any], flags: [unaligned, out_of_place, inv_only]
fft16_ns_float_c - type: fft_float, len: 16, factor: 2, flags: [unaligned, inplace, out_of_place, preshuf]
Transform tree:
mdct_pfa_15xM_inv_float_c - type: mdct_float, len: 960, factors[2]: [15, any], flags: [unaligned, out_of_place, inv_only]
fft32_ns_float_c - type: fft_float, len: 32, factor: 2, flags: [unaligned, inplace, out_of_place, preshuf]
[opus @ 0x5d7be5ddbc00] skip 312/960 samples
[matroska,webm @ 0x5d7be5dd9240] All info found
[matroska,webm @ 0x5d7be5dd9240] After avformat_find_stream_info() pos: 615 bytes read:32768 seeks:0 frames:1
Input #0, matroska,webm, from '/home/user/.spotdl/temp/RmCU1PHyMhQ.webm':
Metadata:
encoder         : google/video-file
Duration: 00:03:15.34, start: -0.007000, bitrate: 124 kb/s
Stream #0:0(eng), 1, 1/1000: Audio: opus, 48000 Hz, stereo, fltp, delay 312 (default)
Successfully opened the file.
Parsing a group of options: output url /mnt/win/Users/user/Music/spotdl/Infant Annihilator - Devotion to the Child Rape Syndicate.mp3.
Applying option codec:a (alias for -c (select encoder/decoder)) with argument libmp3lame.
Applying option b:a (video bitrate (please use -b:v)) with argument 124k.
Successfully parsed a group of options.
Opening an output file: /mnt/win/Users/user/Music/spotdl/Infant Annihilator - Devotion to the Child Rape Syndicate.mp3.
[out#0/mp3 @ 0x5d7be5e1adc0] No explicit maps, mapping streams automatically...
[aost#0:0 @ 0x5d7be5e1a580] Unknown encoder 'libmp3lame'
[aost#0:0 @ 0x5d7be5e1a580] Error selecting an encoder
Error opening output file /mnt/win/Users/user/Music/spotdl/Infant Annihilator - Devotion to the Child Rape Syndicate.mp3.
Error opening output files: Encoder not found
[AVIOContext @ 0x5d7be5de1dc0] Statistics: 32768 bytes read, 0 seeks`

Other details
No response

[aost#0:0 @ 0x5d7be5e1a580] Error selecting an encoder

Error opening output file /mnt/win/Users/user/Music/spotdl/Infant Annihilator - Devotion to the Child Rape Syndicate.mp3.

Error opening output files: Encoder not found

Seems like it does not find the encoder
Nah but really, i think you didn't download properly ffmpeg

Yes you were right.
For everyone coming with the same issue, the fix is installing ffmpeg from source manually. This is needed because Ubuntu messed up ffmpeg with libraries that are outdated and won't install properly (just like mp3Lame package). So
• Uninstall ffmpeg with sudo apt remove ffmpeg then sudo apt autoremove to remove the libraries that were downloaded but is not needed now as you removed ffmpeg.
• Install dependencies from here.
• Always go with building and do not go with the apt installs, this is the most important part. !Read the site carefully because there are way so many codecs I don't know which ones do you want!.
There might be some installs that take some time but be patient please.
Hope this helps someone :)

probably want to close this issue


Move most "drivers" as toggleable "modules" and split their thirdparty libraries in an own tree

Should address most of #6157.
While working on this, I got a bit more scons experience and could isolate most modules (and some of the remaining drivers) in their own environment, which means that their necessary defines and include paths can now be passed without polluting the global env. It means we could drop some dirty hacks we put in several thirdparty sources to hardcode include paths so that they match our repo, etc. There is also no more risk of confusion between headers of different projects that share the same name.
Most libraries that are typically available on a Linux distribution can be unbundled (i.e. you can just delete their thirdparty/$libname folder and build with libname=system). Some more work will be needed to put some order in the scons options as it's a bit messy now, but I'll do all this in a later PR. Currently only platform/x11 has instructions to link against system libraries when system options are chosen, but it could be extended for other relevant platforms.
To disable a module, the syntax is now automatic: module_$module_enable=yes|no (see scons --help). We might have to document this a bit better in the official compilation docs, and also rename the current arguments I used to specify the use of builtin or system libraries for more clarity (e.g. openssl=system could become system_openssl=yes or builtin_openssl=no.
All in all, this way quite a lot of work and I might have made a few mistakes along the road. Therefore I'd appreciate:

extensive testing on all supported platforms and whenever possible also with some exotic options (e.g. disabling an important module and check that the rest of the engine still builds and runs ok).
code review especially of the various SCsub files.

That should be a first step towards making it much easier to maintain our thirdparty code, and also to get Godot packaged in Linux distributions.

Alright, as expected it doesn't build out of the box :) Should have try to remove some system headers to ensure built-in libraries are ok. It looks like having made the ogg module build in its own env hid it for theora/vorbis/opus which need it, will fix.

Rebase to fix a few things:

png: "png" option renamed to "libpng", can't be disabled anymore (only "system" or "builtin", no "no", as it makes little sense to use Godot without png support)
ogg/vorbis/opus/theora: fixed including ogg headers for vorbis/opus/theora and vorbis headers for theora when those are builtin
theora: fixed thirdparty/libtheora where headers were placed in the wrong folder which did not match system wide includes (also added missing description of the thirdparty folder in thirdparty/README.md)
rtaudio: undid changes to isolate the env as platform/windows includes this driver and therefore needs the include path to the thirdparty header
squish: tried a new trick to disable the module in config.py when not building tools (it seems to failed building on iphone due to a half-initialized module, let's see how it goes)

After a few hours of trial and error, it seems like it now builds fine for all platforms on our travis tests. I'd love to have people testing the PR on Windows though, both using MSVC and MinGW.

Fixed a wrong include path for winrt. According to @vnen it now builds fine with MSVC for both windows and winrt.

I'm testing a build of all templates using this PR: https://travis-ci.org/GodotBuilder/godot-builds/builds/167937894 https://ci.appveyor.com/project/GodotBuilder/godot-builds/build/1.0.90
In parallel, I'm also building the current master branch for comparison: https://travis-ci.org/GodotBuilder/godot-builds/builds/167937619 https://ci.appveyor.com/project/GodotBuilder/godot-builds/build/1.0.89

It built properly on all platforms (apart from javascript which is timing out, but same for current master, and OSX which has timed out while master managed to build in timeout - 2 min :D).
I'd propose to merge now that we know that it doesn't introduce big buildsystem regressions, and then fix issues as they come (as there should probably be a couple ones along the way).

(Actually I finally got the javascript build to fail, but it looks like emscripten is going crazy: https://travis-ci.org/GodotBuilder/godot-builds/jobs/167937903)

@akien-mga

armv7_opt_gcc is not used, other *_opt_gcc are only for libtheora, so maybe rename it *_theora_opt_gcc (and the same for *_opt_vc)?

isn't better to add SCsub files for every thirdparty library (or only for shared thirdparty libs like libogg and libvorbis) for static build (if not system is specified)? E.g. both theroa and vorbis modules use libogg and libvorbis. Currently compiling theora module without vorbis module (module_vorbis_enabled=no) is not possible.
Is ogg module necessary? theora and vorbis modules can notify SCons that they want to use libogg thirdparty or system library/ Currently ogg module exists only for building libogg builtin dependency.

@zaps166 Yes to both. For the former I have no clue about it, but please make a PR :). For the latter, I also thought about it and had no strong opinion for either way, but yes I think it would likely be best to put the SCsubs in thirdparty and have the modules that need them include them. Not sure yet how it would best be done, so I went for what I knew was working for a first step :)

@akien-mga Ok, so maybe I'll try later :)


Update Typstry.jl to v0.3.0 (#55)

Typstry.jl v0.4.0 is out now too, primarily to support the latest Typst v0.12 :)

Thanks for the heads up!  I'll register this now and then look at Typstry v0.4 compat.

Cool! I bumped the minimum Julia version to v1.10, and will continue to support that version as it's the LTS. LaTeXStrings.jl is set at v1.1, since show(::LaTeXString) errors on LaTeXStrings.jl v1.0 and Julia v1.10.


Be more strict about missing fields

The biggest driver for this is to ensure that a user can write a
clause "and not ct.error exists" and have the clause evaluate to true
if there is no error. Previously, ct.error would return an empty
string, which still counted as "existing".
Instead of converting missing fields in the json object to "", be more
strict about missing fields:

In Next(), if the eventTime or eventType are missing, skip the event
by returning timeout.

In getUser(), change the return value to (present, user) and set
present to false if userIdentity is missing or if the code can't
identify a user. In get_fields() for ct.user, set field_present to
false if getUser()'s present is false. In event_to_string, use a
blank string for the user if not present.

In event_to_string, if eventSource, awsRegion, or eventName are
missing, return an error string.

Signed-off-by: Mark Stemm<EMAIL_ADDRESS>
What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind documentation

/kind failing-test

/kind feature

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area source-plugins

/area extractor-plugins

/area build

/area documentation

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

NONE

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

Needs approval from an approver in each of these files:

OWNERS [mstemm]

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

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

Needs approval from an approver in each of these files:

OWNERS [leogr,mstemm]

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


negative margins applied by @media queries breaking layout

Since upgrading to version 0.88.0 or any after, the layouts of some components (eg. searchfield) are broken due to negative margins being set
Strangely the rule causing the margins to break seems to be this one:
@media (min-width: 768px)
html:not([dir=rtl]) .JeA {
    margin-left: -48px;
}

which  doesn't seem to trigger on the official gestalt documentation page.
Any suggestions on how to fix this much appreciated.

@mtycvy That might be due to the fact that your gestalt CSS file is out of sync with the gestalt JavaScript file. (e.g. due to bundler caching)
Could you submit a reproducible test case by forking the gestalt playground? https://codesandbox.io/s/k5plvp9v8v


Problem building ganache support from source on Ubuntu 20.04

Steps to reproduce:

nvm install 12.13.1
git clone --recursive https://github.com/harmony-one/harmony-one-ganache-support
cd harmony-one-ganache-support/ganache-harmony
npm install

It looks to me that you are using a deprecated library: https://github.com/ethereumjs/ethereumjs-abi
failed-build.txt
2021-07-10T13_08_45_470Z-debug.log

@marcoaltieri I'm going to investigate. Will let you know.

@marcoaltieri hey could you completely reinstall node-gyp according to your node version?


Added support for MSSQL unique constraint

MSSQL supports both unique indexes and unique constraints. One of the issues we found was unique index (current implementation) cannot be used with foreign key relationships. We must use unique constraints instead.
This is all based on issue #4825
I thought I'd give it a go and update the way MSSQL handles table.unique. This is my first PR here so please let me know if there's anything missing, which I'm sure there is.
I created a new test which seems to work fine 🤞

Can you create a PR for https://github.com/knex/documentation with documentation?
Also TypeScript types need to be updated

@kibertoad could you point me in the right direction? I'm no TS developer, so not really sure what to look at.

@mlevit I think somewhere around here: https://github.com/knex/knex/blob/2763e47129837111fc5fd4dd5fb19996580bc01d/types/index.d.ts#L2078

@kibertoad @OlivierCavadenti are we happy with the argument name constraint? Is it descriptive enough or should we change it?

@mlevit Something more explicitly boolean isContraint or useConstraint might be less surprising, but I defer to @OlivierCavadenti here.

My only issue is the argument is only usable for MSSQL... so not really sure what the best play here is. Would createMssqlConstraint be too verbose? isConstraint is good, but sort of doesn't make sense for other DBs.

@mlevit We don't do db-specific naming for db-specific parameters. Note in documentation is sufficient

Documentation updated https://github.com/knex/documentation/pull/373

@kibertoad @OlivierCavadenti are we happy with the argument name constraint? Is it descriptive enough or should we change it?

useConstraint seems nice in my opinion, more descriptive.

@kibertoad @OlivierCavadenti are we happy with the argument name constraint? Is it descriptive enough or should we change it?

useConstraint seems nice in my opinion, more descriptive.

Done.

Thanks !


Tags and Releases

Hi,
Do you have a stable version of your mailserver?
How's about adding tags in the code and tag on docker hub. It's not a good practice to use "latest" there
Thanks

Latest tag and master branch are always stable, for experimental work i push to dev branch. And I haven't planned any major version upgrade in the future.

@hardware
I'm truly believe in master-stable way! However, if I have installed any soft on the production server and for some reason need to reinstall it, or install it on different environments, I want to be sure that it will be exactly the same version I had before. Current way doesn't allow this, "latest" tag will push me with new updates even I don't want them.

https://github.com/hardware/mailserver/releases/tag/1.0
https://hub.docker.com/r/hardware/mailserver/tags/
:tada: :champagne:

Thanks!


Add is_closed()

Fixes #67
Add the is_closed() method to check the underlying connection state.
On behalf of Isode Ltd.

I'm not against this in principle, but I'll have to think about it. Meanwhile:

The receiver should be &mut self, in line with other methods on the connection.
The synchronous API should provide the same method.

After your comment in the issue, maybe that is not needed :)

After your comment in the issue, maybe that is not needed :)

Maybe not, but as I noted in the other comment, "state" is not a single thing and knowing that a connection is open has its uses, so don't close the PR or the sibling issue yet.

I don't understand why it should be &mut self though

For uniformity, although technically it doesn't have to be.

For uniformity, although technically it doesn't have to be.

Then I disagree on putting mut, the method signature should carry the information if there's a risk of modifying the object or not (like void MyClass::my_method() const;  in C++)

I stand by the uniformity argument; if it makes it more palatable for you, regard &mut self as an exclusivity marker. (This is needed for making SearchStream exclusively derived from the Ldap handle.)

In the end of the day, it's your project so I'll conform to your wish :) I added is_closed() to sync.rs as well :)

Hi,
Is that in a merge-able state? Or do you want me to change something else?

It's mergeable and I'm working on it.

Thank you very much :D

Merged with some documentation touchups, thanks.


Add an command to execlude Ports

Is it Possible to add an command to execlude specific ports? So it wouldn't grab Proxys with for example: Port 80, Port 8080?

I think allowing ports makes more sense than excluding them

I'm not sure if makes any sense =\ Does anyone else need this feature? Let us know (by reaction/emoji, for example).

I think that both options are good, and can be used as mutually exclusive
option, but exclude has more sense at all.
Exclude let you exclude most common used ports, like 3128, 8080, 80, etc,
so your proxy will have less chances at basic port detection.
No one will test 65000 ports for every IP to check for proxy. Case of
backconnect doesn't even apply.
Include lets you... hum... filter by ports :D
~~ Self signed ~~
2017-10-04 17:25 GMT+02:00 Denis<EMAIL_ADDRESS>
I'm not sure if makes any sense =\ Does anyone else need this feature? Let
us know (by reaction/emoji, for example).
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/constverum/ProxyBroker/issues/24#issuecomment-334193030,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHkwAsO1NI00nET_Hye0Vk7Vodu04MfYks5so6NWgaJpZM4KNsGc
.


syncer(dm): fix the error when upstream has empty GTID set

What problem does this PR solve?

Issue Number: close #xxx
What is changed and how it works?
update latestPos in PreviousGTIDsEvent and MariadbGTIDListEvent
Check List
Tests

Integration test

Questions
Will it cause performance regression or break compatibility?
No
Do you need to update user documentation, design documentation or monitoring documentation?
No
Release note
None

/run-all-tests

/cc @D3Hunter

/cc @lance6716

/run-all-tests

/run-all-tests

/run-dm-integration-test

/run-dm-integration-test

/run-dm-integration-test

/run-all-tests

/run-dm-integration-test

/run-dm-integration-test

/run-dm-integration-test

/run-all-tests

/run-dm-integration-test

/merge

Codecov Report

Merging #7542 (0fce3d4) into master (0438dd4) will decrease coverage by 0.0851%.
The diff coverage is 34.4173%.

Additional details and impacted files

Flag
Coverage Δ

dm
52.1196% <0.0000%> (+0.0369%)
:arrow_up:

engine
63.8018% <ø> (+0.0157%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.
@@               Coverage Diff                @@
##             master      #7542        +/-   ##
================================================
- Coverage   60.0458%   59.9607%   -0.0852%
================================================
  Files           807        808         +1
  Lines         92391      92719       +328
================================================
+ Hits          55477      55595       +118
- Misses        32099      32304       +205
- Partials       4815       4820         +5

/run-dm-integration-test

/merge

/merge


Need help with custom wallpaper setter

Thank you for your work.
I wanted pywal to run automatically whenever the wallpaper is changed in gnome (via setting or wallpaper apps like fondo).
I have tried running gsettings get/gsettings monitor to get the path of the current wallpaper but have failed to find an efficient way of using automatically updating the terminal colors on wallpaper change.
help would be greatly appreciated.

to be clear... im currently using the following in my .zshrc

 wal -q -i "$(gsettings get org.gnome.desktop.background picture-uri | grep -oP "://\K.*" | rev | cut -c2- |rev)"

i do not want to use wal to set the wallpaper, however i'd like to know of a method to run wall whenever the wallpaper is changed via any other application. so that my currently opened applications (vscode/gnome terminal/alacritty) are automatically themed on wallpaper change.
thanks!

Are you able to get the wallpaper successfully with that command? If you just need to find a good way to run it, you could try watching the file where gnome settings are stored (try this post for reference) and running the script when the file changes. I know tail has a -F option that follows the file and updates when it is changed; maybe there is another program that does something similar for scheduling.
Of course, the brute-force way to do it would be to simply run a check every second or so and run pywal if the file has changed.

Are you able to get the wallpaper successfully with that command? If you just need to find a good way to run it, you could try watching the file where gnome settings are stored (try this post for reference) and running the script when the file changes. I know tail has a -F option that follows the file and updates when it is changed; maybe there is another program that does something similar for scheduling.
Of course, the brute-force way to do it would be to simply run a check every second or so and run pywal if the file has changed.


Export more binutils vars on Windows for autotools builds

Cf. the discussion and workaround in https://github.com/conda-forge/xorg-libxdmcp-feedstock/pull/14 .
Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (version is unchanged)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Superceded by https://github.com/conda-forge/binutils-feedstock/pull/75 and https://github.com/conda-forge/ctng-compiler-activation-feedstock/pull/132. Thanks for the PR.

@isuruf I have other configure scripts on Windows that would benefit from having a CPP environment variable exported, analogous to the variables in this PR. Would that go in activate-gcc.bat in this feedstock, or are those files also going to move to another repo?

Would that go in activate-gcc.bat in this feedstock

Yes


tanka: 0.23.1 -> 0.24.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/grafana/tanka/releases.
meta.description for tanka is: Flexible, reusable and concise configuration for Kubernetes
meta.homepage for tanka is: https://tanka.dev
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.24.0 with grep in /nix/store/pn4avan4436h4iqdb6jzy55mwpz831kn-tanka-0.24.0
found 0.24.0 in filename of file in /nix/store/pn4avan4436h4iqdb6jzy55mwpz831kn-tanka-0.24.0

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
tanka

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/pn4avan4436h4iqdb6jzy55mwpz831kn-tanka-0.24.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A tanka https://github.com/r-ryantm/nixpkgs/archive/89aa0e65d367522f5ea7f365d9b0acccf554e037.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/pn4avan4436h4iqdb6jzy55mwpz831kn-tanka-0.24.0
ls -la /nix/store/pn4avan4436h4iqdb6jzy55mwpz831kn-tanka-0.24.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

tanka

Maintainer pings
cc @mikefaille for testing.

Result of nixpkgs-review pr 213979 run on aarch64-darwin 1

1 package built:

tanka


added fpadd command testcase.

Added test case.
Hope the using a single key and 4KB values is relevant.if not, we can change it.
Fixes #166

@slice4e can you update your branch with the latest main?

Done

@slice4e please check line 36 of added file:
https://github.com/redis/redis-benchmarks-specification/actions/runs/3649641988/jobs/6164582283


MudDataGrid: Sticky toolbars (table menu bar & pagination bar)

Description
Currently, if you scroll a data grid horizontally, the menu icon and the pagination buttons "left behind", in their original positions. This change ensures that the toolbars remain stuck to the right border of the grid while scrolling.
How Has This Been Tested?
Visually - updated Sticky Column Resizer Test
Type of Changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation (fix or improvement to the website or code docs)

Before
https://github.com/user-attachments/assets/2e761c96-84ff-4408-b313-372f74ce5ba6
After
https://github.com/user-attachments/assets/5320be77-fac4-4c0c-9c72-63079b33332d
Checklist

[x] The PR is submitted to the correct branch (dev).
[x] My code follows the code style of this project.
[x] I've added relevant tests.

Not super experienced with DataGrid so may have to leave it to the others

@danielchalmers it's really just a css change

@Anu6is Gotcha I'll try to take a look over the weekend

Could I see a test page or doc example for the table specifically? DataGrid looks good but I'm not sure how much it'll affect tables

@danielchalmers
https://github.com/user-attachments/assets/261e1e15-a17c-408e-ae85-fd203beeb01d

@Anu6is in the video you shared the header text is all the way on the right.
Is that a problem from the example or from your CSS change?

You might be right... I'll take a look


Page fails to mention problems with Databricks and DevOps not in the same AAD

[Enter feedback here]
After problems with linking a notebook to my repository on Azure, I came across several opened issues regarding this being caused by databricks not being in the same AAD as DevOps. This is, however, not mentioned anywhere in the documentation page. This can help people in similar situations that try to link the notebooks with Azure repos.
A different issue regarding the same problem is that the error reported by databricks is completely useless (would be better to catch this problem and provide useful error messages imho...)

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

ID: af5036fb-6d7d-d6f4-3e52-bdaca5960724
Version Independent ID: 44ee8dfe-9a8b-7d1f-2d48-82236c473a4f
Content: Azure DevOps Services version control - Azure Databricks
Content Source: databricks/notebooks/azure-devops-services-version-control.md
Service: azure-databricks
GitHub Login: @mssaperla
Microsoft Alias: saperla

@omrihar
Thanks for the feedback! I have assigned the issue to content author to check and update the document as appropriate.

@mssaperla
Can you please check and add your comments on this doc update request as applicable.

Thanks for your feedback. The linked article already states "The Azure DevOps Services organization must be linked to the same Azure AD tenant as Databricks.".
#please-close

Only Microsoft employees can close issues or pull requests via commenting in this repo.

#please-close


Update axios versions

Purpose
<EMAIL_ADDRESS>has a bug which causes when request has Content-Encoding: gzip|deflate|compress header and response has 204 No Content status code the following error is thrown: HttpClientError: unexpected end of file.
Ref: https://github.com/axios/axios/pull/1129
Does this introduce a breaking change?
[ ] Yes
[x] No

Pull Request Type

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[x] Dependecy update

What to Check
Verify that the following are valid after npm install

axios package is at the version 0.19.0

Other Information
There is no breaking change of this dependency update
Ref: https://github.com/axios/axios/blob/master/CHANGELOG.md

Hi @irembesik , thank you! This change was automatically in PR by GitHub security and has been merged.  I will close this PR.
Thanks,
Ramya


Improve WebSocket handling and error management

Introduce a new WebSocket package for enhanced connection handling, refactor existing code for better error management, and improve testability of WebSocket interactions.

Codecov Report
Attention: Patch coverage is 68.00000% with 8 lines in your changes missing coverage. Please review.

Project coverage is 60.98%. Comparing base (ba4dd10) to head (b26f4f8).

Files with missing lines
Patch %
Lines

pkg/ws/ws.go
68.00%
5 Missing and 3 partials :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #24      +/-   ##
==========================================
- Coverage   61.60%   60.98%   -0.63%
==========================================
  Files          16       16
  Lines        1206     1215       +9
==========================================
- Hits          743      741       -2
- Misses        420      428       +8
- Partials       43       46       +3

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


add chart to ks  repo

@drdstech @Toknowledge
pls review these changes:

rename chart name postgresql-ha to radondb-postgresql
add  charts to ks repo  and remove local repo
remove some  annotation links

LGTM


Can commands executed by fzf actions be logged in the shell histfile?

[x] I have read through the manual page (man fzf)
[x] I have the latest version of fzf
[x] I have searched through the existing issues

Info

OS

[x] Linux
[x] Mac OS X
[ ] Windows
[ ] Etc.

Shell

[ ] bash
[x] zsh
[ ] fish

Problem
^R will fetch the contents of my shell's history file. If I run a command like cd some/dir, it will show up in that file, and thus in fzf's ^R output.
However, commands executed by fzf's "actions" will not be logged to the history file. For example, when you make a selection using the amazing example of fzf/rp integration, the become action executes a command that opens the selected file in vim at the selected line. That command then gets lost forever.
Is there some way - or could there be - to record those commands in the history file so that they can be found later by ^R and rerun manually?

I think the question here is not just about fzf, but is more of a general one. If you have a shell function (or a shell script file) and you run the function, your shell will not record the commands the function internally runs.
foo() {
  echo bar
  echo baz
}

foo
  # no "echo bar/baz" on your shell history

You need a way to manually edit your command history.

A solution could be to define a function, 'run_and_save', that saves the command to the history and executes it. This function should be run interactively using zsh -ic.
# .zshrc
run_and_save() {
  print -s "$@"
  eval "$@"
}

print -D $PWD
# ~/Developer/fzf
history -1
# 5514  print -D $PWD

fzf --bind 'start:become:zsh -ic "run_and_save wc -c README.md"'
# 31995 README.md

history -1
# 5513  fzf --bind 'start:become:zsh -ic "run_and_save wc -c README.md"'
# 5514* wc -c README.md


IPAllowList not working when using ipStrategy.excludedIPs

Welcome!

[X] Yes, I've searched similar issues on GitHub and didn't find any.
[X] Yes, I've searched similar issues on the Traefik community forum and didn't find any.

What did you do?
The same as shown in here, but nothing is going on on this.
Notice: I just copied the good description already written in the forum.
I noticed that when there is 1 IP address in the X-Forwarded-For header and I am using the ipStrategy.excludedIPs or ipStrategy.depth=1 setting, it will always return an empty IP address. This results in me getting a forbidden because the empty IP address is not in the IP whitelist source range.
known-ips-internal:
      ipWhiteList:
        sourceRange:
          - "<IP_ADDRESS>/0"  # Whitelisting ipv4 for testing
          - "0000:0000::/0"  # Whitelisting all ipv6 for testing
        ipStrategy:
          excludedIPs:
            - <IP_ADDRESS>/12

expected behaviour
For the scenario I listed above when I have 1 IP address in the X-Forwarded-For header and I am using a different excludedIPs, I expect it to use that IP address to evaluate for the IP whitelist.
What did you see instead?
When I access traefik directly (meaning no tunnels in between and I am inside the same network) I only have 1 IP address in the X-Forwarded-For header.
When I have 1 IP in the X-Forwarded-For header and I set the excludedIPs or the depth=1 setting, I get a 403 forbidden response. I am expecting a 200 response instead.
What version of Traefik are you using?
traefik:2.11.0
What is your environment & configuration?
    known-ips-internal:
      ipWhiteList:
        sourceRange:
          - "<IP_ADDRESS>/0"  # Whitelisting ipv4 for testing
          - "0000:0000::/0"  # Whitelisting all ipv6 for testing
        ipStrategy:
          excludedIPs:
            - <IP_ADDRESS>/12

Add more configuration information here.
If applicable, please paste the log output in DEBUG level
No response

Hello @xcojonny,
I tested and looked at the IPWhiteList and IPAllowList implementations and everything is working correctly.

I noticed that when there is 1 IP address in the X-Forwarded-For header and I am using the ipStrategy.excludedIPs or ipStrategy.depth=1 setting, it will always return an empty IP address.

Do you mean that the request sent to Traefik contains an X-Forwarded-For header with one IP address?

Hej
When my header is as followed:
X-Forwarded-For: 192.168.xxx.x
X-Forwarded-Host: whoami.mydomain
X-Forwarded-Port: 443
X-Forwarded-Proto: https
X-Forwarded-Server: xxxxxx
X-Real-Ip: 192.168.xxx.x
Then the exclude strategy won't work and Traefik responds with "forbidden".

First case:
Client -> traefik -> whoami.
It's the client IP.

Hello @xcojonny,
As described in the documentation https://doc.traefik.io/traefik/middlewares/http/ipwhitelist/#ipstrategy,

As a middleware, whitelisting happens before the actual proxying to the backend takes place. In addition, the previous network hop only gets appended to X-Forwarded-For during the last stages of proxying, i.e. after it has already passed through whitelisting. Therefore, during whitelisting, as the previous network hop is not yet present in X-Forwarded-For, it cannot be matched against sourceRange.

This means that in the first case when the client is calling to Traefik the X-Forwarded-For header is empty which explains why Traefik returns a 403 Forbidden.
In your example, the X-Forwarded-For value is returned by the whoami, then the IP is the Traefik IP not the client one, right?

Hey @xcojonny,

When omitting the excludedIPs part , I can use the allow list to filter for the IP being the last ip in the list of X-Forwarded-For (no matter whether I try to access traefik locally or not). So X-Forwarded-For is the client ip and I can give access to the defined ip range. This works pretty fine even if I have only one IP (the client IP)

When I now add the excludedIPs, and have only one IP (client ip) in the forwarded-for header, then the previously working middleware breaks the expected behavior.

As described in the documentation, when no IP strategy is configured the remote address is used. This is why everything is working when the client is sending the request directly to Traefik.
When the excludedIPs option is configured, the middleware uses the X-Forwarded-For to get the client IP. As there is no hop between the client and Traefik, which will likely add the X-Forwarded-For header, Traefik will receive an empty one and return a 403.
When proxying the request to the backend, Traefik will add the X-Forwarded-For to the request, which will contain the remote address, the client IP in your example. This is why you have the X-Forwarded-For header with only one IP in the whoami response.
To be able to do what you want, you will have to define two routers, which can use different IP allow list middleware configuration in function of the X-Forwarded-For header presence.
As everything is working as expected, I am closing this issue as a question.

Hej @kevinpollet,
thanks for your time and patience to explain it to me. Thanks a lot!


Wuxiaworldsite link broken

Can't update chapters from wuxiaworldsite. Update causes the list to show zero chapters. Book description page shows no chapters but everything else in the description page is okay.
I've replicated this issue on 2 separate devices, one phone and one tablet. I have also tried to switch wifi networks but the issue persists.
I have checked if the website is accessible. No problems when accessing website on browser of the same device.
Please look at the screenshots.

Fixed, same issue as #17


Add Github action for black

What it says on the tin!

<3 Dude you're the best making sure we keep standard high thanks!


Mark KeyUsage and DICE extensions as critical

@vsonims anything else open here?

Closing this. Going to open a new PR which only changes KeyUsage (and adds tests). Need add more nuance in how we handle DICE extensions.


MPI + iso-acoustic self-adjoint jacobian is buggy

Still under investigation.
But the following command:
DEVITO_MPI=1 mpirun -n 8 --map-by numa python benchmark.py run -P acoustic_sa -op jacobian -d 152 152 152 -so 4 --tn 1000 --autotune off

produces broken norms  (ie != no mpi, or mpirun -n 4 which is instead == no mpi, etc)

this appears to be the culprit:
https://github.com/devitocodes/devito/blob/master/benchmarks/user/benchmark.py#L69
we should use shape_global nor shape
this goes back to issue #1498 . Crazy


I tried to use DbContext. Database. UseTransaction, and found that this method can only be used normally under Sqlserver, throwing an exception after replacing it with Mysql database.

I encountered a problem using multiple contexts of the same connection in EFCore. The error message was:The specified transaction is not associated with the current connection. Only transactions associated with the current connection may be used.
After testing, it is found that this method can be used normally under SqlServer 2017 and throw the above exception after replacing it with MYsql.

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

ID: 1073c238-9389-d826-a696-f1108a4f2ce0
Version Independent ID: cf56babd-def0-d76e-8eee-e33341b6a009
Content: Transactions - EF Core
Content Source: entity-framework/core/saving/transactions.md
Product: entity-framework
GitHub Login: @rowanmiller
Microsoft Alias: divega

@git102347501 It is possible that you have hit a product issue in the MySQL provider. Which MySQL provider are you using?

I just ran into this too. my using MySql.Data.EntityFrameworkCore,When I run, I got error: Multiple simultaneous connections or connections with different connection strings inside the same transaction are not currently supported.

@ git102347501您可能在MySQL提供程序中遇到了产品问题。您使用的是哪个MySQL提供商？

Hello, I'm sorry I didn't reply to you in time, as you said downstairs，is MySql.Data.EntityFrameworkCore

@git102347501 - Please file an issue with author of the MySQL provider you are using at this seems to be issue with that package rather than EF Core.


AWS Executor Implementation

[ ] I have added the tests to cover my changes.
[x] I have updated the documentation and CHANGELOG accordingly.
[x] I have read the CONTRIBUTING document.

I'm having version conflict issues when using this with AWSLambda executor. I think we should maybe add git+https://github.com/AgnostiqHQ/covalent.git@develop#egg=covalent here to the requirements, replacing the commit reference one instead?

We might need a tests.yml in this one to actually run the tests though. But it can be a separate issue.


can't find  MultiMoyaProvider implementation.need help!!

Hi , The documentation about "Advanced usage - use MultiTarget for multiple targets using the same Provider" . where can i get MultiMoyaProvider implementation.  is there a complete implementation??

Check out the Demo, there's an example with a MultiTarget. Let us know if that helps!

sorry  for wrong description  with the question  . what i want to know is that  "when using associated type"

sorry for wrong description for the question
in the documentation  i saw the code
extension MultiMoyaProvider {
func requestDecoded<T: DecodableTargetType>
..........
}
let provider = MultiMoyaProvider()
provider.requestDecoded(UserApi.get(id: 1)) { result in
.......
}
i want to know  MultiMoyaProvider implementation in this case .
thank you for reply

Hey @lovesomeone. I went through our docs and surely it could use some improvements. For now I've managed to write some really simple use-case for MultiMoyaProvider that compiles. Let me know what do you think!
protocol TestResultType {
    associatedtype T
    static func parse(_ object: Any) -> Self?
}

protocol DecodableTargetType: Moya.TargetType {
    associatedtype ResultType: TestResultType
}

final class MultiMoyaProvider: MoyaProvider<MultiTarget> {

    typealias Target = MultiTarget

    override init(endpointClosure: @escaping EndpointClosure = MoyaProvider.defaultEndpointMapping,
                  requestClosure: @escaping RequestClosure = MoyaProvider.defaultRequestMapping,
                  stubClosure: @escaping StubClosure = MoyaProvider.neverStub,
                  manager: Manager = MoyaProvider<Target>.defaultAlamofireManager(),
                  plugins: [PluginType] = [],
                  trackInflights: Bool = false) {
        super.init(endpointClosure: endpointClosure, requestClosure: requestClosure, stubClosure: stubClosure, manager: manager, plugins: plugins, trackInflights: trackInflights)
    }

    func requestDecoded<T: DecodableTargetType>(_ target: T, completion: @escaping (_ result: Result<T.ResultType, Moya.Error>) -> ()) -> Cancellable {
        return request(MultiTarget(target)) { result in
            switch result {
            case .success(let response):
                if let parsed = T.ResultType.parse(try! response.mapJSON()) {
                    completion(.success(parsed))
                } else {
                    completion(.failure(.jsonMapping(response)))
                }
            case .failure(let error):
                completion(.failure(error))
            }
        }
    }
}

We may want to improve existing docs, maybe creating a new example out of this - this will be a good material for a starter task imho.

that's what i want  . thank you very much ! Thank you for your contribution！


There are incompatible versions in the resolved dependencies yet pip install works

Here is the constraint you can pass to pip-compile
apache-airflow[crypto,celery,mysql,redis]
pip install will gladly install without conflict. Yet pip-compile throws this error:
Could not find a version that matches click<8.0,<9.0,>=4.0,>=5.1,>=6.7,>=8.0.3 (from flask==1.1.4->apache-airflow[celery,crypto,mysql,redis]==2.2.4->-r requirements.in (line 1)) Tried: 0.1, 0.1, 0.2, 0.2, 0.3, 0.3, 0.4, 0.4, 0.5, 0.5, 0.5.1, 0.5.1, 0.6, 0.6, 0.7, 0.7, 1.0, 1.0, 1.1, 1.1, 2.0, 2.0, 2.1, 2.1, 2.2, 2.2, 2.3, 2.3, 2.4, 2.4, 2.5, 2.5, 2.6, 2.6, 3.0, 3.0, 3.1, 3.1, 3.2, 3.2, 3.3, 3.3, 4.0, 4.0, 4.1, 4.1, 5.0, 5.0, 5.1, 5.1, 6.0, 6.0, 6.1, 6.1, 6.2, 6.2, 6.3, 6.3, 6.4, 6.4, 6.5, 6.6, 6.6, 6.7, 6.7, 7.0, 7.0, 7.1, 7.1, 7.1.1, 7.1.1, 7.1.2, 7.1.2, 8.0.0, 8.0.0, 8.0.1, 8.0.1, 8.0.2, 8.0.2, 8.0.3, 8.0.3, 8.0.4, 8.0.4, 8.1.0, 8.1.0 Skipped pre-versions: 6.7.dev0, 8.0.0a1, 8.0.0a1, 8.0.0rc1, 8.0.0rc1 There are incompatible versions in the resolved dependencies:   click>=4.0 (from clickclick==20.10.2->apache-airflow[celery,crypto,mysql,redis]==2.2.4->-r requirements.in (line 1))   click<9.0,>=8.0.3 (from celery==5.2.3->apache-airflow-providers-celery==2.1.3->apache-airflow[celery,crypto,mysql,redis]==2.2.4->-r requirements.in (line 1))   click<9,>=6.7 (from flask-appbuilder==3.4.4->apache-airflow[celery,crypto,mysql,redis]==2.2.4->-r requirements.in (line 1))   click<8.0,>=5.1 (from flask==1.1.4->apache-airflow[celery,crypto,mysql,redis]==2.2.4->-r requirements.in (line 1))
Environment Versions

Ubuntu 18.04
Python 3.10.3
pip 22.0.4
pip-compile, version 6.5.1

Steps to replicate
See description above
Expected result
pip-compile should resolve dependencies the same way pip install does for this constraint.
Actual result
See description above

Yes, I can reproduce, thanks!
Good news: this succeeds when using #1539 with the new resolver option.
e.g. with pipx:
$ pipx run --spec 'pip-tools @ git+https://github.com/atugushev/pip-tools@new-resolver' pip-compile --resolver backtracking

or with zpy:
% pipz runpkg 'pip-tools @ git+https://github.com/atugushev/pip-tools@new-resolver' pip-compile --resolver backtracking

Thanks @AndydeCleyre when can we expect this fix to be released?

This seems to take a lot longer to execute.  Is this normal?

Thanks Andy, can you tell me which release number this is slated to be in?

@mambon2
I don't know, maybe @atugushev has an idea.
There are just a couple things remaining to be ironed out.

This has been fixed in #1539 with the backtracking resolver, try pip-compile --resolver backtracking. The resolver is released as part of pip-tools v6.8.0. Please let us know if it doesn't resolve your issue. Thanks!

In my case, I removed requirements.txt and just left requirements.in then I ran pip-compile again and that fixed the issue. Setting the resolver was not enough ...


Support foo.bar for class methods

Someday this should work in upstream Octave (https://savannah.gnu.org/bugs/?55890)
In the meantime, maybe we should make it work in doctest, or at very least be ready for once help foo.bar works.

Another upstream issue: https://savannah.gnu.org/bugs/index.php?61521

This one we can do now, opened #264 for the bigger effort using using class.method internally.


NEW FEATURES: Drop Zone, Layout Builder, Window Background Blur

Description

New Feature: Layout Builder
Allows to know size,position of widget.
New Feature: DropZone
DropZone - widget that must have child widget (ft.Container as example) to drop files inside of it.
New Feature: WIndow Bacgkround Blur
Adding nice transparency effect to your Flet App.
Motivation
Such functionality should be by default in Flet. Such as DropZone, or LayoutBuilder, for building more complex interfaces. Acrylic - to make it look beautiful ;)
Knows Problem
LayoutBuilder may not be built correctly. In terms of, not fully optimized. But you at least have a working example of LayoutBuilder, maybe you should improve it. Because my knowledge of Dart is not good.
Test Code DropZone
import flet as ft

def main(page: ft.Page):
    page.add(
        ft.DropZone(
            content=ft.Container(ft.Text('Drop here!'),width=500,height=500,alignment=ft.alignment.center,bgcolor='red'),
            on_dropped=lambda e: print(f'Dropped: {e.files}'),
            on_entered=lambda e: print('Entered'),
            on_exited=lambda e: print('Exited')
            )
    )
ft.app(target=main)

Test Code Window Blur
import flet as ft

def main(page: ft.Page):
    page.add(ft.Text('Acrylic!'))
    page.bgcolor = 'transparent'
    page.window.bgblur = ft.bgblur.TABBED #ACRYLIC, MICA, TABBED, AERO
    page.update()

ft.app(target=main)

Test Code LayoutBuilder
import flet as ft

def main(page: ft.Page):
    page.add(
        ft.LayoutBuilder(
            content=ft.Container(ft.Text('LayoutBuilder'),expand=True,alignment=ft.alignment.center),
            update_size_on_init=True, # will trigger "on_change" at first build.
            expand=True,
            on_change=lambda e: print(e.width,e.height,e.x,e.y)

        )
    )
ft.app(target=main)

Type of change

[ ] New feature (non-breaking change which adds functionality)
[ ] This change requires a documentation update

Checklist

[ ] I signed the CLA.
[ ] I have performed a self-review of my own code
[ ] My changes generate no new warnings
[ ] New and existing tests pass locally with my changes

Screenshots

Additional details
Link to these features:
https://pub.dev/packages/desktop_drop
https://pub.dev/packages/flutter_acrylic
https://api.flutter.dev/flutter/widgets/LayoutBuilder-class.html

Summary by Sourcery
Add new features including Layout Builder, DropZone, and Window Background Blur to enhance the application's UI capabilities. Integrate the Flutter Acrylic package to support the new blur effect.
New Features:

Introduce a Layout Builder feature to determine the size and position of widgets.
Add a DropZone widget to enable file dropping functionality within a child widget.
Implement a Window Background Blur feature to add transparency effects to the application.

Enhancements:

Integrate the Flutter Acrylic package to support window background blur effects.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@FeodorFitsner
Could you check it please?

дай боб проверят 🙏🙏🙏🙏

I would love these features added to Flet @FeodorFitsner @ndonkoHenri

No worries, we are looking into this PR and will provide the feedback.

Wow! It's very good improvements! I'm looking forward to this features will release in next flet version

Can you give an example of how LayoutBuilder can be used in the app?

While I like the added functionality in this PR I'd like to see it split into 3 separate PRs for DropZone, LayoutBuilder and acrylic affect. So we can discuss and merge them separately. Now I'm locked into "all or nothing".
Can you do that please?

While I like the added functionality in this PR I'd like to see it split into 3 separate PRs for DropZone, LayoutBuilder and acrylic affect. So we can discuss and merge them separately. Now I'm locked into "all or nothing".
Can you do that please?

I don't know. Right now I don't have time on that. Maybe some ppl can separate this repo. Maybe later I will be able to do it. At the moment I am adding everything to one repository to quickly update the flet functionality to my requirements. For this reason I did not make separate repositories.

Can you give an example of how LayoutBuilder can be used in the app?

In my case, when I make the application small, I can automatically hide elements that do not fit the small window size.
For example, you have a side menu, and the main viewer of the application. Make it, for example, 500 pixels wide - the left menu is hidden.
No need to use cv anymore. Plus, the widget size can be calculated when the application starts. I think the code is not needed here.
This functionality has long been available in other frameworks. As in flutter by default.

OK, got it. No worries. Thanks for the notes about LayoutBuilder.


Filtering applications by accredited body in Provider Interface

Context
A user need was identified during research for providers to be able to filter applications by the accredited provider.
Changes proposed in this pull request

[x] Extended ProviderApplicationsPageState to work with accredited providers as well as providers.
[x] Changed ProviderApplicationsPageState to use the current provider user to work out the possible values for providers and accredited providers.
[x] Added ProviderOptionsService to encapsulate a couple of queries that fetch the possible values for providers and accredited providers used to populate the options in the filter.
[x] Update system spec

Guidance to review

The filtering rules applicable to provider users who are members of an accredited provider made me scratch my head a bit. As an accredited provider I'm assuming you have access to all the course that you 'accredit' (not really the right term). As a result I'm assuming you can select yourself in the new filter. It gets a more confusing for providers that can are both providers for some courses and accredited providers for others, in which case a given provider might appear in both filters as in the example above.
I'm assuming that we are using the term 'Accredited Provider'
To get the list of available accredited providers I used a query rather than iterating over the unfiltered list of application choices to get the possible values (as we did to get the list of possible provider values). See ProviderOptionsService
For consistency I changed the way we get the list of possible provider values to a query also using the same service.
One consequence of this is that you will now see providers and accredited providers that don't have any applications (yet). Not sure whether this is desirable or not)

Link to Trello card
https://trello.com/c/xhVK2tff/1782-support-filtering-by-accredited-body-on-the-provider-ui-application-list
Things to check

[x] This code doesn't rely on migrations in the same Pull Request
[x] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[x] API release notes have been updated if necessary
[x] New environment variables have been added to the Azure config

The filtering rules applicable to provider users who are members of an accredited provider made me scratch my head a bit. As an accredited provider I'm assuming you have access to all the course that you 'accredit' (not really the right term). As a result I'm assuming you can select yourself in the new filter. It gets a more confusing for providers that can are both providers for some courses and accredited providers for others, in which case a given provider might appear in both filters as in the example above.

I think this is ok for now.
In an extreme case I suppose you could be a SCITT which ratifies some SD courses and have some (but not all) of your own courses ratified by an HEI.
*for want of a better word (https://ukgovernmentdfe.slack.com/archives/CAHBLU6ET/p1585564547127700?thread_ts=1585561134.106700&cid=CAHBLU6ET)

To get the list of available accredited providers I used a query rather than iterating over the unfiltered list of application choices to get the possible values (as we did to get the list of possible provider values). See ProviderOptionsService

I think this is good. I don't think there's any expectation (yet) that we diminish the options based on what's already been filtered

One more point in favour of "does it make sense to select yourself in the accredited bodies" filter: the new card design coming in #1762 also includes the offering provider in the "accredited body" space if there's no accredited body. eg a Gorse SCITT course has the "accredited body" field present, populated with "Gorse SCITT"


Window per-pixel transparency does not work on hybrid GPU systems (NVIDIA Optimus)

Godot version
3.x, 4.x
System information
Windows 10, Windows 11, GLES3, Vulkan, various GPUs
Issue description
It seems that transparency (per_pixel_transparency_allowed = true, window_set_flag(WINDOW_FLAG_TRANSPARENT, true), set_transparent_background(true)) has issues on especially Laptops that have both an iGPU and a dGPU. For users of these systems, the background renders completely opaque in black. The color of the background is not actually influenced by the clear color so I am not sure where this is coming from
There seem to be 3 workarounds to this issue I could find with my users (I personally sadly don't have a gaming laptop to test this)

Completely disable the iGPU
Attach a secondary monitor to the laptop
Actually in contrast to 1. force Godot to run on the iGPU with --gpu-index 1

Printing the supported composite alpha flags got us these results for the iGPU:
VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR, VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR
and this for the dGPU:
VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR
Strangely enough, if I test on my system which has only a dedicated GPU I also only get VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR reported. At this point, I really don't know what might be the issue.
Steps to reproduce

get a laptop with both a dGPU and an iGPU
Enable per_pixel_transparency_allowed, set_transparent_background(true) and window_set_flag(WINDOW_FLAG_TRANSPARENT, true)
Background is opaque black unless one of the workarounds is used

Minimal reproduction project

Has any other app figured this out? In other words, is this even technically possible?

Discord and steam overlay do work on those systems. And it's not only hybrid. Systems with SLI have the same issue

Steam and other overlays works as a Vulkan layer (or by using DLL injection for OpenGL), by intercepting and modifying host app draw calls, it has nothing to do with window transparency support.
It's possible to do transparency by rendering to the offscreen buffer and updating the layered window manually, but it is extremely slow (good enough only for a static UI).

Do you happen to know why this is an issue with dual GPU systems? I couldn't really find anything regarding this.

No clue, but a few years ago it was not supported by most discrete GPU drivers as well (on Windows at least). So I do not think it's a technical limitation, probably just a low priority thing no one bother to implement.

I got a couple of reports of this issue with my recent game jam game, so this is still an issue. My game used Godot 4.1.1, for the record. One report was using a laptop with an Intel i7 11800H with its Intel UHD Graphics and an RTX 3070 on Windows 10 (Build 19045). The other report was on a laptop with an AMD Ryzen 7 5800H with its AMD Radeon Graphics and an RTX 3050 Ti.

I had a conversation with the developer of Outcore: Desktop Adventure about this issue, since that game also makes use of transparent windows, but uses Unity as its game engine. I figured that getting some data from another game engine might help clarify if this is an engine bug or a driver bug. It's worth keeping in mind that Outcore uses a single fullscreen transparent window, so this sort of bug would exhibit as a completely black screen.
The developer of Outcore did get a number of reports of players getting the black screen bug, but hadn't pinned down the issue to any specific source(s). There's this page listing workarounds for the issue, which notably doesn't have any overlap with the workarounds here. It would be nice if someone with affected hardware would try some of these methods with Godot to see if they help. The reverse would also be worth checking (i.e. seeing if Nvidia Optimus reliably triggers the black screen in Outcore).
According to the developer, Outcore uses UniWindowController to create the transparent window, so this might be a helpful reference to see if there's a code change that can be made in Godot to help with this issue. Notably, it looks like Godot is using DwmEnableBlurBehindWindow (for Windows), while UniWindowController is using DwmExtendFrameIntoClientArea. I'm not familiar with DWM, so I'm not sure which function makes more sense to use. Also, UniWindowController can also use a ColorKey, which (according to the Outcore developer) is more reliable, but at the cost of being less flexible.

It's worth keeping in mind that Outcore uses a single fullscreen transparent window, so this sort of bug would exhibit as a completely black screen.

The issues with the completely black screens aren't necessarily related, most GPU drivers try to optimize full-screen apps and disable composition completely. So full screen transparent window will not work in most cases.
If you really need to cover the whole screen with a transparent window (using multiple windows is probably better), you can create a window that is one pixel bigger or smaller than screen size as a workaround.

OpenGL (Compatibility) renderer seems to work much better with transparency and should work on all GPUs.
It's unlikely DwmExtendFrameIntoClientArea will be any different from DwmEnableBlurBehindWindow (these functions are used to force DWM composition for the window, not for their primary effects).
It's also possible to use a layered window for the transparency. It will work with any GPU and was used by Godot, but performance is abysmal, it will have at most 5–10 FPS for the full-screen window and create a lot of CPU load.
Color Key only provides binary transparency, not a full alpha channel (and most likely will be slow as well).

So I actually found an application that renders a transparent window with 3d data that works on laptops.
https://github.com/BoyC/GW2TacO
Its DX11 but maybe someone with more knowledge about rendering can find out what the magic ingredient is. The only difference I found is that it is indeed using DwmExtendFrameIntoClientArea instead of DwmEnableBlurBehindWindow. Dont understand enough to know if that is the reason though

Same issue here. I am not Godot Engine here but I am having the same problems using DwmExtendFrameIntoClientArea. For me, when using AMD (Integrated Graphics in NVIDIA Optimus), direct3d backend works, otherwise OpenGL for NVIDIA.

It seems the latest drivers from both nvidia and amd break window transparency with vulkan. I have had multiple reports from users now that had issues with vulkan following a gpu driver update. OpenGL seems to still work but Vulkan does not. Rolling back the driver did work but thats not really a solution in the long run. I am currently on vacation so I can't test it myself.

There seems to be some issue with the latest nvidia and amd drivers. Prior to the september driver updates transparency with vulkan worked fine. Now only OpenGL is working on my dedicated GPU. However, if I switch to my iGPU Vulkan transparency is working.
I noticed that on my iGPU it does not matter if I set
get_tree().get_root().set_transparent_background(true)

to true or false. As long as I have per pixel transparency enabled and
DisplayServer.window_set_flag(DisplayServer.WINDOW_FLAG_TRANSPARENT, true)

set to true the window is transparent.
I inspected the frames with Frame Doctor and the swapchain image always has a transparent background irrespective of set_transparent_background. For some reason the background color changes between black and grey though. Also reverting WINDOW_FLAG_TRANSPARENT to false does not make the background opaque again.
The only difference I could find so far is that my nvidia card only supports VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR while the iGPU also supports VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR however this is true with both the latest driver and the nvidia 531 driver where transparency still works.
I did some further testing compiling the engine myself. Forcing https://github.com/godotengine/godot/blob/066e7d483a8f699fd94e7133ac23978cd460a72d/drivers/vulkan/vulkan_context.cpp#L2128 to
VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR or VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR has no change on transparency on both the iGPU and my dedicated GPU. So this doesn't seem to be the culprit.
Also while I can only vouch for the tests I did myself. I have reports from over 100 users that observed the same issue. Reverting drivers to pre september or switching to OpenGL did resolve this (for most of them at least).

From https://github.com/godotengine/godot/issues/75425#issuecomment-1848848858 this seems to be fixed (assuming on NVIDIA's end) can anyone confirm?

It's not. Still having that issue on both AMD and Nvidia

Have you updated your drivers recently? If not please do and try 🙂, could be a different problem that was solved for them

Yes latest drivers. Vulkan is not working since around Septembe, both AMD and Nvidia pushed river updates that broke it. Nvidia has claimed twice with recent driver updates to have fixed the issue but they didnt. OpenGL is working on most systems. On some systems you have to force the iGPU via --gpu-index. Downgrading drivers to versions before September is also an option but not a good one.

Yes latest drivers. Vulkan is not working since around September, both AMD and Nvidia pushed driver updates that broke it. Nvidia has claimed twice with recent driver updates to have fixed the issue but they didnt. OpenGL is working on most systems. On some systems you have to force the iGPU via --gpu-index. Downgrading drivers to versions before September is also an option but not a good one.

NVIDIA GeForce 940MX + Intel i5-6200U
This thing is working after I update the driver version to 546.17 (or maybe earlier)
(pictures are in #75425)

Well that might be the case for you. But it is not working for everyone. I have tested this myself with both a 1070 and a 4090. Vulkan is not working for any driver starting from 537.58 all the way up to 549.29. I have reports from various users with basically any GPU from a 660 up to 4090 that have transparency issues on Vulkan. I also have reports from various users with AMD GPUs. On hybrid Systems it generally works if godot is running on the iGPU or if an external Monitor is connected for some reason.
OpenGL seems to work better in general but also not for all users. So no, this issue has not been fixed yet.

okay, hope the problem will be solved soon
ps: although it's working for me but the transparent part is kind of laggy when drawing, like resizing and calling the window out, it
shows a gray color shortly and then become transparent

Thanks to one of our users I think we figured out the issue with Vulkan and now also OpenGL transparency on newer (Nvidia) drivers. The issue seems to be caused by a new driver feature that forces OpenGL and Vulkan applications to render onto a virtual display backed by a DXGI swapchain which is supposed to enable additional features and compatibility with VK_KHR_display. It seems that this was also introduced in AMD shortly after due to user feedback.

It can be turned off by switching Vulkan/OpenGL present method in the nvidia control panel to Prefer native. I am not yet sure how the option is called on AMD. From a quick look  at VK_KHR_display it might be possible to support transparency without forcing the user to change this setting by using vkCreateDisplayPlaneSurfaceKHR instead of vkCreateWin32SurfaceKHR but my knowledge of both Vulkan and OpenGL is not quite high enough so this would need to be investigated by someone more knowledgable.

If the issue (at least for Nvidia) is related to a 3D driver setting, is that something that can be addressed in the engine through NvAPI? I noticed Godot is already using NvAPI to disable "threaded optimization" (function), so maybe it's just a matter of updating that function to also disable DXGI Swapchain.

so maybe it's just a matter of updating that function to also disable DXGI Swapchain.

Note that this should not be forcibly disabled, as many users like to enable it to benefit from better framepacing and lower input lag. In my experience, using a DXGI swapchain also tends to make RTX HDR play better with Godot when using a Vulkan or OpenGL renderer.
It's OK for the profile to default to Prefer native, but it shouldn't force the option if the user chooses something else.

The workaround in https://github.com/godotengine/godot/issues/76167#issuecomment-2042425498 worked for me.  I have a transparent application that I use for rendering stream effects on Twitch.  Changing that setting made it transparent again.

Thanks to one of our users I think we figured out the issue with Vulkan and now also OpenGL transparency on newer (Nvidia) drivers. The issue seems to be caused by a new driver feature that forces OpenGL and Vulkan applications to render onto a virtual display backed by a DXGI swapchain which is supposed to enable additional features and compatibility with VK_KHR_display. It seems that this was also introduced in AMD shortly after due to user feedback.

It can be turned off by switching Vulkan/OpenGL present method in the nvidia control panel to Prefer native. I am not yet sure how the option is called on AMD. From a quick look at VK_KHR_display it might be possible to support transparency without forcing the user to change this setting by using vkCreateDisplayPlaneSurfaceKHR instead of vkCreateWin32SurfaceKHR but my knowledge of both Vulkan and OpenGL is not quite high enough so this would need to be investigated by someone more knowledgable.

Hey, this fixed some issues with window transparency I was having when installing a new Nvidia GPU coming from a AMD Radeon RX 570, thanks!
*I was on Godot 4.2.2 and using Forward+


Question about JapaneseCorrector

Hi, I have a few question about JapaneseCorrector.
https://github.com/megagonlabs/ginza/blob/develop/ginza/japanese_corrector.py#L31
when token.head.i <  token.i, line 31 will always evaluated as True and return None. Is this correct implementation?
And one more, merge_range() returns begin, end, and head.
But in correct_dep(), end is ignored, and merged with fixed range between begin and begin+2.
I can't figure out whether these are problems or not now.
If these are correct implementation, sorry for bothering you.

Hi @ogis-uno, Thank you for asking about the details of JapaneseCorrector.
The behavior of merge_range() is expected but actually correct_dep() is not correct.
I'm going to revise that.
Thnak you so much!

I fixed this issue in #67. Thank you for reporting the problems.


Initial plugin implementation

Initial implementation of the helm-sigstore plugin and includes the following features:

Uploading signed Helm Charts
Searching for signed Helm Charts in Rekor
Verifying signed Helm Charts

Includes documentation and necessary tooling to incorporate into the Helm plugin ecosystem. Current version uses a file path based reference to the plugin. Once a release is made, the plugin binary can be retrieved instead of requiring the user to build locally.

This looks great! I'm not really a helm expert but the rekor code looks right.


backport: bitcoin#19528, #19455, #19717, #19849, #19994 - assert for RPCArg names

Issue being fixed or feature implemented
This batch of backports asserts that RPCArg names are equal to CRPCCommand ones.
What was done?
done backports:

bitcoin/bitcoin#19994
bitcoin/bitcoin#19849
bitcoin/bitcoin#19717
bitcoin/bitcoin#19455
bitcoin/bitcoin#19528

Beside that same changes are applied for src/coinjoin's rpc.
There's also applied multiple fixes for various rpcs for cases when RPCArg names are mismatched with CPCCommand
Please, note, that this PR is not final fix for all RPCArgs. There's a lot of dash's rpc that is not refactored that.
That it is not easy to implement for quorum command because the list of arguments (and even their numbers) are different for each sub-command. This fixes are out-of scope of this PR and should be done before bitcoin#18531 is backported.
See also relevant bitcoin#21035.
How Has This Been Tested?
I used this helper to see which exactly args are specified wrongly:
diff --git a/src/rpc/server.h b/src/rpc/server.h
index d4a7ba60eb..cdfd741f54 100644
--- a/src/rpc/server.h
+++ b/src/rpc/server.h
@@ -16,6 +16,7 @@
 #include <string>

 #include <univalue.h>
+#include <logging.h>

 class CRPCCommand;

@@ -110,6 +111,19 @@ public:
               fn().GetArgNames(),
               intptr_t(fn))
     {
+        if (fn().m_name != name_in || fn().GetArgNames() != args_in) {
+            std::cerr << "names:  " << fn().m_name << ' ' << name_in << std::endl;
+            std::cerr << "arg names: " << fn().GetArgNames().size() << std::endl;
+            for (const auto& i : fn().GetArgNames()) {
+                std::cerr << "arg: " << i << std::endl;
+            }
+            std::cerr << "FIASCO FIASCO FIASCO FIASCO FIASCO FIASCO" << std::endl;
+        }
         CHECK_NONFATAL(fn().m_name == name_in);
         CHECK_NONFATAL(fn().GetArgNames() == args_in);
     }

Breaking Changes
N/A
Some arguments are renamed in RPC but they have been broken (used incorrect name not same as in docs)
Checklist:

[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have added or updated relevant unit/integration/functional/e2e tests
[ ] I have made corresponding changes to the documentation
[x] I have assigned this pull request to a milestone

@knst I rebased this for you; range-diff provided below; feel free to no-diff rebase to re-enshrine your GPG sigs on these commits if you'd like
 -:  ---------- >  1:  f5642281cc Merge #20282: wallet: change upgradewallet return type to be an object
 -:  ---------- >  2:  19aba38cab Merge #19200: rpc: remove deprecated getaddressinfo fields
 -:  ---------- >  3:  9c54cb16de Merge #19405: rpc, cli: add network in/out connections to `getnetworkinfo` and `-getinfo`
 1:  6353aae4e9 =  4:  58d923cd5b Merge #19528: rpc: Assert that RPCArg names are equal to CRPCCommand ones (misc)
 2:  8044dd4c91 =  5:  41c35fd8dc fix: adjust missing arguments and help for misc rpc: debug, echo, mnsync
 3:  9950451b37 =  6:  860d31f504 Merge #19455: rpc generate: print useful help and error message
 4:  f99734e3e3 =  7:  7ac1ee0fb4 Merge #19717: rpc: Assert that RPCArg names are equal to CRPCCommand ones (mining,zmq,rpcdump)
 5:  c0439e91ad =  8:  f525f574b0 fix: follow-up missing changes from Merge #18607: rpc: Fix named arguments in documentation
 6:  d631b7a9ba =  9:  c30c8f22dd Merge #19849: Assert that RPCArg names are equal to CRPCCommand ones (blockchain,rawtransaction)
 7:  a827d5f357 = 10:  af9eb81e56 fix: wrong name of arguments for RPC
 8:  36eb6f6082 ! 11:  0e1a31159f Merge #19994: Assert that RPCArg names are equal to CRPCCommand ones (net, rpcwallet)
    @@ src/wallet/rpcwallet.cpp: static UniValue upgradewallet(const JSONRPCRequest& re
          if (!wallet) return NullUniValue;
          CWallet* const pwallet = wallet.get();
     @@ src/wallet/rpcwallet.cpp: static UniValue upgradewallet(const JSONRPCRequest& request)
    -         throw JSONRPCError(RPC_WALLET_ERROR, error.original);
    +         obj.pushKV("error", error.original);
          }
    -     return error.original;
    +     return obj;
     +},
     +    };
      }
 9:  106d69a45f = 12:  d0163543d9 refactor: use new format CPCCommand for rpc/coinjoin
10:  efcbc91de1 = 13:  b54f03a0c1 fix: wrong name of argument for coinjoin
11:  6ae994ba36 = 14:  3621966f12 feat: add todo to drop Throw() from rpc/util.h
12:  1f3d7c6b1c = 15:  c5031685bc fix: rename arguments for 'voteraw'


Update virtual-machines-linux-n-series-driver-setup.md

Added Silent Install for Drivers
Added Proper Silent and SECURE CUDA Install
Requesting changes to be incorporated and Thank You

@dwaiba,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

Closing as consolidated in #874


Inaccurate description for the first code sample on README

Hi!
I believe the description for the first code sample on README is slightly incorrect. Below the code one can read:
This code adds all numbers from 0 to 2^30
But, it's sums the numbers till 2^30, but not the 2^30 itself. For example:
sum(3,0)
will return 28. But the sum from zero to 2^3=8 is, in fact, (1+2+3+4+5+6+7+8)=36. Although, 28+8=36.

It's very common to talk about numbers ranges as not including the last element, but I'll adjust the wording to be more precise

Closed by #324


tegra-wifi_1.0.bb: increase udev rules priority

Make sure tegra-wifi rules are applied before applying systemd rules.
Otherwise, systemd will use an incorrect name for the wifi interface.
Fixes #571
Signed-off-by: Niels Avonds<EMAIL_ADDRESS>

Good catch.. thanks!


Update variance data with platform_id

The variance data has "platform" columns instead of "platform_id". This need to change throughout so that they are easy to link.
ACCEPTANCE CRITERION

[x] columns are updated to platform_id with appropriate values

@CsabaHalmagyi done


WA-238 Checking tx receipt status on withdrawn mutlsig txs

Travis automatic deployment:
https://staging-35-pr-413-safe-react-gnosis.surge.sh
Storybook book automatic deployment:
https://storybook-staging-35-pr-413-safe-react-gnosis.surge.sh


Fixes rendering issue where comma is included with FB dataloader link

Moduledocs automatically render links as HTML links and the comma was being tacked on, causing hexdocs to link to a broken url.
Thanks!

Thanks!


Fix hashing for custom eq objects

Summary
Thanks for making attrs btw! It's an amazing library. In the documentation for attr.ib (sorry, still speaking in 2021 attr here), we see:

hash (Optional[bool]) – Include this attribute in the generated hash method. If None (default), mirror eq’s value. This is the correct behavior according the Python spec. Setting this value to anything else than None is discouraged.

Currently this does not happen - if we passed in a callable to transform the field's value, we would see _x_key(self.x) in the generated eq code, but we don't see the same thing happening for the generated hash function.
Currently, I'd like to compare equality of a non-hashable object. I was surprised to see that the hash function did not respect the eq override and get it for free (which is an awesome feature from attr!).
Pull Request Check List

[x] Added tests for changed code.
Our CI fails if coverage is not 100%.
[x] New features have been added to our Hypothesis testing strategy.
[x] Changes or additions to public APIs are reflected in our type stubs (files ending in .pyi).

[x] ...and used in the stub test file tests/typing_example.py.
[x] If they've been added to attr/__init__.pyi, they've also been re-imported in attrs/__init__.pyi.

[x] Updated documentation for changed code.

[x] New functions/classes have to be added to docs/api.rst by hand.
[x] Changes to the signature of @attr.s() have to be added by hand too.
[x] Changed/added classes/methods/functions have appropriate versionadded, versionchanged, or deprecated directives.
Find the appropriate next version in our __init__.py file.

[x] Documentation in .rst files is written using semantic newlines.
[ ] Changes (and possible deprecations) have news fragments in changelog.d.

As the change is only meant to make the code be compliant with the docs, I have not updated any existing documentation. If this is worth adding into the changelog let me know and I'll add it asap. Thank you!

Hi @hynek , thanks for getting back to me! I've not used this coverage tool, and I was wondering what I needed to do to bring the coverage back up to 100%. I updated the changelog.d with the update :)

Since I don't have push permissions against your branch, please apply the following patch and try again:
diff --git src/attr/_make.py src/attr/_make.py
index 962e560..86ced77 100644
--- src/attr/_make.py
+++ src/attr/_make.py
@@ -325,13 +325,11 @@ def _compile_and_eval(script, globs, locs=None, filename=""):
     eval(bytecode, globs, locs)

-def _make_method(name, script, filename, globs=None):
+def _make_method(name, script, filename, globs):
     """
     Create the method with the script given and return the method object.
     """
     locs = {}
-    if globs is None:
-        globs = {}

     # In order of debuggers like PDB being able to step through the code,
     # we add a fake linecache entry.
@@ -1955,7 +1953,7 @@ if HAS_F_STRINGS:
         ]

         return _make_method(
-            "__repr__", "\n".join(lines), unique_filename, globs=globs
+            "__repr__", "\n".join(lines), unique_filename, globs
         )

 else:


Cherry pick 11043 to release 6.5 without 10959

What problem does this PR solve?

Issue Number: close #xxx
What is changed and how it works?
Check List
Tests

Unit test
Integration test
Manual test (add detailed scripts or steps below)
No code

Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
None

/test cdc-integration-kafka-test


TypeError: web3.toBigNumber is not a function

I asked about this on gitter: [ ]

Expected Behavior
Not throw an error
Current Behavior
Forked Chain
==================
Location:    http://localhost:8545
/src/build/cli.node.js:99398
var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&"function"==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS

TypeError: web3.toBigNumber is not a function
    at /src/build/webpack:/cli.js:232:1
    at Immediate._onImmediate (/src/build/webpack:/node_modules/ganache-core/lib/subproviders/geth_api_double.js:35:8)
    at runCallback (timers.js:789:20)
    at tryOnImmediate (timers.js:751:5)
    at processImmediate [as _immediateCallback] (timers.js:722:5)

Possible Solution
?
Steps to Reproduce (for bugs)
docker run trufflesuite/ganache-cli:latest --net=host --fork http://localhost:8545

Context
Docker image doesn't work with --fork option.
Your Environment

Version used: latest
Version of Truffle/Remix/Other tools used:
NodeJS Version: [ ] 6.x, [ ] 7.x (unsupported), [ ] 8.x, [ ] 9.x
Operating System and version (include distro if Linux):
Link to your project or repro gist:
Commit hash to use with above link for reproduction:
I intend to submit a pull request to fix this issue: [ ]

I encountered the same error. The error is due to web3. toBigNumber is a function in web3 v0.x versions. It was replaced by toBN in v1.x. It means it assumes it is calling the v0.x version of web3 when the v1.x version is in the scope. To resolve it, make sure the correct web3 is in scope.

I encountered the same error. The error is due to web3. toBigNumber is a function in web3 v0.x versions. It was replaced by toBN in v1.x. It means it assumes it is calling the v0.x version of web3 when the v1.x version is in the scope. To resolve it, make sure the correct web3 is in scope.

That's actually web3.utils.toBN.