Placement server fails to disseminate placement tables.

What version of Dapr?
1.11.2, running in AKS (aks version 1.25.5)
Expected Behavior
When I update my application deployment, and new pods are started with new IPs, I expect the Placement Server to distribute the updated tables to all pods
We use a Helm chart to manage our application. Our Release pipeline does a helm upgrade --namespace myNamespace --install --wait --debug --create-namespace  /path/to/myChart to install the application.
Actual Behavior
The Placement Server Starts the dissemination, but never completes, and never generates a timeout nor error.
Tail of logs shown here. We can see the last line is a Start disseminating tables but we never get a Completed dissemination nor do we get any error logs.
time="2023-10-10T19:38:39.299921228Z" level=info msg="Completed dissemination. memberUpdateCount: 2, streams: 37, targets: 8, table generation: 770" instance=dapr-placement-server-0 scope=dapr.placement type=log ver=1.11.2
time="2023-10-10T19:39:00.121337481Z" level=info msg="Start disseminating tables. memberUpdateCount: 2, streams: 30, targets: 6, table generation: 772" instance=dapr-placement-server-0 scope=dapr.placement type=log ver=1.11.2
time="2023-10-10T19:39:00.197528468Z" level=info msg="Completed dissemination. memberUpdateCount: 2, streams: 30, targets: 6, table generation: 772" instance=dapr-placement-server-0 scope=dapr.placement type=log ver=1.11.2
time="2023-10-11T20:53:09.620082431Z" level=info msg="Start disseminating tables. memberUpdateCount: 2, streams: 39, targets: 8, table generation: 774" instance=dapr-placement-server-0 scope=dapr.placement type=log ver=1.11.2
time="2023-10-11T20:53:09.805892521Z" level=info msg="Completed dissemination. memberUpdateCount: 2, streams: 39, targets: 8, table generation: 774" instance=dapr-placement-server-0 scope=dapr.placement type=log ver=1.11.2
time="2023-10-11T20:53:30.619910487Z" level=info msg="Start disseminating tables. memberUpdateCount: 2, streams: 30, targets: 6, table generation: 776" instance=dapr-placement-server-0 scope=dapr.placement type=log ver=1.11.2
time="2023-10-11T20:53:30.704178149Z" level=info msg="Completed dissemination. memberUpdateCount: 2, streams: 30, targets: 6, table generation: 776" instance=dapr-placement-server-0 scope=dapr.placement type=log ver=1.11.2
time="2023-10-12T12:27:44.120112958Z" level=info msg="Start disseminating tables. memberUpdateCount: 2, streams: 39, targets: 8, table generation: 778" instance=dapr-placement-server-0 scope=dapr.placement type=log ver=1.11.2

Steps to Reproduce the Problem
We are unable to repro this on demand. It happens after some amount of time. The placement server pod was 77 days old in this case. After removing placement-server-0, placement-server-1 immediately assumed the leadership role, and disseminated the tables.
time="2023-10-12T14:37:34.143432489Z" level=info msg="Cluster leadership acquired" instance=dapr-placement-server-1 scope=dapr.placement type=log ver=1.11.2
time="2023-10-12T14:37:34.188969089Z" level=info msg="leader is established." instance=dapr-placement-server-1 scope=dapr.placement type=log ver=1.11.2
time="2023-10-12T14:37:43.69409227Z" level=info msg="Start disseminating tables. memberUpdateCount: 2, streams: 30, targets: 6, table generation: 780" instance=dapr-placement-server-1 scope=dapr.placement type=log ver=1.11.2
time="2023-10-12T14:37:43.792961432Z" level=info msg="Completed dissemination. memberUpdateCount: 2, streams: 30, targets: 6, table generation: 780" instance=dapr-placement-server-1 scope=dapr.placement type=log ver=1.11.2

Reviewing the code, Line 310 seems to be ignoring any returned errors.
https://github.com/dapr/dapr/blob/120247a632262d82e5a02726a7fdb70d46df8fe1/pkg/placement/membership.go#L310
Line 338/339 has no log, so I can't be sure if
a) the lock is hanging and we never get to 338
b) an error is getting returned and ignored.

Hello? Not a single person responded to this issue, and now it's going to get closed as stale?

Can you try upgrading to 1.12.3-rc.1 and see if that solves the issue? we've introduced a change in that version that might help.

I have not had time to upgrade to 1.12.3-rc.1 yet. Should I try one of the newer RCs at this point?
I see Issue #7193  has been created which has the same issue I think. I will do some rolling restarts to see if I can repo this on demand instead of waiting many weeks for it to fail

Hasn't this been fixed https://github.com/dapr/dapr/releases/tag/v1.12.3#fix-dissemination-of-placement-tables /

In those release notes, it calls out a fix for a placement table issue, that was Impacts users running Dapr 1.12.0-1.12.2 It also had a different error log pattern than the failure I am seeing in 1.11 series.
As I was using 1.11 when I created this bug I don't know if that error applies, it is my understanding the 1.12 series have some significant changes to the placement table service backend to resolve some of the issues with it.
It also looks like 1.12.3 introduced a new bug in the placement table service, fixed in 1.12.4
At this point I will cautiously test 1.12.4 on one of my clusters,

I need to re-open this issue.
I have updated to Dapr 1.12.5, but the Placement table updates still fail randomly.
Logs from yesterday. Again, I see a "Start" at 01T13:33:30-04:00  without a matching "Complete"
2024-04-01T11:37:10-04:00 time="2024-04-01T15:37:10.041078865Z" level=info msg="Completed dissemination. memberUpdateCount: 1, streams: 73, targets: 14, table generation: 2936" instance=dapr-placement-server-2 scope=dapr.placement type=log ver=1.12.5
2024-04-01T11:37:13-04:00 time="2024-04-01T15:37:13.177009364Z" level=info msg="Start disseminating tables. memberUpdateCount: 1, streams: 76, targets: 15, table generation: 2937" instance=dapr-placement-server-2 scope=dapr.placement type=log ver=1.12.5
2024-04-01T11:37:13-04:00 time="2024-04-01T15:37:13.714161875Z" level=info msg="Completed dissemination. memberUpdateCount: 1, streams: 76, targets: 15, table generation: 2937" instance=dapr-placement-server-2 scope=dapr.placement type=log ver=1.12.5
2024-04-01T11:37:36-04:00 time="2024-04-01T15:37:36.678481962Z" level=info msg="Start disseminating tables. memberUpdateCount: 2, streams: 67, targets: 13, table generation: 2939" instance=dapr-placement-server-2 scope=dapr.placement type=log ver=1.12.5
2024-04-01T11:37:36-04:00 time="2024-04-01T15:37:36.98980386Z" level=info msg="Completed dissemination. memberUpdateCount: 2, streams: 67, targets: 13, table generation: 2939" instance=dapr-placement-server-2 scope=dapr.placement type=log ver=1.12.5
2024-04-01T13:20:13-04:00 time="2024-04-01T17:20:13.676841052Z" level=info msg="Start disseminating tables. memberUpdateCount: 2, streams: 57, targets: 11, table generation: 2941" instance=dapr-placement-server-2 scope=dapr.placement type=log ver=1.12.5
2024-04-01T13:20:13-04:00 time="2024-04-01T17:20:13.922833053Z" level=info msg="Completed dissemination. memberUpdateCount: 2, streams: 57, targets: 11, table generation: 2941" instance=dapr-placement-server-2 scope=dapr.placement type=log ver=1.12.5
2024-04-01T13:33:18-04:00 time="2024-04-01T17:33:18.675988273Z" level=info msg="Start disseminating tables. memberUpdateCount: 3, streams: 46, targets: 8, table generation: 2944" instance=dapr-placement-server-2 scope=dapr.placement type=log ver=1.12.5
2024-04-01T13:33:18-04:00 time="2024-04-01T17:33:18.776046987Z" level=info msg="Completed dissemination. memberUpdateCount: 3, streams: 46, targets: 8, table generation: 2944" instance=dapr-placement-server-2 scope=dapr.placement type=log ver=1.12.5
2024-04-01T13:33:23-04:00 time="2024-04-01T17:33:23.176056087Z" level=info msg="Start disseminating tables. memberUpdateCount: 1, streams: 48, targets: 9, table generation: 2945" instance=dapr-placement-server-2 scope=dapr.placement type=log ver=1.12.5
2024-04-01T13:33:23-04:00 time="2024-04-01T17:33:23.356371852Z" level=info msg="Completed dissemination. memberUpdateCount: 1, streams: 48, targets: 9, table generation: 2945" instance=dapr-placement-server-2 scope=dapr.placement type=log ver=1.12.5
2024-04-01T13:33:30-04:00 time="2024-04-01T17:33:30.675571721Z" level=info msg="Start disseminating tables. memberUpdateCount: 1, streams: 53, targets: 10, table generation: 2946" instance=dapr-placement-server-2 scope=dapr.placement type=log ver=1.12.5
2024-04-01T13:59:13-04:00 time="2024-04-01T17:59:13.000043277Z" level=info msg="Renewing workload cert; current cert expires on: 2024-04-02 01:15:43 +0000 UTC" instance=dapr-placement-server-2 scope=dapr.runtime.security type=log ver=1.12.5
2024-04-01T13:59:13-04:00 time="2024-04-01T17:59:13.026185933Z" level=info msg="Successfully renewed workload cert; new cert expires on: 2024-04-02 17:59:13 +0000 UTC" instance=dapr-placement-server-2 scope=dapr.runtime.security type=log ver=1.12.5
2024-04-02T06:42:43-04:00 time="2024-04-02T10:42:43.001050553Z" level=info msg="Renewing workload cert; current cert expires on: 2024-04-02 17:59:13 +0000 UTC" instance=dapr-placement-server-2 scope=dapr.runtime.security type=log ver=1.12.5
2024-04-02T06:42:43-04:00 time="2024-04-02T10:42:43.029485991Z" level=info msg="Successfully renewed workload cert; new cert expires on: 2024-04-03 10:42:43 +0000 UTC" instance=dapr-placement-server-2 scope=dapr.runtime.security type=log ver=1.12.5

Please try with 1.13 and see the behavior there

I'm looking at the code here,
On line 317 the error returned (from line 370) is silently ignored.
This code pattern has remain unchanged for several versions now. I'm doubt that 1.13.1 is going to resolve the issue.
Putting it anther way, I see the Log from line 365 but I don't see the Log from line 373 so I must assume that p.performTablesUpdate is returning an error which gets returned at line 370.
Line 317 needs to check for a returned error.

