text:
Implements SFML.Window.Event.TextEvent.

Uses this to fix TextBoxes.
Also fixes the console being unable to be opened, new key is Home.
KNOWN BUG: bound keys still happen, even if textboxes are focused.

I hate how we propagate events, but the PR looks good nevertheless.

Yeah it's pretty bad but it's very modular.
Could use some unspaghettification though.


text:
Multiple cf-labels, radio input with multiple options to choose.

Hi, I am using your library with React(Next.js + TypeScript).
As you showed here, but I need the same for React Component.
Here is my code

Here I need a few countries for example 'Ukraine, Spain, Italy'.
I tried a lot, arrays, objects, strings all of them are not working.
So how can I see here my options?

@serhiibabaiev try this
{
        "tag": "fieldset",
        "cf-questions": "What is your country?",
        "children": [
          {
            "tag": "input",
            "type": "radio",
            "cf-label": "Ukraine",
           "value": "U"
          },
          {
            "tag": "input",
            "type": "radio",
            "cf-label": "Spain",
            "value": "SP"
          },
          {
            "tag": "input",
            "type": "radio",
            "cf-label": "Italy",
            "value": "IT"
          }
        ]
}

source: gharchive/issue

authors: jemikanegara serhiibabaiev

license: mit

license_type: permissive

license_source: bigquery


text:
Bug: Module not found: Error: Can't resolve 'react/jsx-runtime'

Describe the bug
Importing effector-react-slots in create-react-app v5.0.0 project.
After npm run start getting an error
ERROR in ./node_modules/effector-react-slots/dist/module.js 2:0-83
Module not found: Error: Can't resolve 'react/jsx-runtime' in '/Users/soulfull/dev/product-guide/node_modules/effector-react-slots/dist'
Did you mean 'jsx-runtime.js'?
BREAKING CHANGE: The request 'react/jsx-runtime' failed to resolve only because it was resolved as fully specified
(probably because the origin is strict EcmaScript Module, e. g. a module with javascript mimetype, a '*.mjs' file, or a '*.js' file where the package.json contains '"type": "module"').
The extension in the request is mandatory for it to be fully specified.
Add the extension to the request.

Environment info
current version of create-react-app: 5.0.0
node - 16.13.0
npm -8.1.0

Is it possible to remove "type": "module" from package.json?

https://github.com/facebook/create-react-app/issues/11769 :c

Try to use smth like this for testing

It seems that this bug does not isolated in CRA. Waiting for react v18

authors: Soulfull binjospookie

license: MIT

license_source: github-api


text:
fix: avoid extra step value setting in field25 square component (PROOF-883)

Rationale for this change
The square component has an extra multiply and carry call setting the t[7] value. Luckily the t[7] value is set to the correct value a few lines later, avoiding a bug. This PR removes the unnecessary setting of t[7].
What changes are included in this PR?

Setting the t[7] values with both mac output and the carry output is removed.

Are these changes tested?
Yes

:tada: This PR is included in version 1.63.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

source: gharchive/pull-request

authors: SxT-Release jacobtrombetta

repo: spaceandtimelabs/blitzar


text:
Add Github actions CI workflow

So this adds a CI workflow, running pytest under python 3.8, 3.9 and doc build under python 3.8.
There was an actual unit test failing on master:
https://github.com/spacetelescope/jwst_reffiles/pull/127/checks#step:7:24
which I fixed by removing it.  Probably not a great idea to test the number of steps in Detector1Pipeline when that could change at any time (as it has).
Also, I removed .travis.yml so that CI no longer runs.

Woo hoo! Thanks for this @jdavies-st!!


text:
[Question] Tuple validation with enum in the first

In the following schema,
{ "type": "array",
  "items": [
{ "type": "number" },
{ "type": "string" },
{ "type": "string",
  "enum": ["Street", "Avenue", "Boulevard"] },
{ "type": "string" } ] }

I'm trying to validate this: [1600, "Pennsylvania", "Avenue", "NW"]
Now, the documentation explains that it's okay to leave out items. What happens if I leave out the third item "Avenue". It would not validate the JSON because "NW" is not enumerated in the schema? This would especially get more interesting if the first item is enum .  Like so:
{ "type":"array",
  "items": [
  { "type": "string",
  "enum": [ "Alice", "Bob", "Eve", "Mallory" ] },
  { "type": "string"} ]
}

Is there a way I can work around this problem?

One obvious fix would be to always use the enum in the end. But if there are multiple enums, then it gets complicated.

Indeed you are correct.  You may want to ask your question on the JSON schema Google Group.  These issues are strictly for the "Understanding JSON schema" book.

authors: eternaltyro mdboom


text:
stf_lib CTest regression

This pull request introduces a regression target for unit testing STF_LIB using CTest. The regression tests can be executed with the following commands:
mkdir -p release/
cd release/
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j32 regress
cd ..

Currently, these tests serve as a stub and do not cover the STF_LIB extensively (only one basic STFWriter test was added).

This is great! And appreciated. One thing this doesn't really test is making sure the file written contains the expected information written. Suggest adding an stf_reader after the close and making sure the file read matches what was written.

Written file contents are tested by diff comparison to golden file that is included in the test directory.

@bdutro, @klingaard, main purpose for this PR is to add CTest environment to the stf_lib, proper tests that would cover components of the stf_lib can be added in the future.

This all looks good. Could you go ahead and add a make regress call to https://github.com/sparcians/stf_lib/blob/master/.github/workflows/ubuntu-build.yml so it runs for PRs?

authors: StanSofomoDev bdutro


text:
fix missing rename for saveKeyFromCore and writeKeyToCore

Should fix issue #49

thanks! :smile_cat:

authors: emilyrose endorama

repo: spark/particle-cli


text:
Choose a device by default

When trying to compile firmware on Dev, the user is forced to select a device manually to ensure compiling works properly. If a device is not selected, the user will receive compiling errors that are not related to issues with their firmware, but simply a lack of a device to build for.
For instance,

Instead, when Particle Dev opens, we should select the last-flashed device by default. If there isn't a last-flashed device, sort by whether the device is online and choose the first one as a default

Fixed with https://github.com/spark/particle-dev/releases/tag/v0.1.18

repo: spark/particle-dev


text:
ci: build a container for libxml2 to use in its pipeline

What problem is this PR intended to solve?
Build a container for libxml2 to use in its pipeline
See:

https://gitlab.gnome.org/GNOME/libxml2/-/issues/758
https://gitlab.gnome.org/GNOME/libxml2/-/merge_requests/271

Pipeline run is here: https://github.com/sparklemotion/nokogiri/actions/runs/9782778129

repo: sparklemotion/nokogiri


text:
Wrong formatted sql in Ray when using text search operator @@ in postgres query

Describe the bug
The formatted sql query shown when using the text search operator "@@" in postgres is wrong, it gets transformed into "@ @" which is incorrrect
Versions
Ray version (you can see this in "About Ray"): 2.5.1.0
You can use composer show to get the version numbers of:

spatie/ray package version: 1.37.2
spatie/laravel-ray package version: 1.32.4

PHP version: 8.1
Laravel version: 9.52.7
To Reproduce
\DB::select("select to_tsvector('simple', 'some text') @@ to_tsquery('simple', 'text') as field");

Expected behavior
select
  to_tsvector('simple', 'some text') @@ to_tsquery('simple', 'text') as field

Screenshots

Desktop (please complete the following information):

OS: Windows 10

Hi @pablosebastianr
Version 2.6.5 of the Ray app will now try different sql dialects, including postgresql.
I'm closing this issue now but if you run into more formatting issues, feel free to tag me.

authors: Sam-Apostel pablosebastianr

repo: spatie/laravel-ray


text:
Adds a Http Client watcher

Hi all,
After the release of Laravel 8.45, I've added a HTTP Client watcher to Laravel Ray. It can be enabled using
ray()->showHttpClientRequests();

and will show the HTTP request and response object.
Here is an example of the output as it stands currently.

I'm happy to add more output/change existing output. Just let me know what you'd like to see!
Thanks for all the hard work and all of your contributions to the community.
Regards,
Luke

@freekmurze, I'll take a look at the docs now. Just a couple of comments I've left for you to decide on. Only other question is should we throw an exception if the user is not on Laravel 8.45+ and they try to activate HTTP inspections?

@freekmurze, I'll take a look at the docs now. Just a couple of comments I've left for you to decide on. Only other question is should we throw an exception if the user is not on Laravel 8.45+ and they try to activate HTTP inspections?

In that case, let's send a message to ray say "Http logging is not available in your Laravel version" and maybe color it red.

@freekmurze, as we now check in 3 places for the Laravel version, I've made it a static function in the HttpClientWatcher. Let me know if you don't like that, and I'll hardcode it in the 3 separate locations instead.

Thank you very much for this!

authors: freekmurze lukeraymonddowning


text:
Error reading a content stream.

Hi!
I get this error when trying to convert a pdf file to png:
   **** Error reading a content stream. The page may be incomplete.
               Output may be incorrect.
   **** Error: File did not complete the page properly and may be damaged.
               Output may be incorrect.
openjpeg warning: No incltree created.
openjpeg warning: No imsbtree created.
openjpeg warning: No incltree created.
openjpeg warning: No imsbtree created.
openjpeg warning: No incltree created.
openjpeg warning: No imsbtree created.
openjpeg warning: No incltree created.
openjpeg warning: No imsbtree created.
openjpeg warning: No incltree created.
openjpeg warning: No imsbtree created.
openjpeg warning: No incltree created.
openjpeg warning: No imsbtree created.
openjpeg warning: No incltree created.
openjpeg warning: No imsbtree created.
openjpeg warning: No incltree created.
openjpeg warning: No imsbtree created.
openjpeg warning: tgt_create tree->numnodes == 0, no tree created.
openjpeg warning: No incltree created.
openjpeg warning: tgt_create tree->numnodes == 0, no tree created.
openjpeg warning: No imsbtree created.
openjpeg warning: tgt_create tree->numnodes == 0, no tree created.
openjpeg warning: No incltree created.
openjpeg warning: tgt_create tree->numnodes == 0, no tree created.
openjpeg warning: No imsbtree created.
openjpeg warning: tgt_create tree->numnodes == 0, no tree created.
openjpeg warning: No incltree created.
openjpeg warning: tgt_create tree->numnodes == 0, no tree created.
openjpeg warning: No imsbtree created.
openjpeg warning: tgt_create tree->numnodes == 0, no tree created.
openjpeg warning: No incltree created.
openjpeg warning: tgt_create tree->numnodes == 0, no tree created.
openjpeg warning: No imsbtree created.
openjpeg warning: tgt_create tree->numnodes == 0, no tree created.
openjpeg warning: No incltree created.
openjpeg warning: tgt_create tree->numnodes == 0, no tree created.
openjpeg warning: No imsbtree created.
openjpeg warning: tgt_create tree->numnodes == 0, no tree created.
openjpeg warning: No incltree created.
openjpeg warning: tgt_create tree->numnodes == 0, no tree created.
openjpeg warning: No imsbtree created.
openjpeg warning: tgt_create tree->numnodes == 0, no tree created.
openjpeg warning: No incltree created.
openjpeg warning: tgt_create tree->numnodes == 0, no tree created.
openjpeg warning: No imsbtree created.
openjpeg warning: tgt_create tree->numnodes == 0, no tree created.
openjpeg warning: No incltree created.
openjpeg warning: tgt_create tree->numnodes == 0, no tree created.
openjpeg warning: No imsbtree created.
   **** Error reading a content stream. The page may be incomplete.
               Output may be incorrect.
   **** Error: File did not complete the page properly and may be damaged.
               Output may be incorrect.

