Security::permissionFailure() assumes session is available

Affected Version
4.x
Description
Security::permissionFailure() attempts to store a back URL in the session without checking whether a session is available on the request object:
https://github.com/silverstripe/silverstripe-framework/blob/d04e54c1bea46c17bb8bf4a3ec661833d4127de6/src/Security/Security.php#L426
This may result in an exception:

BadMethodCallException: "No session available for this HTTPRequest"

I believe this happened because the current request was a NullHTTPRequest. The setup that reached this error is a bit complex (it involves elemental + userforms + elemental-userforms + page access controls), but it’s a simple change to code defensively here.

Yeah, none of HTTPRequest indicates that getRequest() can return null, but I'm pretty sure it can. Do you think this would be a case of "if there's a session, run that logic, else ignore it" or something else like trying to get a session from somewhere else?

Do you think this would be a case of "if there's a session, run that logic, else ignore it" or something else like trying to get a session from somewhere else?

I think the first option is fine, we could achieve that by introducing a simple hasSession() method

Patch at https://github.com/silverstripe/silverstripe-framework/pull/9152

Throwing an exception like that in the getter is a bit strange. I'm +1 for the hasSession method.

We can probably do both

Merged https://github.com/silverstripe/silverstripe-framework/pull/9152 but I’ll leave this open until hasSession() is added to a minor release

Sweet, PR at https://github.com/silverstripe/silverstripe-framework/pull/9159


Update appman.xml

Bump AIR SDK to <IP_ADDRESS>
Bump Apache Flex Installer to 3.3.2
Bump Adobe AIR to <IP_ADDRESS>
Bump Adobe Flash Player to <IP_ADDRESS>
Bump TortoiseGit to 2.7.0
Bump Git For Windows to 2.19.0
Bump TortoiseHg to 4.7.1

@Meychi please update http://www.flashdevelop.org/appman/frameworks_flexsdk_9-30.zip to 31 version
https://www.adobe.com/support/flashplayer/debug_downloads.html

@SlavaRa Done.


Extract kernel, bias values of a layer

This function will extract the kernel, and bias values of given tensor-flow model graph layer.

I signed it!

Re @kaushik1094 does the PR look good to you?

@protoget Yes, It looks good for me.

Nagging Assignee @protoget: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @protoget: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @protoget: It has been 86 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @protoget: It has been 101 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @protoget: It has been 116 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.


[stable/kong] use custom server block for health-checking

Signed-off-by: Harry Bagdi<EMAIL_ADDRESS>
What this PR does / why we need it:
Uses custom server block for health-checking.
Meaning, if RBAC is turned on, then , the health-checks will not fail.
Checklist

[x] DCO signed
[x] Chart Version bumped
[x] Title of the PR starts with chart name (e.g. [stable/chart])

ping @shashiranjan84

/test pull-charts-e2e

@shashiranjan84 Should be good now.


[BACKLOG-18537] Added new daemon to 'adaptive-execution2' folder.  On…

…ce the new daemon is fully tested we will replace the old one and rename this folder 'adaptive-execution'.
@mkambol / @aminmkhan / @flbrino / @smaring

Build Skipped
:white_check_mark: There was nothing to build. The changes are probably excluded by the build rules. If this is an error, please contact your system administrator.


[turborepo] Turbo requiring a pnpm workspace file

What version of Turborepo are you using?
1.10.4
What package manager are you using / does the bug impact?
pnpm
What operating system are you using?
Mac
Describe the Bug

It looks like v.1.10.4-canary.4 and above are requiring a pnpm-workspace.yaml, when it is not the case for previous versions.
Expected Behavior
I expect Turborepo to be able to run without a pnpm-workspace.yaml file, as stated in the docs → https://turbo.build/repo/docs/getting-started/add-to-project.
To Reproduce
Simply try to run a full turbo on the Reproduction Repo with v.1.10.4-canary.4 and above.
Reproduction Repo
https://github.com/samcx/samcx

I have exactly the same issue

Sorry about this, we've identified the issue (#5362) and will be releasing a new patch release shortly!

@samcx @dr-iroh can you try with<EMAIL_ADDRESS>

@gsoltis Working again with<EMAIL_ADDRESS>

@g-plane turbo works again, thanks

@gsoltis turbo works again, thanks

@samcx @dr-iroh  @kevanantha  can you try with<EMAIL_ADDRESS>
it works. thanks


stopping container completely breaks it

running a stock container forked from this repo. syncing against L1 local eth node or a remote alchemy node.
no problems syncing for a few days, had to bounce the container. now the container throws tons of errors:
simple-optimism-node-fault-detector-1  |
simple-optimism-node-fault-detector-1  | ><EMAIL_ADDRESS>start
simple-optimism-node-fault-detector-1  | > ts-node ./src/service.ts
simple-optimism-node-fault-detector-1  |
simple-optimism-node-healthcheck-1     | {"level":50,"time":1671298207500,"msg":"target client not connected"}
simple-optimism-node-influxdb-1        | [httpd] <IP_ADDRESS> - test [17/Dec/2022:17:30:08 +0000] "POST /write?consistency=&db=l2geth&precision=&rp= HTTP/1.1" 204 0 "-" "InfluxDBClient" 7389d73a-7e30-11ed-8044-000000000000 4577
simple-optimism-node-influxdb-1        | [httpd] <IP_ADDRESS> - test [17/Dec/2022:17:30:08 +0000] "GET /ping HTTP/1.1" 204 0 "-" "InfluxDBClient" 738a9a48-7e30-11ed-8045-000000000000 10
simple-optimism-node-fault-detector-1  | {"level":30,"time":1671298208633,"msg":"starting app server"}
simple-optimism-node-fault-detector-1  | {"level":30,"time":1671298208662,"port":7300,"hostname":"<IP_ADDRESS>","msg":"app server started"}
simple-optimism-node-fault-detector-1  | {"level":30,"time":1671298208663,"msg":"initializing service"}
simple-optimism-node-fault-detector-1  | /opt/optimism/node_modules/@ethersproject/providers/node_modules/@ethersproject/logger/src.ts/index.ts:269
simple-optimism-node-fault-detector-1  |         const error: any = new Error(message);
simple-optimism-node-fault-detector-1  |                            ^
simple-optimism-node-fault-detector-1  | Error: could not detect network (event="noNetwork", code=NETWORK_ERROR, version=providers/5.7.1)
simple-optimism-node-fault-detector-1  |     at Logger.makeError (/opt/optimism/node_modules/@ethersproject/providers/node_modules/@ethersproject/logger/src.ts/index.ts:269:28)
simple-optimism-node-fault-detector-1  |     at Logger.throwError (/opt/optimism/node_modules/@ethersproject/providers/node_modules/@ethersproject/logger/src.ts/index.ts:281:20)
simple-optimism-node-fault-detector-1  |     at JsonRpcProvider.<anonymous> (/opt/optimism/node_modules/@ethersproject/providers/src.ts/json-rpc-provider.ts:483:23)
simple-optimism-node-fault-detector-1  |     at step (/opt/optimism/node_modules/@ethersproject/providers/lib/json-rpc-provider.js:48:23)
simple-optimism-node-fault-detector-1  |     at Object.throw (/opt/optimism/node_modules/@ethersproject/providers/lib/json-rpc-provider.js:29:53)
simple-optimism-node-fault-detector-1  |     at rejected (/opt/optimism/node_modules/@ethersproject/providers/lib/json-rpc-provider.js:21:65)
simple-optimism-node-fault-detector-1  |     at processTicksAndRejections (node:internal/process/task_queues:96:5) {
simple-optimism-node-fault-detector-1  |   reason: 'could not detect network',
simple-optimism-node-fault-detector-1  |   code: 'NETWORK_ERROR',
simple-optimism-node-fault-detector-1  |   event: 'noNetwork'
simple-optimism-node-fault-detector-1  | }
simple-optimism-node-fault-detector-1  | npm ERR! Lifecycle script `start` failed with error:
simple-optimism-node-fault-detector-1  | npm ERR! Error: command failed
simple-optimism-node-fault-detector-1  | npm ERR!   in workspace<EMAIL_ADDRESS>simple-optimism-node-fault-detector-1  | npm ERR!   at location: /opt/optimism/packages/fault-detector
simple-optimism-node-fault-detector-1 exited with code 1
simple-optimism-node-healthcheck-1     | {"level":50,"time":1671298212505,"msg":"target client not connected"}
simple-optimism-node-influxdb-1        | [httpd] <IP_ADDRESS> - test [17/Dec/2022:17:30:13 +0000] "GET /ping HTTP/1.1" 204 0 "-" "InfluxDBClient" 7684a883-7e30-11ed-8046-000000000000 24
simple-optimism-node-healthcheck-1     | {"level":30,"time":1671298213222,"log":"<IP_ADDRESS> - GET /metrics HTTP/1.1 200 - - 3.681 ms\n","msg":"server log"}
simple-optimism-node-healthcheck-1     | {"level":50,"time":1671298217509,"msg":"target client not connected"}
simple-optimism-node-influxdb-1        | [httpd] <IP_ADDRESS> - test [17/Dec/2022:17:30:18 +0000] "POST /write?consistency=&db=l2geth&precision=&rp= HTTP/1.1" 204 0 "-" "InfluxDBClient" 797fa65d-7e30-11ed-8047-000000000000 3949
simple-optimism-node-influxdb-1        | [httpd] <IP_ADDRESS> - test [17/Dec/2022:17:30:18 +0000] "GET /ping HTTP/1.1" 204 0 "-" "InfluxDBClient" 798051fe-7e30-11ed-8048-000000000000 26
simple-optimism-node-healthcheck-1     | {"level":50,"time":1671298222517,"msg":"target client not connected"}
simple-optimism-node-influxdb-1        | [httpd] <IP_ADDRESS> - test [17/Dec/2022:17:30:23 +0000] "GET /ping HTTP/1.1" 204 0 "-" "InfluxDBClient" 7c7a6cc6-7e30-11ed-8049-000000000000 22
simple-optimism-node-healthcheck-1     | {"level":50,"time":1671298227523,"msg":"target client not connected"}
simple-optimism-node-influxdb-1        | [httpd] <IP_ADDRESS> - test [17/Dec/2022:17:30:28 +0000] "POST /write?consistency=&db=l2geth&precision=&rp= HTTP/1.1" 204 0 "-" "InfluxDBClient" 7f758509-7e30-11ed-804a-000000000000 3812
simple-optimism-node-influxdb-1        | [httpd] <IP_ADDRESS> - test [17/Dec/2022:17:30:28 +0000] "GET /ping HTTP/1.1" 204 0 "-" "InfluxDBClient" 7f762cfa-7e30-11ed-804b-000000000000 13

does the container not shut down cleanly when doing docker compose down?

i think my issue relates to https://github.com/smartcontracts/simple-optimism-node/issues/20
it seems when stopping the container with docker compose down it doesnt stop cleanly and something gets hosed with the networking. the container is unable to communicate over the network which is why we see these network related errors.

I recently merged a fix to the fault-detector that should prevent it from erroring out like this when the L2 node isn't fully up. Once this gets released, will probably fix this. https://github.com/ethereum-optimism/optimism/pull/4486