I have an update.
Testing Dapr 1.13.1
Today there was a new failure mode.
The Dapr Placement Service has failed to even attempt to update tables when pods have changed. The last log entry indicates the last operation started and completed.
Since this time (14:18) we have deployed new pods, but no more updates are going out. Any other pods I should look at for errors?
2024-04-11T14:18:06-04:00 time="2024-04-11T18:18:06.445744336Z" level=info msg="Start disseminating tables. memberUpdateCount: 1, streams: 61, targets: 11, table generation: 3601" instance=dapr-placement-server-1 scope=dapr.placement type=log ver=1.13.1 2024-04-11T14:18:06-04:00 time="2024-04-11T18:18:06.490714777Z" level=info msg="Completed dissemination. memberUpdateCount: 1, streams: 61, targets: 11, table generation: 3601" instance=dapr-placement-server-1 scope=dapr.placement type=log ver=1.13.1

Not Stale. Can we re-open this?
Happened again in 1.14.4.
I have some logs

Hey @MattCosturos, do you still have access to the logs? Many improvements and changes have been done since the issue was created, so want to make sure it's still the same problem.

time="2024-11-20T21:22:46.217943267Z" level=info msg="Completed dissemination for namespace namespace2. memberUpdateCount: 1, streams: 15, targets: 4, table generation: 2612" instance=dapr-placement-server-2 scope=dapr.placement type=log ver=1.14.4
time="2024-11-20T21:22:59.697225333Z" level=info msg="Start disseminating tables for namespace namespace3. memberUpdateCount: 2, streams: 11, targets: 2, table generation: 2614" instance=dapr-placement-server-2 scope=dapr.placement type=log ver=1.14.4
time="2024-11-20T21:22:59.710816057Z" level=info msg="Completed dissemination for namespace namespace3. memberUpdateCount: 2, streams: 11, targets: 2, table generation: 2614" instance=dapr-placement-server-2 scope=dapr.placement type=log ver=1.14.4
time="2024-11-20T21:23:05.697274566Z" level=info msg="Start disseminating tables for namespace namespace1. memberUpdateCount: 2, streams: 11, targets: 2, table generation: 2618" instance=dapr-placement-server-2 scope=dapr.placement type=log ver=1.14.4
time="2024-11-20T21:23:05.704066587Z" level=info msg="Completed dissemination for namespace namespace1. memberUpdateCount: 2, streams: 11, targets: 2, table generation: 2618" instance=dapr-placement-server-2 scope=dapr.placement type=log ver=1.14.4
time="2024-11-20T21:23:07.697528781Z" level=info msg="Start disseminating tables for namespace namespace2. memberUpdateCount: 2, streams: 10, targets: 2, table generation: 2618" instance=dapr-placement-server-2 scope=dapr.placement type=log ver=1.14.4
time="2024-11-20T21:23:07.706082803Z" level=info msg="Completed dissemination for namespace namespace2. memberUpdateCount: 2, streams: 10, targets: 2, table generation: 2618" instance=dapr-placement-server-2 scope=dapr.placement type=log ver=1.14.4
time="2024-11-20T21:36:07.697889194Z" level=info msg="Start disseminating tables for namespace namespace2. memberUpdateCount: 1, streams: 14, targets: 3, table generation: 2619" instance=dapr-placement-server-2 scope=dapr.placement type=log ver=1.14.4
time="2024-11-20T21:36:07.727669954Z" level=info msg="Completed dissemination for namespace namespace2. memberUpdateCount: 1, streams: 14, targets: 3, table generation: 2619" instance=dapr-placement-server-2 scope=dapr.placement type=log ver=1.14.4
time="2024-11-20T21:36:10.19968485Z" level=info msg="Start disseminating tables for namespace namespace2. memberUpdateCount: 1, streams: 18, targets: 4, table generation: 2621" instance=dapr-placement-server-2 scope=dapr.placement type=log ver=1.14.4
time="2024-11-20T21:36:10.261057574Z" level=info msg="Completed dissemination for namespace namespace2. memberUpdateCount: 1, streams: 18, targets: 4, table generation: 2621" instance=dapr-placement-server-2 scope=dapr.placement type=log ver=1.14.4
time="2024-11-20T21:36:12.197775721Z" level=info msg="Start disseminating tables for namespace namespace3. memberUpdateCount: 1, streams: 15, targets: 3, table generation: 2621" instance=dapr-placement-server-2 scope=dapr.placement type=log ver=1.14.4

Our system was borked, so I start browsing logs in openLens, see that the update is hung.
I terminate the pod, and the following lines flow in.
time="2024-11-20T21:44:52.102838292Z" level=info msg="Received signal 'terminated'; beginning shutdown" instance=dapr-placement-server-2 scope=dapr.signals type=log ver=1.14.4
time="2024-11-20T21:44:52.102903792Z" level=info msg="Waiting until all connections are drained" instance=dapr-placement-server-2 scope=dapr.placement type=log ver=1.14.4
time="2024-11-20T21:44:52.103348494Z" level=info msg="Healthz server is shutting down" instance=dapr-placement-server-2 scope=dapr.placement type=log ver=1.14.4
time="2024-11-20T21:44:52.103346694Z" level=info msg="Raft server is shutting down ..." instance=dapr-placement-server-2 scope=dapr.placement.raft type=log ver=1.14.4
time="2024-11-20T21:44:52.104759897Z" level=error msg="Error updating runtime host \"<IP_ADDRESS>:48742\" on \"lock\" operation: rpc error: code = Canceled desc = context canceled" instance=dapr-placement-server-2 scope=dapr.placement type=log ver=1.14.4
time="2024-11-20T21:44:52.104799498Z" level=error msg="fail to perform table dissemination. Details: dissemination of 'lock' failed: context deadline exceeded" instance=dapr-placement-server-2 scope=dapr.placement type=log ver=1.14.4
time="2024-11-20T21:44:52.1057317Z" level=info msg="Raft server shutdown" instance=dapr-placement-server-2 scope=dapr.placement.raft type=log ver=1.14.4

It appears that the call on Line 348 hangs until the Raft server shuts down, then thru some go context magic that I don't yet understand, the context is cancelled, and the call completes.
I say that because we do get the Error updating runtime host message and the fail to perform table dissemination from line 179.

Would  this be a valid fix? I don't know enough about go to know if this is good or a hack.
Current code, line 317 in disseminateOperationOnHosts. This code waits for each and every operation to return a value. If we had to update the placement tables in 5 hosts, we wait for all 5 calls to return something (nil or error)
for i := 0; i < len(req.hosts); i++ {
		err := <-errCh
		if err != nil {
			errs = append(errs, err)
		}
	}

What about monitoring  ctx.Done()?
loop:
for i := 0; i < len(req.hosts); i++ {
	select {
	case <- ctx.Done():
		errs = append(errs, ctx.Err())
		break loop
	case err := <- errCh
		if err != nil {
			errs = append(errs, err)
		}
	}
}

Under normal execution, this code waits for each and every operation to return a value. This should happen before ctx.Done ever returns anything. If the context timeout, then get the timeout error, and break out of the for loop to return the errors.
It seems like a bit of a bandaid, as the calls further downstream should not be hanging, but the code downstream is a bit above my understanding atm.

Thanks for sharing the logs Matt, I'll try to reproduce this and I'll get back to you.
In theory, the fix above shouldn't be necessary because when the placement server is shut down the streams are closed, meaning p.disseminateOperation will return an error, but I'll look into it more carefully and let you know.

To reiterate the problem,
The placement table update operation hangs, and never completes. From then on, all calls to actor pods fail until there is manual intervention. We don't want to wait till the placement service is shutdown to propagate the error, we want p.disseminateOperation to error out after the context deadline is exceeded.
Situation as far as I can tell.

Helm update commend is executed by our CI/CD process
Kube creates new pods for all of our updated micro services.
Dapr Placement service sees new pods, and generates a placement tables update to go out to all pods, new and existing.
Kube sees new pods are started, and kils existing pods.
Dapr Placement service hangs. This is indicated by the log message of Start disseminating tables as the last line in the pod logs. The is no corresponding Complete log message. I suspect there is some issue with the placement table service trying to update the tables in one of the terminating pods.
From now on, no other pods know how to reach each other. All calls using dapr service invocation fail. All actor proxy calls fail.
I must manually kill the Placement service pod that is "stuck". When I kill that instance 2 things happen. First, the logs come in as I pasted above. Second, another instance of the placement service takes over and updates the placement tables.
At this point our system is operational again.

I did some digging into the dapr source code, and dapr is using a 3rd party retry library
Reviewing that library, I found the call to perform the requested operation is a blocking call. I created an issue with a PR to fix the issue.

To reiterate the problem, The placement table update operation hangs, and never completes. From then on, all calls to actor pods fail until there is manual intervention. We don't want to wait till the placement service is shutdown to propagate the error, we want p.disseminateOperation to error out after the context deadline is exceeded.
Situation as far as I can tell.

Helm update commend is executed by our CI/CD process
Kube creates new pods for all of our updated micro services.
Dapr Placement service sees new pods, and generates a placement tables update to go out to all pods, new and existing.
Kube sees new pods are started, and kils existing pods.
Dapr Placement service hangs. This is indicated by the log message of Start disseminating tables as the last line in the pod logs. The is no corresponding Complete log message. I suspect there is some issue with the placement table service trying to update the tables in one of the terminating pods.
From now on, no other pods know how to reach each other. All calls using dapr service invocation fail. All actor proxy calls fail.
I must manually kill the Placement service pod that is "stuck". When I kill that instance 2 things happen. First, the logs come in as I pasted above. Second, another instance of the placement service takes over and updates the placement tables.
At this point our system is operational again.

I did some digging into the dapr source code, and dapr is using a 3rd party retry library
Reviewing that library, I found the call to perform the requested operation is a blocking call. I created an issue with a PR to fix the issue.

We might need to suggest a fix from the Dapr side that cancels the operation instead of relying on the library to do it


Can't add custom themes/override themes in qbittorrent (unstable)

Describe the bug
The theme doesn't change after adding a .qbtheme or by using libsForQt514.qtstyleplugins to override it with gtk2
To Reproduce
Steps to reproduce the behavior:

Switch to unstable branch
Install qbittorrent
Go to Edit -> Personal Preferences -> Behaviour -> Interface -> Check 'Custom UI Theme' and select a .qbtheme file

Expected behavior
The theme should be applied on a restart.
Additional context
I would much rather use qtstyleplugins but it is broken too so I went for this but this isn't working either
Notify maintainers
@Anton-Latukha
Metadata

system: "x86_64-linux"
host os: Linux 5.4.106, NixOS, 21.05pre276515.1f77a4c8c74 (Okapi)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.3.10
channels(root): "nixos-21.05pre276515.1f77a4c8c74, nixpkgs-21.05pre276933.fcab19deb78"
channels(otaku619): "nixos-21.05pre277486.f5e8bdd07d1, nixos-old-20.03.3325.462c6fe4b11, nixos-stable-20.09.3545.66f4dc4fd1b, nixpkgs-21.05pre277683.4e0d3868c67"
nixpkgs: /home/otaku619/.nix-defexpr/channels/nixpkgs

Not a nixpkgs issue


Use std::invoke_result instead of std::result_of to support C++20

std::result_of has been deprecated in C++17 and removed in C++20.
This PR adds a preprocessor switch to use the new std::invoke_result type introduced in C++17, while still using std::result_of on C++11 and C++14.