This is my code:
$pdf = new Pdf($input);
$pdf->setOutputFormat('png');
$pdf->setResolution(300);
$pdf->setCompressionQuality(100);
$pdf->saveAllPagesAsImages($outputFolder);

You can find the pdf here: building.pdf

Edit: this is not an error, it's a warning from imagemagick. the pdf file was converted successfully.

repo: spatie/pdf-to-image


text:
Howto add label to QR image URL?

I tried several formats for name parameter for adding "label" for account (the one that appears on top of changing 6-digit code). According https://github.com/google/google-authenticator/wiki/Key-Uri-Format it should go like this: Company: company.com/me@foo.com

See https://github.com/Daplie/node-authenticator/blob/master/authenticator.js#L60
Here's a live demo in the browser:

https://daplie.github.io/browser-authenticator/ and code on github

Scroll down and you can put in the values you want and then click "Regenerate" to update the URI string and the QRCode.
You can even use the Authy App to test it on your own phone.
Here's the corresponding node example:  https://github.com/Daplie/node-authenticator

Also with live demo you posted, there is no Label when using google Authenticator.
See examples here:
With label:

Without:

I know this is old but for anyone interested adding &issuer=Google to the otpauth url before creating the QRCode would set the label to Google.

issuer is now an option to otpauthURL()

repo: speakeasyjs/speakeasy


text:
Using raw Tasks

Still phases but can blur:

check cache - lots of threads
download - 4
deserialize - lots of threads

Seems to be faster but allocates a lot:

Speed is way better as I was getting too much from SQLite but need to cache

way faster
I think the old one was 28 seconds?

Re-run the test (cache hits). looking 🔥

Method
Mean
Error
StdDev
Gen0
Gen1
Gen2
Allocated

RunTest_Old
24.31 s
927.37 s
2.060 s
619000.0000
274000.0000
6000.0000
10.75 GB

RunTest_New
9.210 s
475.352 s
1.056 s
588000.0000
292000.0000
6000.0000
9.9 GB

Operations.Receive tests now:
Cache hits:

Method
Mean
Error
StdDev
Gen0
Gen1
Gen2
Allocated

RunTest_Receive
22.08 s
2.468 s
0.641 s
615000.0000
268000.0000
2000.0000
10.75 GB

RunTest_Receive2
14.60 s
3.886 s
1.009 s
599000.0000
290000.0000
1000.0000
10.16 GB

Cache miss:
todo...

We got cache misses a bit closer by tweaking some of the batch sizes. Proably more performance we can squeeze out of this, but seeing that the cache hits is so much faster, and is the most common type of receive, I say we accept.
Cache Miss (new)

Method
Mean
Error
Gen0
Gen1
Gen2
Allocated

RunTest_Receive
59.49 s
NA
614000.0000
268000.0000
1000.0000
10.75 GB

RunTest_Receive2
81.90 s
NA
587000.0000
295000.0000
1000.0000
9.94 GB

authors: JR-Morgan adamhathcock

repo: specklesystems/speckle-sharp-sdk


text:
Failing Tests: Wall and Opening

WallTests.WallToNative failing bc it can't create a wall
The referenced object is not valid, possibly because it has been deleted from the database, or its creation was undone.

   at Autodesk.Revit.DB.Element.get_Parameter(BuiltInParameter parameterId)
   at SpeckleRevitTests.SpeckleConversionTest.AssertEqualParam(Element expected, Element actual, BuiltInParameter param) in C:\Users\izzy lyseggen\Documents\dev\next\ConverterRevit\SpeckleRevitTests\SpeckleConversionTest.cs:line 137
   at SpeckleRevitTests.WallTests.AssertWallEqual(Wall sourceElem, Wall destElem) in C:\Users\izzy lyseggen\Documents\dev\next\ConverterRevit\SpeckleRevitTests\WallTests.cs:line 59
   at SpeckleRevitTests.SpeckleConversionTest.SpeckleToNative[T](Action`2 assert) in C:\Users\izzy lyseggen\Documents\dev\next\ConverterRevit\SpeckleRevitTests\SpeckleConversionTest.cs:line 67
   at SpeckleRevitTests.WallTests.WallToNative() in C:\Users\izzy lyseggen\Documents\dev\next\ConverterRevit\SpeckleRevitTests\WallTests.cs:line 42

OpeningTests.OpeningToNative failing bc the opening is not going through anything
One or more errors occurred.

   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at System.Threading.Tasks.Task.Wait()
   at SpeckleRevitTests.SpeckleConversionTest.SpeckleToNative[T](Action`2 assert) in C:\Users\izzy lyseggen\Documents\dev\next\ConverterRevit\SpeckleRevitTests\SpeckleConversionTest.cs:line 56
   at SpeckleRevitTests.OpeningTests.OpeningToNative() in C:\Users\izzy lyseggen\Documents\dev\next\ConverterRevit\SpeckleRevitTests\OpeningTests.cs:line 60

Walls are failing because of #110 10
While the opening is just showing a warning, but it does create them. Will close this for now!

authors: izzylys teocomi

repo: specklesystems/speckle-sharp


text:
SpeedmentApplication.configure() is losing type information

Currently when a manager is configured using the SpeedmentApplication.configure() the specific manager type is lost upon build.
This works:
    Manager<Inventory> inventoriesWithStategy = app
        .configure(InventoryManager.class)
        .withParallelStrategy(ParallelStrategy.computeIntensityHigh())
        .build();

This does not work:
    InventoryManager inventoriesWithStategy = app
        .configure(InventoryManager.class)
        .withParallelStrategy(ParallelStrategy.computeIntensityHigh())
        .build();

As can be seen, we cannot regain the original Manager type InventoryManager

A problem with returning an InventoryManager is that there is no way of knowing how to construct that instance. The user might have added a non-default constructor since it is a class open for modifications.
One way to solve it would be to let .configure take a Supplier<? extends Manager<? super ENTITY>> instead of a class. The type could then be carried by the builder as a generic variable.
Example:
InventoryManager inventoriesWithStategy = app
    .configure(InventoryManagerImpl::new)
    .withParallelStrategy(ParallelStrategy.computeIntensityHigh())
    .build();

If you have changed the constructor, you are responsible for creating the supplier yourself.

We should have a more general way of streaming (see #159) where mgr.stream() takes a parameter StreamConfiguration for parallel strategy, object reuse, immutablility etc.

authors: Pyknic minborg

repo: speedment/speedment


text:
iOS Device build successful however DDP fails to connect

In xcode i get the following in the output section:
_BSMachError: port 6503; (os/kern) invalid capability (0x14) "Unable to insert COPY_SEND"
2017-02-22 15:27:13.589763 RNApp[6363:1992688] [] __nw_connection_get_connected_socket_block_invoke 2 Connection has no connected handler
2017-02-22 15:27:13.819502 RNApp[6363:1992487] [] __nw_connection_get_connected_socket_block_invoke 3 Connection has no connected handler
2017-02-22 15:27:13.829 [warn][tid:main][RCTEventEmitter.m:54] Sending `websocketFailed` with no listeners registered.
2017-02-22 15:27:13.829539 RNApp[6363:1992421] Sending `websocketFailed` with no listeners registered.
2017-02-22 15:27:14.158 [info][tid:main][RCTRootView.m:239] Running application RNApp ({
    initialProps =     {
    };
    rootTag = 1;
})
2017-02-22 15:27:14.157943 RNApp[6363:1992421] Running application RNApp ({
    initialProps =     {
    };
    rootTag = 1;
})
__nw_connection_get_connected_socket_block_invoke 48 Connection has no connected handler
2017-02-22 15:28:51.178855 RNApp[6363:1992487] [] __nw_connection_get_connected_socket_block_invoke 49 Connection has no connected handler

I ran the meteor app without any changes. ( meteor states App is running on localhost:3000)
I ran the RNApp with the following change:
let METEOR_URL = 'ws://my_ip_address:3000/websocket';
To get my IP address i googled it, because ipconfig getifaddr en1 didnt return anything.
As a FYI i am running in VMware, if that changes anything.
Any help will be greatly appreciated!
UPDATE .1
I tried running the meteor app using ROOT_URL=http:ip_address:3000 meteor to see if that would help. Didn't work still the same issue with the DDP disconnection.
UPDATE .2
Because im running on VMware via nat network realised that ipconfig getifaddr en0 via terminal will get me the IP address, however that still didnt work.
@spencercarli

I haven't used VMWare so I've got no clue on what needs to be done. I did a quick google and found this article which I think is saying you need to expose the VM to the network and forward requests to it?
What OS is your host environment? I didn't know you could virtualize MacOS haha

@spencercarli thanks so much for the response, ive been going crazy alone. ill definitely have a look at that article and see if it resolves it!
Im running Windows 10 :) (via VB and VM) i run Linux and MacOS also run the 'bash on ubuntu on windows' lol which is pretty cool!

authors: hamoodij spencercarli


text:
Prepare for V1.0

Reaching V1.0 milestone.

[ ] New version, new README, new documentation
[ ] Polish up 404 page.

Hello! I need the installation steps of the program and Chinese documents.

I'd like to deploy your program on my own server, But I don't know where to start.

Hello! I need the installation steps of the program and Chinese documents.

Refer to spencerwooo/onedrive-cf-index for now, stuff are basically the same.

I'd like to deploy your program on my own server, But I don't know where to start.

There's a Docker file for u to deploy with on your own server if that's what you are looking for BTW. https://github.com/spencerwooo/onedrive-vercel-index/discussions/112

authors: HankMo spencerwooo

repo: spencerwooo/onedrive-vercel-index


text:
Microsoft Graph and deployment files -> Python

In spetlr deployment pipeline, a lot of code is powershell scripts. These are often copied from project to project.
A improvement is to make them as python files which can be used in all dataplatform projects, without copy+paste powershell scripts.
@mrmasterplan and I could collaborate.

Consider using terraform

repo: spetlr-org/spetlr-tools


text:
Night CI 2023-11-28: Failed

action url: https://github.com/spidernet-io/egressgateway/actions/runs/7023881379

同 #990
 [FAILED] Unexpected error:
      <*errors.StatusError | 0xc0003a2c80>:
      admission webhook "egressgateway.egressgateway.spidernet.io" denied the request: Do not delete :egw-e053f15e-2762-4be0-b0d0-fe7c5e031a34 because it is already referenced by EgressPolicy
      {
          ErrStatus: {
              TypeMeta: {Kind: "", APIVersion: ""},
              ListMeta: {
                  SelfLink: "",
                  ResourceVersion: "",
                  Continue: "",
                  RemainingItemCount: nil,
              },
              Status: "Failure",
              Message: "admission webhook \"egressgateway.egressgateway.spidernet.io\" denied the request: Do not delete :egw-e053f15e-2762-4be0-b0d0-fe7c5e031a34 because it is already referenced by EgressPolicy",
              Reason: "Forbidden",
              Details: nil,
              Code: 403,
          },
      }
  occurred
  In [DeferCleanup (Each)] at: /home/runner/work/egressgateway/egressgateway/test/e2e/egresspolicy/egresspolicy_test.go:426 @ 11/28/23

authors: bzsuni weizhoublue

repo: spidernet-io/egressgateway


text:
fix: Optimize kdoctor e2e

Thanks for contributing!
Notice:

[ ] unite test or E2E test
[ ] do not forget essential code comment and log
[ ] document for the PR
[ ] release note label
"release/none"
"release/bug"
"release/feature"
[ ] read about  Contribution notice: https://spidernet-io.github.io/spiderpool/latest/develop/contributing/

What issue(s) does this PR fix:

Fixes #
Special notes for your reviewer:

整合到 # 4172 中。方便整体运行，检查 CI 的稳定性。

ref #4172

repo: spidernet-io/spiderpool