You might be able to use this canary release image temporarily prerelease-0.0.0-sequencer-sync-bug

thanks @smartcontracts! can i just replace my current dir with this, replace .env and be rdy 2 rock?

nah i tried doing a git pull and still broken i guess i need to update one of the containers?

ok i updated docker-compose.yaml fault-detector with the image you suggested, did a docker compose pull, it downloaded something and i started with docker compose up
i no longer get the Error: could not detect network error but i am getting simple-optimism-node-healthcheck-1     | {"level":50,"time":1671306298220,"msg":"target client not connected"} errors.

seems like eventually it kicked into gear and its working. 👍

bouncing docker with docker compose down/up a few times got it working. ill take it.

simple-optimism-node-l2geth-1          | ERROR[12-20|05:36:15.513] Problem committing transaction           msg="nonce too high"
simple-optimism-node-l2geth-1          | ERROR[12-20|05:36:15.513] Got error waiting for transaction to be added to chain msg="nonce too high"
simple-optimism-node-l2geth-1          | ERROR[12-20|05:36:15.513] Could not verify                         error="Verifier cannot sync transaction batches to tip: Cannot sync transaction batches to tip: Cannot sync batches: cannot apply batched transaction: Cannot apply batched transaction: nonce too high"
simple-optimism-node-l2geth-1          | DEBUG[12-20|05:36:15.516] Served eth_chainId                       conn=<IP_ADDRESS>:48046   reqid=372107 t=50.735µs
simple-optimism-node-fault-detector-1  | {"level":30,"time":1671514575516,"batchEnd":48695289,"latestBlock":15018754,"msg":"node is behind, waiting for sync"}

Getting this same after shutting down the node.

@smartcontracts i had an idea for this but i cant test it this weekend. perhaps adding a bit of a delay to stopping the containers will be a hacky solution? something like docker compose down --timeout 300

Sorry for the delay here. Have been busy getting Bedrock shipped. I could increase the stop grace period. It's currently 180s but can increase to 300s.

I created #44 to increase the default grace period to 5m

just adding a note here - after stopping the containers once, running and stopping again, here is observed behavior:
this error Error response from daemon: No such container: 3893e75e4b4ea30c8d75874bcc1c6d941957dab5ce5cde08a8fec9c90e2c7342
this output
[+] Running 14/14
 ⠿ Container simple-optimism-node-healthcheck-1             Removed                                                                                10.4s
 ⠿ Container simple-optimism-node-torrent-1                 Removed                                                                                4.3s
 ⠿ Container simple-optimism-node-fault-detector-bedrock-1  Removed                                                                                1.1s
 ⠿ Container simple-optimism-node-dtl-1                     Removed                                                                                1.0s
 ⠿ Container simple-optimism-node-op-node-1                 Removed                                                                                180.3s
 ⠿ Container simple-optimism-node-prometheus-1              Removed                                                                                0.7s
 ⠿ Container simple-optimism-node-influxdb-1                Removed                                                                                0.8s
 ⠿ Container simple-optimism-node-bedrock-init-1            Removed                                                                                10.4s
 ⠿ Container simple-optimism-node-op-geth-1                 Removed                                                                                180.3s
 ⠿ Container simple-optimism-node-fault-detector-1          Removed                                                                                10.5s
 ⠿ Container simple-optimism-node-healthcheck-bedrock-1     Removed                                                                                1.0s
 ⠿ Container simple-optimism-node-grafana-1                 Removed                                                                                0.6s
 ⠿ Container simple-optimism-node-l2geth-1                  Removed                                                                                0.9s
 ⠿ Network simple-optimism-node_default                     Removed                                                                                0.1s

notice imple-optimism-node-op-node-1 and simple-optimism-node-op-geth-1 take the full 180s timeout time.

Stale pre-bedrock issue


Build errors with GCC 7.2.1

What platform/OS are you using?
Fedora 27
What compiler are you using? what version?
GCC 7.2.1
What's your CMake arguments?
cmake -DCMAKE_INSTALL_PREFIX=$HOME -DCMAKE_BUILD_TYPE=Release ..
Can you provide a TRACE level log? (sanitize any sensitive information)
I got the following warnings (that were treated as errors):
In file included from /.../aws-sdk-cpp/aws-cpp-sdk-core/include/aws/core/utils/ratelimiter/DefaultRateLimiter.h:21:0,
                 from /.../aws-sdk-cpp/aws-cpp-sdk-s3-integration-tests/BucketAndObjectOperationTest.cpp:25:
/.../aws-sdk-cpp/aws-cpp-sdk-core/include/aws/core/utils/memory/stl/AWSFunction.h:57:3: error: mangled name for ‘F Aws::BuildFunction(F) [with F = std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long int, std::ratio<1,<PHONE_NUMBER>> > > (*)() noexcept]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-typ ]
 F BuildFunction(F f)
   ^~~~~~~~~~~~~
In file included from /.../aws-sdk-cpp/aws-cpp-sdk-core/include/aws/core/utils/ratelimiter/DefaultRateLimiter.h:21:0,
                 from /.../aws-sdk-cpp/aws-cpp-sdk-dynamodb-integration-tests/TableOperationTest.cpp:29:
/.../aws-sdk-cpp/aws-cpp-sdk-core/include/aws/core/utils/memory/stl/AWSFunction.h:57:3: error: mangled name for ‘F Aws::BuildFunction(F) [with F = std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long int, std::ratio<1,<PHONE_NUMBER>> > > (*)() noexcept]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-typ ]
 F BuildFunction(F f)
   ^~~~~~~~~~~~~
In file included from /.../aws-sdk-cpp/aws-cpp-sdk-core/include/aws/core/utils/ratelimiter/DefaultRateLimiter.h:21:0,
                 from /.../aws-sdk-cpp/aws-cpp-sdk-lambda-integration-tests/FunctionTest.cpp:26:
/.../aws-sdk-cpp/aws-cpp-sdk-core/include/aws/core/utils/memory/stl/AWSFunction.h:57:3: error: mangled name for ‘F Aws::BuildFunction(F) [with F = std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long int, std::ratio<1,<PHONE_NUMBER>> > > (*)() noexcept]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-typ ]
 F BuildFunction(F f)
   ^~~~~~~~~~~~~
cc1plus: all warnings being treated as errors

See: https://github.com/aws/aws-sdk-cpp/issues/620


dynamically load supported locales from locale data

Description
Loading supported locale from predefined locale data
About # (link your issue here)
#4074

@johnsmith-gooddollar
I haven't found a library offering both.
we need two maps:
1 for locale > Language Name (preferably translated)
1 for locale > CountryCode (which is used to get the flag)
For the translations of the language it could be put in a separate method (not .json) and use lingui (t) to add the labels for crowdin translation
there is something like this for a more excessive list: https://github.com/bdswiss/country-language/blob/master/dataCompilation/dataSources/language_codes_ms.csv
but not translated as you request
how to do the map for localeCodes > countryCodes (countrycodes which are compatible with react-phone-number-input/flags) without defining hardcode no idea

@L03TJ3  locale > CountryCode is just take two first letters
ok let's discuss on Monday. I'm closing this


failed to generate talos config: SOPS

failing on a Debian VM
talhelper genconfig
2024/10/28 05:49:49 failed to generate talos config: SOPS decryption failed: Error getting data key: 0 successful groups required, got 0

That means SOPS can't decrypt your secrets file. Can you open the file with sops filename in the first place?

Closing this issue due to inactivity and I don't think this is an issue from talhelper.


Please invite me to the GitHub Community Organization

Name
Leon Stewart

As a 6 years experienced software Engineer, I can contribute to this great community and want to dedicate to latest development of current software.


piscsi_bridge is not removed when daynaport is detached

When creating a new ticket please provide information on your environment.

The Pi type:
Zero 2 W

The Pi OS version (output of 'lsb_release -a'):
Distributor ID: Debian
Description: Debian GNU/Linux 12 (bookworm)
Release: 12
Codename: bookworm

The SCSI2Pi release or git revision:
scsi2pi_1.2_devel_50d3589_arm64-1.deb

The computer/sampler connected to the RaSCSI/PiSCSI board:
N/A

Describe the issue
After attaching the daynaport the piscsi0 device and the piscsi bridge are automatically created:
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet <IP_ADDRESS>/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute
       valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether e4:5f:01:78:10:a2 brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global dynamic noprefixroute wlan0
       valid_lft 863902sec preferred_lft 863902sec
    inet6 2003:c9:d701:1200:470a:d09a:e629:147e/64 scope global dynamic noprefixroute
       valid_lft 7189sec preferred_lft 3589sec
    inet6 fe80::8d9b:2326:42e9:e441/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
$ /opt/scsi2pi/bin/s2pctl -i 6 -c a -t daynaport
$ /opt/scsi2pi/bin/s2pctl -l
+----+-----+------+-------------------------------------
| ID | LUN | TYPE | IMAGE FILE
+----+-----+------+-------------------------------------
|  6 |   0 | SCDP | DaynaPort SCSI/Link
+----+-----+------+-------------------------------------
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet <IP_ADDRESS>/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute
       valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether e4:5f:01:78:10:a2 brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global dynamic noprefixroute wlan0
       valid_lft 863892sec preferred_lft 863892sec
    inet6 2003:c9:d701:1200:470a:d09a:e629:147e/64 scope global dynamic noprefixroute
       valid_lft 7179sec preferred_lft 3579sec
    inet6 fe80::8d9b:2326:42e9:e441/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
7: piscsi0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master piscsi_bridge state UNKNOWN group default qlen 1000
    link/ether 42:56:e1:91:a2:7d brd ff:ff:ff:ff:ff:ff
    inet6 fe80::4056:e1ff:fe91:a27d/64 scope link
       valid_lft forever preferred_lft forever
8: piscsi_bridge: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 42:56:e1:91:a2:7d brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global piscsi_bridge
       valid_lft forever preferred_lft forever
    inet6 fe80::78c0:dfff:fe69:3170/64 scope link
       valid_lft forever preferred_lft forever

But when detaching the daynaport only the piscsi0 device is removed, but not the piscsi_bridge:
frank@bookworm:~ $ /opt/scsi2pi/bin/s2pctl -i 6 -c d -t daynaport
frank@bookworm:~ $ /opt/scsi2pi/bin/s2pctl -l
No devices currently attached.
frank@bookworm:~ $ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet <IP_ADDRESS>/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute
       valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether e4:5f:01:78:10:a2 brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global dynamic noprefixroute wlan0
       valid_lft 863864sec preferred_lft 863864sec
    inet6 2003:c9:d701:1200:470a:d09a:e629:147e/64 scope global dynamic noprefixroute
       valid_lft 7151sec preferred_lft 3551sec
    inet6 fe80::8d9b:2326:42e9:e441/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
8: piscsi_bridge: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global piscsi_bridge
       valid_lft forever preferred_lft forever
    inet6 fe80::78c0:dfff:fe69:3170/64 scope link
       valid_lft forever preferred_lft forever