Thanks. Merged.


Revert "[improvement](jdbc catalog) Optimize JdbcCatalog case mapping stability"

Reverts apache/doris#40891

run buildall

skip buildall


Lastfm integration not working for usernames with a period

The problem

When trying to setup the lastfm integration with a username it fails when trying to init, generating an invalid entity_id.
e.g. assume username my.username
homeassistant.exceptions.HomeAssistantError: Invalid entity id: sensor.lastfm_my.username

Environment

Home Assistant release with the issue: All?
Last working Home Assistant release (if known):
Operating environment (Hass.io/Docker/Windows/etc.): Hass.io
Integration causing this issue: lastfm
Link to integration documentation on our website: https://www.home-assistant.io/integrations/lastfm/

Problem-relevant configuration.yaml

- platform: lastfm
  api_key: !secret lastfm_api_key
  users:
    - my.username

Traceback/Error logs

homeassistant.exceptions.HomeAssistantError: Invalid entity id: sensor.lastfm_my.username

Additional information

@inverse can we close this issue since it has been solved by the linked PRs?

@springstan if that's the process once the issue is fixed in the dev branch vs released then go for it. Is this process documented anywhere?

@springstan if that's the process once the issue is fixed in the dev branch vs released then go for it.

Yeah that is the usual process.

Is this process documented anywhere?

Sorry, I do not think that this is documented anywhere at the moment.

Thanks @springstan :pray:

No problem at all @inverse 😄✌


Bug: Entering 6 digit pin

From Alan:
just wanted to mention that on a few recent transactions where I have sent Litecoin out from Loafwallet, I get stuck when entering in my 6 digit pin. It doesn’t always accept the last digit and wants to lock up and gives an error message. I eventually get it to work but often takes a few attempts. Just wanted to pass this on. Thx.
Will add notes related to the code.

Is he running LoafWallet 2.0.3? Some users who aren't running the latest build will have this last pin number slow down, and get a tx timeout error. I've fixed the pin from getting 'stuck' and also increase tx timeout to 30 seconds.

I dunno but we should add Crashlytics to see who is running what...it will tell us what the biggest issues are.

I just experienced this same bug.
My recommendation is to add a activity indicator.

Found a fix in ApplicationController.performBackgroundFetch() by adding a concurrentQueue extension to make sure peerDisconnect() happens before group.leave() ...Will add in dev build for testing


configure operations for morph and replace

Type of PR (feature, enhancement, bug fix, etc.)
Feature
Description
Allow overriding the default CableReady operations used by page and selector morphs via the initializer. By default, these values are:
config.morph_operation = :morph
config.replace_operation = :inner_html

The actual options passed to these operations is unchanged; it's up to the developer to implement a custom CableReady operation that handles the data coming from the server.
If you are using this feature, be sure to be aware of the options being sent to the client by the page broadcaster, as well as the selector broadcaster morph and replace mechanisms.
For reference, here is the existing CableReady morph and inner_html operations, which could serve as a starting point.
Why should this be added

People might want to use the Alpine morph method.
People might want to clone the morph method but change it so that children_only: false. Note that this will likely interfere with normal SR operations, so consider it a sharp knife.

Checklist

[x] My code follows the style guidelines of this project
[x] Checks (StandardRB & Prettier-Standard) are passing
[x] This is not a documentation update

I think this looks good!
We might even be able to automatically register of the operations names if they weren't registered yet to it even easier to use.
Sort of calling this if the operation is not already present:
CableReady.configure do |config|
  config.add_operation_name(StimulusReflex.config.morph_operation)
end

Perhaps! I figure that this could backfire because it just creates more stuff you have to know for very little real benefit, since you still have to declare all of the other custom operations that you define.


Use hatch for tests/builds instead of tox

This change is

MANIFEST.in line 9 at r1 (raw file):
Previously, 0xDEC0DE (Nicolas Simonds) wrote…
It didn't seem to, the build directives in pyproject.toml seemed to do all of that.

Huh. We still have in in helios.

MANIFEST.in line 9 at r1 (raw file):
Previously, 0xDEC0DE (Nicolas Simonds) wrote…
I'm not 100% sure it's needed there, either.

Can you humour me and do a build to see if the sdist looks ok?


Fix UX around publishing to already published URL

If you select a file and the auto-suggested name collides with an existing publish, it's not super clear that this new file will overwrite your previous publish. I think we should either disable the publish button and put the "edit this claim" text near it, or make the publish button say edit with a strong warning.

A few users ran into this issue recently and overwrote other claims.

A few users recently overwrote their claims. We should either improve this in the meantime by not allowing publish unless they click edit, or do https://github.com/lbryio/lbry-desktop/issues/3704

I have also seen a few users complain about tier the last upload overwriting a previous upload.
My guess was they were probably editing a claim and ended up publishing a new file on the old claims. If that is the case, maybe we can have a warning after editing a claim where user selects  a new file.

(Closed this prematurely, but fix will be merged very soon)


cfg features for enum variants

This is a fix for #4411. #[cfg] attributes are propagated to the generated python classes as described in this comment: https://github.com/PyO3/pyo3/issues/4411#issuecomment-2323342598
It only covers the case for simple enums but a similar solution could be extended for complex enums.

So in the case where all of the variants get disabled, like
#[pyclass]
enum Empty{
    #[cfg(any())]
    Disabled,
}

it does fail to compile, but not with the nice error: #[pyclass] can't be used on enums without any variants message.
Instead we get:
error[E0004]: non-exhaustive patterns: type `&Empty` is non-empty
  --> src/lib.rs:27:1
   |
27 | #[pyclass]
   | ^^^^^^^^^^
   |
note: `Empty` defined here
  --> src/lib.rs:28:6
   |
28 | enum Empty {
   |      ^^^^^
   = note: the matched value is of type `&Empty`
   = note: references are always considered inhabited
   = note: this error originates in the attribute macro `pyclass` (in Nightly builds, run with -Z macro-backtrace for more info)
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern as shown
   |
27 ~ #[pyclass] {
28 +     _ => todo!(),
29 + }
   |

For more information about this error, try `rustc --explain E0004`.

Which I suppose is related to the reason why we have the first error message but I don't think we can know at this time which features are enabled and can't test for empty enums from disabled variants.
The error message we do get is because the 2 generated match arms in impl_simple_enum wind up empty. For fun I added a wildcard arm:
            fn __pyo3__repr__(&self) -> &'static str {
                match self {
                    #(#variants_repr)*
                    _ => unreachable!(),
                }
            }

and the generated code does compile but I don't think that could lead to a helpful way to report an invalid enum. The resulting python module silently does not have the empty enum class.
I'm not sure what to do. I could see a user defining an enum where every variant is covered by a cfg attribute and triggering this. It will still fail to compile but for the wrong reason so I'm not sure how critical this is.
I suppose we could work out the annihilating combination of variant cfg attributes and if they're met enable some const function that causes a compile error? Or is this just an edge case.

The error message we do get is because the 2 generated match arms in impl_simple_enum wind up empty. For fun I added a wildcard arm:
            fn __pyo3__repr__(&self) -> &'static str {
                match self {
                    #(#variants_repr)*
                    _ => unreachable!(),
                }
            }

and the generated code does compile but I don't think that could lead to a helpful way to report an invalid enum.

In this case, just dereference the scrutinee - maybe we should do this to avoid emitting this particular error
            fn __pyo3__repr__(&self) -> &'static str {
                match *self {
                    #(#variants_repr)*
                }
            }

Anyway, we should not rely on E0004. The rules around references to uninhabited types are still being worked out and such code may start compiling in the future.

I suppose we could work out the annihilating combination of variant cfg attributes and if they're met trigger a compile error?

Yes, I think this is a good idea.

Or is this just an edge case.

I can believe that someone would hit this eventually and waste a lot of time debugging ;)
Maybe we could reconsider allowing empty enums. I wasn't involved with that feature so I'm not sure there is a compelling reason to disallow it.,