text:
Report: Height display is not accurate

Where I clicked in the photo was height 0, if I ctrl+click randomly on height 0 terrain, it will display different numbers

Do you still have this issue? I was not able to reproduce it on my side 🙂

Fixed, TY

authors: Ika-BakaKu spimort

repo: spimort/TerraBrush


text:
Phantom dataset json files have incorrect format/information

The phantom dataset (https://openneuro.org/datasets/ds005090/download) .json files appear to be incorrectly formatted

I believe that may be a downloading issue? I encounter no problems getting the correctly formatted json files, and the view on the OpenNeuro website does not display any problems: https://openneuro.org/datasets/ds005090/file-display/sub-CRMBM:fmap:sub-CRMBM_acq-famp-1.5_TB1DREAM.json

Huh, you're right. I downloaded, the files are fine.

authors: Kyota-exe evaalonsoortiz


text:
padding

this is the only issue
fix pls <3

Hi, apologies for the very late response. What plugin are you using for this?

No worries, I am not entirely sure what you mean by plugin, but this is on BetterDiscord and I got it from Theme Repo. If I'm misunderstanding, please explain :)

Ohh! I get what you are saying, this is SpotifyControls by DevilBro https://github.com/mwittrien/BetterDiscordAddons/tree/master/Plugins/SpotifyControls/

Hello, am really sorry about the very late response, I'll take a look at this plugin tomorrow and see what I can do!! I actually uninstalled BetterDiscord so I'll also need to reinstall that. Again I'm very sorry for the delay D:

Fixed in 0c875a1b1483c4e62b92674424ad056145327ba8 :)

authors: nickdotzip spinfish

repo: spinfish/amethyst


text:
feat: super-crate vortex-rs

One crate to rule them all and in the darkness bind them.

@danking as @AdamGS points out you have to reexport dependencies, otherwise none of the code referenced is accessible and it's just a dead dependency

and probably with some module structure, the same way arrow has arrow::schema and the arrow_schema crate

I did this:
pub use vortex::*;
pub use {
    vortex_alp as alp, vortex_buffer as buffer, vortex_bytebool as bytebool,
    vortex_datetime_dtype as datetime_dtype, vortex_datetime_parts as datetime_parts,
    vortex_dict as dict, vortex_dtype as dtype, vortex_error as error, vortex_expr as expr,
    vortex_fastlanes as fastlanes, vortex_flatbuffers as flatbuffers, vortex_fsst as fsst,
    vortex_proto as proto, vortex_roaring as roaring, vortex_runend as runend,
    vortex_runend_bool as runend_bool, vortex_sampling_compressor as sampling_compressor,
    vortex_scalar as scalar, vortex_schema as schema, vortex_serde as serde,
    vortex_zigzag as zigzag,
};

You can see what it looks like in bench-vortex and pyvortex now.

I think we liked vortex as the module name and vortex-all as the package

Auto merge disabled until https://github.com/spiraldb/vortex/pull/1124 merges.

@robert3005 Do you have more mega PRs to land?

None that you need to block on

authors: AdamGS danking robert3005

repo: spiraldb/vortex


text:
Dependabot Alerts (and other dashbards) from Github Cloud enterprise not showing results due to bad SPL

Describe the bug
Data for dependabot alerts gathered from Github Webhooks returns no results despite their being data in the index.
To Reproduce
Steps to reproduce the behavior:

Set-up a Github Webhook to push to Splunk via HEC as per the instructions
View Dependabot Alerts under the Advanced Security tab

Expected behavior
Data related to dependabot alerts should be shown, there is nothing shown.
Desktop (please complete the following information):

OS: OSX 12.4
Browser Brave
Version 1.39.122

Additional context
The issue is due to the fact that the events sent in the Webhook do not contain an "eventtype" field which is the first field the base search filters on hence it gets no results. It's not even documented on the official docs: https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#repository_vulnerability_alert
To fix it, for Github Cloud at least, I had to change base search to match on the valid actions values and that and action.id field is set as follows:
`github_webhooks` action IN ("create", "dismiss", "resolve") | where isnotnull("action.id") | | eval action='action',...

This seems to be a persistent problem with a lot of the other dashboards that the basesearch is looking for some qualifier that doesn't exist.

I believe the issue is as per the description in PR #39


text:
bug: Requirement tests do not distinguish events if raw events differ by some additional words

Raw events like:

The user 'someone' has FAILED authentication.  Failure count equals 1
The user 'someone' has FAILED authentication
CIM field equal to the whole raw event, for a  sake of simplicity.

The bug in https://github.com/splunk/pytest-splunk-addon/blob/e947cb24f76b7986f7f4f17d1915ea7a6ac96cb3/pytest_splunk_addon/standard_lib/requirement_tests/test_templates.py#L174 causes that condition build for 2nd event takes CIM fields for the1st event. As value is ofc different than expected, test fails.
Proposed solution - instead of just {escaped_event} use _raw="{escaped_event}"

Adding event sample here -
<event code="" name="AuthenticationFailed" format="">
    <transport type="modinput" sourcetype="jira:datacenter:security:log" source="/var/atlassian/application-data/jira/log/atlassian-jira-security.log" host="so1" />
    <source>
      <jira id="" />
      <comment>lab</comment>
    </source>
    <raw><![CDATA[2021-12-31 15:21:30,538+0000 http-nio-8080-exec-24 anonymous 921x1127x1 vrocv0 10.136.158.92 /login.jsp The user 'someone' has FAILED authentication.]]></raw>
    <cim>
      <models>
        <model>Authentication</model>
      </models>
      <cim_fields>
        <field name="action" value="failure" />
        <field name="app" value="jira" />
        <field name="reason" value="The user 'someone' has FAILED authentication." />
        <field name="src" value="10.136.158.92" />
        <field name="src_user" value="anonymous" />
        <field name="user" value="someone" />
      </cim_fields>
      <missing_recommended_fields>
        <field>dest</field>
      </missing_recommended_fields>
    </cim>
  </event>
  <event code="" name="AuthenticationFailed" format="">
    <transport type="modinput" sourcetype="jira:datacenter:security:log" source="/var/atlassian/application-data/jira/log/atlassian-jira-security.log" host="so1" />
    <source>
      <jira id="" />
      <comment>lab</comment>
    </source>
    <raw><![CDATA[2021-12-31 15:21:30,538+0000 http-nio-8080-exec-24 anonymous 921x1127x1 vrocv0 10.136.158.92 /login.jsp The user 'someone' has FAILED authentication.  Failure count equals 1]]></raw>
    <cim>
      <models>
        <model>Authentication</model>
      </models>
      <cim_fields>
        <field name="action" value="failure" />
        <field name="app" value="jira" />
        <field name="reason" value="The user 'someone' has FAILED authentication.  Failure count equals 1" />
        <field name="src" value="10.136.158.92" />
        <field name="src_user" value="anonymous" />
        <field name="user" value="someone" />
      </cim_fields>
      <missing_recommended_fields>
        <field>dest</field>
      </missing_recommended_fields>
    </cim>
  </event>

a quick workaround for the above -  change "username" or any user-defined key in the event
 The user 'someone2' has FAILED authentication.

authors: hsekowski-splunk nandinivij

repo: splunk/pytest-splunk-addon


text:
feat: develop fix versioning

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
Type of change
Please delete options that are not relevant.

[ ] Bug fix
[ ] New feature
[ ] Refactor/improvement
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
Checklist

[ ] My commit message is conventional
[ ] I have run pre-commit on all files before creating the PR
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] I have checked my code and corrected any misspellings

Codecov Report

Merging #527 (013887d) into main (8cacf83) will decrease coverage by 0.88%.
The diff coverage is 92.17%.

@@            Coverage Diff             @@
##             main     #527      +/-   ##
==========================================
- Coverage   86.94%   86.06%   -0.89%
==========================================
  Files          23       24       +1
  Lines        1425     1478      +53
==========================================
+ Hits         1239     1272      +33
- Misses        186      206      +20

Impacted Files
Coverage Δ

splunk_connect_for_snmp/poller.py
100.00% <ø> (ø)

splunk_connect_for_snmp/traps.py
0.00% <ø> (ø)

splunk_connect_for_snmp/snmp/tasks.py
74.46% <60.00%> (+0.27%)
:arrow_up:

splunk_connect_for_snmp/common/profiles.py
57.77% <79.62%> (-36.67%)
:arrow_down:

splunk_connect_for_snmp/snmp/manager.py
93.44% <80.00%> (-0.88%)
:arrow_down:

splunk_connect_for_snmp/customtaskmanager.py
91.66% <94.11%> (-2.78%)
:arrow_down:

splunk_connect_for_snmp/celery_config.py
100.00% <100.00%> (ø)

splunk_connect_for_snmp/common/inventory_record.py
100.00% <100.00%> (+3.66%)
:arrow_up:

splunk_connect_for_snmp/common/schema_migration.py
100.00% <100.00%> (+10.63%)
:arrow_up:

splunk_connect_for_snmp/common/task_generator.py
100.00% <100.00%> (ø)

... and 7 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:tada: This PR is included in version 1.7.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

repo: splunk/splunk-connect-for-snmp


text:
Updated toDataURL encoderOptions value to be passed as Number

Fix to resolve issue https://github.com/sportheroes/aurelia-image-resizer/issues/11

Updated to check for the following:

encoder-options="" is defined (empty string)
encoder-options is not defined (value is null)

repo: sportheroes/aurelia-image-resizer


text:
Retrieving properties in YAML or JSON format returns manipulated, incorrect property keys

Describe the bug
If a client app, e.g. "TestApp" has a TestApp.properties file containing properties such as:
hub.server=my.favorite.server
hub.server.timeout.millis=30000