I would expect that the bridge should be removed as well.
BTW. as I've mentioned in on bookworm brctl is not needed to remove a bridge, it can also be done directly with ip:
$ sudo /sbin/ip link delete piscsi_bridge
(it is not necessary to "down" the piscsi_bridge first)

@fdanapfel Does the logfile show any messages regarding the removal? CTapDriver.cpp should log this.
Regarding bookworm, I don't intend to do something OS-specific in the C++ code, i.e I am not going to check whether s2p is running on bookworm or bullseye. I just added the C++ code because before I did, the setup required some manual work. The idea is to reduce the manual work required, as long as this can be done the same way for each OS. The less C++ code is needed for that, the better. The logfile on trace level reflects each step the C++ code takes, by logging the equivalent shell commands that once had to be executed.

@uweseimet This is what I see in the log after setting the log level to trace when detatching the daynaport:
Jan 24 19:13:32 bookworm s2p[7335]: [2024-01-24 19:13:32.148] [trace] Executing DETACH command
Jan 24 19:13:32 bookworm s2p[7335]: [2024-01-24 19:13:32.148] [info] Validating: operation=DETACH, command parameters='locale=en_GB.UTF-8', device=6:0, type=SCDP, vendor='', product='', revision='', block size=0
Jan 24 19:13:32 bookworm s2p[7335]: [2024-01-24 19:13:32.148] [info] Executing: operation=DETACH, command parameters='locale=en_GB.UTF-8', device=6:0, type=SCDP, vendor='', product='', revision='', block size=0
Jan 24 19:13:32 bookworm s2p[7335]: [2024-01-24 19:13:32.148] [trace] >brctl delif piscsi_bridge piscsi0
Jan 24 19:13:32 bookworm s2p[7335]: [2024-01-24 19:13:32.173] [info] Detached SCDP 6:0
Jan 24 19:13:37 bookworm s2p[7335]: [2024-01-24 19:13:37.523] [trace] Executing DEVICES_INFO command

So it looks like it is trying to run brctl to remove the bridge, but brctl is not installed by default on bookworm.
The ip command I've mentioned in my previous command works on both bullseye and bookworm btw.

@fdanapfel If it works on both system I'm fine with changing this. Please stay tuned ;-).

@uweseimet Ah, thanks for the explanation on how this actually works. I wasn't sure what you meant by CTapDriver.cpp (remember I'm not a code developer), and then got confused because I saw brctl mentioned in the log and also remembered that there was some discussion in the piscsi repo about brctl no longer being available on bookworm by default.
If it is possible to get adding and removing the bridge working by using code instead of relying on external commands then I'm fine with it. Using the ip command was just a suggestion since I thought s2p was still trying to use brctl (which made me even more confused because I could not figure out how the bridge is created if brctl isn't even installed).

@fdanapfel But the current code, which is the equivalent of the brctl command, does not seem to work, does it? The OS reports no error, but the brige has not been removed if I understand you correctly.
The same code is used to create the brige, by the way. In this case you just pass TRUE instead of FALSE to the OS, using the same system call. (add bridge = true, remove bridge = false). I wonder why creating the bridge works, but deleting it does not appear to wirk.

@uweseimet Did some reading up on this, and as far as I understand your code seems to be only for adding/removing an interface from the bridge.
Running an strace on brctl delbr piscsi_bridge shows the following ioctl being used to remove the bridge:
# strace brctl delbr piscsi_bridge
...
ioctl(3, SIOCBRDELBR, "piscsi_bridge")         = 0
...

Maybe this helps.

@fdanapfel Thank you, I will get back to you when working on this ticket.

@fdanapfel This appears to work: After terminating s2p the bridge is now gone (branch issue_45).
It would be good if you could also test this, but in this case you should compile the issue_45 branch. Sooner or later compiling cannot be avoided in order to verify ticket resolutions ;-).

@uweseimet Thanks for creating a fix for this. Is the bridge only removed when s2p is terminated. or also when the daynaport is detached?
I would prefer if the bridge is also removed when the daynaport is detached.
It would even be better if there was an option to select if the bridge should be created or not (to stay compatible with piscsi the default should be that the bridge is created) when the daynaport is attached. Because in a setup where the wlan interface is used the bridge is actually not needed as far as I know (since NAT is used instead of bridging in that case).
And having an option to not have the bridge created would make testing the new setup for connecting the emulated daynaport to the real network which I proposed in https://github.com/PiSCSI/piscsi/issues/1387 a bit easier.
Regarding compilimg the code: maybe you could add the instructions from https://www.scsi2pi.net/en/downloads.html on how to build from source to https://github.com/uweseimet/scsi2pi/wiki/Compilation-Instructions as well, or even on the main page of the github repo. Most people (including me) wouldn't expect them on a page titled "Downloads and Installation" on a completely different web-site when looking at a github repo.

@fdanapfel Currently the bridge is only remove when s2p is terminated. Can you please test this first? Anything else may come later.

@uweseimet I've now tried compiling the code from branch issue_45 on the Pi Zero 2 W, but it looks like it is not working and causing the Pi to hang.
This is the output I get:
$ make
make -C cpp
make[1]: Entering directory '/home/frank/source/scsi2pi/cpp'
g++ -O3 -Wall -DNDEBUG -std=c++20 -iquote . -D_FILE_OFFSET_BITS=64 -DFMT_HEADER_ONLY -DSPDLOG_FMT_EXTERNAL -MD -MP -Wall -Wextra -Wno-psabi  -DBOARD_FULLSPEC -DBUILD_MODE_PAGE_DEVICE -DBUILD_DISK -DBUILD_SCHD -DBUILD_MODE_PAGE_DEVICE -DBUILD_DISK -DBUILD_SCMO -DBUILD_MODE_PAGE_DEVICE -DBUILD_DISK -DBUILD_SCCD -DBUILD_SCDP -DBUILD_SCLP -DBUILD_MODE_PAGE_DEVICE -DBUILD_SCHS -DBUILD_DISK -DBUILD_SAHD -c shared_command/command_dispatcher.cpp -o obj/command_dispatcher.o

After that noting more happens, even if I wait for half an hour.
I can still ping the Pi at that point, but ssh'ing to it to see what is going just hangs.
I also tried setting export MAKEFLAGS="-j1", which I found in one of the issues over on piscsi, but this doesn't seem to help either.
Guess the Pi Zero 2 W is not a suitable system for compiling.

@fdanapfel How much memory does you Pi have? Only 512 MB? In such as case g++ does not really work, it needs too much memory. You can use clang++ instead, which is also faster.
After installing it (with apt install clang) you can run, for instance "make CXX=clang++", or add clang++ to the MAKEFLAGS.

@fdanapfel Compiling on a Pi Zero (not Zero 2) takes several hours, but the way. Can you time how long it takes on the Pi 2, with "time make"? A Pi 4 only takes some minutes for a debug build.
I am using a Pi 4 and a Pi Zero, but for the Pi Zero I always cross-compile. The nightly debug builds are also built with a cross-compier.

@fdanapfel The bridge is also removed when detaching the DaynaPort. I missed that this is implicit, because the lifecyle of the bridge is identical with the lifecycle of the DaynaPort emulation. I just successfully tested this.

daynaport is attached. Because in a setup where the wlan interface is used the bridge is actually not needed as far as I know (since NAT is used instead of bridging in that case).

In such a case I would definitely need to know whether the bridge is needed or not, i.e. "as far as I know" is not sufficient I'm afraid ;-).
Provided that you manage to compiler your sources you can quite easily prevent the bridge from being created (for testing). Just comment out these lines in ctapdriver.cpp:
        trace(">ip link set dev " + BRIDGE_NAME + " up");
        if (const string error = ip_link(ip_fd, BRIDGE_NAME.c_str(), true); !error.empty()) {
            return cleanUp(error);
        }

...
    trace(">brctl addif " + BRIDGE_NAME + " " + DEFAULT_BRIDGE_IF);
    if (const string error = br_setif(br_socket_fd, BRIDGE_NAME, DEFAULT_BRIDGE_IF, true); !error.empty()) {
        return cleanUp(error);
    }

This disables the respective command line commands that you can see in the trace statements.