I've pushed a draft solution that constructs a #variant_cfg_check token stream that's inserted at the top of the generated class code.
If there is at least one variant that is not annotated with a cfg attribute or if there are zero variants then this token stream is quote! {}. Otherwise:
    quote! {
        #[cfg(all(#(#conditions),*))]
        ::core::compile_error!(concat!("All variants of enum `", stringify!(#cls), "` have been disabled by cfg attributes"));
    }

Here's an example:
#[pyclass(eq, eq_int)]
#[derive(PartialEq)]
enum MyEnum {
    #[cfg(not(any(feature = "x", feature="y")))]
    VariantOne,
    #[cfg(all(feature = "y", feature="optional_feature"))]
    VariantTwo,
}

$ cargo build --features y
...
error: All variants of enum `MyEnum` have been disabled by cfg attributes
  --> src/lib.rs:32:1
   |
32 | #[pyclass(eq, eq_int)]
   | ^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: this error originates in the attribute macro `pyclass` (in Nightly builds, run with -Z macro-backtrace for more info)

I've also dereferenced the scrutinees so that the body of the generated class is syntactically valid and the E0004 doesn't also occur. I haven't investigated why I don't see an unreachable code warning but I think in theory we are liable to get one, as happens in this example:
warning: unreachable statement
  --> src/lib.rs:68:5
   |
67 |     let _y = match *uninhabited { };
   |              ---------------------- any code following this expression is unreachable
68 |     println!("unreachable");
   |     ^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
   |
   = note: `#[warn(unreachable_code)]` on by default
   = note: this warning originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)

I don't have any input on what adding unconstructable types to python bindings would look like. I think python's typing.Never was added in 3.11 so I suppose there's at least a notion of it.
Is this style consistent with pyo3?
I will continue with making tests


PSUseSingularNouns doesn't recognize "Repos"

Functions named things like Get-Repos or Select-Repos aren't flagged by the PSUseSingularNouns rule.

PSUseSingularNoun relies on PluralizationService APIs and and I don't think it recognizes repo as a singular form and hence it doesn't recognize repos.
I think rather than adding repos to a built-in global whitelist, PSScriptAnalyzer should provide an ability to consume a user-provided whitelist so that cases like these can be addressed as I think people have difference preferences regarding the usage of repo or repository.
The rule doesn't have this feature of consuming a whitelist as of yet and I will keep this issue open to track this feature request.


MonitorControl not able to control volume when using AirPlay speaker in Music app

Checklist

[x] I have searched for existing issues
[x] I have looked through the wiki
[x] I have updated MonitorControl to the latest version

Describe the bug
MonitorControl does not control volume in Music app when using AirPlay speaker
To Reproduce
Steps to reproduce the behavior:

Go to 'Music' app
Click on 'AirPlay' speaker
F10/11/12 do not mute or change volume of music

Expected behavior
F10/11/12 mutes and changes volume of music
Environment Information (please complete the following information):

macOS version: 10.15.6
MonitorControl version: 2.1.0 (Build 721)
Monitor(s): Philips 329P9H
AirPlay speaker: Pioneer A3

Sound control doesn't work at all..I have the Dell U2720Q on Catalina
brightness work, thought not darkening the screen totaly black...but audio nothing
help!

That's really out of our control and not intended functionality of the application unfortunately.. The app only controls your active macOS device output. I doubt there's even an api for us to hook into.


No Quota Separation in Transport Layer

How do you use Sentry?
Sentry Saas (sentry.io)
Version
2.9.0
Steps to Reproduce

Exhaust performance units quota

Attempt to send performance metrics, and you will receive rate limiting issues:

 [sentry] WARNING: Rate-limited via x-sentry-rate-limits
 [sentry] DEBUG: [Monitor] health check negative, downsampling with a factor of 1

Trigger an error event, it will incorrectly be impacted by the rate limits

[sentry] INFO: event processor (<function DedupeIntegration.setup_once.<locals>.processor at 0xffffa2193560>) dropped event

Expected Result
The Sentry SDK needs a more specific approach to handling rate limits for different event types, such that performance metrics are rate limited when the quota is expended, but error events are still sent to Sentry.
Actual Result
KeyError: 'TriggerTestEvent'
[sentry] INFO: event processor (<function DedupeIntegration.setup_once.<locals>.processor at 0xffffa2193560>) dropped event
 [sentry] DEBUG: [Monitor] health check negative, downsampling with a factor of 2
 [sentry] DEBUG: [Monitor] health check negative, downsampling with a factor of 3
 [sentry] DEBUG: [Monitor] health check negative, downsampling with a factor of 4
 [sentry] DEBUG: [Monitor] health check negative, downsampling with a factor of 5
 [sentry] DEBUG: [Monitor] health check negative, downsampling with a factor of 6

Hi @narobertson42, have you noticed errors actually missing in Sentry? From the log message you provided, it appears that error events are being dropped due to our deduplication, not because we are incorrectly rate-limiting your error events.

[sentry] INFO: event processor (<function DedupeIntegration.setup_once..processor at 0xffffa2193560>) dropped event

If you are absolutely sure that your error events are actually missing, would you be able to provide a minimal reproduction of the problem?

This was a decision made by me while building the backpressure solution about the health of the system.
This is because relay does not distinguish whether the rate limit is due to quota or spike protection. In the latter case, I wanted backpressure to kick in which is why I made this decision.
I will think about changing this to only work with transaction rate limits or make it configurable.
In the long term, it would be great if relay could somehow distinguish the two rate limit cases but I don't think we can count on that anytime soon.


Absolute image URL

Otherwise the screenshot will not be shown on the Package Control website

Ah, I was wondering why that was happening. Thanks a lot! :)


docs/examples: add runnable

hey folks,
it's been long overdue having Runnable and ClusterRunTemplate documented and
part of the example, benefitting us not only in terms of having docs, but also
ensuring that in an e2e we don't regress as the example is ran on every commit.
please let me know if you believe there's a better way that we could frame those
resources and/or anything else that we could improve here.
thanks!
closes #287
Changes proposed by this PR

docs: add two entries to the reference page

runnable
clusterruntemplate

examples: update the e2e to include a test before building an image

now: source-provider <- source-tester <- image-builder <- deployer

Release Note
Add example and documentation of Runnable and ClusterRunTemplate.
PR Checklist
Note: Please do not remove items. Mark items as done [x] or use ~strikethrough~ if you believe they are not relevant

[x] Linked to a relevant issue. Eg: Fixes #123 or Updates #123
[ ] Removed non-atomic or wip commits
[ ] Filled in the Release Note section above
[ ] Modified the docs to match changes

note.: whenever https://github.com/vmware-tanzu/cartographer/pull/351 lands, this PR will need an update to move it under the version that represents the latest content


Error during training the transition model: ValueError: could not broadcast input array from shape (0,3,160,320) into shape (60,3,160,320)

Environment: Anaconda + Keras 1.0.6 + Tensorflow 1.0.0 (Unable to find TF0.9.0 )
I ran the codes according to the Drive Simulator tutorial: https://github.com/commaai/research/blob/master/DriveSim.md
Everything is OK before the 5th step "Train transition model".
I ran the server for the transition model first, in window 1, and train the transition model in window 2: ./train_generative_model.py transition --batch 64 --name transition
Window 1  (ran the server code:./server.py --time 60 --batch 64) outputs the above error from time to time. As is shown in the screen shot:

Could anyone help me with this issue?
Best Regards! ：）

@espes @EderSantana  Thank you very much! ：）


Feature/#565 subtype for nonspecific non-operative roundabouts analogous to type for operative ones

Reviewed by

[ ] @hixi
[ ] @sfkeller

:+1:


Library – CLASS = 'AUCTION CATALOGUE'

Rob,
In the PMC / LUX Data Transformation doc you noted

If the value is "AUCTION CATALOGUES", or starts with "IN PROCESS",  then ignore. Otherwise, an identifier for the Object.

However, this has resulted in a partial representation in the LUX data.
Record ID S5719 (the LO) is omitted with this rule, but record ID S164 (the HMO) is included https://lux-front-sbx.collections.yale.edu/view/object/589adb66-e995-4ad4-b59a-83e947c42beb

Ahh :( Yes, if the LO is excluded then then the HMO should be excluded as well.

Neither are excluded from the export though - it just means the value of <class> is ignored in the processing.
/library/work/S5719.json
/library/object/S164/accno_B15132.json
the latter carries the former - this is S5719 - https://lux-front-sbx.collections.yale.edu/view/text/49b7dfdc-a8e9-40ce-a27e-1e1a96af426a
https://lux-front-sbx.collections.yale.edu/data/text/49b7dfdc-a8e9-40ce-a27e-1e1a96af426a is carried by https://lux-front-sbx.collections.yale.edu/data/object/589adb66-e995-4ad4-b59a-83e947c42beb

Invalid


changing res on waywall on some setups causes insane flickering

Already reported ? *

[X] I have searched the existing open and closed issues.

Regression?
Yes
System Info and Version
 System/Version info
Hyprland 0.45.2 built from branch  at commit 12f9a0d0b93f691d4d9923716557154d74777b0a  ([gha] Nix: update inputs).
Date: Tue Nov 19 21:47:18 2024
Tag: v0.45.2, commits: 5451
built against aquamarine 0.5.0

flags set:
debug

System Information:
System name: Linux
Node name: TuxPad
Release: 6.12.4-arch1-1.1
Version: #1 SMP PREEMPT_DYNAMIC Tue, 10 Dec 2024 07:18:58 +0000

GPU information:
07:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Barcelo [1002:15e7] (rev d5) (prog-if 00 [VGA controller])

os-release: NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo

plugins:

======Config-Start======

Config File: /home/faaris/.config/hypr/hyprland.conf: Read Succeeded
# nvidia confs
# source = ~/.config/hypr/hyprland-nvidia.conf

# █▀▀ ▀▄▀ █▀▀ █▀▀
# ██▄ █░█ ██▄ █▄▄
exec-once		= uwsm app -- random-wall.sh
exec-once		= uwsm app -- gsettings.sh # Applies gtk themes, cursor themes, etc
exec				= pidof agsv1 || uwsm app -- agsv1

exec-once		= uwsm app -- /etc/xdg/autostart/polkit-mate-authentication-agent-1.desktop
# exec-once		= uwsm app -- hyprpm reload -n

# █▀▄▀█ █▀█ █▄░█ █ ▀█▀ █▀█ █▀█
# █░▀░█ █▄█ █░▀█ █ ░█░ █▄█ █▀▄
monitor = ,preferred,auto,1

# █▀█ █▀▀ █▄░█ █▀▄ █▀▀ █▀█ █ █▄░█ █▀▀
# █▀▄ ██▄ █░▀█ █▄▀ ██▄ █▀▄ █ █░▀█ █▄█
render {
	direct_scanout = true
}

# █ █▄░█ █▀█ █░█ ▀█▀
# █ █░▀█ █▀▀ █▄█ ░█░
input {
  repeat_rate = 55 # Set characters to repeat on hold every 55ms
  repeat_delay = 375 # Set repeat timeout to 375ms
  follow_mouse = 2 # Follow mouse clicks for window focus
  float_switch_override_focus = 0 # Stop floating windows from stealing focus
	kb_options = fkeys:basic_13-24, caps:escape
	touchpad {
		natural_scroll = true
	}
	tablet {
		left_handed = true
	}
}

device {
	name = tpps/2-elan-trackpoint
	accel_profile = flat
}

device {
	name = at-translated-set-2-keyboard
	kb_layout = gb
}

gestures {
  workspace_swipe = true
}

# █▀▀ █▀▀ █▄░█ █▀▀ █▀█ ▄▀█ █░░
# █▄█ ██▄ █░▀█ ██▄ █▀▄ █▀█ █▄▄
general {
  gaps_out = 4 # Outer monitor gaps
  gaps_in = 2 # Inner window gaps
  border_size = 2 # Set window border width
  no_border_on_floating = false # Reenables border on floating windows
  layout = dwindle # Set default layout
	allow_tearing = true
}

# █▀▄▀█ █ █▀ █▀▀
# █░▀░█ █ ▄█ █▄▄
misc {
  new_window_takes_over_fullscreen = 2 # Leave fullscreen on new window
  disable_hyprland_logo = true # Disable logo on desktop
  disable_splash_rendering = true # Disable startup splashscreen
  animate_mouse_windowdragging = false # Disable windowdragging animations
  mouse_move_enables_dpms = true # Enables mouse move wakeup
  mouse_move_focuses_monitor = false # Disables hover for monitor focus
  focus_on_activate = true # Focusses windows which ask for activation (eg systray)
  enable_swallow = false # Enable window swalling
  swallow_regex = ^(foot)$ # Make foot swallow executed windows
  vfr = 1 # Variable framerate
  vrr = 0 # Variable refreshrate (freesync / gsync)
  initial_workspace_tracking = false
}

# █▀▄ █▀▀ █▀▀ █▀█ █▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
# █▄▀ ██▄ █▄▄ █▄█ █▀▄ █▀█ ░█░ █ █▄█ █░▀█
# wallust colors
source = ~/.cache/wallust/colors_hyprland.ini

decoration {
    rounding = 0
    layerrule = blur, launcher
    layerrule = blur, wleave
		layerrule = blur, bar-.*
    layerrule = ignorezero, launcher
		layerrule = ignorezero, bar-.*
		layerrule = xray 1, wleave
    layerrule = xray 1, bar-.*
		shadow {
			enabled = false
			color = 0xee1a1a1a
			render_power = 5
			range = 10
			# sharp = true
		}
    blur {
        enabled = false
        size = 3
				passes = 3
				popups = true
    }
}

# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█ █▀
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█ ▄█
animations {
    enabled = 0 # Enable animations

    bezier = overshot, 0.05, 0.9, 0.1, 1.05
    bezier = smoothOut, 0.36, 0, 0.66, -0.56
    bezier = smoothIn, 0.25, 1, 0.5, 1
		bezier = swing, 0.660, -0.300, 0.070, 1.250
		bezier = fluent_decel, 0.1, 1, 0, 1

    animation = windows, 1, 4, overshot, slide
    animation = windowsMove, 1, 3, default
    animation = border, 1, 8, default
    animation = fade, 1, 3, fluent_decel
    animation = fadeDim, 1, 3, fluent_decel
    animation = workspaces, 1, 3, fluent_decel, slide
}

# █░░ ▄▀█ █▄█ █▀█ █░█ ▀█▀ █▀
# █▄▄ █▀█ ░█░ █▄█ █▄█ ░█░ ▄█
dwindle {
  pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
  preserve_split = true # you probably want this
}

# █░█░█ █ █▄░█ █▀▄ █▀█ █░█░█   █▀█ █░█ █░░ █▀▀ █▀
# ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀   █▀▄ █▄█ █▄▄ ██▄ ▄█
windowrule = float, file_progress
windowrule = float, confirm
windowrule = float, dialog
windowrule = float, download
windowrule = float, notification
windowrule = float, error
windowrule = float, splash
windowrule = float, confirmreset
windowrule = float, title:Open File
windowrule = float, title:branchdialog

# pause hypridle for certain apps
windowrulev2 = idleinhibit focus, class:^(mpv)$
windowrulev2 = idleinhibit focus, class:^(atril)$
windowrulev2 = idleinhibit fullscreen, class:^(.*)$

# Window rules for games
# Fix focus issues with cs2
windowrulev2 = suppressevent maximize fullscreen, class: ^(SDL Application)$

# Set fullscreen for all steam games
windowrulev2 = fullscreen, class:^(steam_app_.*)$
# windowrulev2 = float, class:^(SDL Application)$

# Sets fullscreen for common Minecraft windows
windowrulev2 = fullscreen, class:^(Minecraft.*)$
windowrulev2 = fullscreen, initialTitle:^(Minecraft.*)$
windowrulev2 = fullscreen, class:^(org-prismlauncher-EntryPoint)$

# Allow games to tear
windowrulev2 = immediate, class:^(steam_app_.*)$
windowrulev2 = immediate, class:^(SDL Application)$
windowrulev2 = immediate, class:^(Minecraft.*)$
windowrulev2 = immediate, initialTitle:^(Minecraft.*)$
windowrulev2 = immediate, class:^(org-prismlauncher-EntryPoint)$
windowrulev2 = immediate, class:^(osu!)$
windowrulev2 = immediate, class: ^(.*.exe)$
windowrulev2 = immediate, class: ^(hl2_linux)$
windowrulev2 = immediate, class: ^(gamescope)$
windowrulev2 = immediate, class: ^(Celeste)$
windowrulev2 = immediate, class: ^(waywall)$

# Fix everest (celeste) splash screen
windowrulev2 = float, class:^(EverestSplash-linux)$

# Make bakkesmod float, and only main rocket league window fullscreen
windowrulev2 = fullscreen, class:^(steam_app_252950)$, title:^(Rocket League \(64-bit, DX11, Cooked\))$

# Make Rocket League fill both monitors for split screen
# windowrulev2 = minsize 3840 1080, class: ^(steam_app_252950)$
# windowrulev2 = maxsize 3840 1080, class: ^(steam_app_252950)$

# █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █▀
# █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀ ▄█
$MOD = SUPER

# █▀ █▀▀ █▀█ █▀▀ █▀▀ █▄░█ █▀ █░█ █▀█ ▀█▀
# ▄█ █▄▄ █▀▄ ██▄ ██▄ █░▀█ ▄█ █▀█ █▄█ ░█░
bind = ,Print, exec, uwsm app -- screenshot.sh --monitor
bind = SHIFT, Print, exec, uwsm app -- screenshot.sh --selection
bind = $MOD, Print, exec, uwsm app -- screenshot.sh --active

# █░█ █▀█ █░░ █░█ █▀▄▀█ █▀▀
# ▀▄▀ █▄█ █▄▄ █▄█ █░▀░█ ██▄
binde=, XF86AudioRaiseVolume, exec, uwsm app -- audio.sh vol up 5
binde=, XF86AudioLowerVolume, exec, uwsm app -- audio.sh vol down 5
binde=, XF86AudioMute, exec, uwsm app -- audio.sh vol toggle
binde=, F20, exec, uwsm app -- audio.sh mic toggle

# █▄▄ █▀█ █ █▀▀ █░█ ▀█▀ █▄░█ █▀▀ █▀ █▀
# █▄█ █▀▄ █ █▄█ █▀█ ░█░ █░▀█ ██▄ ▄█ ▄█
binde=, XF86MonBrightnessUp, exec, uwsm app -- brightness.sh up 5
binde=, XF86MonBrightnessDown, exec, uwsm app -- brightness.sh down 5

# ▄▀█ █▀█ █▀█ █▀
# █▀█ █▀▀ █▀▀ ▄█
bind = $MOD, F, exec, uwsm app -- thunar.desktop
bind = $MOD, T, exec, uwsm app -- foot.desktop
bind = $MOD, B, exec, uwsm app -- librewolf.desktop
bind = $MOD SHIFT, P, exec, uwsm app -- librewolf.desktop:new-private-window
bind = $MOD, W, exec, uwsm app -- vesktop.desktop
bind = $MOD, D, exec, pkill fuzzel || uwsm app -- fuzzel
bind = $MOD SHIFT, E, exec, pkill wleave || uwsm app -- wleave --protocol layer-shell -b 5 -T 360 -B 360
bind = CTRL SHIFT, Escape, exec, uwsm app -- foot btm

# █▀▀ ▀▄▀ ▀█▀ █▀█ ▄▀█
# ██▄ █░█ ░█░ █▀▄ █▀█
bind = $MOD, N, exec, pkill hyprsunset || uwsm app -- hyprsunset -t 2000
bind = $MOD, R, exec, uwsm app -- random-wall.sh
bind = $MOD SHIFT, R, exec, uwsm app -- cycle-wall.sh
bind = $MOD, L, exec, uwsm app -- loginctl lock-session

# Global binds for OBS
bind = Alt_R, M,			pass,^(com\.obsproject\.Studio)$
bind = Alt_R, N,			pass,^(com\.obsproject\.Studio)$
# bind = , Next,				pass,^(com\.obsproject\.Studio)$

# █░█░█ █ █▄░█ █▀▄ █▀█ █░█░█   █▀▄▀█ ▄▀█ █▄░█ ▄▀█ █▀▀ █▀▄▀█ █▀▀ █▄░█ ▀█▀
# ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀   █░▀░█ █▀█ █░▀█ █▀█ █▄█ █░▀░█ ██▄ █░▀█ ░█░
bind = $MOD, Q, killactive
bind = $MOD, Space, fullscreen
bind = $MOD, Tab, togglefloating
bind = $MOD, P, pseudo # dwindle
bind = $MOD, S, togglesplit # dwindle

# █▀▀ █▀█ █▀▀ █░█ █▀
# █▀░ █▄█ █▄▄ █▄█ ▄█
bind = $MOD, left, movefocus, l
bind = $MOD, right, movefocus, r
bind = $MOD, up, movefocus, u
bind = $MOD, down, movefocus, d

# █▀▄▀█ █▀█ █░█ █▀▀
# █░▀░█ █▄█ ▀▄▀ ██▄
bind = $MOD SHIFT, left, movewindow, l
bind = $MOD SHIFT, right, movewindow, r
bind = $MOD SHIFT, up, movewindow, u
bind = $MOD SHIFT, down, movewindow, d

# █▀█ █▀▀ █▀ █ ▀█ █▀▀
# █▀▄ ██▄ ▄█ █ █▄ ██▄
binde = $MOD CTRL, left, resizeactive, -10 0
binde = $MOD CTRL, right, resizeactive, 10 0
binde = $MOD CTRL, up, resizeactive, 0 -10
binde = $MOD CTRL, down, resizeactive, 0 10

# █▀ █░█░█ █ ▀█▀ █▀▀ █░█
# ▄█ ▀▄▀▄▀ █ ░█░ █▄▄ █▀█
bind = $MOD, 1, workspace, 1
bind = $MOD, 2, workspace, 2
bind = $MOD, 3, workspace, 3
bind = $MOD, 4, workspace, 4
bind = $MOD, 5, workspace, 5
bind = $MOD, 6, workspace, 6
bind = $MOD, 7, workspace, 7
bind = $MOD, 8, workspace, 8
bind = $MOD, 9, workspace, 9
bind = $MOD, 0, workspace, 10
bind = $MOD ALT, up, workspace, e+1
bind = $MOD ALT, down, workspace, e-1

# █▀▄▀█ █▀█ █░█ █▀▀
# █░▀░█ █▄█ ▀▄▀ ██▄
bind = $MOD SHIFT, 1, movetoworkspace, 1
bind = $MOD SHIFT, 2, movetoworkspace, 2
bind = $MOD SHIFT, 3, movetoworkspace, 3
bind = $MOD SHIFT, 4, movetoworkspace, 4
bind = $MOD SHIFT, 5, movetoworkspace, 5
bind = $MOD SHIFT, 6, movetoworkspace, 6
bind = $MOD SHIFT, 7, movetoworkspace, 7
bind = $MOD SHIFT, 8, movetoworkspace, 8
bind = $MOD SHIFT, 9, movetoworkspace, 9
bind = $MOD SHIFT, 0, movetoworkspace, 10

# █▀▄▀█ █▀█ █░█ █▀ █▀▀   █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀
# █░▀░█ █▄█ █▄█ ▄█ ██▄   █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█
bindm = $MOD, mouse:272, movewindow
bindm = $MOD, mouse:273, resizewindow
bind = $MOD, mouse_down, workspace, e+1
bind = $MOD, mouse_up, workspace, e-1

# █▀█ ▀█▀ █░█ █▀▀ █▀█
# █▄█ ░█░ █▀█ ██▄ █▀▄
# submaps
# Disables all keybinds for moonlight or vm's
bind = $MOD SHIFT, N, submap, clean
submap = clean
bind = $MOD SHIFT, N, submap, reset
submap = reset

# use when bug reporting
debug {
	# disable_logs = false
	# watchdog_timeout = 0
}

Config File: /home/faaris/.cache/wallust/colors_hyprland.ini: Read Succeeded
# Hyprland with colors from wallust
# The
# You can use this template by adding the following to wallust.toml:
# hypr = { src = "hyprland-colors.conf", dst = "~/.config/hypr/colors.conf" }
# and then on hyprland.conf:
# source = ~/.config/hypr/colors.conf

general {
    # Here we use `saturate` filter to have more vibrant colors,
    # not matter the scheme, since the border should seek the attention
    col.active_border = rgb(BC685F)
    # color0 is almost the same as the background color,
    # by putting ee as the alpha, it makes it 100% transparent
    col.inactive_border = rgba(403B4Aff)
}

======Config-End========

Description
On some setups (not sure why it isn't all) , using waywall in conjunction with hyprland causes some incorrect behaviour.
Waywall: https://github.com/tesselslate/waywall
it's a nesting wayland compositor which is used for minecraft speedrunning. When using a keybind in waywall like so:
config.actions = {
	["J"] = helpers.toggle_res(320, 16384),
}

To change the res (for a certain speedrunning trick using ender eyes) it causes insane flickering.
Here is a video of what it looks like on some hyprland setups: video link
whats funny is this is an older screen recording, I asked my friend who is experiencing this issue to send a new video. It still occurs, but looks perfect on the xdph screen recording (???? how): video link
I've attempted troubleshooting with them like enabling/disabling tearing or direct scanout, nothing seems to make it work properly. Here is what woofdoggo had to say about it:

xdph issue for this person might just be skill issue, but they are also experiencing the flickers, and something related to wl_pointer reporting the wrong position. That is not the scope of this issue report tho.
I've put this as a regression because there's probably a pretty high chance it stemmed from the switch to aquamarine. It seems to work in sway for the people who have had the issues.
How to reproduce
I've packaged some stuff to make this easier for you to repro (if you have access to the aur)
install waywall-git and glfw-waywall (its just glfw with patches to run native wayland)
install the SpeedrunPack 1.16.1 through PrismLauncher modrinth modpacks
edit its settings, set it to use java21, set it to use native glfw library. Also go to custom commands, and set the wrapper command to waywall wrap --
create a basic waywall config at the location ~/.config/waywall/init.lua with this inside:
local waywall = require("waywall")
local helpers = require("waywall.helpers")

local config = {
	input = {
		remaps = {},

		layout = "us",
		repeat_rate = 40,
		repeat_delay = 300,

		sensitivity = 1.0,
		confine_pointer = false,
	},
	theme = {
		background = "#303030ff",
	},
}

config.actions = {
	["J"] = helpers.toggle_res(320, 16384),
}

return config

try and launch the pack.
Now, simply enter a world, look anywhere, and press "J" on your keyboard. You should see the res of the game change, and possibly flicker if your setup also has said bug.
Crash reports, logs, images, videos
Not much for logs, if you still need them let me know

looks like damage not being properly updated. Can you tell me more about the setup? is the window in fullscreen? Is there anything below it?
Can you also check #8683

changed title due to friend also testing 0.41.2 (pre aq) and experiencing the same thing.
could we get a rebase on #8683 ?

can confirm the issue is related to hyprland damage tracking, asking my friend to disable damage tracking like so:
debug {
  damage_tracking = 0
}

resulted in it completely fixing the damage issues. :)
of course they shouldn't be using it like that. How can we go about making it track the damage correctly?

patch.txt
try

patch.txt try

no change with this patch. Anything else I can try?

I'll see after xmas

kewl, happy holidays :)


See if it's easily possible to merge NewTyXT into BeauTyXT and have a toggle to switch between them

Aligns with trunk-based development which can be good for development and testing

While you can merge NewTyXT into BeauTyXT, current NewTyXT doesn't have a good structure. DO NOT continue building upon it without improving existing code.
Review relevant parts as you go to ensure you are following best practices.
https://developer.android.com/topic/architecture/intro
https://developer.android.com/kotlin/coroutines
https://developer.android.com/kotlin/flow
https://developer.android.com/kotlin/parcelize

Once basic text file editing support is implemented and tested internally, merge and ask for public testing.


Fix require's file name case for case-sensitive filesystems

This should fix the issue https://github.com/TossShinHwa/node-odata/issues/46
In Linux environment, the filesystem are case sensitive and the library wasn't working because of this require(...) statements.

Thx.
But in fact, the filename is same first letter capitalized.

Ohh, I see. I thinked that babeljs was converting the filenames to lowercase, but I surprised when I cloned the project and make it, then seen the /lib and the file names were ok.
Then, it's a problem with the published npm module. In a new project, if I do npm install node-odata, the folder in node_modules has the fileNames in lowercase:

I think you should republish the module.

U are right, It's seems I forgot to run make, before publishing.
v0.7.8 has been released, try again plz.
Thx.

v0.7.8 worked. Thanks :smile:


[Bug] Error: connect ETIMEDOUT at TCPConnectWrap.afterConnect

Ever since I connected the bot with my token and Username, it seems when the app sees no activity for a while or maybe that it detects theres no stream active (since im debugging using my channel with no stream) it throws an error (which doesnt break the app just shows an error alert) seems like a timer / websocket problem dont know but it keeps happening.
doesnt seem app breaking but an issue never the less.
Screenshot:

That's a known issue atm with dlive-js with how it handles sockets I believe. Could be unrelated but hopefully once I update that, it should be fixed.

Maybe a websocket that's already completed itself (or closed) is trying to run a function.

Should be fixed with latest version of bot/dlive-js


Every half hour in the day view

Hi there, this is framework is so awesome. I am wondering is that possible to show  every half hour in a row like "8:30AM,9:00AM,9:30AM" in the day view? If so, it will be so nice of you to point out where I should modify. Appreciate your help.

@xiaolongtang What do you mean show every half hour in a row?
Maybe you mean show every half hour in a column?
The step option already provides you the capability to display the event every half hour.
If you want to also display text like 8:30AM, 9:00AM in the first column, you can take a look at the day.html.
Below code snippet display the content in the first hour column.
                       <td class="calendar-hour-column text-center">
                            {{::tm.time | date: formatHourColumn}}
                        </td>

@twinssbc right, it is every half hour in a column. Thank you so much.


Support for addons in substrate node

Issue #, if available:
Description of changes:

Create addons for substrate kube-proxy and aws-iam-authenticator
Add another package for aws-iam-authenticator specific common code in operator and substrate
Remove sleep when doing aws s3 sync on substrate node
Kubelet running on the substrate node will register itself to the API server on the same node.
Some bug fixes

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Things remaining which I will be covering in the next PR-

Generate component label for all objects created, deployments, authenticator etc.
Refactor EnsurePatch method to not require object type in args.

Will address the minor things in next PR.


Enable DAML on any cloud or local

As a user, I should be able to use DAML with any cloud or local file system.  DAML uses AWS S3 and SQS services now.

close

reopen


Makefile: add a doc test rule and fix a failed doc test case

What have you changed?
Our CI didn't run doc test before, I add it and fix a failed doc test case.

What is the type of the changes?

Misc (other changes)

How is the PR tested?

Manual test (add detailed scripts or steps below)

Does this PR affect documentation (docs) or should it be mentioned in the release notes?

None
Does this PR affect tidb-ansible?

None

/run-all-tests

/run-test

/test

Note, the original issue is due to a Cargo bug: https://github.com/rust-lang/cargo/issues/6669

Note, the original issue is due to a Cargo bug: rust-lang/cargo#6669

Got it, so I retain the doc_test target and let it run with ci_test

/merge


Improve Network Selection

Improves the UX of adding a new network and matching it with the proper client implementation. Also deals with Optimism's gas oddities.

Codecov Report

Merging #454 (3aeb06b) into main (e4450cd) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #454   +/-   ##
=======================================
  Coverage   59.51%   59.51%
=======================================
  Files           8        8
  Lines         536      536
=======================================
  Hits          319      319
  Misses        208      208
  Partials        9        9

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


Use an older version of numpy when building wheels.

Resolves #822.

This also publishes wheels as a build artifact as part of CI.  For instance, see here: https://circleci.com/gh/DigitalSlideArchive/HistomicsTK/916#artifacts/containers/0


Minor Feature request: re display/copy physical address in file

Could we perhaps get an option in the ui to display the physical address of instructions, or maybe a right click option to "Copying physical address in file" like we can with  right click copy address?

This was solved with a snippet: https://gist.github.com/psifertex/6fbc7532f536775194edd26290892ef7#file-clipboard-py
Though note that you'll want to uncomment that example (which I think you already did)


Moved icons to frontend/base, moved frontend/base/resourcebundles to …

…its own module

Nit: as a general rule, pls use infinitive (move) rather than past participle (moved) in commit messages/PR titles etc.: https://cbea.ms/git-commit/#imperative (aka If applied, this commit will...)


Error propagation during refresh instead of silent failure

Hi, previously it was discussed here that there is a design flaw in the library where it doesn't propagate the errors back to the client when exception happens during refresh of token. I am wondering if migration to version 2 is a good opportunity to do that as it might be a breaking change depending on how the library is redesigned.
Example here, the exceptions are logged and not propagated to the client hence the client is eternally in AuthenticationState.inprogress state. In my previous project i overcame this limitation but by putting a time out on the application side but I think this should be fixed in the library.
If the resdesign of the library is out of scope then one small enhancement we can make is just like we allow clients to add state change handlers, we can allow clients to register error callback handler, which can be called when the above exception happens with appropriate error message. Although its not a full proof solution since the application might not register with the error callback, it will atleast provide a way for the application to know that an exception happened underneath.
Imo correct way would be to decouple initialization of Auth instance with refresh from here. I think we should let the client call a function refreshToken explicitly after they have initialized NhostClient and by extension Auth object. That way we can simply throw the exception from refreshToken function and client can handle it on their side.
What do you think @shyndman? I am happy to work on this fix once we decide which approach to take.

Yeah, this is important.

Imo correct way would be to decouple initialization of Auth instance with refresh from here. I think we should let the client call a function refreshToken explicitly after they have initialized NhostClient and by extension Auth object. That way we can simply throw the exception from refreshToken function and client can handle it on their side.

It's a good suggestion, but it only handles the initial token refresh.
The first thing Auth does after the initial refresh is to set up a timer for the next one. That timer creates the same problem that the constructor does now — failure can't be signaled via exceptions, because we don't have the stack to do it.
So yeah...I think that leaves us with state change handlers.
Like you said, they aren't foolproof, but maybe we could improve the situation by throwing an exception if we fail and the application hasn't provided a handler?
The exception (being timer-invoked) will hit Zone.handleUncaughtError, where the application has an opportunity to do something about it. If it doesn't, the exception will print noisily, making it known to the devs that something should be done.
What do you think? Other suggestions?

Yeah good point about the timer expiry. Keeping that in mind and i think error handler might be a good way to go and will help in this situation. However i think there might be some traps with it. For example a client initialize NhostClient and does some work and by the time they attach  error handler, exception has already happened and later when the add the error handler, its too late. Do you think that could be problematic?
Also more i think about it, more i feel that authentication initialization(which includes refresh token and setting up timer) should be independent from creation of NhostClient initialization. I can think of cases where client still wants to be able retrieve data from graphql/call functions/etc when authentication fails so that can show some restricted version of the application. I feel the fact the problem is two fold:

The only way to use local stored refresh token is to provide autoLogin which initializing NhostClient
Failure in refreshToken code path leave us two option, one of which is to blow up the initialization of NhostClient which is not ideal imo, and second is to communicate to the client outside of stack which is by handler

To me the coupling of initialization of auth which includes refresh token workflow and initialization of NhostClient is looking a bit like violation of Single Responsibility Principle. If redesign would be an option, i would be tempted to decouple it by first removing the autoLogin from NhostClient(as it is only specific to auth) and either not initializing auth at all and let the caller init it or init it but not refreshToken and let the client do something like auth.autoLogin() manually.
What are your thoughts? I am totally okay with handling this incrementally and for the time being just providing error handler option and expect the application developer to do things right way.

OK, I buy all of it. Let me get a strawman together.

Ok, I have a version of this out the door:
nhost_sdk-v3.0.0-beta.2,
nhost_graphql_adapter-v2.0.0-beta.2,
nhost_gql_links-v2.0.0-beta.2,
nhost_flutter_graphql-v2.0.0-beta.2,
nhost_flutter_auth-v2.0.0-beta.2

Let me know if it work for you.


Retain warc with no sidecar records; update warcinfo

This will close #22. Rather than produce no metadata WARC when there are no metadata sidecar records for the input WARC, Mark requests a WARC with only a warcinfo for more consistency when processing many WARCs.
This is ready for review @gracieflores @somexpert .

The script works with the changes, as expected. The tests pass. Looks good. 👍🏼


Windows installer cannot install into C:/Program Files

The 0.2.0beta2 Windows installer cannot install into C:/Program Files for Win 7 and Vista
The installer needs elevated privileges to do this.

Tested the improved installer and found it works fine on Windows 7. You do have to agree to the elevated privileges, but that's only to be expected. Perhaps a series of screenshots showing how the installation takes place would be useful.

This is now in github and will appear in 0.2.0beta3


[FEATURE] Custom reading list

(Apologies for deviating from the bugs-only convention; maybe open Discussions?)
Oftentimes the linked articles used to steer the writing are poorly written, low-information-density articles, resulting in fluffy language.
Could I instead provide the list of source links myself? Like this one: https://github.com/erlend-sh/opensource-curriculum

We recently release Collaborative-STORM (paper). The new version allows human to collaborate with the system in complex information seeking & report writing. You can try it out to see whether telling the system to include specific articles will work or not.


Feature/full

Math Magicians: full website
In this milestone, the full website of the application was created adding webpages without without any errors. All requirements for this milestone have been met according to this document:
https://github.com/microverseinc/curriculum-react-redux/blob/main/math-magicians/project_full_website.md

Thanks @Mihndim2020


How HTTP Middlewares work

From #16
cc/ @digitalcraftsman

+1

You'd perhaps like this: https://github.com/thewhitetulip/web-dev-golang-anti-textbook/blob/master/content/7.0middleware.md


[PKG-4492] 2.7.0 ❄

sentence-transformers 2.7.0 :snowflake:
Destination channel: Snowflake
Links

PKG-4492
Upstream repository
Upstream changelog/diff

Explanation of changes:

Enabled upstream tests

Windows build is failing due to missing numpy 1.21.6. Rebuild in progress: https://github.com/AnacondaRecipes/numpy-feedstock/pull/83

Woops! Didn't mean to add that flag 🫠


BUG: editor.runCommand is not a function

What browser are you using?
Chrome v131
Describe the bug
How to reproduce the bug?
Try running editor.runCommand() after the editor has been initialized throw error.
What is the expected behavior?
I should able to run the command
What is the current behavior?
It throws Uncaught TypeError: editor.runCommand is not a function
If is necessary to execute some code in order to reproduce the bug, paste it here below:
 const editor = createStudioEditor({
   //initialize
});

editor.runCommand('get-tailwindCss', {
     callback: (twcss) => {
           // some code here
    }
});

Code of Conduct

[X] I agree to follow this project's Code of Conduct

createStudioEditor doesn't return the editor.
I recommend adding a plugin to start interacting with the editor instance.
createStudioEditor({
  // ...
  plugins: [
    // your plugin here
    (editor) => {
      editor.runCommand(...)
    }
  ]
})


chore: adding gridTemplate as props for TwoColumnsLayout for responsi…

…ve purposes
Signed-off-by: Antonio Sonis<EMAIL_ADDRESS>

IMHO it's a bit confusing having a TwoColumnsLayout where you can template it as rows.
Why don't we keep only the responsive template as default?


Fixed/btn on hover

fixed the issue of hovering the btn from light to dark
dark mode

white mode

on hover the light theme button is shown

@oyepriyansh yes i thought the themes of button should be contradictory like in dark mode the button should be light on hover and vise versa with the light theme

@oyepriyansh should i keep the same and just fix the text issue?

just fix the text issue


avdl compiler update

does it make sense that lodash is added to yarn.lock?

Commenting on Lodash: that got added as a avdl compiler dependency, we use a couple different casing functions and uniq in python and typescript


Custom Discovery client registration does supply the instances

How can we make a ServiceInstanceListSupplier that is dynamic and able to provide a service instance list based on service id.
The simple discovery client is static but it allows adding different services and instances. I have tested this to work locally. The correct service id is used to pick an instance in round robin fashion.
But when I exclude - SimpleDiscoveryClient and add my own implementation following the exact same code but instances fetched from a repo it fails to identify the service id and picks wrong instance.
Any guidance and help will be appreciated.
Describe the scenario in more details - not using Eureka but custom registry which can be queried using SDK.
a. Spring Cloud Gateway - calling couple of downstream services - so would need the ability to get this dynamic instance list from the custom registry.
b. The downstream services communicate with each other - requires the use of Spring Cloud Load balancer with Spring Cloud OpenFeign.
@Component
@Slf4j
public class DefaultServiceDiscoveryClient implements DiscoveryClient {

    public DefaultServiceDiscoveryClient() {
        log.info("** Default service discovery client created");
    }

    @Override
    public String description() {
        return "Default Service Discovery Client";
    }

    @Override
    public List<ServiceInstance> getInstances(String serviceId) {
        log.info("Service id : {}", serviceId);
       //just hard coded sample list to test locally
        return Arrays
                .asList(
                        new DefaultServiceInstance(  "0", "account", "localhost", 7081, false),
                        new DefaultServiceInstance( "1", "account", "localhost", 7080, false));

    }

    @Override
    public List<String> getServices() {
        log.info("=== getServices ----");
        return Arrays.asList("account", "customer"); //never called except command line runner
    }

    public int getOrder() {
        return Ordered.HIGHEST_PRECEDENCE;
    }

}

@Slf4j
@Component
@RequiredArgsConstructor
public class CheckDiscoveryCommandLineRunner implements CommandLineRunner {

    private final CompositeDiscoveryClient compositeDiscoveryClient;
    @Override
    public void run(String... args) throws Exception {
        //serviceRegistry.register(new CloudMapRegistration("account","0", "http", "localhost", 7081));
        log.info("composite - {}", compositeDiscoveryClient.getDiscoveryClients());
        log.info("services - {}", compositeDiscoveryClient.getServices());
        log.info("instances - {}", compositeDiscoveryClient.getInstances("account"));
    }
}

Logs From command line runner
composite - [com.xyz.gateway.tbd.DefaultServiceDiscoveryClient@743c3520]
...
services - [account, customer]
Service id : account
instances - [DefaultServiceInstance{instanceId='0', serviceId='account', host='localhost', port=7081, secure=false, metadata={}}, DefaultServiceInstance{instanceId='1', serviceId='account', host='localhost', port=7080, secure=false, metadata={}}]

Versions *
Spring Boot 2.6.3
Spring Cloud Load Balancer - 3.1.1
Spring Cloud Gateway - 3.1.1

Hello, @kdhrubo. Please provide a minimal, complete, verifiable example that reproduces the issue -  will verify it for you.

I can upload it on Github ? will that work?
However to run you will need AWS services.
I will try to summarize the problem if that helps and what i am looking for
I need a way use AWS Cloudmap service discovery.
In other words - I do not or cannot use Eureka.
So please help in create a ServiceListInstanceSupplier and DiscoveryClient that connects to Cloudmap to retrieve the actual IPs for the services. At this moment I created both but not able to correctly configure it and Instance list supplier or discovery client is not called by Load balancer component. Please help get a sample to configure a custom Instancelist supplier and discovery client. Similar to simple but not hard coded. I need to know how these beens are configured like it is done for Eureka.
Hope this helps.

Hello, @kdhrubo - I need to see a code demo to be able to see your implementation and how you are plugging it in.
Please provide a minimal, complete, verifiable example that reproduces the issue.

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.

I will get you the code on GitHub this weekend.
On Wed, Apr 13, 2022, 4:05 AM Spring Cloud Issues @.***>
wrote:

If you would like us to look at this issue, please provide the requested
information. If the information is not provided within the next 7 days this
issue will be closed.
—
Reply to this email directly, view it on GitHub
https://github.com/spring-cloud/spring-cloud-commons/issues/1081#issuecomment-1097752785,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAISPRGFV7VWKWFCDHGNUXDVE2E3XANCNFSM5RJLU24A
.
You are receiving this because you were mentioned.Message ID:
@.***>

Ok, please do.

@OlgaMaciaszek busy at work. Please feel free to close this ticket. I will raise a new one with code. Sorry for the delay.


Deploying a Pippo webapp on a Debian server

Hello everyone,
I recently got into learning web frameworks. I'm currently testing out Pippo and developing a web-app using it. However, I seem to not be able to bind the Pippo/Jetty server to listen to port 80, while other port works fine (3000).

Would someone point me in the right direction to deploy this?

I know that you cannot open a port below 1024 without admin privileges. Please try to run your application with sudo.

[main] INFO ro.pippo.core.Languages - Using 'en' as default language.
[pool-1-thread-1] INFO org.eclipse.jetty.util.log - Logging initialized @241ms
[pool-1-thread-1] INFO ro.pippo.jetty.JettyServer - Starting Jetty Server 9.3.8.v20160314 on port 80
[pool-1-thread-1] INFO org.eclipse.jetty.server.Server - jetty-9.3.8.v20160314
[pool-1-thread-1] INFO ro.pippo.core.PippoFilter -
 ____  ____  ____  ____  _____
(  _ \(_  _)(  _ \(  _ \(  _  )
 ) __/ _)(_  ) __/ ) __/ )(_)(   http://pippo.ro
(__)  (____)(__)  (__)  (_____)  1.1.0

[pool-1-thread-1] INFO ro.pippo.core.PippoFilter - Pippo started (PROD)
[pool-1-thread-1] INFO org.eclipse.jetty.server.handler.ContextHandler - Started r.p.j.PippoHandler@25133ef8{/,null,AVAILABLE}
^C[Thread-0] WARN ro.pippo.core.Pippo - Server is not started

The response when I ran  sudo java -jar PlaygroundSpark-1.0-SNAPSHOT.jar. Still does not seem to work.

Can you run the application in debug mode (with -Dpippo.mode=dev on command line) to have more info?

 sudo java -jar PlaygroundSpark-1.0-SNAPSHOT.jar -Dpippo.mode=dev
[main] INFO ro.pippo.core.Languages - Using 'en' as default language.
[pool-1-thread-1] INFO org.eclipse.jetty.util.log - Logging initialized @238ms
[pool-1-thread-1] INFO ro.pippo.jetty.JettyServer - Starting Jetty Server 9.3.8.v20160314 on port 80
[pool-1-thread-1] INFO org.eclipse.jetty.server.Server - jetty-9.3.8.v20160314
[pool-1-thread-1] INFO ro.pippo.core.PippoFilter -
 ____  ____  ____  ____  _____
(  _ \(_  _)(  _ \(  _ \(  _  )
 ) __/ _)(_  ) __/ ) __/ )(_)(   http://pippo.ro
(__)  (____)(__)  (__)  (_____)  1.1.0

[pool-1-thread-1] INFO ro.pippo.core.PippoFilter - Pippo started (PROD)
[pool-1-thread-1] INFO org.eclipse.jetty.server.handler.ContextHandler - Started r.p.j.PippoHandler@25133ef8{/,null,AVAILABLE}

Not sure why it still says PROD.

You must put -D... after java world.
Nevermind, your issue it's not about Pippo. Maybe below link [1] can help you to resolve this problem.
In production you should use a web server like apache or nginx that runs on port 80 in front of your application that runs on 8338, for example.
[1] http://serverfault.com/questions/112795/how-to-run-a-server-on-port-80-as-a-normal-user-on-linux

The Nginx solution seemed to work for me in that link, thanks!.


[EmbeddingBW] input gradient must be cast to BF16

TTNN forces the following constraint on embedding backward op
    TT_FATAL(
        grad_tensor.get_dtype() == DataType::BFLOAT16 or grad_tensor.get_dtype() == DataType::BFLOAT8_B,
        "Output gradient tensor must be BFLOAT16 or BFLOAT8_B");

Therefore we have to insert cast on gradient tensor if it doesn't fit required type. This should be done via workaround framework.

Thanks for reporting this @rpavlovicTT! We will take a look at it.


DSA 2.2.6 Searching & Sorting Algorithms : Selection Sort - Audio

Description
Description
Implement and explain selection sort Algorithm
Task

[ ] Audio
[ ] Video
[ ] Documentation

Note

While requesting the issue to be assigned, please mention your NAME & BATCH NUMBER.
Mention the type of contribution you want to make.
Kindly refer to the Issue Guidelines.
Do not use the assign command for this issue. Follow the above procedure.
In case you see that the issue has already been assigned, try to request a different task within the same issue.
Changes should be made inside the DSA/directory & DSA branch.
Name of the file should be the same as the issue.
This issue is only for 'GWOC' contributors of the 'DSA' Domain.

Domain
DSA
Type of Contribution
Audio
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

Saket Sagar
Batch -2
Documentation


ODKTables--Move all Shared Preferences into Key Value Store

Originally reported on Google Code with ID 915
All values stored in the Shared Preferences should be moved into the Key Value Store
to enable more complete app configuration transfer between phone.

Known things that currently reside in SharedPreferences and should be moved:

1) aggregate url
2) account name used for aggregate
3) configuration timestamp
4) spreadsheet font size