And you call `{CONFIG-SERVER-URL}/dev/TestApp-dev.json'
The response will be:
{
    "hub": {
        "server": "my.favorite.server",
        "timeout": {
            "server.millis": "30000"
        }
    }
}

The issue is that for the "TestApp.hub.server.timeout.millis" property, the "server" part of the path is in the wrong place. If you converted this back to properties it would be:
TestApp.hub.timeout.server.millis=30000
instead of the expected:
TestApp.hub.server.timeout.millis=30000
I would expect something like this, though I'm not 100% sure that this is the correct way to do it. It does pass an online JSON format validator (using JSONLint).
{
  "hub": {
    "server": "my.favorite.server",
    "server.timeout.millis": 30000
  }
}

It the answer is that this set of properties can not properly be represented as JSON, then the expected behavior would be that the config server throws an error. It should never manipulate the property keys this way.
Also note that the same issue happens with "yml" format. The response from {CONFIG-SERVER-URL}/dev/TestApp-dev.yml is:
hub:
  server: my.favorite.server
  timeout:
    server.millis: '30000'

Sample
I will attach or link to a project that demonstrates this.

Here is a project that demonstrates the issues. The "TestApp.properties" file is under the resources/config folder.
ResolvePropertiesConfigServer.zip

Run the app
Send request: http://localhost:8080/dev/TestApp-dev.yml or http://localhost:8080/dev/TestApp-dev.json

repo: spring-cloud/spring-cloud-config


text:
Bad response status in restdoc generated stubs when reply is not OK

Hi,
I've tried to document calls that return many different http status  but the status in the generated stub is always 200.
You can reproduce with your sample: beer-api-producer-restdocs slightly modified as follow.
@RestController
public class ProducerController {

	private final PersonCheckingService personCheckingService;

	public ProducerController(PersonCheckingService personCheckingService) {
		this.personCheckingService = personCheckingService;
	}

	@RequestMapping(value = "/check",
			method=RequestMethod.POST,
			consumes="application/json",
			produces="application/json")
	public ResponseEntity<Response> check(@RequestBody PersonToCheck personToCheck) {
		if (personCheckingService.shouldGetBeer(personToCheck)) {
			return new ResponseEntity<Response>(new Response(BeerCheckStatus.OK), HttpStatus.OK);
		}
		return new ResponseEntity<Response>(HttpStatus.NO_CONTENT);
	}

}

That generated stub for shouldRejectABeerIfTooYoung
{
  "request" : {
    "url" : "/check",
    "method" : "POST",
    "headers" : {
      "Content-Type" : {
        "matches" : "\\Qapplication/json\\E.*"
      }
    },
    "bodyPatterns" : [ {
      "matchesJsonPath" : "$[?(@.age < 20)]"
    } ]
  },
  "response" : {
    "status" : 200,
    "body" : "",
    "headers" : {
      "X-Application-Context" : "beer-api-producer:-1"
    }
  }
}

Hope this helps.
Patrice

Nice job,
Thanks.
Patrice

Thanks for filing it :)

authors: marcingrzejszczak patrice-conil

repo: spring-cloud/spring-cloud-contract


text:
Can ‘RouteDefinition’ be dynamically generated and added to ‘GatewayProperties’？

Question
I hope to add Routedefinition dynamically and take effect in operation

There are multiple ways. You can implement RouteDefinitionLocator or RouteLocator

I know this method, but these methods are pre configured. What I need is to dynamically generate 'Routeddefinition' according to the corresponding JSON or other methods sent from HTTP when the program is running

They are Java interfaces that you can implement and do whatever you want.

@zhouzhou19950825
Spring Cloud Gateway Actuator API: POST /actuator/gateway/routes/{id} (implement AbstractGatewayControllerEndpoint.save(String id, RouteDefinition route))may help you,even you can define yourself api to dynamic add route,this is a simple example          ..

Closing due to age of the question. If you would like us to look at this issue, please comment and we will look at re-opening the issue.

repo: spring-cloud/spring-cloud-gateway


text:
Retry does not work for TimeoutException

I use Greenwich.release.
I have the following test:
    @Test
    public void shouldRetryTimeout() {
        wireMockServer.stubFor(get(urlEqualTo("/service-with-retry/request"))
                .willReturn(ok().withFixedDelay(110)));

        RestAssured
                .given()
                .when()
                .get("/service-with-retry/request")
                .prettyPeek()
                .then()
                .assertThat()
                .statusCode(GATEWAY_TIMEOUT.value())
        ;

        wireMockServer.verify(4, getRequestedFor(urlEqualTo("/service-with-retry/request")));
    }

and the following configuration:
service-with-retry:
  ribbon:
    NIWSServerListClassName: com.playtika.services.gateway.functional.configuration.WiremockServerList

spring:
  cloud:
    gateway:

      httpclient:
        connect-timeout: 100
        response-timeout: 100ms

      routes:
      - id: service-with-retry
        uri: lb://service-with-retry
        filters:
        - name: Retry
          args:
            retries: 3
            statuses: INTERNAL_SERVER_ERROR, BAD_GATEWAY, GATEWAY_TIMEOUT
        predicates:
        - Path=/service-with-retry/{segment}

Test fails because only one request to service-with-retry is sent, no retries are made.
In logs I see:
2019-02-06 17:56:39.590 TRACE 38270 --- [ctor-http-nio-2] o.s.c.g.f.LoadBalancerClientFilter       : LoadBalancerClientFilter url before: lb://service-with-retry/service-with-retry/request
2019-02-06 17:56:39.598 TRACE 38270 --- [ctor-http-nio-2] o.s.c.g.f.LoadBalancerClientFilter       : LoadBalancerClientFilter url chosen: http://localhost:8997/service-with-retry/request
2019-02-06 17:56:39.764 TRACE 38270 --- [     parallel-1] o.s.c.g.f.f.RetryGatewayFilterFactory    : setting new iteration in attr 0
2019-02-06 17:56:39.765 TRACE 38270 --- [     parallel-1] o.s.c.g.f.f.RetryGatewayFilterFactory    : exceedsMaxIterations false, iteration 0, configured retries 3
2019-02-06 17:56:39.765 TRACE 38270 --- [     parallel-1] o.s.c.g.f.f.RetryGatewayFilterFactory    : exception is not retryable org.springframework.web.server.ResponseStatusException, configured exceptions

I suppose the problem is in retryContextPredicate in RetryGatewayFilterFactory. TimeoutException is a cause of ResponseStatusException. As I understand for retry to work correctly in this case we need to traverse causes of exceptions as well.

Please also note that RetryGatewayFilterFactory has broken logging:
trace("exception is not retryable %s, configured exceptions",
context.exception().getClass().getName(), retryConfig.getExceptions());

that is why configured exceptions are not shown in logs.

Closed via f17cf9e

authors: Aloren ryanjbaxter


text:
Add GlobalFilter for Gateway MVC

Replicate the Spring Cloud Gateway Reactive GlobalFilter interface behavior in Gateway MVC.
Only the interface is created (and not every implementation, which are already handled within the FilterDiscoverer).
The GlobalFilter interface allows applications to create a filter bean which will be executed only on matched gateway routes. It also supports for Order annotation.
Exemple implementation:
@Configuration
public class CustomGlobalFilter implements GlobalFilter {
    @Override
    public HandlerFilterFunction<ServerResponse, ServerResponse> filter() {
        return (request, next) -> {
            LOGGER.info("Routing to route '{}'", request.attribute(MvcUtils.GATEWAY_ROUTE_ID_ATTR));
            return next.handle(request);
        };
    }
}

Fixes #3239 and #3143

I'm not sure mvc gateway requires a separate implementation of filters besides what mvc.fn provides

Sorry, I'll keep conversation in issue rather than pr

Closing in favor of #3177


text:
Eureka DNS configuration: user and password

Hi,
I want my clients to use the DNS configurations to find servers.
DSN config:
txt.defaultZone IN TXT "user:password@peer1" "user:password@peer2".
useDnsForFetchingServiceUrls: true
eurekaServerDNSName: example
eurekaServerPort: 8761
eurekaServerURLContext: eureka

Is there a way to specify credentials in client config? Or is there a more secure alternative?
Thanks

I didn't really get what you are doing with the TXT record (isn't it a bad idea to advertise your credentials in DNS?). You can add HTTP basic credentials to eureka.client.serviceUrl.* (lots of examples in spring-cloud-samples).

Hi Dave,
I am trying to use the DNS mode.
I read that it allows for a more dynamic configuration for the clients.
I get the part with serviceURL:eureka:
client:
serviceUrl:
defaultZone: http://user:password@peer2:8762/eureka/
but in DNS mode the client is configured with domain details, I didn't find any security properties.
The DiscoveryClient class uses these details like this:
for (String ec2Url : ec2Urls) {
String serviceUrl = "http://" + ec2Url + ":"
+ clientConfig.getEurekaServerPort()
                + "/" + clientConfig.getEurekaServerURLContext()
                + "/";
                logger.debug("The EC2 url is {}", serviceUrl);
                serviceUrls.add(serviceUrl);
            }

So I don't know where I could configure basic auth credentials on the client.

No, I can't see any way to configure basic auth. It's just native Netflix functionality, so either it's there and we can't see it, or it's not and you are supposed to rely on physical security.

Let's leave this open for a while. I'll ask on the Netflix google group.

Closed for lack of feedback. Please, reopen if there is something new to add.

Any clues to workaround?

authors: aivans dsyer spencergibb ukid

repo: spring-cloud/spring-cloud-netflix


text:
Jms listeners not running

Hi,
I'm using spring-cloud-sleuth (2.1.0.RELEASE) and in this version I think there is a mistake in this commit https://github.com/spring-cloud/spring-cloud-sleuth/commit/6bee9fcb3aaecb2b325fadf853ea9b38592f405a
The TracingJmsListenerEndpointRegistry is no longer defined as a bean, so this is causing that the listeners included in this registry are not starting.
I defined a jms listener using the annotation @JmsListener, and I checked that it registers to TracingJmsListenerEndpointRegistry not in JmsListenerEndpointRegistry, and the listener does not consume any messages. I defined the bean TracingJmsListenerEndpointRegistry as already was before this commit, and the listener consumes the messages.
Regards

Same here. I extracted my issue here: https://github.com/molk/greenwhich-jms-issue

Apologies - I can see this issue is closed and  is tagged with 2.1.1.RELEASE
My question is: Is there any ETA on that being available in maven central?

https://github.com/spring-cloud/spring-cloud-release/milestones?direction=asc&sort=due_date&state=open

@marcingrzejszczak can you tell me this problem has already been fixed ? In 2.2.2RELEASE  I got the same thing

authors: JerryngtonD ceremo molk spencergibb vincent-r-kennedy

repo: spring-cloud/spring-cloud-sleuth


text:
Avro deserialization reader schema required even when writer schema available

This flow chart in this documentation: https://docs.spring.io/spring-cloud-stream/docs/current/reference/html/schema-evolution.html#_schema_resolution_process_deserialization states that if a reader schema is not present it will be set to the writer schema.  The code seems to contradict this though
https://github.com/spring-cloud/spring-cloud-stream/blob/master/spring-cloud-stream-schema/src/main/java/org/springframework/cloud/stream/schema/avro/AbstractAvroMessageConverter.java#L132-L148
It seems you must have a reader schema set via the spring.cloud.stream.schema.avro.readerSchema property.  If that is the case, why even bother fetching the writer schema from the registry?  I probably don't understand Avro enough, but shouldn't it be possible for downstream consumers to not have any reader schema defined and just use the writer schema from the registry to deserialize Avro messages?

Actually you may have been looking at the wrong code.
In AvroMessageConverterConfiguration:59 there is a code that will check if readerSchema is set and if so it will be propagated to the actual AvroSchemaRegistryClientMessageConverter.
Then the attempt to determine writerSchema by first checking if readerSchema is present:
89: Schema writerSchema = resolveWriterSchemaForDeserialization(mimeType);
90: Schema readerSchema = resolveReaderSchemaForDeserialization(targetClass);

. . . basically the resolution process you're referring to.
Now, while there may still be an issue and/or room for improvement, the important thing to realize is the code in question is in the specific implementation of the MessageConverter which in itself is one of the extension points of spring-cloud-stream and if this particular one doesn't serve your purpose, you can always provide your own implementation either from scratch or extended from the existing one and than bootstrapped as a @Bean in your app while additionally annotated with @StreamMessageConverter.

Hi Oleg, thank you for the response.
It's very possible that I'm not following the flow properly.  Also, I probably should of stated the actual observation: when you use a GenericRecord and do not provide a reader schema but do provide a writer schema deserialization will fail because a reader schema is not found.  I do not have any proof though and you would know the code better.
The team decided to use JSON schema instead of Avro for now so this isn't really a problem anymore.  I'll try writing a custom MessageConverter if this comes up again.
Thank you for looking into this.

I will close it for now, but sure feel free to reopen it if you still have issues

repo: spring-cloud/spring-cloud-stream


text:
TimeSource sample enhancements

Show alternative implementations

return a simple String on the @InboundChannelAdapter method instead of MessageSource<String>
Use SI Java DSL

Change application.yml to reference outputChannelName instead of inputChannelName

This is not applicable anymore.

authors: markpollack sabbyanandan


text:
Add -s .settings.xml to maven.config

Resolves #298

Closing for now. We need to agree upon a cross-project plan that is consistent with other spring-cloud projects and then make those necessary changes (apparently that has already happened for spring-cloud-task via https://github.com/spring-cloud/spring-cloud-task/commit/f7a9f17236e42d51fcfc46d150e8ee078ca383c7)

authors: markfisher trisberg


text:
Proxy support

Hi, can you provide a proxy support during external spring-ai api calls? e.g. to openai or azure or huggingface..
Thanks, regards

Try command line option. I think it's more flexible.
Java Networking and Proxies
java -Dhttp.proxyHost=localhost -Dhttp.proxyPort=18080 -jar app.jar

Thanks, I put them in .mvn/jvm.config. To use a proxy even during debugging I solved it by using:
System.setProperty("https.proxyHost", "proxy.host");
System.setProperty("https.proxyPort", "proxy.port");
System.setProperty("https.proxyHost", "proxy.host");
System.setProperty("https.proxyPort", "proxy.port");

The workaround worked with "spring-ai-openai-spring-boot-starter", but not for "spring-ai-azure-openai-spring-boot-starter", I get:
java.net.UnknownHostException: xxx-openai-api.openai.azure.com
at java.base/java.net.InetAddress$CachedAddresses.get(InetAddress.java:801) ~[na:na]
at java.base/java.net.InetAddress.getAllByName0(InetAddress.java:1533) ~[na:na]
at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1385) ~[na:na]
at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1306) ~[na:na]
at io.netty.util.internal.SocketUtils$9.run(SocketUtils.java:169) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.internal.SocketUtils$9.run(SocketUtils.java:166) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at java.base/java.security.AccessController.doPrivileged(AccessController.java:569) ~[na:na]
at io.netty.util.internal.SocketUtils.allAddressesByName(SocketUtils.java:166) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]        at io.netty.resolver.DefaultNameResolver.doResolveAll(DefaultNameResolver.java:50) ~[netty-resolver-4.1.101.Final.jar:4.1.101.Final]
at io.netty.resolver.SimpleNameResolver.resolveAll(SimpleNameResolver.java:79) ~[netty-resolver-4.1.101.Final.jar:4.1.101.Final]
at io.netty.resolver.SimpleNameResolver.resolveAll(SimpleNameResolver.java:71) ~[netty-resolver-4.1.101.Final.jar:4.1.101.Final]
at io.netty.resolver.InetSocketAddressResolver.doResolveAll(InetSocketAddressResolver.java:73) ~[netty-resolver-4.1.101.Final.jar:4.1.101.Final]
at io.netty.resolver.InetSocketAddressResolver.doResolveAll(InetSocketAddressResolver.java:31) ~[netty-resolver-4.1.101.Final.jar:4.1.101.Final]
at io.netty.resolver.AbstractAddressResolver.resolveAll(AbstractAddressResolver.java:158) ~[netty-resolver-4.1.101.Final.jar:4.1.101.Final]
at reactor.netty.transport.TransportConnector.doResolveAndConnect(TransportConnector.java:335) ~[reactor-netty-core-1.1.13.jar:1.1.13]
at reactor.netty.transport.TransportConnector.lambda$connect$6(TransportConnector.java:165) ~[reactor-netty-core-1.1.13.jar:1.1.13]
at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:132) ~[reactor-core-3.6.0.jar:3.6.0]
at reactor.netty.transport.TransportConnector$MonoChannelPromise._subscribe(TransportConnector.java:638) ~[reactor-netty-core-1.1.13.jar:1.1.13]
at reactor.netty.transport.TransportConnector$MonoChannelPromise.lambda$subscribe$0(TransportConnector.java:550) ~[reactor-netty-core-1.1.13.jar:1.1.13]
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]

I have the same problem. Setting environment variables, setting up Webclient Bean, setting up ClientHttpRequestFactory didn't work too.

authors: gterminator williamspindox yaoyuandev

repo: spring-projects/spring-ai


text:
URL Cleanup

This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).
Fixed URLs
Fixed But Review Recommended
These URLs were fixed, but the https status was not OK. However, the https status was the same as the http request or http redirected to an https URL, so they were migrated. Your review is recommended.

http://www.puppycrawl.com/dtds/configuration_1_2.dtd (404) with 1 occurrences migrated to:
https://www.puppycrawl.com/dtds/configuration_1_2.dtd (https result 404).
http://www.puppycrawl.com/dtds/suppressions_1_1.dtd (404) with 1 occurrences migrated to:
https://www.puppycrawl.com/dtds/suppressions_1_1.dtd (https result 404).

Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

http://www.springframework.org/schema/beans/spring-beans.xsd with 34 occurrences migrated to:
https://www.springframework.org/schema/beans/spring-beans.xsd (https result 200).
http://www.springframework.org/schema/context/spring-context.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/context/spring-context.xsd (https result 200).
http://www.springframework.org/schema/rabbit/spring-rabbit.xsd with 32 occurrences migrated to:
https://www.springframework.org/schema/rabbit/spring-rabbit.xsd (https result 200).
http://www.springframework.org/schema/task/spring-task.xsd with 2 occurrences migrated to:
https://www.springframework.org/schema/task/spring-task.xsd (https result 200).
http://www.springframework.org/schema/util/spring-util.xsd with 5 occurrences migrated to:
https://www.springframework.org/schema/util/spring-util.xsd (https result 200).

Ignored
These URLs were intentionally ignored.

http://www.springframework.org/schema/beans with 77 occurrences
http://www.springframework.org/schema/context with 2 occurrences
http://www.springframework.org/schema/rabbit with 71 occurrences
http://www.springframework.org/schema/task with 4 occurrences
http://www.springframework.org/schema/util with 10 occurrences
http://www.w3.org/2001/XMLSchema-instance with 34 occurrences

Merged as https://github.com/spring-projects/spring-amqp/commit/cd8db5305c02fa16caf9a8421e04e2a410a0f287 after moving Checkstyle to its latest DTD under HTTPS urls.

authors: artembilan spring-operator

repo: spring-projects/spring-amqp


text:
Avoid double-conversion of values considered simple.

MappingJdbcConverter previously tried to create a JdbcValue for simple values via the ConversionService, only to drop the conversion result if the conversion did not result in a JdbcValue eventually. In that case, it triggered an additional (same) conversion to then handle the wrapping of the conversion result into a JdbcValue manually.
This commit alters the flow so that it only triggers the conversion once and manually applies the JdbcValue wrapping only if the result of the original conversion is not a JdbcValue yet.

Thanks. Merged.

authors: odrotbohm schauder

repo: spring-projects/spring-data-relational


text:
Handle multiple responses with ReplyingKafkaTemplate

🎁 Enhancement
Continued thread from Stackoverflow.
I'm trying to implement a reply response pattern in which I publish a message to a topic listened to by several consumer groups. That means that they will all get the message as well as submit the response in the reply topic.
The problem is because they all respond to the same message, only the first received message in the reply topic shall be answered. The others will be discarded. Given that I know how many responses I should be getting on the reply topic(call that number-n), how can I make ReplyingKafkaTemplate wait for n responses and then resolve the answer? I've tried inferring from the Spring Kafka documentation but could not quite figure it out
There were few options suggested amongst one is to extend ReplyingKafkaTemplate to support the feature or implement a timer after which you can return partial responses.
At this point ReplyingKafkaTemplate is not really built for extensions and might require almost wholesale copy of the whole class rather than extending it.

I thought about it some more, and wonder why something like this wouldn't work...
public class AggregatingReplyingKafkaTemplate<K, V, R> extends ReplyingKafkaTemplate<K, V, Collection<R>> {

	public AggregatingReplyingKafkaTemplate(ProducerFactory<K, V> producerFactory,
			GenericMessageListenerContainer<K, Collection<R>> replyContainer) {

		super(producerFactory, replyContainer);
	}

	@Override
	public void onMessage(List<ConsumerRecord<K, Collection<R>>> data) {
		List<ConsumerRecord<K, Collection<R>>> completed = new ArrayList<>();
		data.forEach(record -> {
			// We should move the following to a helper method
			Iterator<Header> iterator = record.headers().iterator();
			CorrelationKey correlationId = null;
			while (correlationId == null && iterator.hasNext()) {
				Header next = iterator.next();
				if (next.key().equals(KafkaHeaders.CORRELATION_ID)) {
					correlationId = new CorrelationKey(next.value());
				}
			}
			if (correlationId == null) {
				this.logger.error("No correlationId found in reply: " + record
						+ " - to use request/reply semantics, the responding server must return the correlation id "
						+ " in the '" + KafkaHeaders.CORRELATION_ID + "' header");
			}
			// end of helper method

			else {
				List<R> list = addToCollection(record, correlationId);
				if (list.size() == 5) {
					completed.add(new ConsumerRecord<>(record.topic(), record.partition(), record.offset(),
							record.key(), list));
				}
			}
		});
		if (completed.size() > 0) {
			super.onMessage(completed);
		}
	}

	@SuppressWarnings("rawtypes")
	private List<R> addToCollection(ConsumerRecord record, CorrelationKey correlationId) {
		R value = (R) record.value();
		// TODO
		return null;
	}

}

Need to give some thought to how/when to commit offsets, though - could be tricky.

@garyrussell , I'm running into a bit of difficulties of using this new template. Do I need to write now consumer factories that will handle a collection of a model rather than a model? I seem to have problem setting the correct JsonDeserializer.

I am proposing that we close this as "Won't fix" because the functionality is already available using Spring Integration's Aggregator...
@SpringBootApplication
public class Kgh998Application {

	public static void main(String[] args) {
		SpringApplication.run(Kgh998Application.class, args);
	}

	@Bean
	public IntegrationFlow reply1(ConsumerFactory<String, String> cf) {
		return IntegrationFlows.from(Kafka.messageDrivenChannelAdapter(cf, new ContainerProperties("kgh998reply-1"))
					.configureListenerContainer(cont -> cont.groupId("one")))
				.log()
				.channel("aggregate.input")
				.get();
	}

	@Bean
	public IntegrationFlow reply2(ConsumerFactory<String, String> cf) {
		return IntegrationFlows.from(Kafka.messageDrivenChannelAdapter(cf, new ContainerProperties("kgh998reply-2"))
				.configureListenerContainer(cont -> cont.groupId("two")))
				.log()
				.channel("aggregate.input")
				.get();
	}

	@Bean
	public IntegrationFlow aggregate() {
		return f -> f.aggregate(a -> a
					.correlationExpression("new String(headers.kafka_correlationId)")
					.releaseExpression("size() == 2"))
				.handle(System.out::println);
	}

	@KafkaListener(id = "server1", topics = "kgh998")
	@SendTo("kgh998reply-1")
	public String listen1(String in) {
		System.out.println("1:" + in);
		return in.toUpperCase();
	}

	@KafkaListener(id = "server2", topics = "kgh998")
	@SendTo("kgh998reply-2")
	public String listen2(String in) {
		System.out.println("2:" + in);
		return in.toLowerCase();
	}

	@Bean
	public ApplicationRunner runner(KafkaTemplate<String, String> template) {
		return args -> {
			ProducerRecord<String, String> record = new ProducerRecord<>("kgh998", "TesT");
			record.headers()
					.add(new RecordHeader(KafkaHeaders.CORRELATION_ID, UUID.randomUUID().toString().getBytes()));
			template.send(record);
		};
	}

	@Bean
	public NewTopic topic() {
		return new NewTopic("kgh998", 1, (short) 1);
	}

	@Bean
	public NewTopic reply1() {
		return new NewTopic("kgh998reply-1", 1, (short) 1);
	}

	@Bean
	public NewTopic reply2() {
		return new NewTopic("kgh998reply-2", 1, (short) 1);
	}

}

and
1:TesT
2:TesT
GenericMessage [payload=[test, TEST], headers=...

@garyrussell, I understand some of it might be already available somewhere else in the Spring ecosystem.  Is the requirement to use yet another spring library just for this, a burden for users having to learn how to use Spring Integrator?

@gkohen I started implementing it; as I hinted above, the challenge is managing the offsets of the replies.
Let's say I have 2 "in-flight" requests (and expect 2 replies).
The replies start coming in

reply 1a topic1.partition0.offset0
reply 2a topic1.partition0.offset1
reply 1b topic1.partition0.offset2
(2b is delayed for some reason).

So request 1 is complete, but we can't commit the offsets because the first part of request 2 would be committed while the request is still "in-flight". It gets more complicated when there are more topics/partitions involved.
However, thinking about it some more, I think we will be safe if we only commit offsets when there are no in-flight requests in process. If uncommitted offsets are subsequently replayed, they would just be discarded because there is no pending request in the super class.

PoC PR issued.

authors: garyrussell gkohen

repo: spring-projects/spring-kafka


text:
Refresh authentication token and leases related to it after expire of authentication token

Authentication token has its own ttl that can expire. When token expires all related credentials will be revoked too but we don't see events of that in the library and thus application continues to work with revoked credentials i.e. all requests to db fail.
Our current setup:

Configure credentials that expire each 2 h(for example)
Configure token to expire in 3 h (default is 32 days that can still be reached).
We have implemented rotating lease listener and register it to SecretLeaseContainer. When credential's lease expire we request rotating secret and when we get event with new  secrets we swap them. So each few minutes renew is triggered by lib and each 2h we trigger rotate and swapping the datasource credentials when we get the new one.
Now we faced new issue when token expires all related to it credentials are revoked. There is no event in lib because I believe that lib is using  ttl and expire date from credentials lease which was supposed to be still valid but vault revoked them. So until the ttl of credential expire we have credentials that are revoked and not working but in same way no mechanism for rotating them is triggered.
I tried to listen for events from AuthenticationEventPublisher and I can act when token expires but I'm not sure how to force reauthenticate and refetching all leases. Tried to invoke stop()/start() but I think it doesn't trigger fetching new credentials just starts the schedulers that still use old credential ttl.

Idea: When auth token expires lib can automatically expire all related ttls and raise usual events for credentials expire etc. Or if it doesn't fit all cases for generic lib at least can provide mechanism for refresh of all leases. Vault allows to check current leases so it could firstly request the data from vault, vault will return that credentials are not valid anymore and then continue old flow of Credentials expired event.
PS. I know that this can be fixed by making token leave forever but the entire idea of rotating it is to not have infinite tokens and we already hit this issue with default 32days so even if we increase at some point we can reach that period again ( of course if it's not infinite)
Thanks

Thanks for reaching out. Your scenario sounds pretty much as it was resolved via #815.
Upon login token expiry, all lease-associated secrets are being re-requested. Can you check whether Spring Vault 3.1.0 (or better the snapshots) address your scenario?

@mp911de thanks for the quick reply. Indeed it looks like same issue. I can't verify it quickly as I'll need to upgrade few other dependencies but looking at the PR it should solve my issue. 🙏

Closing as duplicate of #815.

repo: spring-projects/spring-vault


text:
#18 generate matchers for query parameters

This fixes #18.
Please note that I also had to change the generation of the property url to urlPath as that's the recommended way to make it host-independent (reference).

Released here: https://github.com/mzielinski/spring-cloud-contract-oa3/releases/tag/v3.1.3.0

authors: janeisklar mzielinski


text:
springwolf-amqp-example fails

Describe the bug
When I try to run the springwolf-amqp-example as described in the README it fails with amqp: nodename nor servname provided, or not known
Dependencies and versions used
Current master branch.
Code example
cd springwolf-core && ./gradlew build -p springwolf-examples/springwolf-amqp-example bootRun

Stack trace and error logs
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'rabbitMqReadinessVerifier' defined in file [/Users/GUCSVEH/Projekte/springwolf-core/springwolf-examples/springwolf-amqp-example/build/classes/java/main/io/github/springwolf/examples/amqp/configuration/RabbitMqReadinessVerifier.class]: Failed to instantiate [io.github.springwolf.examples.amqp.configuration.RabbitMqReadinessVerifier$$SpringCGLIB$$0]: Constructor threw exception
        at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:318) ~[spring-beans-6.1.11.jar:6.1.11]
        at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:306) ~[spring-beans-6.1.11.jar:6.1.11]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1375) ~[spring-beans-6.1.11.jar:6.1.11]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1212) ~[spring-beans-6.1.11.jar:6.1.11]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:562) ~[spring-beans-6.1.11.jar:6.1.11]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) ~[spring-beans-6.1.11.jar:6.1.11]
        at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:337) ~[spring-beans-6.1.11.jar:6.1.11]
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.1.11.jar:6.1.11]
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:335) ~[spring-beans-6.1.11.jar:6.1.11]
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) ~[spring-beans-6.1.11.jar:6.1.11]
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:975) ~[spring-beans-6.1.11.jar:6.1.11]
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:971) ~[spring-context-6.1.11.jar:6.1.11]
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:625) ~[spring-context-6.1.11.jar:6.1.11]
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.3.2.jar:3.3.2]
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) ~[spring-boot-3.3.2.jar:3.3.2]
        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) ~[spring-boot-3.3.2.jar:3.3.2]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:335) ~[spring-boot-3.3.2.jar:3.3.2]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1363) ~[spring-boot-3.3.2.jar:3.3.2]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1352) ~[spring-boot-3.3.2.jar:3.3.2]
        at io.github.springwolf.examples.amqp.SpringwolfAmqpExampleApplication.main(SpringwolfAmqpExampleApplication.java:11) ~[main/:na]
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [io.github.springwolf.examples.amqp.configuration.RabbitMqReadinessVerifier$$SpringCGLIB$$0]: Constructor threw exception
        at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:221) ~[spring-beans-6.1.11.jar:6.1.11]
        at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:117) ~[spring-beans-6.1.11.jar:6.1.11]
        at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:315) ~[spring-beans-6.1.11.jar:6.1.11]
        ... 19 common frames omitted
Caused by: org.springframework.amqp.AmqpIOException: java.net.UnknownHostException: amqp: nodename nor servname provided, or not known
        at org.springframework.amqp.rabbit.support.RabbitExceptionTranslator.convertRabbitAccessException(RabbitExceptionTranslator.java:70) ~[spring-rabbit-3.1.6.jar:3.1.6]
        at org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.createBareConnection(AbstractConnectionFactory.java:622) ~[spring-rabbit-3.1.6.jar:3.1.6]
        at org.springframework.amqp.rabbit.connection.CachingConnectionFactory.createConnection(CachingConnectionFactory.java:726) ~[spring-rabbit-3.1.6.jar:3.1.6]
        at org.springframework.amqp.rabbit.connection.ConnectionFactoryUtils.createConnection(ConnectionFactoryUtils.java:257) ~[spring-rabbit-3.1.6.jar:3.1.6]
        at org.springframework.amqp.rabbit.core.RabbitTemplate.doExecute(RabbitTemplate.java:2249) ~[spring-rabbit-3.1.6.jar:3.1.6]
        at org.springframework.amqp.rabbit.core.RabbitTemplate.execute(RabbitTemplate.java:2222) ~[spring-rabbit-3.1.6.jar:3.1.6]
        at org.springframework.amqp.rabbit.core.RabbitTemplate.execute(RabbitTemplate.java:2202) ~[spring-rabbit-3.1.6.jar:3.1.6]
        at io.github.springwolf.examples.amqp.configuration.RabbitMqReadinessVerifier.verifyRabbitMqIsUp(RabbitMqReadinessVerifier.java:33) ~[main/:na]
        at io.github.springwolf.examples.amqp.configuration.RabbitMqReadinessVerifier.<init>(RabbitMqReadinessVerifier.java:22) ~[main/:na]
        at io.github.springwolf.examples.amqp.configuration.RabbitMqReadinessVerifier$$SpringCGLIB$$0.<init>(<generated>) ~[main/:na]
        at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62) ~[na:na]
        at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502) ~[na:na]
        at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486) ~[na:na]
        at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:208) ~[spring-beans-6.1.11.jar:6.1.11]
        ... 21 common frames omitted
Caused by: java.net.UnknownHostException: amqp: nodename nor servname provided, or not known
        at java.base/java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) ~[na:na]
        at java.base/java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:52) ~[na:na]
        at java.base/java.net.InetAddress$PlatformResolver.lookupByName(InetAddress.java:1211) ~[na:na]
        at java.base/java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1828) ~[na:na]
        at java.base/java.net.InetAddress$NameServiceAddresses.get(InetAddress.java:1139) ~[na:na]
        at java.base/java.net.InetAddress.getAllByName0(InetAddress.java:1818) ~[na:na]
        at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1688) ~[na:na]
        at com.rabbitmq.client.DnsRecordIpAddressResolver.resolveIpAddresses(DnsRecordIpAddressResolver.java:83) ~[amqp-client-5.21.0.jar:5.21.0]
        at com.rabbitmq.client.DnsRecordIpAddressResolver.getAddresses(DnsRecordIpAddressResolver.java:73) ~[amqp-client-5.21.0.jar:5.21.0]
        at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:1245) ~[amqp-client-5.21.0.jar:5.21.0]
        at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:1198) ~[amqp-client-5.21.0.jar:5.21.0]
        at org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.connectAddresses(AbstractConnectionFactory.java:668) ~[spring-rabbit-3.1.6.jar:3.1.6]
        at org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.connect(AbstractConnectionFactory.java:637) ~[spring-rabbit-3.1.6.jar:3.1.6]
        at org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.createBareConnection(AbstractConnectionFactory.java:584) ~[spring-rabbit-3.1.6.jar:3.1.6]
        ... 33 common frames omitted

Hi @hirth-abi ,
looks like amqp is not running, or the hostname does not match.
Have you tried starting the docker-compose amqp service and updated the spring.rabbit.host in application.properties to localhost?
I do notice a gap in the readme explaining this step. In https://github.com/springwolf/springwolf-core/pull/886 the default values are updated so that only amqp must be started

Ah yes, since it was not mentioned in the readme, I haven't started it. So it works 👍
But maybe activate the Spring Boot Docker Compose integration to start it automatically? It's one line and worked out of the box for me (https://github.com/springwolf/springwolf-core/commit/2c3cd54c2f55492114c3228f84c4468ecdb8f36c)

Great. Unfortunately, the docker-compose setup is also tied to the integration tests.
And test containers throws an error, when containers are already running (which are automatically started by spring boot docker compose starter).
Therefore, I opted for the manual approach and updated the docs -> https://github.com/springwolf/springwolf-core/pull/894

authors: hirth-abi timonback

repo: springwolf/springwolf-core


text:
Add test vector for EIP-1271 contract resolution

Currently there are no tests that check if the checkContractWalletAddress is working accordingly.

@w4ll3 Please check whether this issue has been fixed already.

This wasn't solved yet because tests would fail in languages that does not
support that, should we make an exclusive test for typescript only?
On Tue, Apr 5, 2022, 8:02 AM Oliver Terbu @.***> wrote:

@w4ll3 https://github.com/w4ll3 Please check whether this issue has
been fixed already.
—
Reply to this email directly, view it on GitHub
https://github.com/spruceid/siwe/issues/64#issuecomment-1088566599, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ACBSTQHT6CSHIVCYQEMCRYTVDQMSZANCNFSM5R6FD42A
.
You are receiving this because you were mentioned.Message ID:
@.***>

@w4ll3 yes, i think this would be a good idea. we won't have always feature parity between siwe core packages. at least not always at the same time.

#69

repo: spruceid/siwe


text:
how play video with alpha channel

I want play a video with alpha channel,
can i set texturevideoview background transparent ?
Thank you.

Never tried it out, but just give it a go and try it! You may use the sample app as quick prototype and report back your findings 😄

repo: sprylab/texturevideoview


text:
DynamoDB - extend TransactWriteItems error handling

Closes #5010

Codecov Report

Merging #5012 (89aa205) into master (2a6ba0d) will decrease coverage by 0.00%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master    #5012      +/-   ##
==========================================
- Coverage   95.77%   95.76%   -0.01%
==========================================
  Files         662      662
  Lines       66227    66233       +6
==========================================
  Hits        63426    63426
- Misses       2801     2807       +6

Flag
Coverage Δ

servertests
36.53% <20.00%> (-0.01%)
:arrow_down:

unittests
95.70% <100.00%> (-0.01%)
:arrow_down:

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

Impacted Files
Coverage Δ

moto/dynamodb/exceptions.py
100.00% <100.00%> (ø)

moto/dynamodb/models/__init__.py
93.54% <100.00%> (ø)

moto/dynamodb/responses.py
94.89% <100.00%> (-0.01%)
:arrow_down:

moto/resourcegroupstaggingapi/models.py
83.18% <0.00%> (-0.59%)
:arrow_down:

moto/route53/responses.py
96.69% <0.00%> (-0.42%)
:arrow_down:

moto/sns/models.py
96.83% <0.00%> (-0.40%)
:arrow_down:

moto/sqs/models.py
96.76% <0.00%> (-0.18%)
:arrow_down:

moto/config/models.py
99.22% <0.00%> (-0.13%)
:arrow_down:

moto/ssm/models.py
94.42% <0.00%> (-0.11%)
:arrow_down:

moto/iam/models.py
95.39% <0.00%> (+0.13%)
:arrow_up:

Continue to review full report at Codecov.

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

authors: bblommers codecov-commenter

repo: spulec/moto


text:
Plugin shouldn't inherit from widget (?)

Consider whether it's better to do composition instead

If this should be done, needs probably to be done in Spyder itself; see SpyderPluginMixin


text:
Error when runing cv2 (OpenCV)

Description
What steps will reproduce the problem?

#!/usr/bin/env python3
-- coding: utf-8 --
"""
Created on Mon Feb 15 23:20:52 2021
@author: jhongvp
"""
#!/usr/bin/env python3
-- coding: utf-8 --
"""
Created on Mon Feb 15 23:15:44 2021
@author: jhongvp
"""
import cv2
import numpy as np
bgr=np.zeros((300, 300, 3),dtype = np.uint8) #fondo color negro
bgr[:,:,:]=(255,0,0) # para cambiar el color a azul
cv2.imshow('BGR',bgr)
cv2.waitKey(0)
cv2.destroyAllWindows()
When  i run the program , i see that is good but the terminal is bad in the finish
Traceback
  File "/home/jhongvp/anaconda3/envs/Env05/lib/python3.8/site-packages/spyder/plugins/completion/snippets/actor.py", line 92, in handle_msg
    if language_snippets[current_word]:
  File "/home/jhongvp/anaconda3/envs/Env05/lib/python3.8/site-packages/spyder/plugins/completion/snippets/trie.py", line 81, in __getitem__
    if len(sequence) == 0:
TypeError: object of type 'NoneType' has no len()

Versions

Spyder version: 4.2.0
Python version: 3.8.5
Qt version: 5.9.7
PyQt5 version: 5.9.2
Operating System: Linux 5.4.0-65-generic

Dependencies

# Mandatory:
atomicwrites >=1.2.0            :  1.4.0 (OK)
chardet >=2.0.0                 :  4.0.0 (OK)
cloudpickle >=0.5.0             :  1.6.0 (OK)
diff_match_patch >=20181111     :  20200713 (OK)
intervaltree >=3.0.2            :  3.1.0 (OK)
IPython >=4.0                   :  7.19.0 (OK)
jedi =0.17.2                    :  0.17.2 (OK)
jsonschema >=3.2.0              :  3.2.0 (OK)
keyring >=17.0.0                :  21.8.0 (OK)
nbconvert >=4.0                 :  6.0.7 (OK)
numpydoc >=0.6.0                :  1.1.0 (OK)
parso =0.7.0                    :  0.7.0 (OK)
pexpect >=4.4.0                 :  4.8.0 (OK)
pickleshare >=0.4               :  0.7.5 (OK)
psutil >=5.3                    :  5.7.2 (OK)
pygments >=2.0                  :  2.7.4 (OK)
pylint >=1.0                    :  2.6.0 (OK)
pyls >=0.36.1;<1.0.0            :  0.36.2 (OK)
pyls_black >=0.4.6              :  0.4.6 (OK)
pyls_spyder >=0.1.1             :  0.3.0 (OK)
qdarkstyle >=2.8                :  2.8.1 (OK)
qtawesome >=0.5.7               :  1.0.1 (OK)
qtconsole >=4.7.7               :  4.7.7 (OK)
qtpy >=1.5.0                    :  1.9.0 (OK)
rtree >=0.8.3                   :  0.9.4 (OK)
setuptools >=39.0.0             :  51.3.3.post20210118 (OK)
sphinx >=0.6.6                  :  3.4.3 (OK)
spyder_kernels >=1.10.0;<1.11.0 :  1.10.1 (OK)
three_merge >=0.1.1             :  0.1.1 (OK)
watchdog >=0.10.3               :  0.10.4 (OK)
xdg >=0.26                      :  0.27 (OK)
zmq >=17                        :  20.0.0 (OK)

# Optional:
cython >=0.21                   :  None (NOK)
matplotlib >=2.0.0              :  None (NOK)
numpy >=1.7                     :  1.19.5 (OK)
pandas >=1.1.1                  :  None (NOK)
scipy >=0.17.0                  :  None (NOK)
sympy >=0.7.3                   :  None (NOK)

Hi @Jhongesell I think the issue related with the traceback you provided here was fixed in our latest release (4.2.1). Could you update Spyder in you setup an try again, please? Thanks!

Thanks!

authors: Jhongesell dalthviz

repo: spyder-ide/spyder


text:
Panes size is changed and traceback appears at Spyder start

Issue Report Checklist

[x] Searched the issues page for similar reports
[x] Read the relevant sections of the Spyder Troubleshooting Guide and followed its advice
[x] Reproduced the issue after updating with conda update spyder (or pip, if not using Anaconda)
[x] Tried basic troubleshooting (if a bug/error)

[x] Restarted Spyder
[x] Reset preferences with spyder --reset
[x] Reinstalled the latest version of Anaconda
[x] Tried the other applicable steps from the Troubleshooting Guide

[x] Completed the Problem Description, Steps to Reproduce and Version sections below

Problem Description
At start the sizes of the Spyder panes is changed. That means every time I need to resize the editor window and the area righthand of the editor. I can create and load a window layout but the default layout that is loaded at the start of Spyder has the incorrect sizes (but the correct pane layout).
Below the desired layout:

This is, what I see after starting Spyder:

I have some errors when starting Spyder with the spyder command from Anaconda but have no idea if this has something to do with my problem.
Paste Traceback/Error Below (if applicable)

(base) PS C:\Users\SMA> spyder
fromIccProfile: failed minimal tag size sanity
C:\ProgramData\Miniconda3\lib\site-packages\paramiko\transport.py:219: CryptographyDeprecationWarning: Blowfish has been deprecated
  "class": algorithms.Blowfish,
[3744:1356:0803/083607.142:ERROR:service_utils.cc(157)] --ignore-gpu-blacklist is deprecated and will be removed in 2020Q4, use --ignore-gpu-blocklist instead.
[3744:16160:0803/083607.143:ERROR:service_utils.cc(157)] --ignore-gpu-blacklist is deprecated and will be removed in 2020Q4, use --ignore-gpu-blocklist instead.
ERROR:asyncio:Exception in callback AddThreadSelectorEventLoop._handle_select([5420], [])
handle: <Handle AddThreadSelectorEventLoop._handle_select([5420], [])>
Traceback (most recent call last):
  File "C:\ProgramData\Miniconda3\lib\asyncio\events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "C:\ProgramData\Miniconda3\lib\site-packages\tornado\platform\asyncio.py", line 579, in _handle_select
    self._handle_event(r, self._readers)
  File "C:\ProgramData\Miniconda3\lib\site-packages\tornado\platform\asyncio.py", line 591, in _handle_event
    callback()
  File "C:\ProgramData\Miniconda3\lib\site-packages\tornado\platform\asyncio.py", line 189, in _handle_events
    handler_func(fileobj, events)
  File "C:\ProgramData\Miniconda3\lib\site-packages\zmq\eventloop\zmqstream.py", line 570, in _handle_events
    zmq_events = self.socket.EVENTS
  File "C:\ProgramData\Miniconda3\lib\site-packages\zmq\sugar\attrsettr.py", line 55, in __getattr__
    return self._get_attr_opt(upper_key, opt)
  File "C:\ProgramData\Miniconda3\lib\site-packages\zmq\sugar\attrsettr.py", line 67, in _get_attr_opt
    return self.get(opt)
  File "C:\ProgramData\Miniconda3\lib\site-packages\zmq\_future.py", line 259, in get
    result = super().get(key)
  File "zmq\backend\cython\socket.pyx", line 476, in zmq.backend.cython.socket.Socket.get
  File "zmq\backend\cython\socket.pyx", line 137, in zmq.backend.cython.socket._check_closed
zmq.error.ZMQError: not a socket
ERROR:asyncio:Exception in callback AddThreadSelectorEventLoop._handle_select([5720, 5704, 5428, 5884, 5940], [])
handle: <Handle AddThreadSelectorEventLoop._handle_select([5720, 5704, 5428, 5884, 5940], [])>
Traceback (most recent call last):
  File "C:\ProgramData\Miniconda3\lib\asyncio\events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "C:\ProgramData\Miniconda3\lib\site-packages\tornado\platform\asyncio.py", line 579, in _handle_select
    self._handle_event(r, self._readers)
  File "C:\ProgramData\Miniconda3\lib\site-packages\tornado\platform\asyncio.py", line 591, in _handle_event
    callback()
  File "C:\ProgramData\Miniconda3\lib\site-packages\tornado\platform\asyncio.py", line 189, in _handle_events
    handler_func(fileobj, events)
  File "C:\ProgramData\Miniconda3\lib\site-packages\zmq\eventloop\zmqstream.py", line 570, in _handle_events
    zmq_events = self.socket.EVENTS
  File "C:\ProgramData\Miniconda3\lib\site-packages\zmq\sugar\attrsettr.py", line 55, in __getattr__
    return self._get_attr_opt(upper_key, opt)
  File "C:\ProgramData\Miniconda3\lib\site-packages\zmq\sugar\attrsettr.py", line 67, in _get_attr_opt
    return self.get(opt)
  File "C:\ProgramData\Miniconda3\lib\site-packages\zmq\_future.py", line 259, in get
    result = super().get(key)
  File "zmq\backend\cython\socket.pyx", line 476, in zmq.backend.cython.socket.Socket.get
  File "zmq\backend\cython\socket.pyx", line 137, in zmq.backend.cython.socket._check_closed
zmq.error.ZMQError: not a socket
(base) PS C:\Users\SMA>

Versions

Spyder version: 5.3.1
Python version: 3.9.7
Qt version: 5.15.4
PyQt version: 5.15.7
Operating System name/version: Win 10

Dependencies

Mandatory:
atomicwrites >=1.2.0                 :  1.4.0 (OK)
chardet >=2.0.0                      :  4.0.0 (OK)
cloudpickle >=0.5.0                  :  2.0.0 (OK)
cookiecutter >=1.6.0                 :  1.7.3 (OK)
diff_match_patch >=20181111          :  20200713 (OK)
intervaltree >=3.0.2                 :  3.1.0 (OK)
IPython >=7.31.1;<8.0.0              :  7.31.1 (OK)
jedi >=0.17.2;<0.19.0                :  0.18.1 (OK)
jellyfish >=0.7                      :  0.9.0 (OK)
jsonschema >=3.2.0                   :  4.4.0 (OK)
keyring >=17.0.0                     :  23.4.0 (OK)
nbconvert >=4.0                      :  6.4.4 (OK)
numpydoc >=0.6.0                     :  1.4.0 (OK)
paramiko >=2.4.0                     :  2.8.1 (OK)
parso >=0.7.0;<0.9.0                 :  0.8.3 (OK)
pexpect >=4.4.0                      :  4.8.0 (OK)
pickleshare >=0.4                    :  0.7.5 (OK)
psutil >=5.3                         :  5.9.0 (OK)
pygments >=2.0                       :  2.11.2 (OK)
pylint >=2.5.0                       :  2.12.2 (OK)
pyls_spyder >=0.4.0                  :  0.4.0 (OK)
pylsp >=1.4.1;<1.5.0                 :  1.4.1 (OK)
pylsp_black >=1.2.0                  :  1.2.1 (OK)
qdarkstyle >=3.0.2;<3.1.0            :  3.0.2 (OK)
qstylizer >=0.1.10                   :  0.1.10 (OK)
qtawesome >=1.0.2                    :  1.0.3 (OK)
qtconsole >=5.3.0;<5.4.0             :  5.3.1 (OK)
qtpy >=2.1.0                         :  2.1.0 (OK)
rtree >=0.9.7                        :  0.9.7 (OK)
setuptools >=49.6.0                  :  61.2.0 (OK)
sphinx >=0.6.6                       :  5.0.2 (OK)
spyder_kernels >=2.3.1;<2.4.0        :  2.3.2 (OK)
textdistance >=4.2.0                 :  4.2.1 (OK)
three_merge >=0.1.1                  :  0.1.1 (OK)
watchdog >=0.10.3                    :  2.1.6 (OK)
zmq >=22.1.0                         :  23.2.0 (OK)
Optional:
cython >=0.21                        :  None (NOK)
matplotlib >=3.0.0                   :  3.5.1 (OK)
numpy >=1.7                          :  1.22.3 (OK)
pandas >=1.1.1                       :  None (NOK)
scipy >=0.17.0                       :  1.7.3 (OK)
sympy >=0.7.3                        :  None (NOK)
Spyder plugins:
spyder_unittest.unittestplugin 0.5.0 :  0.5.0 (OK)

Might be related to #17650

Also, regarding the zmq.error.ZMQError: not a socket, I think that is related most probably with the version of jupyter_client you have. However, if you update Spyder that will also update spyder-kernels and in turn require a version of jupyter_client that doesn't show that error (jupyter_client 7.3.4 I think)

I updated Spyder with conda install -c conda-forge spyder=5.3.2 and the rezize issue seems to be fixed.
I am not sure but the update was not available when I created this issue... Anyway, this is solved now.

Still the same issue with 5.5.0 (exact same symptom as described by the OP)
Please reopen this issue!

Spyder version: 5.5.0  (pip)
Python version: 3.10.12 64-bit
Qt version: 5.15.3
PyQt5 version: 5.15.6
Operating System: Linux-5.15.0-89-generic-x86_64-with-glibc2.35

Hi @prof7bit as with the original OP you are also seeing a traceback of errors related with zmq.error.ZMQError: not a socket? Or just the panes size change? If the later is the case, could you open a new issue with the details of the behavior you are experiencing (screenshots, GIF or some video) as well as the details on how did you install Spyder? Let us know!

I do not see any tracebacks in the console, only a warning:
$ spyder
fromIccProfile: failed minimal tag size sanity
/usr/lib/python3/dist-packages/pkg_resources/__init__.py:116: PkgResourcesDeprecationWarning: v0.9.4.4-ds-git20220108-9023143f8b93 is an invalid version and will not be supported in a future release
  warnings.warn(

(it really ends after the opening bracket)
But the actual symptom in the UI looks exactly like in the OP:
The leftmost pane will become larger (on every app start) and the remaining panes are shrinked proportionally, total window size remains unchanged.
original:

1st restart:

2nd restart:

3rd restart:

I do NOT believe (my intuition is telling me this) that OP's traceback has anything to do with it. He changed and updated more than one thing before reporting it fixed, but his original visible UI symptom looks exactly like mine:
Left pane growing and remaining panes shrinking proportionally.
To me it seems the left pane (or one of the tabs inside) does not want to accept the saved size or is applying the size wrongly and the other panes have no other choice than shrinking because they don`t fit into the remaining space. They seem to apply something from the saved layout because their size proportions remain correct, but they are forced to shrink. The left pane also seems to use the saved size in some way as a starting point, but then always add additional width to the already existing saved width.