@uweseimet Thanks for all the guidance on how to compile the code.
I've now installed clang, and running make with -j1, CXX=clang++ and DEBUG=1 doesn't seem to cause the Pi Zero to hang, but make now fails with an error:
$ make -j1 CXX=clang++ Debug=1
make -C cpp
make[1]: Entering directory '/home/frank/source/scsi2pi/cpp'
mkdir -p lib
mkdir -p obj
mkdir -p generated
protoc -I ../proto --cpp_out=generated ../proto/s2p_interface.proto
mv generated/s2p_interface.pb.cc generated/s2p_interface.pb.cpp
clang++ -O3 -Wall -DNDEBUG -std=c++20 -iquote . -D_FILE_OFFSET_BITS=64 -DFMT_HEADER_ONLY -DSPDLOG_FMT_EXTERNAL -MD -MP -Wall -Wextra -Wno-psabi  -DBOARD_FULLSPEC -DBUILD_MODE_PAGE_DEVICE -DBUILD_DISK -DBUILD_SCHD -DBUILD_MODE_PAGE_DEVICE -DBUILD_DISK -DBUILD_SCMO -DBUILD_MODE_PAGE_DEVICE -DBUILD_DISK -DBUILD_SCCD -DBUILD_SCDP -DBUILD_SCLP -DBUILD_MODE_PAGE_DEVICE -DBUILD_SCHS -DBUILD_DISK -DBUILD_SAHD -c shared_command/command_dispatcher.cpp -o obj/command_dispatcher.o
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.	Program arguments: clang++ -O3 -Wall -DNDEBUG -std=c++20 -iquote . -D_FILE_OFFSET_BITS=64 -DFMT_HEADER_ONLY -DSPDLOG_FMT_EXTERNAL -MD -MP -Wall -Wextra -Wno-psabi -DBOARD_FULLSPEC -DBUILD_MODE_PAGE_DEVICE -DBUILD_DISK -DBUILD_SCHD -DBUILD_MODE_PAGE_DEVICE -DBUILD_DISK -DBUILD_SCMO -DBUILD_MODE_PAGE_DEVICE -DBUILD_DISK -DBUILD_SCCD -DBUILD_SCDP -DBUILD_SCLP -DBUILD_MODE_PAGE_DEVICE -DBUILD_SCHS -DBUILD_DISK -DBUILD_SAHD -c shared_command/command_dispatcher.cpp -o obj/command_dispatcher.o
1.	<eof> parser at end of file
2.	Code generation
3.	Running pass 'Function Pass Manager' on module 'shared_command/command_dispatcher.cpp'.
4.	Running pass 'AArch64 Assembly Printer' on function '@_ZN6spdlog6logger5cloneENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE'
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
/lib/aarch64-linux-gnu/libLLVM-14.so.1(_ZN4llvm3sys15PrintStackTraceERNS_11raw_ostreamEi+0x44)[0x7f7a3be4dc]
/lib/aarch64-linux-gnu/libLLVM-14.so.1(_ZN4llvm3sys17RunSignalHandlersEv+0x70)[0x7f7a3bc4b4]
/lib/aarch64-linux-gnu/libLLVM-14.so.1(+0xdcb1c0)[0x7f7a2eb1c0]
linux-vdso.so.1(__kernel_rt_sigreturn+0x0)[0x7f82c2f7bc]
/lib/aarch64-linux-gnu/libLLVM-14.so.1(+0x132a9f0)[0x7f7a84a9f0]
/lib/aarch64-linux-gnu/libLLVM-14.so.1(_ZN4llvm11raw_ostream5writeEPKcm+0x164)[0x7f7a39b49c]
/lib/aarch64-linux-gnu/libLLVM-14.so.1(_ZN4llvm9MCContext16createTempSymbolERKNS_5TwineEb+0xb4)[0x7f7b751048]
/lib/aarch64-linux-gnu/libLLVM-14.so.1(_ZN4llvm9MCContext16createTempSymbolEv+0x3c)[0x7f7b7513f0]
/lib/aarch64-linux-gnu/libLLVM-14.so.1(_ZN4llvm16MCObjectStreamer18emitCFIEndProcImplERNS_16MCDwarfFrameInfoE+0x1c)[0x7f7b775c6c]
/lib/aarch64-linux-gnu/libLLVM-14.so.1(+0x165f4c0)[0x7f7ab7f4c0]
/lib/aarch64-linux-gnu/libLLVM-14.so.1(_ZN4llvm10AsmPrinter16emitFunctionBodyEv+0x264c)[0x7f7ab60b6c]
/lib/aarch64-linux-gnu/libLLVM-14.so.1(+0x2764ba4)[0x7f7bc84ba4]
/lib/aarch64-linux-gnu/libLLVM-14.so.1(_ZN4llvm19MachineFunctionPass13runOnFunctionERNS_8FunctionE+0x140)[0x7f7a71122c]
/lib/aarch64-linux-gnu/libLLVM-14.so.1(_ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE+0x26c)[0x7f7a4f4390]
/lib/aarch64-linux-gnu/libLLVM-14.so.1(_ZN4llvm13FPPassManager11runOnModuleERNS_6ModuleE+0x3c)[0x7f7a4faf70]
/lib/aarch64-linux-gnu/libLLVM-14.so.1(_ZN4llvm6legacy15PassManagerImpl3runERNS_6ModuleE+0x7b4)[0x7f7a4f4d98]
/lib/aarch64-linux-gnu/libclang-cpp.so.14(_ZN5clang17EmitBackendOutputERNS_17DiagnosticsEngineERKNS_19HeaderSearchOptionsERKNS_14CodeGenOptionsERKNS_13TargetOptionsERKNS_11LangOptionsEN4llvm9StringRefEPNSE_6ModuleENS_13BackendActionESt10unique_ptrINSE_17raw_pwrite_streamESt14default_deleteISK_EE+0xad0)[0x7f80ffc680]
/lib/aarch64-linux-gnu/libclang-cpp.so.14(+0x1b06f20)[0x7f812b6f20]
/lib/aarch64-linux-gnu/libclang-cpp.so.14(_ZN5clang8ParseASTERNS_4SemaEbb+0x210)[0x7f801f6f1c]
/lib/aarch64-linux-gnu/libclang-cpp.so.14(_ZN5clang14FrontendAction7ExecuteEv+0x80)[0x7f81bb4444]
/lib/aarch64-linux-gnu/libclang-cpp.so.14(_ZN5clang16CompilerInstance13ExecuteActionERNS_14FrontendActionE+0x328)[0x7f81b27d28]
/lib/aarch64-linux-gnu/libclang-cpp.so.14(_ZN5clang25ExecuteCompilerInvocationEPNS_16CompilerInstanceE+0x218)[0x7f81c27d20]
clang++(_Z8cc1_mainN4llvm8ArrayRefIPKcEES2_Pv+0x810)[0x413608]
clang++[0x411df4]
/lib/aarch64-linux-gnu/libclang-cpp.so.14(+0x207c5fc)[0x7f8182c5fc]
/lib/aarch64-linux-gnu/libLLVM-14.so.1(_ZN4llvm20CrashRecoveryContext9RunSafelyENS_12function_refIFvvEEE+0xcc)[0x7f7a2eae94]
/lib/aarch64-linux-gnu/libclang-cpp.so.14(_ZNK5clang6driver10CC1Command7ExecuteEN4llvm8ArrayRefINS2_8OptionalINS2_9StringRefEEEEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPb+0x120)[0x7f8182c000]
/lib/aarch64-linux-gnu/libclang-cpp.so.14(_ZNK5clang6driver11Compilation14ExecuteCommandERKNS0_7CommandERPS3_+0x2b0)[0x7f81800f50]
/lib/aarch64-linux-gnu/libclang-cpp.so.14(_ZNK5clang6driver11Compilation11ExecuteJobsERKNS0_7JobListERN4llvm15SmallVectorImplISt4pairIiPKNS0_7CommandEEEE+0x7c)[0x7f8180118c]
/lib/aarch64-linux-gnu/libclang-cpp.so.14(_ZN5clang6driver6Driver18ExecuteCompilationERNS0_11CompilationERN4llvm15SmallVectorImplISt4pairIiPKNS0_7CommandEEEE+0xd8)[0x7f818150c4]
clang++(main+0x23d4)[0x411648]
/lib/aarch64-linux-gnu/libc.so.6(+0x27780)[0x7f79097780]
/lib/aarch64-linux-gnu/libc.so.6(__libc_start_main+0x98)[0x7f79097858]
clang++(_start+0x30)[0x40eef0]
clang: error: clang frontend command failed with exit code 139 (use -v to see invocation)
Debian clang version 14.0.6
Target: aarch64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
clang: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /tmp/command_dispatcher-5a81c0.cpp
clang: note: diagnostic msg: /tmp/command_dispatcher-5a81c0.sh
clang: note: diagnostic msg:

********************
make[1]: *** [Makefile:282: obj/command_dispatcher.o] Error 139
make[1]: Leaving directory '/home/frank/source/scsi2pi/cpp'
make: *** [Makefile:10: cpp] Error 2

@fdanapfel It must be "DEBUG", not "Debug". If this does not work then I don't know what's wrong. Compiling (PiSCSi and SCSi2Pi) definitely works fine on numerous platforms. And on a Pi anyway.
The fact that the compiler crashes indicates that there is a basic issue with your environment, which is not related to the sources.

@fdanapfel Ensure that you run "make clean" first, in order to delete everything that might have been created by g++ before.

@uweseimet Did "make clean" and then ran "make -j1 CXX=clang++" but it still crashes with the same error.
I'm using the standard Raspberry Pi OS 12 (bookworm) arm64 image, and the only modifications that I've done is to install the devel packages for scsi2p and add all the packages you have listed that are required for compiling scsi2p (including their dependencies) and then added clang (plus its dependencies) later on as you mentioned.
No modifications besides that have been done to the setup. So it is either an issue with the clang provided by bookworm, or the Pi Zero 2 W is simply not powerful enough for compiling stuff.
I don't have any more time until next week to look into getting the compilation to work. So unless  you are able to provide a development version of the scsi2pi .deb that includes the changes I won't be able to do any testing to verify that your changes work for me as well at the moment.

@fdanapfel Because I could test this myself I will commit these changes later, so that tomorrow there will be a new develop build with them.
But, of course, as soon as your tickets require changes for problems that only you can reproduce it would definitely be required that you have a working compiler environment. Not only for SCSI2Pi, but also for PiSCSI.
On my Pi 4 I am also using the standard bookworm arm64 image, by the way.

@uweseimet I've now tried to just start over from scratch by removing the cloned scsi2pi directory, and then clone it again and just run make without switching to the branch, and this now seems to work without the clang error (the compilation is still running after 15 mins, whereas before it almost immediately failed):
$ rm -rf scsi2pi/
$ git clone https://github.com/uweseimet/scsi2pi
Cloning into 'scsi2pi'...
remote: Enumerating objects: 1611, done.
remote: Counting objects: 100% (1374/1374), done.
remote: Compressing objects: 100% (778/778), done.
remote: Total 1611 (delta 969), reused 783 (delta 596), pack-reused 237
Receiving objects: 100% (1611/1611), 544.72 KiB | 1.73 MiB/s, done.
Resolving deltas: 100% (1072/1072), done.
$ cd scsi2pi/
$ export CXXFLAGS="clang++"
$ make -j1
make -C cpp
make[1]: Entering directory '/home/frank/source/scsi2pi/cpp'
mkdir -p lib
mkdir -p obj
mkdir -p generated
protoc -I ../proto --cpp_out=generated ../proto/s2p_interface.proto
mv generated/s2p_interface.pb.cc generated/s2p_interface.pb.cpp
g++ clang++ -O3 -Wall -DNDEBUG -std=c++20 -iquote . -D_FILE_OFFSET_BITS=64 -DFMT_HEADER_ONLY -DSPDLOG_FMT_EXTERNAL -MD -MP -Wall -Wextra -Wno-psabi  -DBOARD_FULLSPEC -DBUILD_MODE_PAGE_DEVICE -DBUILD_DISK -DBUILD_SCHD -DBUILD_MODE_PAGE_DEVICE -DBUILD_DISK -DBUILD_SCMO -DBUILD_MODE_PAGE_DEVICE -DBUILD_DISK -DBUILD_SCCD -DBUILD_SCDP -DBUILD_SCLP -DBUILD_MODE_PAGE_DEVICE -DBUILD_SCHS -DBUILD_DISK -DBUILD_SAHD -c shared_command/command_dispatcher.cpp -o obj/command_dispatcher.o

So the clang error seems to have been caused by running git checkout issue_45 before running make.
If compiling now works I'll try to switch to the development branch and see if this works as well.

@fdanapfel This sounds as if something in the previously checked out data was corrupted.
I see that you are compiling an optimized version again (no DEBUG=1). Remember, this makes compiling even slower than it is anyway. But, of course, the perfomance of the result (transfer rate) is significantly better.
I also see that something is still wrong "g++ clang++" is not valid, this must be "clang++" only, because the idea is to replace g++ by clang++. This apperas to be caused by a bug in the Makefile, I can reproduce it.
As a work-around, just replace g++ by clang++ directly in the Makefile.

@uweseimet Thanks for the suggestion, but I gave up for now on figuring out why compiling won't work.
But I was now able to verify that after installing scsi2pi_2.0_devel_9881ef7_bookworm_arm64-1.deb the piscsi_bridge is now removed as well when the daynaport is detached:
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet <IP_ADDRESS>/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute
       valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether e4:5f:01:78:10:a2 brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global dynamic noprefixroute wlan0
       valid_lft 863943sec preferred_lft 863943sec
    inet6 2003:c9:d701:1200:470a:d09a:e629:147e/64 scope global dynamic noprefixroute
       valid_lft 7146sec preferred_lft 3546sec
    inet6 fe80::8d9b:2326:42e9:e441/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