There could be more, but those are the ones I can think of.

Reported by sudar.sam on 2013-09-13 21:33:43

Fixed. Properties are in config/assets/app.properties.
Need to document:

properties are divided into 3 groups:
a) app properties shared and overwritten with each sync.
b) device properties that are preserved but can be given default values on first sync.
c) secure properties, such as user passwords, which cannot be given default values.

Some device properties can be provided default values by copying data/device.properties into config/assets/default.device.properties and editing that file.  Note that this file contains properties that should never be shared across devices; those should be removed from this defaults file.


Add Media Files for VideoPlayer

Summary
Media files for the VideoPlayer component.
List of notable changes:

added example.vtt and example.mov for use by the VideoPlayer component

What should reviewers focus on?

Ensuring both these files are availible.

Supporting resources (related issues, external links, etc):

Contributor checklist:

[ ] All new and existing CI checks pass
[ ] Tests prove that the feature works and covers both happy and unhappy paths
[ ] Any drop in coverage, breaking changes or regressions have been documented above
[ ] New visual snapshots have been generated / updated for any UI changes
[ ] All developer debugging and non-functional logging has been removed
[ ] Related issues have been referenced in the PR description

Reviewer checklist:

[ ] Check that pull request and proposed changes adhere to our contribution guidelines and code of conduct
[ ] Check that tests prove the feature works and covers both happy and unhappy paths
[ ] Check that there aren't other open Pull Requests for the same update/change