@dalthviz, I think this is caused because we're saving the layout after closing all plugins, which doesn't save it as expected in some situations.

Oh I see, I have not been able to reproduce this (at least on Windows) but maybe then is worthy to create a new issue related only to the pane size behavior @ccordoba12 @prof7bit ?

Oh I see, I have not been able to reproduce this (at least on Windows)

I've seen it frequently (but not all the time) when you have several consoles opened. And I think the problem is related to what I mentioned above, but I'm not really sure.

but maybe then is worthy to create a new issue related only to the pane size behavior

Agreed. Please create one.

Opened issue #21596 to keep tracking the pane size change behavior :+1:


text:
Undocking Plots is giving an error

Description
What steps will reproduce the problem?

Click on Undock of Plots widget.
Traceback
Traceback (most recent call last):
  File "/home/lokesh/miniforge/envs/work/lib/python3.10/site-packages/spyder/api/widgets/auxiliary_widgets.py", line 57, in changeEvent
    self.sig_window_state_changed.emit(self.windowState())
TypeError: SpyderWindowWidget.sig_window_state_changed[WindowStates].emit(): argument 1 has unexpected type 'WindowStates'

Versions

Spyder version: 5.4.0  (conda)
Python version: 3.10.6 64-bit
Qt version: 5.12.9
PyQt5 version: 5.12.3
Operating System: Linux 5.19.0-26-generic