$ /opt/scsi2pi/bin/s2pctl -l
No devices currently attached.
$ /opt/scsi2pi/bin/s2pctl -i 6 -c a -t daynaport
$ /opt/scsi2pi/bin/s2pctl -l
+----+-----+------+-------------------------------------
| ID | LUN | TYPE | IMAGE FILE
+----+-----+------+-------------------------------------
|  6 |   0 | SCDP | DaynaPort SCSI/Link
+----+-----+------+-------------------------------------
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet <IP_ADDRESS>/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute
       valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether e4:5f:01:78:10:a2 brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global dynamic noprefixroute wlan0
       valid_lft 863884sec preferred_lft 863884sec
    inet6 2003:c9:d701:1200:470a:d09a:e629:147e/64 scope global dynamic noprefixroute
       valid_lft 7165sec preferred_lft 3565sec
    inet6 fe80::8d9b:2326:42e9:e441/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
3: piscsi0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master piscsi_bridge state UNKNOWN group default qlen 1000
    link/ether 0a:a9:99:b7:0b:58 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::8a9:99ff:feb7:b58/64 scope link
       valid_lft forever preferred_lft forever
4: piscsi_bridge: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 0a:a9:99:b7:0b:58 brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global piscsi_bridge
       valid_lft forever preferred_lft forever
    inet6 fe80::4434:6eff:fe1a:711/64 scope link
       valid_lft forever preferred_lft forever
$ /opt/scsi2pi/bin/s2pctl -i 6 -c d -t daynaport
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet <IP_ADDRESS>/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute
       valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether e4:5f:01:78:10:a2 brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global dynamic noprefixroute wlan0
       valid_lft 863943sec preferred_lft 863943sec
    inet6 2003:c9:d701:1200:470a:d09a:e629:147e/64 scope global dynamic noprefixroute
       valid_lft 7146sec preferred_lft 3546sec
    inet6 fe80::8d9b:2326:42e9:e441/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

Thanks for getting this fixed!

@fdanapfel Thank you for testing. I am going to close this ticket, because the issue in the subject has been resolved. For any further tickets on the network/bridge setup (unless there is a bug) I would like to wait until https://github.com/PiSCSI/piscsi/issues/1387 has been resolved, i.e. until there is a potentially new final setup for PiSCSI. If this setup requires changes or triggers improvements in SCSI2Pi these should be addressed in a new ticket.
Note that the next development build will contain one more change for this ticket: IMO s2p should not remove the bridge if it has not also created it. If the bridge was present before s2p was lauched, this is an external setup and s2p should not interfere with it.


feat(user registeration): implemented user registeration endpoint and…

… swagger api docs and email password registration have been implemented run it locally check the swagger api to see the response structure if any problem or updates let me know please

am still to add unit test that will be done tommorow


feat: api of DingTalk notification bot

Signed-off-by: Bird<EMAIL_ADDRESS>Pre-Checklist
Note: please complete ALL items in the following checklist.

[x] I have read through the CONTRIBUTING.md documentation.
[x] My code has the necessary comments and documentation (if needed).
[x] I have added relevant tests

Description
Add DingTalk bots into Jenkins to support DingTalk Notifications.
Related Issues
Core Part of step 2 in #1086
New Behavior (screenshots if needed)
1. add one bot
Code:

Result:

2. add two new bots and override the first bot
Code:

Result:

I removed the json sample and example_test.go, which you can find in the commit history.

you don't install this plugin in code, maybe you can refer to pkg/util/jenkins/plugins.go for more info

You wrote the main entrance to this last feature, so I think it's more appropriate for you to complete it. I've marked the id of the plugin in the comments, but of course I can write it, it's just a function call.


BarCode show not properly

Add BarCodeView and generate code, after push screen it showing not all, and some yellow line

@olegek I would recommend to add import AVFoundation and the yellow line will be disappeared.
let barcodeView = BarCodeView(frame: .init(x: 0, y: 0, width: size.width, height: size.height))
barcodeView.bgColor = .white
barcodeView.drawableColor = .black
barcodeView.barCode = "5702252563436"
barcodeView.shouldShowNumbers = true
let image = barcodeView.image()

@olegek the yellow line could be removed by setting bgColor which has 3 components (RGB). For example, barcodeView.bgColor = .init(red: 254, green: 254, blue: 254)
let barcodeView = BarCodeView(frame: .init(x: 0, y: 0, width: size.width, height: size.height))
barcodeView.barCode = self
barcodeView.bgColor = .init(red: 254, green: 254, blue: 254)
barcodeView.drawableColor = .black
barcodeView.shouldShowNumbers = true


tileConsumerAndFuseProducersUsingScf stuck in the infinite loop.