@JoshBowdenConcepts - can we close this now that you found an alternative way to handle this?


Chrisda to Main

Docs Build status updates of commit 864d149:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/New-AntiPhishPolicy.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/New-SafeAttachmentPolicy.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Set-AntiPhishPolicy.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Set-SafeAttachmentPolicy.md
:white_check_mark:Succeeded
View (exchange-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 3e52269:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/New-AntiPhishPolicy.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/New-SafeAttachmentPolicy.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Set-AntiPhishPolicy.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Set-AtpPolicyForO365.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Set-SafeAttachmentPolicy.md
:white_check_mark:Succeeded
View (exchange-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 831a71b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/New-AntiPhishPolicy.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/New-SafeAttachmentPolicy.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Set-AntiPhishPolicy.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Set-AtpPolicyForO365.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Set-SafeAttachmentPolicy.md
:white_check_mark:Succeeded
View (exchange-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


SAK-43087 Change load order in roster.js

https://jira.sakaiproject.org/browse/SAK-43087

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 1

See the complete overview on Codacy


The content of "file" field is not correct

I have changed my zotero's data directory location to a custom one, for example, /Users/Username/Zotero. But the directory of files is still
PDF:/Users/Username/Library/Application Support/Zotero/Profiles/vbzmo3uh.default/Zotero/storage/...

but not
PDF:/Users/Username/Zotero/storage/...

What should I do if I want the later one?

Go into the bbt preferences, advanced tab, and clear the cache.

It works! Thanks!

I've made a change that should make this automatic in the future.


Fix autowiring issue

This pull request configures the APY\BreadcrumbTrailBundle\BreadcrumbTrail\Trail class to be autowired.
At the moment, this class cannot be autowired.
<?php

namespace App\Controller;

use APY\BreadcrumbTrailBundle\BreadcrumbTrail\Trail;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;

class CoreController extends AbstractController
{
    public function index(Trail $trail): Response
    {
        $trail->add('Title');
        return new Response();
    }
}

The code above raises a Runtime Exception:
Cannot autowire argument $trail of "App\Controller\CoreController::index()": it references class "APY\BreadcrumbTrailBundle\BreadcrumbTrail\Trail" but no such service exists. You should maybe alias this class to the existing "apy_breadcrumb_trail" service.

Thank you @MaximePinot


Do not assume that realpath(1) is available

Motivating use case: a minimal installation of Ubuntu Desktop 14.04.

This issue serves a reminder not to rely on the presence of realpath(1), since some minimal installations of Linux do not provide it. Example: Ubuntu Desktop 14.04.


MGMT-14174: Add TicketQuery

This provides the ability to build jira queries with a fluent interface

/cc @nmagnezi

Looks good to me overall, a few high-level remarks:

use of logger instead of printing would be preferred, so the users can run different log level and redirect stderr if need be
it would be nice to have stdout output instead of file, that way this commandline util can be piped with other tools such as jq to increase its effectiveness
would be good to have a cache interface to handle all-things-cache, instead of "semi-hardcoded" filesystem cache parts and a "cache checker"
workflow_data internal details could be encapsulated for better maintainability/readability
missing command to clear/expire cache: this can get very big very fast, and could be a pain for the user to have to delete it manually

In any case I don't really see any of these points blocking, so I guess they could be implemented at a later stage.

Looks good to me overall, a few high-level remarks:
* use of logger instead of printing would be preferred, so the users can run different log level and redirect stderr if need be

* it would be nice to have stdout output instead of file, that way this commandline util can be piped with other tools such as `jq` to increase its effectiveness

* would be good to have a cache interface to handle all-things-cache, instead of "semi-hardcoded" filesystem cache parts and a "cache checker"

* workflow_data internal details could be encapsulated for better maintainability/readability

* missing command to clear/expire cache: this can get very big very fast, and could be a pain for the user to have to delete it manually

In any case I don't really see any of these points blocking, so I guess they could be implemented at a later stage.

Logger + stdout + cache have been done.
Test suite does not yet have 100% coverage but in the name of brevity I would like to move forward with this if possible?

/lgtm

/cc @osherdp


[docs] Clarify on how to use the local distribution in the CONTRIBUTING file

In this commit, we are clarifying how to install the local distribution of Material-UI to test changes in a real case scenario.
It turns out that, if you don't point the installation to the /build folder when importing a Material-UI component, the path @material-ui/core/<ComponentName> does not work.
It took me a while to realize how to install the local distribution, that's why I decided to update the documentation.

[x] I have followed (at least) the PR section of the contributing guide.

Thank you.

For testing with a local distribution we should probably recommend linking (yarn link) instead of file:*. If one rebuilds the package then file:* will still point to the old build. In addition we can explore how we provided incremental builds (i.e. if I change the Button I don't expect Dialog to be rebuild too)  of our packages.
At least that's how<EMAIL_ADDRESS>works for me. @nicolasiensen is file:* pointing to the new build if you run yarn build in the material-ui package or do you have to run yarn again in your package?

Indeed, just after submitting this PR I realized we could use yarn link instead to test the local distribution.
Using file:*, every time you make a change in the library you have to rebuild it, and from run yarn install from the project you are using to test the changes, it's a very time-consuming process that slows down the feedback look a lot.
I'm going to try to set up my local environment with yarn link and submit a new change to the documentation to suggest a better approach to test the local distribution.

@nicolasiensen I know you figured it already out with file but be sure to run yarn link inside material-ui/build not just in material-ui/

I managed to make it work with yarn link, so whenever I have a change in packages/material-ui/build the app that is using my local distribution automatically reloads itself to apply the changes (I'm using create-react-app to create the test app).
Nevertheless, I still have to manually rebuild the library when a change is introduced, and the build process is going to process all the components, even if I'm changing just one, taking more than 25s.
It would be cool if yarn could watch the changes I'm doing in packages/material-ui/src, and rebuild just the changed components. Do you think this is feasible?

Have you tried adding  --watch? Depending on your module type either yarn build:es --watch or yarn build:es2015 --watch. Not sure how clever babels watchmode is.
You could also just use babel-plugin-module-resolver and point to the source directly from your code. We use this for our docs-development environment: https://github.com/mui-org/material-ui/blob/1023e9676cf20068bd1d744b7a49a5482d22921d/babel.config.js#L72
Overall I think you shouldn't be doing that. If you work on a fix for this package and want manual e2e testing use yarn docs:dev and add an example in our docs. This offers better isolation and potential overhead when you file a PR upstream.