Dependencies
# Mandatory:
atomicwrites >=1.2.0                 :  1.4.1 (OK)
chardet >=2.0.0                      :  5.0.0 (OK)
cloudpickle >=0.5.0                  :  2.2.0 (OK)
cookiecutter >=1.6.0                 :  2.1.1 (OK)
diff_match_patch >=20181111          :  20200713 (OK)
intervaltree >=3.0.2                 :  3.0.2 (OK)
IPython >=7.31.1;<8.0.0              :  7.33.0 (OK)
jedi >=0.17.2;<0.19.0                :  0.18.1 (OK)
jellyfish >=0.7                      :  0.9.0 (OK)
jsonschema >=3.2.0                   :  4.17.0 (OK)
keyring >=17.0.0                     :  23.11.0 (OK)
nbconvert >=4.0                      :  7.2.5 (OK)
numpydoc >=0.6.0                     :  1.5.0 (OK)
parso >=0.7.0;<0.9.0                 :  0.8.3 (OK)
pexpect >=4.4.0                      :  4.8.0 (OK)
pickleshare >=0.4                    :  0.7.5 (OK)
psutil >=5.3                         :  5.9.4 (OK)
pygments >=2.0                       :  2.13.0 (OK)
pylint >=2.5.0;<3.0                  :  2.15.6 (OK)
pylint_venv >=2.1.1                  :  2.3.0 (OK)
pyls_spyder >=0.4.0                  :  0.4.0 (OK)
pylsp >=1.6.0;<1.7.0                 :  1.6.0 (OK)
pylsp_black >=1.2.0                  :  1.2.1 (OK)
qdarkstyle >=3.0.2;<3.1.0            :  3.0.3 (OK)
qstylizer >=0.2.2                    :  0.2.2 (OK)
qtawesome >=1.2.1                    :  1.2.1 (OK)
qtconsole >=5.4.0;<5.5.0             :  5.4.0 (OK)
qtpy >=2.1.0                         :  2.3.0 (OK)
rtree >=0.9.7                        :  1.0.1 (OK)
setuptools >=49.6.0                  :  65.5.1 (OK)
sphinx >=0.6.6                       :  5.3.0 (OK)
spyder_kernels >=2.4.0;<2.5.0        :  2.4.0 (OK)
textdistance >=4.2.0                 :  4.5.0 (OK)
three_merge >=0.1.1                  :  0.1.1 (OK)
watchdog >=0.10.3                    :  2.1.9 (OK)
xdg >=0.26                           :  0.28 (OK)
zmq >=22.1.0                         :  24.0.1 (OK)