What happened?
The pass calls the function and it's stuck in the while loop here: https://github.com/llvm/llvm-project/blob/ac5a2010ad35a72de3e75a1883e2495345b92a73/mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp#L1482
Steps to reproduce your issue
Input IR:
  func.func @time_out_dispatch_0_unpack_elementwise_1x1x1152_f32() attributes {translation_info = #iree_codegen.translation_info<CPUDoubleTilingExpert>} {
    %c0 = arith.constant 0 : index
    %0 = hal.interface.binding.subspan layout(<bindings = [#hal.pipeline.binding<storage_buffer, "ReadOnly|Indirect">, #hal.pipeline.binding<storage_buffer, "ReadOnly|Indirect">, #hal.pipeline.binding<storage_buffer, Indirect>], flags = Indirect>) binding(0) alignment(64) offset(%c0) flags("ReadOnly|Indirect") : !flow.dispatch.tensor<readonly:tensor<1x1x288x8x4xf32>>
    %1 = hal.interface.binding.subspan layout(<bindings = [#hal.pipeline.binding<storage_buffer, "ReadOnly|Indirect">, #hal.pipeline.binding<storage_buffer, "ReadOnly|Indirect">, #hal.pipeline.binding<storage_buffer, Indirect>], flags = Indirect>) binding(1) alignment(64) offset(%c0) flags("ReadOnly|Indirect") : !flow.dispatch.tensor<readonly:tensor<1x1x1152xf32>>
    %2 = hal.interface.binding.subspan layout(<bindings = [#hal.pipeline.binding<storage_buffer, "ReadOnly|Indirect">, #hal.pipeline.binding<storage_buffer, "ReadOnly|Indirect">, #hal.pipeline.binding<storage_buffer, Indirect>], flags = Indirect>) binding(2) alignment(64) offset(%c0) flags(Indirect) : !flow.dispatch.tensor<writeonly:tensor<1x1x1152xf32>>
    %3 = flow.dispatch.tensor.load %0, offsets = [0, 0, 0, 0, 0], sizes = [1, 1, 288, 8, 4], strides = [1, 1, 1, 1, 1] : !flow.dispatch.tensor<readonly:tensor<1x1x288x8x4xf32>> -> tensor<1x1x288x8x4xf32>
    %4 = flow.dispatch.tensor.load %1, offsets = [0, 0, 0], sizes = [1, 1, 1152], strides = [1, 1, 1] : !flow.dispatch.tensor<readonly:tensor<1x1x1152xf32>> -> tensor<1x1x1152xf32>
    %5 = tensor.empty() : tensor<1x1x1152xf32>
    %unpack = tensor.unpack %3 outer_dims_perm = [0, 1, 2] inner_dims_pos = [1, 2] inner_tiles = [8, 4] into %5 {lowering_config = #iree_codegen.lowering_config<tile_sizes = [[0, 0, 1152], [1, 8, 16], [0, 0, 0], [0, 0, 0]]>} : tensor<1x1x288x8x4xf32> -> tensor<1x1x1152xf32>
    %6 = linalg.generic {indexing_maps = [affine_map<(d0, d1, d2) -> (d0, d1, d2)>, affine_map<(d0, d1, d2) -> (d0, d1, d2)>, affine_map<(d0, d1, d2) -> (d0, d1, d2)>], iterator_types = ["parallel", "parallel", "parallel"]} ins(%4, %unpack : tensor<1x1x1152xf32>, tensor<1x1x1152xf32>) outs(%5 : tensor<1x1x1152xf32>) attrs =  {lowering_config = #iree_codegen.lowering_config<tile_sizes = [[0, 0, 1152], [1, 8, 16], [0, 0, 0], [0, 0, 0]]>} {
    ^bb0(%in: f32, %in_0: f32, %out: f32):
      %7 = arith.addf %in, %in_0 : f32
      linalg.yield %7 : f32
    } -> tensor<1x1x1152xf32>
    flow.dispatch.tensor.store %6, %2, offsets = [0, 0, 0], sizes = [1, 1, 1152], strides = [1, 1, 1] : tensor<1x1x1152xf32> -> !flow.dispatch.tensor<writeonly:tensor<1x1x1152xf32>>
    return
  }

Pass:
iree-opt --pass-pipeline="builtin.module(func.func(iree-codegen-tile-and-distribute-to-workgroups-using-forall-op, cse))" --mlir-print-local-scope --split-input-file input.mlir
What component(s) does this issue relate to?
No response
Version information
No response
Additional context
No response

With tensor.unpack with explicit slicing semantics this passes.
  func.func @time_out(%arg0: tensor<1x1x288x8x4xf32>, %arg1: tensor<1152xf32>) -> tensor<1x1x1152xf32> {
    %0 = tensor.empty() : tensor<1x1x1152xf32>
    %1 = tensor.empty() : tensor<1x8x1152xf32>
    %unpack = tensor.unpack %arg0 outer_dims_perm = [0, 1, 2] inner_dims_pos = [1, 2] inner_tiles = [8, 4] into %1 {lowering_config = #iree_codegen.lowering_config<tile_sizes = [[0, 0, 1152], [1, 8, 16], [0, 0, 0], [0, 0, 0]]>} : tensor<1x1x288x8x4xf32> -> tensor<1x8x1152xf32>
    %extracted_slice = tensor.extract_slice %unpack[0, 0, 0] [1, 1, 1152] [1, 1, 1] : tensor<1x8x1152xf32> to tensor<1x1x1152xf32>
    %2 = linalg.generic {indexing_maps = [affine_map<(d0, d1, d2) -> (d2)>, affine_map<(d0, d1, d2) -> (d0, d1, d2)>, affine_map<(d0, d1, d2) -> (d0, d1, d2)>], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg1, %extracted_slice : tensor<1152xf32>, tensor<1x1x1152xf32>) outs(%0 : tensor<1x1x1152xf32>) {
    ^bb0(%in: f32, %in_0: f32, %out: f32):
      %3 = arith.addf %in, %in_0 : f32
      linalg.yield %3 : f32
    } -> tensor<1x1x1152xf32>
    return %2 : tensor<1x1x1152xf32>
  }

I opened a PR upstream which fixes this: https://github.com/llvm/llvm-project/pull/113571

I opened a PR upstream which fixes this: llvm/llvm-project#113571

Thanks, @Max191 , for the fix!

Closing this the fix is merged.

Closing this the fix is merged.

Sounds good. Note that it will not be fixed in IREE until https://github.com/iree-org/iree/pull/18897 lands


uninstall  ThumbnailProcessor incl. Lazy Loading and Webp-Support

Question
how can i uninstall on shopware
i forget all picture if i put the pluggin off
Thanks

thanks
a lot

i need service for my shopware

Sorry, sadly not. Feel free to check #job-ads in slack.shopware.com.


Fix checking whether fzf is already in PATH

Description

The check in fzf plugin for whether it's sourced already was inverted. Let's correct it.

Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] My code follows the code style of this project.
[ ] If my change requires a change to the documentation, I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] If I have added a new file, I also added it to clean_files.txt and formatted it using lint_clean_files.sh.
[ ] I have added tests to cover my changes, and all the new and existing tests pass.

Hi @davidpfarrell, thanks for your comment! I guess I acted frivolously on this and didn't see what I did didn't make any sense. Also, I can address your last point, if you want, since it's a small change and it could be squashed into this PR. I think informing the user about the project's homepage could be done the way it's done for zoxide.


Zero Pad UserEvents metrics breaks if the most recent metric is yesterday

the calculation for determining required zero padded entries, doesn't properly account for the case where there is no entry for today however one exists for yesterday.

:+1:


[FLINK-17994][checkpointing] Fix the race condition between CheckpointBarrierUnaligner#processBarrier and #notifyBarrierReceived

What is the purpose of the change
The race condition happens as following:

CheckpointBarrierUnaligner#notifyBarrierReceived triggers an async checkpoint(ch1) in mailbox by netty thread.
CheckpointBarrierUnaligner#processBarrier also triggers a sync checkpoint(ch2) by task thread and executes immediately.
When ch1 is taken from mailbox by task thread to execute, it will cause illegal argument exception because it is smaller than the previous executed ch2.

For async checkpoint action, before it is actual executing, we can compare its id with previous executed checkpoint id. If it is not larger than the previous one, we should ignore it to exit directly.
Brief change log

Fix the race condition between CheckpointBarrierUnaligner#processBarrier and #notifyBarrierReceived
Recyle the buffer when exception from ChannelStateWriter.addInputData
Fix the formatting of CheckpointBarrierUnaligner

Verifying this change

Added CheckpointBarrierUnalignerTest#testBufferRecycleOnNotifyBufferReceivedException
Added CheckpointBarrierUnalignerTest#testConcurrentProcessBarrierAndNotifyBarrierReceived

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

Just cherry-pick this fix to master from releasee-1.11, which has already been approved before in #12406 , will merge it after azure pass.

@flinkbot run azure


Update tokens.ts

I am updating the contract address for the STAR V2 token i added previously. Previous STAR V2 is 0xacC6DA74d8c0C993d070cfd518Fb86279f3AeAf1. Please remove the old STAR V2 token as it is being replaced with the more current version.

I wasn't able to find the old address. Its not coming up via a search.

Hey there. Are we good to go?


question about pkg:npm in cache

It seems there is now a change. Is this expected? (I guess yes as it looks correct now but it i a bit confusing that both URLs work).
https://github.com/DanielRuf/auditjs-cache/commit/bdc63095c476b6a10e42b1e3126e4eb9f9eabd2a

It is expected. The original audit.js was using an older form of PURLs which did not have the "pkg:" prefix. We have since upgraded to use the more modern PURLs with the prefix, and have updated the cache data along with it.
Old cache files should be cleaned up automatically, all going well.

I believe the contents remained the same. Note that auditjs tries to overwrite the files when it runs, as there may be new vulnerabilities found for a package and those new vulnerabilities would be added to the cache.
The cached files are currently "valid" for 24 hours (I think) at which time auditjs will hit the server for new data.


[AIRFLOW-3059] PostgresToGCS Log the number of rows read

Make sure you have checked all steps below.
Jira

[ ] My PR addresses the following Airflow Jira issues and references them in the PR title. For example, "[AIRFLOW-3059] My Airflow PR"

https://issues.apache.org/jira/browse/AIRFLOW-3059
In case you are fixing a typo in the documentation you can prepend your commit with [AIRFLOW-3059], code changes always need a Jira issue.

Description

[ ] Here are some details about my PR, including screenshots of any UI changes:

Tests

[ ] My PR adds the following unit tests OR does not need testing for this extremely good reason:

Commits

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

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

Documentation

[ ] In case of new functionality, my PR adds documentation that describes how to use it.

When adding new operators/hooks/sensors, the autoclass documentation generation needs to be added.

Code Quality

[ ] Passes git diff upstream/master -u -- "*.py" | flake8 --diff

@kaxil I've refactored the code a bit, let me know what you think. This changes the behaviour though, the main question is, do we want to create a file if there is nothing to write?

I agree with this logic. Can we add tests to check that the file is not created when there are no rows.


Library Path Error for custom library folder

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Versions

terraform:
1.4.6 (TF Cloud)
azure provider:
azurerum
module:
Terraform-Azurerm-caf-enterprise-scale
Description
Describe the bug

I have put in the library_path   = "${path.root}/lib" statement in my main.tf and added a /lib folder to the root of my Azure DevOPs repo.  When I do that I get the following error attached.  Looks like I must be missing a step or something.
I am fairly new to this and have had success with all of the docs except this section, which I really need to customize things.
Steps to Reproduce

Updated my main.tf with library_path   = "${path.root}/lib"
Created the /lib folder in the root of my repo related to my Terraform private registry.
Run TF Cloud Plan

Screenshots

Additional context

Hi @avenson278
It looks like the lib folder is not available in TF cloud. Can you verify if you can include additional files? Perhaps it only clones one level.

@matt-FFFFFF - I am a little confused about where the /lob folder should be.  I have an Azure DevOps repo for my TF workspace and a repo where I forked the CAF v4.0.2 for my private registry.  I placed the lib folder in the repo where the fork was imported into my devops repo. (https://teamsevtech@dev.azure.com/teamsevtech/SEVTECH/_git/terraform-azurerm-caf/lib).
The repo I pont TF Cloud to is<EMAIL_ADDRESS> this repo is where I have my main.tf, terraform.tf and variables.tf.  if works for my default config and deploys via TF cloud to my Azure PAYG account fine.  it is just when I try to customize I run into issues.  Do I need to have the lib folder in this repo??
Thank you for your help, I am a rookie on this but love this TF module for my project.

How would I verify if I can include additional files?

Glad to hear it. Closing this!


cranelift-serde "Error("key must be a string", line: 0, column: 0)"

When I used cranelift-serde to convert Cranelift IR to JSON, the following error occurred:
thread 'main' panicked at C:\Users\Admin\.cargo\registry\src\index.crates.io-6f17d22bba15001f\cranelift-serde-0.110.2\src/clif-json.rs:18:54:
called `Result::unwrap()` on an `Err` value: Error("key must be a string", line: 0, column: 0)
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

wasm_func_10_clif.zip

I don't think serializing to JSON will work. There are a couple of places where Cranelift uses a HashMap with a non-string key, which JSON doesn't allow. Serializing to a binary format like postcard should work though.

Sounds like this is an expected error, so I'm going to close.

I think we should remove the cranelift-serde crate as the only thing it does is trying to json serialize the cranelift ir. Cranelift-codegen already has all necessary serde implementations.

Ah ok, I'll reopen then


permission directive could watch for changes?

Hi!
(very big thank you for this project, I missed this functionalities a lot!)
I am currently using 2.0.6 and I really like the idea of letting the permissions to control more than just the routing. For some time now I had been using my custom solution for handling showing/hiding some HTML elements. I gave your solution a shot.
What I believe it lacks is the possibility to re-run the directive function when some permissions (or user) change. In my case f.e. I need to hide a menu-bar when someone logs out from the app. But to show it, when he logs in. It happens without refreshing of the application.
The solution I am currently using looks like this:
angular
        .module('app.permissions')
        .directive('accessLevel', AccessLevel);

    /* @ngInject */
    function AccessLevel(Roles, $rootScope) {
        return {
            restrict: 'A',
            link: function (scope, element, attrs) {
                function update() {
                    Roles.isUserInRole(attrs.accessLevel).then(function () {
                        element.removeClass('unauthorized');
                    }, function () {
                        element.addClass('unauthorized');
                    });
                }

                update();
                $rootScope.$on('user:change', update);
            }
        };
    }

It's obvious weakness is that I need to emit 'user:change' at some points in my application, but the whole thing works. Currently I do not have better idea to handle it, but I am willing to brainstorm and contribute to the project :).
Cheers!

@masterspambot I can try to present a plunker, but it still does not work for me. Shoud I emit some code or do something special to refresh the directive?

Hi, whit last commit to permissionDirective.js (4c7a14 #150), permission directive is not working properly for me. It always execute
element.removeClass('ng-hide');
because
 only: permission.only, except: permission.except
are always empty.
Maybe has the view usage change since last commit?
If I revert to previous permissionDirective.js everything is working as expected. I'm using it as show below:

             Director

             No director

Thank you.

Seems like attributes are not binding to controller as defined in
        bindToController: {           only: '=',           except: '='         },
I'm now suspecting that is because of my setup, since I'm using ionic framework, bundle with angular 1.4.3 .
Code seems perfect : only and except attributes should be two-ways binded :(

@masterspambot I have created a simple plunker to show you my problem.
http://plnkr.co/edit/RvjmaM?p=preview
The deal is, in script.js - set the var user to 'user' or undefined.
This is a simulation of what happens in my application.
Sometimes, during the app initialization the user is already logged in. I restore the session from the server, sometimes it is not possible. And then he logs in manually.
The problem is, when I update the user in application - I change his permissions and this change is not seen by the directive.
What could be done?

In my case it's still not working. permission.only and permission.except are still undefined in the controller. I'm pretty new in angular but I would say that this code should work as expected. Maybe it's an issue with ionic setup but it's weird since it uses angular 1.4.3 which already has bindToController feature...

I had the same issue that @gartorware, I could fix it by updating all my dependencies to angular#1.5.3.

Hi Guys,
Thanks for the important discussion, I want to ask  one question, I am using the version 4.0.6 and what i am trying to do is just to hide some menus when the role changed without loading the page,
I mean i have a drop down selector from where user can change its role (User have different roles for different companies) so, when user can change its role, i have to hide some menus but it seems that its does not work, I think i have to pass $scope variable in "permission-only" directive with some roles permissions because inside the directive, watcher is watching on permission-only attribute but when i change my role selector there is no effect on the permission-only directive.
Please correct me Or tell me a different way if i am wrong!
Thanks :)


Explain multiple language server selection

The protocol needs to explain how the language servers are selected when multiple language servers are registered to work on the same artifact. This can provide guidance to especially adopting clients and improve consistency.

I don't think it's something the protocol can easily specify. Multiple opposite strategies are possible, and there isn't one that seems much better than the other. For example

a LS providing basic XML grammar support + a LS providing specific additions for some tags => you'd like your editor to show the results of both servers
a LS providing basic XML grammar support + a LS built on top of it providing XML grammar and additions for some tag => you'd like your editor to show only the later one.
The protocol might provide way to help integrators and editors to take the best choice, but I don't think it's a good thing to enforce an architecture for such.

In LSP4E, we do merge the results of all LS whenever possible, and try to deduplicate results (in completion for instance). However, it's quite weak.
Note that for diagnostics/error reporting, it's not much an issue to get 2 markers for the same error.

Agree with @mickaelistria. This is nothing the protocol can specify since it is a client/tool decision and should be consistent with the tool. For example VS Code merges the results since it also merges the results from 'normal' extensions (no server implementations) for things like code complete. For formatting it picks one based on user settings and scores.
Another client may only honor a single extension for a language feature. In this case if language features are implemented using a server then it should honor the same strategy. Otherwise the user experience in the tool is hard to understand.
I will close since I believe leaving this up to the client to make client behavior consistent is the right thing to do.


[bug?] Command open link under cursor in new hover editor doesn't work on URI to files or weblinks.

Try using this command to open a video timestamp link and display the video player in a popover in just one step, but there is no response.
Also having tested in the sandbox vault that it also fails to open a URI link to a local MD file or an external link while collaborating with the third-party plugin Surfing.

As a workaround, you can open the link in a new tab, then use the "Convert current tab to Hover Editor" command.  Currently it isn't possible to hover things that aren't files in the current vault, as nothing generates preview events for them.  Obsidian and other plugins only generate hover preview events for files, not URLs.


Allow to set a specific port for VBMC daemon

This port wasn't documented, and of course may conflict if you have a
pre-existing VBMC service running on the host (especially in devscripts
scenario).
This patch adds a minimalistic VirtualBMC configuration file to the
container, allowing to set a specific port for the main daemon.
The patch also updates the va-hci.yml scenario file to allow a smoother
deployment.
As a pull request owner and reviewers, I checked that:

[X] Appropriate testing is done and actually running
[X] Appropriate documentation exists and/or is up-to-date:
[X] README in the role

Reference to the configuration is nested in VBMC code:
https://github.com/openstack/virtualbmc/blob/9e46c0c174679095453183575e470eda063b2dbe/virtualbmc/config.py#L32-L53

/approve

recheck

recheck


UofT-DSI | Production - Assignment 1

What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports)
Assignment 1 submission
What did you learn from the changes you have made?
I learned how to handle data using dask dataframes and parquet format for optimized storage.  Also learned how to use environment variables for flexible settings and combining Jupyter notebooks with source code for more streamlined and robust workflows.
Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?
N/A
Were there any challenges? If so, what issue(s) did you face? How did you overcome it?
Challenges I faced in this assignment were related to using the environment variables which related to the folder structure of the assignment. I overcame these challenges by reading the reference material provided and 'reverse engineering' how 02_data_engineering.ipynb worked.
How were these changes tested?
This code was run locally to ensure outputs were correct.
A reference to a related issue in your repository (if applicable)
N/A
Checklist

[x] I can confirm that my changes are working as intended

A1 incomplete: need to use group-by ticker to calculate rolling average as well

Updated to include groupby ticker to calculate rolling average. @ananyajha2000

A1 complete


Add SNS subscriptions to queues

I assum this could be a common usecase
constructs:
  my-queue:
    type: queue
    subscriptions:
    - arn:aws:sns:us-east-1:1234567890:my-topic
    - arn:aws:sns:eu-west-1:1234567890:my-othertopic

What would be the use case?

Subscribe sqs queues to sns topics
On Fri, 16 Sept 2022, 09:18 Matthieu Napoli, @.***>
wrote:

What would be the use case?
—
Reply to this email directly, view it on GitHub
https://github.com/getlift/lift/issues/266#issuecomment-1249294442, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AASA3LTOJZUFIB6IXZF56N3V6RQRJANCNFSM6AAAAAAQNNFOXA
.
You are receiving this because you authored the thread.Message ID:
@.***>

What would be the use case?

A common pattern, usually called "fanout", is to subscribe SQS queues to SNS topics. AWS documentation has a basic example of the pattern here: https://aws.amazon.com/getting-started/hands-on/send-fanout-event-notifications/
Here's an example of what the CloudFormation configuration looks like (there's probably a CDK example out there too): https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#aws-resource-sns-subscription--examples--Create_a_subscription_with_optional_attributes--yaml
Note the protocol set to sqs.

What would be the use case?

A common pattern, usually called "fanout", is to subscribe SQS queues to SNS topics. AWS documentation has a basic example of the pattern here: https://aws.amazon.com/getting-started/hands-on/send-fanout-event-notifications/
Here's an example of what the CloudFormation configuration looks like (there's probably a CDK example out there too): https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#aws-resource-sns-subscription--examples--Create_a_subscription_with_optional_attributes--yaml
Note the protocol set to sqs.

Exactly this, I'm experiencing this on a project at the moment and have seen this used before in a few places, it's quite common for allowing resilient simplified async processing of independent pipelines e.g.

I've had a stab at implementing this, see #344
I would appreciate any help simplifying or helping to resolve the issue about having to use ARN strings instead of Refs.

sorry to chase up on this, after doing a little bit of digging I still can't find the "plugin way" to resolve refs in the linked PR e.g.
constructs:
  ## adds a simple queue and unfiltered subscription
  my-queue:
    type: queue
    worker:
      handler: worker.handler
    subscriptions:
      - topic: !Ref MyTopic # this doesn't work

does anyone have any reference material for working with refs that need to be resolved dynamically with lift?

I've opened a discussion for this too https://github.com/getlift/lift/discussions/345

Managed to resolve it, PR now ready https://github.com/getlift/lift/pull/344

@cmcnicholas it seems that your PR never got merged? It's such a nice feature

@cmcnicholas it seems that your PR never got merged? It's such a nice feature

Yer is a shame, I feel like this is a really common pattern.
I've forked and been using it in a live project for a few months now so feel free to do the same until it maybe ends up in lift natively.

@mnapoli Would you consider merging/looking into @cmcnicholas's PR? The fanout pattern described above is very useful and without this PR, we are currently having to manually create the SNS subscription for the SQS queue created with lift.

@mnapoli , this pattern is almost universal. Not sure, why this is not getting the love it deserves :)


Correctly calculate bonuses, output bonus amounts

@pwnetrationguru
Now we calculate which reports are eligible for bonuses and
output the bonus per the formula in our blog post.

Besides one comment/question, LGTM


No response when displaying some pdfs on websites using PDF.js from iOS16 WebKit

Attach (recommended) or Link to PDF file here:
https://www.kitaiku.com/wp-content/uploads/2019/09/f60e89a5a2c92a649cd550661c9954dc.pdf
If the file is more than 10MB or more than 10P pdf, there is a high probability that it will be reproduced.
Configuration:

Web browser and its version: Safari 16 and corresponding WebKit
Operating system and its version: iOS 16 or later
PDF.js version: v3.4.120 (latest as of 2023/3/13)
Is a browser extension: none

Steps to reproduce the problem:

prepare a pdf file that meets one of the following criteria: 10MB or 10P or more
access the pdf.js demo page with Safari or an app using WebKit (https://mozilla.github.io/pdf.js/web/viewer.html)
click the "Open File" button to open the file selection dialog
select the PDF file you prepared in step 1
scroll, zoom in/out, etc. on the displayed

What is the expected behavior? (add screenshot)

PDF can be viewed in response to the operation.

What went wrong? (add screenshot)

Operation becomes impossible

Supplemental information

This does not occur on iOS 14 and 15.
When WKWebView is frozen, the app itself is running and UIButton and other functions are working.
The same website cannot be operated even when opened on the Safari app of iOS16.
In Safari, disabling GPU DOM Rendering in the device settings improves the issue (SFSafariViewController also improves as if the settings are synced).
(The problem cannot be improved because it cannot be disabled in WKWebView settings.

Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension):

Operating system and its version: iOS 16 or later
[...]
This does not occur on iOS 14 and 15.

Based on the above this really sounds like a regression in the browser/platform itself, rather than a PDF.js issue as such, and consequently it's unfortunately difficult to see that we can realistically address it here (and please keep in mind that Firefox is the primary development target).
Most likely, this needs to be reported to Apple instead.


black screen

Describe the bug
A clear and concise description of what the bug is.
Screenshots
If applicable, add screenshots to help explain your problem.
System Information (please complete the following information):

macOS: [e.g. 13.1 Ventura]
Device: [e.g. MacbookPro 16inch 2019 ]
CPU: [e.g. Apple M1 ]
RAM: [e.g. 16G ]

Additional context
hey, the anime game When I start to play a quest it runs for a few minutes but after that shows a black screen
Logs (if any)

If it's related to the launcher, upload neutralinojs.log in Yaagl Data Directory

If it's related to the game, upload `logs/game_{timestamp}.log in Yaagl Data Directory

I have this bug
macOS : 13.4.1
Device : MacbookAir 13inch 2022
CPU : Apple M2
RAM : 16GB

Do you still have this issue?

No replies so I will close this issue for now, feel free to reopen if the problem persists.


SITKImage to VtkImageData

If there isnt a method yet converting sitkimage to vtkImageData, this would be a awsome feature

This would be quite a useful tool. However, I think it should be a separate python module and not in SimpleITK. There is certainly a need for a hight level SimpleITK package with contains algorithms and other functionality based on the SimpleITK python module along and in combination with other modules.

I wrote a module to do that for another project that you're free to use.
https://github.com/dave3d/dicom2stl/blob/master/sitk2vtk.py


planet colonizer added

PR Description 📜
added planet colonizer
added required

html,css file
game logic in js
readme file for game
game entry in readme and json
added image in assets

Fixes #4287

Mark the task you have completed ✅

[x] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[x] I have added screenshot for website preview in assets/images
[x] I have added entries for my game in main README.md
[x] I have added README.md in my folder
[x] I have specified the respective issue number for which I have requested the new game.

Add your screenshots(Optional) 📸

Thank you soo much for contributing to our repository 💗

Thank you @Yashgabani845 ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

@ishita-43  kindly review this PR
i have one evry steps of guideline and game as well
thank you for opportunity

Thank you  @Yashgabani845 , for your valuable time and contribution in our GameZone 💗.
It’s our GameZone, so Let’s build this GameZone altogether !!🤝
Hoping to see you soon with another PR again 😇
Wishing you all the best for your journey into Open Source🚀


Cookie request header could be in mixed case

Google Chrome "cookie" is lower case and the re.search doesn't find it.

Support for mixed case request header.

@gerovan i 'm working on some upgrades which also have a fix for this. so i 'm closing this PR.


Parse metamask responses

This is a temporary workaround, the real issue is #48.
closes #47.

Pull Request Test Coverage Report for Build 233

5 of 5 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.2%) to 46.999%

Totals

Change from base Build 230:
0.2%

Covered Lines:
855

Relevant Lines:
1822

💛  - Coveralls


Implemented checksum calculations in SW and HW offloading

Support IPv4, TCP, UDP checksums

Looks good to me.


readme

Update the README
Update the gh actions
Update the examples
renamed the workflows dir
Add Gitter badge
Update the examples
renamed the workflows dir
Change the pkg name
Change the pkg name
Change the pkg name
Updated README

Feature, Fixes Or Enhancement
Make sure that you've checked the boxes below before you submit PR:

[ ] Tests exist or have been written that cover this particular change.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
32

Relevant Lines:
32

💛  - Coveralls


Checkout: Missing validation error for unchecked terms and conditions checkbox

PHP Version
8.2
Shopware Version
6.5 & 6.6
Affected area / extension
Platform(Default)
Expected behaviour
On page "/checkout/confirm" a validation message for the unchecked checkbox "I have read and accepted the general terms and conditions." gets displayed each time the user clicks the "Submit order" button.
Actual behaviour
The validation message is displayed only once after the first click. If the user clicks the submit button again or some random spot on the page, the validation message disappears and will not be displayed again until the page was scrolled or form values have been changed.
In case the user misses the validation message from the first click on submit and clicks a second time or more, he has no information about the invalid state of the form and why he is unable to submit his order.
This behaviour is especially a problem for users with large screens or shops with layouts where the checkbox is located close to the submit button, because it is less likely that scrolling will be executed here.
The behaviour is consistent across browsers (Chrome, Firefox, Safari).
Validation Message is shown after the first click on submit

Validation Message disappears on further clicking

How to reproduce

Go through the checkout process to the "/checkout/confirm" page.
Make sure to leave the checkbox "I have read and accepted the general terms and conditions." unchecked.
Click "Submit order" once to make the validation message appear.
Click the "Submit order" button a second time or more.
OR click some random spot on the page and afterwards the "Submit order" button again.

[public] Automated response: This issue is linked to the internal issue https://shopware.atlassian.net/browse/NEXT-37777.
[created from NEXT-37777, comment 488032]

[public] We are using standard browser behavior here and it is not planned to move to some custom validation methods beyond that.
[created from NEXT-37777, comment 496041]


Can Falcon first response to request then execute other code?

I'm sorry that I can't find a method to response immediately and then execute other time consuming cods.

Hi @Cylkal, Falcon does not (yet) support this directly. However, you can try using Python's standard multiprocessing module to enqueue background jobs to a local worker pool. If you need to scale up from localhost processing, you might consider using a queueing service ala SQS with a set of worker boxes. The use case of processing background tasks is a very general one, and so there are many different options out there.
The upcoming Falcon 3.0 will have built-in support for scheduling background tasks that run after the response has been returned, as part of the new ASGI interface.

@kgriffs Thanks for reply, I will try multiprocessing.


Support React 18

npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>|| ^15.0.0-0 || ^16.0.0-0 || ^17.0.0" from<EMAIL_ADDRESS>npm ERR! node_modules/react-masonry-component
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Conflicting peer dependency<EMAIL_ADDRESS>npm ERR! node_modules/react
npm ERR!   peer<EMAIL_ADDRESS>|| ^15.0.0-0 || ^16.0.0-0 || ^17.0.0" from<EMAIL_ADDRESS>npm ERR!   node_modules/react-masonry-component
npm ERR<EMAIL_ADDRESS>from the root project

Bump on this comment.
Tried deploying through netlify and am getting the same error response.

update it


PulsarTemplate setSchema is not thread-safe

Consider the following code^1:
@Autowired PulsarTemplate<Type1> template1;
@Autowired PulsarTemplate<Type2> template2;

void send1(...) {
  template1.setSchema(Schema.JSON(Type1));
  template1.send("topic-1", ...);
}

void send2(...) {
  template2.setSchema(Schema.JSON(Type2));
  template2.send("topic-2", ...);
}

Because there is only a single template instance that is assigned to both template1 and template2` it is possible that the wrong schema could be used on the wrong data type.

t1 send1 called and set schema to type1 and then thread gets pre-empted
t2 send2 called and set schema to type2 and then gets pre-empted
t3 send1 continues and does a send w/ a type1 object
💥 type1 object does not work well w/ type2 schema

Suggested Fix
Move the setSchema to the send API params

Closed via https://github.com/spring-projects-experimental/spring-pulsar/commit/ed2a67b0c4b8b981362dec76e178e6ccb2b14327


make more things NoData

for example, local variables could maybe always be NoData. also gauss could probably move everything whose sensitivity is too high for the parameter to the NoData context instead of erroring. hm.

let's just give a decent error messagt for gauss.


kubernetes-1.23.5 update

What type of PR is this?
/kind cleanup
What this PR does / why we need it:
Updating the Kubernetes packages to 1.23.5
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Release note:
none

Some of the packages could not be updated from 0.23.4 to 0.23.5 as the revisions were not found.

Some of the packages could not be updated from 0.23.4 to 0.23.5 as the revisions were not found.

nothing urgent, will do it later when we have everything available.

taken care part of https://github.com/kubernetes-sigs/ibm-powervs-block-csi-driver/pull/172


"Show Call Hierarchy" should show all references for multiple calls in the same function

When you trigger "Show Call Hierarchy" to see incoming calls, vscode/references-view only shows one reference (the first one) if multiple calls in the same function.
For example:
Here is simple code to illustrate how references-view displayed.
Bar2() calls Foo() at line 8 and 9 but only one reference visible in view. Although we can jump to the first call location where Foo() is invoked after including Fix 168307, we have no way of knowing that there are other locations where Foo() is also called in the same function Bar2() in view.

According to LSP definition of call hierarchy incoming calls, it shall use fromRanges properly by creating a single item for every reference.
https://microsoft.github.io/language-server-protocol/specifications/specification-current/#callHierarchy_incomingCalls
CallHierarchyIncomingCall {
  from: CallHierarchyItem;
  fromRanges: Range[];
}

Proposed Result
All but the first one are not collapsible because the call hierarchy is the same as the first one if a single callee contains multiple references. To distinguish each item and improve user-friendliness, file name and calling line are added in description of the item.

Environment

Visual Studio Code version:

Version: 1.74.2 (Universal)
Commit: e8a3071ea4344d9d48ef8a4df2c097372b0c5161
Date: 2022-12-20T10:26:09.430Z (5 days ago)
Electron: 19.1.8
Chromium: 102.0.5005.167
Node.js: 16.14.2
V8: <IP_ADDRESS>-electron.0
OS: Darwin x64 20.6.0
Sandboxed: No

@microsoft-github-policy-service agree

@pochienc please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
@microsoft-github-policy-service agree [company="{your company}"]

Options:

(default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.
(when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.

Contributor License Agreement
Contribution License Agreement
This Contribution License Agreement (“Agreement”) is agreed to by the party signing below (“You”),
and conveys certain license rights to Microsoft Corporation and its affiliates (“Microsoft”) for Your
contributions to Microsoft open source projects. This Agreement is effective as of the latest signature
date below.

Definitions.
“Code” means the computer software code, whether in human-readable or machine-executable form,
that is delivered by You to Microsoft under this Agreement.
“Project” means any of the projects owned or managed by Microsoft and offered under a license
approved by the Open Source Initiative (www.opensource.org).
“Submit” is the act of uploading, submitting, transmitting, or distributing code or other content to any
Project, including but not limited to communication on electronic mailing lists, source code control
systems, and issue tracking systems that are managed by, or on behalf of, the Project for the purpose of
discussing and improving that Project, but excluding communication that is conspicuously marked or
otherwise designated in writing by You as “Not a Submission.”
“Submission” means the Code and any other copyrightable material Submitted by You, including any
associated comments and documentation.
Your Submission. You must agree to the terms of this Agreement before making a Submission to any
Project. This Agreement covers any and all Submissions that You, now or in the future (except as
described in Section 4 below), Submit to any Project.
Originality of Work. You represent that each of Your Submissions is entirely Your original work.
Should You wish to Submit materials that are not Your original work, You may Submit them separately
to the Project if You (a) retain all copyright and license information that was in the materials as You
received them, (b) in the description accompanying Your Submission, include the phrase “Submission
containing materials of a third party:” followed by the names of the third party and any licenses or other
restrictions of which You are aware, and (c) follow any other instructions in the Project’s written
guidelines concerning Submissions.
Your Employer. References to “employer” in this Agreement include Your employer or anyone else
for whom You are acting in making Your Submission, e.g. as a contractor, vendor, or agent. If Your
Submission is made in the course of Your work for an employer or Your employer has intellectual
property rights in Your Submission by contract or applicable law, You must secure permission from Your
employer to make the Submission before signing this Agreement. In that case, the term “You” in this
Agreement will refer to You and the employer collectively. If You change employers in the future and
desire to Submit additional Submissions for the new employer, then You agree to sign a new Agreement
and secure permission from the new employer before Submitting those Submissions.
Licenses.

Copyright License. You grant Microsoft, and those who receive the Submission directly or
indirectly from Microsoft, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license in the
Submission to reproduce, prepare derivative works of, publicly display, publicly perform, and distribute
the Submission and such derivative works, and to sublicense any or all of the foregoing rights to third
parties.
Patent License. You grant Microsoft, and those who receive the Submission directly or
indirectly from Microsoft, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license under
Your patent claims that are necessarily infringed by the Submission or the combination of the
Submission with the Project to which it was Submitted to make, have made, use, offer to sell, sell and
import or otherwise dispose of the Submission alone or with the Project.
Other Rights Reserved. Each party reserves all rights not expressly granted in this Agreement.
No additional licenses or rights whatsoever (including, without limitation, any implied licenses) are
granted by implication, exhaustion, estoppel or otherwise.

Representations and Warranties. You represent that You are legally entitled to grant the above
licenses. You represent that each of Your Submissions is entirely Your original work (except as You may
have disclosed under Section 3). You represent that You have secured permission from Your employer to
make the Submission in cases where Your Submission is made in the course of Your work for Your
employer or Your employer has intellectual property rights in Your Submission by contract or applicable
law. If You are signing this Agreement on behalf of Your employer, You represent and warrant that You
have the necessary authority to bind the listed employer to the obligations contained in this Agreement.
You are not expected to provide support for Your Submission, unless You choose to do so. UNLESS
REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING, AND EXCEPT FOR THE WARRANTIES
EXPRESSLY STATED IN SECTIONS 3, 4, AND 6, THE SUBMISSION PROVIDED UNDER THIS AGREEMENT IS
PROVIDED WITHOUT WARRANTY OF ANY KIND, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY OF
NONINFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
Notice to Microsoft. You agree to notify Microsoft in writing of any facts or circumstances of which
You later become aware that would make Your representations in this Agreement inaccurate in any
respect.
Information about Submissions. You agree that contributions to Projects and information about
contributions may be maintained indefinitely and disclosed publicly, including Your name and other
information that You submit with Your Submission.
Governing Law/Jurisdiction. This Agreement is governed by the laws of the State of Washington, and
the parties consent to exclusive jurisdiction and venue in the federal courts sitting in King County,
Washington, unless no federal subject matter jurisdiction exists, in which case the parties consent to
exclusive jurisdiction and venue in the Superior Court of King County, Washington. The parties waive all
defenses of lack of personal jurisdiction and forum non-conveniens.
Entire Agreement/Assignment. This Agreement is the entire agreement between the parties, and
supersedes any and all prior agreements, understandings or communications, written or oral, between
the parties relating to the subject matter hereof. This Agreement may be assigned by Microsoft.

I hope someone can help review this check-in.
I think it's good optimization for VSCode User

Hi @jrieken, kindly inform me if I overlooked any procedures or steps, ensuring the review process doesn't encounter any disruptions. Thank you.

looks like this could be moved forward?

Is this still relevant?