# Optional:
cython >=0.21                        :  0.29.32 (OK)
matplotlib >=3.0.0                   :  3.5.3 (OK)
numpy >=1.7                          :  1.23.5 (OK)
pandas >=1.1.1                       :  1.5.1 (OK)
scipy >=0.17.0                       :  1.9.3 (OK)
sympy >=0.7.3                        :  1.11.1 (OK)

# Spyder plugins:
spyder_notebook.notebookplugin 0.4.0 :  0.4.0 (OK)

Hey @lokeshkalamalla, thanks for reporting. This should be fixed in our latest version (5.4.1), released yesterday. Right now we're finishing to create packages for it in Conda-forge, so it's going to be available there in a couple of hours.
Please try it when available and let us know if it works for you.

Closing due to lack of response.


text:
Spyder "Autocompletion / Go to definition" fails on Windows when an import folder is named "array"

Issue Report Checklist

[x] Searched the issues page for similar reports
[x] Read the relevant sections of the Spyder Troubleshooting Guide and followed its advice
[x] Reproduced the issue after updating with conda update spyder (or pip, if not using Anaconda)
[N/A] Could not reproduce inside jupyter qtconsole (if console-related)
[x] Tried basic troubleshooting (if a bug/error)

[x] Restarted Spyder
[x] Reset preferences with spyder --reset
[x] Reinstalled the latest version of Anaconda
[N/A] Tried the other applicable steps from the Troubleshooting Guide

[x] Completed the Problem Description, Steps to Reproduce and Version sections below

Problem Description
What steps reproduce the problem?

Install the current anaconda with spyder on Windows (Anaconda3-2024.02-1-Windows-x86_64)
Create a repository which contains a folder named "array"

Create a folder to be integrated as repository, lets call it "testrepo". Add that folder in the pythonpath manager.
Create some subfolder e.g. "pathdebug" and add an empty init.py.
Create a subfolders in testrepo/pathdebug named "array".
Inside that, add an empty init.py and a simple python file that can be imported from, e.g. test.py with some definition of an empty function.

Open an empty python file in spyder and start to type 'from pathdebug.array.test import...'

What is the expected output? What do you see instead?
This happens and this is expected: After the first dot i.e. 'from pathdebug.' the autcompletion pops up an suggests 'array' as a followup package.
Then this happens and this is not expected: after the second dot 'from pathdebug.array.' no autocompletion pops up and it cannot be forced to pop up even with Ctrl+Space. Also, right click on 'array' and "go to definition" will not open the init of the folder.
You may then continue to import the empty function from inside the array folder, but "Go to definition" will not work.
This seems to be directly related to the name "array". Renaming the folder to something else e.g. "notArray" solves the problem. Then autocompletion works and goto definition works again.
We have seen this issue on two windows machines, but could not see it on a linux setup (possibly a different version of spyder though).
Versions

Spyder version: 5.5.1  (conda)
Python version: 3.11.7 64-bit
Qt version: 5.15.2
PyQt5 version: 5.15.10
Operating System: Windows-10-10.0.19045-SP0

Hey @wlter, thanks for reporting and the detailed description to reproduce the problem. We'll try to take a look at this after we release Spyder 6.0 next month.