Easier measurement process for new device

Ideally I would want an easier way to add new equipment. The perfect speaker flow in my mind would look like this (after running the docker command):

Submit address of Home Assistant instance
Submit long-lived token
Select type of equipment:

[ ] Light
[x] Smart speaker
[ ] Smart switch

if more than one manufacturer in device registry: Select smart speaker manufacturer:

[ ] Google
[x] Sonos
[ ] Amazon

if more than one model of the chosen manufacturer in device registry: Select model:

[x] One
[ ] Move

if more than one entity of the chosen model in device registry: Select entity:

[x] Bathroom
[ ] Living Room

Select power measuring entity or type in manually:

[x] sensor.tp_link2_current_consumption
[ ] sensor.shelly_power

Then the script could play a test sound from a web address, turn the volume up in cycles, mute it all the while measuring power. In the end it could create the model.json file. This would be a standardized way securing consistency as well! Potentially one could also try out the different attributes available on the device automatically, like loudness, bass levels etc and also incorporate that in the model.

This page has some demo sounds to calibrate sound systems. The pink noise could to be a good noise to stream.

@knudsvik I have worked for a few hours to completely refactor the measure tool to cleanup the measure main script and move logic to respective places for less cohesion and to adhere to single response principle.
See #1286
Few things I have done:

Introduce a runner component which executes the measure flow for respective device types (light or speaker). In utilts/measure/runner
Moved all config related stuff to utils/measure/config.py
Main measure script has been cleaned up a lot and only contains the generic logic which applies to both device types
Standby power is now measured at the end of the session for both lights and speakers
Introduced a media_controller package which can be used by the speaker runner to control the speaker
speaker runner now automatically sets the volume, streams the pink noise, records the measurement and finally writes to model.json.
More code cleanups.

Are you able to give this a test run by checkout out this branch?
See if this works correctly for you (particularly the streaming part).
Let me know what you think.

@bramstroker I get an error (using pyenv virtual environment and python 3.10.4)
Traceback (most recent call last):
File "/Users/thorjanknudsvik/Desktop/temp/powercalctest/homeassistant-powercalc/utils/measure/measure.py", line 11, in
import config
File "/Users/thorjanknudsvik/Desktop/temp/powercalctest/homeassistant-powercalc/utils/measure/config.py", line 42, in
SELECTED_MEDIA_CONTROLLER = config("MEDIA_CONTROLLER", cast=Choices([t.value for t in MediaControllerType]), default=MediaControllerType.HASS)
File "/Users/thorjanknudsvik/.pyenv/versions/testMeasure/lib/python3.10/site-packages/decouple.py", line 199, in call
return self.config(*args, **kwargs)
File "/Users/thorjanknudsvik/.pyenv/versions/testMeasure/lib/python3.10/site-packages/decouple.py", line 83, in call
return self.get(*args, **kwargs)
File "/Users/thorjanknudsvik/.pyenv/versions/testMeasure/lib/python3.10/site-packages/decouple.py", line 77, in get
return cast(value)
File "/Users/thorjanknudsvik/.pyenv/versions/testMeasure/lib/python3.10/site-packages/decouple.py", line 261, in call
raise ValueError((
ValueError: Value not in list: <MediaControllerType.HASS: 'hass'>; valid values are ['dummy', 'hass']

You have to add MEDIA_CONTROLLER to env. See env.dist

@knudsvik Can you find some time to have a look? I would really like a second pair of eyes before I merge this PR.

@bramstroker Some findings:

I would prefer to keep Other as an alternative to measuring other types of equipment (I have used it for lot's of stuff and plan to add even more).
When asking for full model name you could ask specifically for Manufacturer and Model? Also this question should not be necessary when not creating the model.json file?
The script asks me for power meter even though I have specified it in the .env file. I guess it's for the model.json file? Could it be read from there instead?
When typing on the questions I cannot use backspace to delete something I have written wrong..
Even though the script starts measuring I could not hear any sound from my speaker (Sonos bookshelf). Maybe there could be a test run like setting the volume to 20% and playing noise for 10 seconds and have the user acknowledge that he/she hears the noise before starting the actual measurements? The script is able to change the volume on the speaker. From the media_player entity in HA I see that it tries to play this file: http://IP:8123/api/tts_proxy/91bde800add81daea2ac95ce8968b193fd876e49_nb-no_a9c18110b0_cloud.mp3
At the end of the cycle, the volume should be set to something else than 100%, else the user would jump through the roof by the next time the speaker is to be used.
When not specifying that I want model.json the last printed statement is that I can find exported files in the export directory, but nothing is there.
After summing up the measurements I get this error message (only when specifying that I want model.json):

Traceback (most recent call last):
  File "/Users/thorjanknudsvik/Desktop/temp/powercalctest/homeassistant-powercalc/utils/measure/measure.py", line 277, in <module>
    main()
  File "/Users/thorjanknudsvik/Desktop/temp/powercalctest/homeassistant-powercalc/utils/measure/measure.py", line 269, in main
    measure.start()
  File "/Users/thorjanknudsvik/Desktop/temp/powercalctest/homeassistant-powercalc/utils/measure/measure.py", line 115, in start
    standby_power = self.runner.measure_standby_power()
  File "/Users/thorjanknudsvik/Desktop/temp/powercalctest/homeassistant-powercalc/utils/measure/runner/speaker.py", line 77, in measure_standby_power
    self.media_controller.turn_off()
  File "/Users/thorjanknudsvik/Desktop/temp/powercalctest/homeassistant-powercalc/utils/measure/media_controller/hass.py", line 33, in turn_off
    self.client.trigger_service('media_player', 'turn_off')
  File "/Users/thorjanknudsvik/.pyenv/versions/powercalc/lib/python3.10/site-packages/homeassistant_api/client.py", line 185, in trigger_service
    data = self.request(
  File "/Users/thorjanknudsvik/.pyenv/versions/powercalc/lib/python3.10/site-packages/homeassistant_api/rawapi.py", line 59, in request
    return self.response_logic(resp)
  File "/Users/thorjanknudsvik/.pyenv/versions/powercalc/lib/python3.10/site-packages/homeassistant_api/rawapi.py", line 64, in response_logic
    return processing.process()
  File "/Users/thorjanknudsvik/.pyenv/versions/powercalc/lib/python3.10/site-packages/homeassistant_api/processing.py", line 64, in process
    raise RequestError(self.request.content)
AttributeError: 'Processing' object has no attribute 'request'

@bramstroker Some findings:

I would prefer to keep Other as an alternative to measuring other types of equipment (I have used it for lot's of stuff and plan to add even more).

You can just start using the average {time} option, I have leaved that option and that would do exactly the same.

When asking for full model name you could ask specifically for Manufacturer and Model? Also this question should not be necessary when not creating the model.json file?

This is the full name of the light model, as on the package or advertised. It will be used in the name field in model.json, and this is used to display in the supported models listing.
There is no way we could know this and it's needed for the model.json generation.

The script asks me for power meter even though I have specified it in the .env file. I guess it's for the model.json file? Could it be read from there instead?

What exactly did you specify in .env. This is the same as above. We need to know which manufactures/model of powermeter the user is using for the measurement session. This is the measure_device field in model.json.

When typing on the questions I cannot use backspace to delete something I have written wrong..

I have this same issue. This bug was already existing as I didn't change anything related to the CLI wizard. I'll create a separate bug report for this. We are relying on https://github.com/magmax/python-inquirer for that, so I will see if we can update that package. When this doesn't solve I can create a bug report there. Which OS/terminal do you use?

Even though the script starts measuring I could not hear any sound from my speaker (Sonos bookshelf). Maybe there could be a test run like setting the volume to 20% and playing noise for 10 seconds and have the user acknowledge that he/she hears the noise before starting the actual measurements? The script is able to change the volume on the speaker. From the media_player entity in HA I see that it tries to play this file: http://IP:8123/api/tts_proxy/91bde800add81daea2ac95ce8968b193fd876e49_nb-no_a9c18110b0_cloud.mp3

This was working for me on my Harman Kardon Citation.
Could you try in developer tools -> services?
service: media_player.play_media
data:
  entity_id: media_player.hk_citation_multibeam
  media_content_id: https://assets.ctfassets.net/4zjnzn055a4v/5d3omOpQeliAWkVm1QmZBj/308d35fbb226a4643aeb7b132949dbd3/g_pink.mp3
  media_content_type: audio

At the end of the cycle, the volume should be set to something else than 100%, else the user would jump through the roof by the next time the speaker is to be used.

Good idea ;-), I have changed the code to set the volume to 10 after measurement session completes.

When not specifying that I want model.json the last printed statement is that I can find exported files in the export directory, but nothing is there.

Fixed now

After summing up the measurements I get this error message (only when specifying that I want model.json):

Traceback (most recent call last):
  File "/Users/thorjanknudsvik/Desktop/temp/powercalctest/homeassistant-powercalc/utils/measure/measure.py", line 277, in <module>
    main()
  File "/Users/thorjanknudsvik/Desktop/temp/powercalctest/homeassistant-powercalc/utils/measure/measure.py", line 269, in main
    measure.start()
  File "/Users/thorjanknudsvik/Desktop/temp/powercalctest/homeassistant-powercalc/utils/measure/measure.py", line 115, in start
    standby_power = self.runner.measure_standby_power()
  File "/Users/thorjanknudsvik/Desktop/temp/powercalctest/homeassistant-powercalc/utils/measure/runner/speaker.py", line 77, in measure_standby_power
    self.media_controller.turn_off()
  File "/Users/thorjanknudsvik/Desktop/temp/powercalctest/homeassistant-powercalc/utils/measure/media_controller/hass.py", line 33, in turn_off
    self.client.trigger_service('media_player', 'turn_off')
  File "/Users/thorjanknudsvik/.pyenv/versions/powercalc/lib/python3.10/site-packages/homeassistant_api/client.py", line 185, in trigger_service
    data = self.request(
  File "/Users/thorjanknudsvik/.pyenv/versions/powercalc/lib/python3.10/site-packages/homeassistant_api/rawapi.py", line 59, in request
    return self.response_logic(resp)
  File "/Users/thorjanknudsvik/.pyenv/versions/powercalc/lib/python3.10/site-packages/homeassistant_api/rawapi.py", line 64, in response_logic
    return processing.process()
  File "/Users/thorjanknudsvik/.pyenv/versions/powercalc/lib/python3.10/site-packages/homeassistant_api/processing.py", line 64, in process
    raise RequestError(self.request.content)
AttributeError: 'Processing' object has no attribute 'request'

Not sure about this one, seems there was a problem with the HA API at that time. Did you have this error each time or only once?

CLI backspace issue has been resolved by upgrading pyinquirer and readchar libraries.
I was able to reproduce your last error AttributeError: 'Processing' object has no attribute 'request'.
Looking into that now.

Processing error has also been fixed.

@bramstroker unfortunately that introduced a new error on line 75 in config.py: SELECTED_DEVICE_TYPE not found. Declare it as envvar or define a default value.

I see, I have added possibility to select device type in .env, because I have issue with Python debugger in combination with the CLI wizard. So that allows me to predefine all answers of the wizard.
Anyway it should be fixed now.

When I say no to not create model.json file I should not need to be asked what model media player I have, since the information is not used for anything. not a critical issue, but a small thing that could make the experience easier ;)
Still no sound... This did not work on my Sonos One:

service: media_player.play_media
data:
  entity_id: media_player.hk_citation_multibeam
  media_content_id: https://assets.ctfassets.net/4zjnzn055a4v/5d3omOpQeliAWkVm1QmZBj/308d35fbb226a4643aeb7b132949dbd3/g_pink.mp3
  media_content_type: audio

But this worked fine:
service: media_player.play_media
data:
  media_content_type: music
  media_content_id: >-
    https://assets.ctfassets.net/4zjnzn055a4v/5d3omOpQeliAWkVm1QmZBj/308d35fbb226a4643aeb7b132949dbd3/g_pink.mp3
target:
  entity_id: media_player.bad

I get a new error message now at the end (after the summary table) when saying yes to create model.json:

If this happened, please report it at https://github.com/GrandMoff100/HomeAssistantAPI/issues with the request status code and the request content
Traceback (most recent call last):
  File "/Users/thorjanknudsvik/Desktop/temp/powercalctest/homeassistant-powercalc/utils/measure/measure.py", line 284, in <module>
    main()
  File "/Users/thorjanknudsvik/Desktop/temp/powercalctest/homeassistant-powercalc/utils/measure/measure.py", line 276, in main
    measure.start()
  File "/Users/thorjanknudsvik/Desktop/temp/powercalctest/homeassistant-powercalc/utils/measure/measure.py", line 121, in start
    standby_power = self.runner.measure_standby_power()
  File "/Users/thorjanknudsvik/Desktop/temp/powercalctest/homeassistant-powercalc/utils/measure/runner/speaker.py", line 79, in measure_standby_power
    self.media_controller.turn_off()
  File "/Users/thorjanknudsvik/Desktop/temp/powercalctest/homeassistant-powercalc/utils/measure/media_controller/hass.py", line 33, in turn_off
    self.client.trigger_service("media_player", "turn_off", entity_id=self._entity_id)
  File "/Users/thorjanknudsvik/.pyenv/versions/3.10.4/lib/python3.10/site-packages/homeassistant_api/client.py", line 185, in trigger_service
    data = self.request(
  File "/Users/thorjanknudsvik/.pyenv/versions/3.10.4/lib/python3.10/site-packages/homeassistant_api/rawapi.py", line 59, in request
    return self.response_logic(resp)
  File "/Users/thorjanknudsvik/.pyenv/versions/3.10.4/lib/python3.10/site-packages/homeassistant_api/rawapi.py", line 64, in response_logic
    return processing.process()
  File "/Users/thorjanknudsvik/.pyenv/versions/3.10.4/lib/python3.10/site-packages/homeassistant_api/processing.py", line 73, in process
    raise UnexpectedStatusCodeError(self.response.status_code, self.response.content)
homeassistant_api.errors.UnexpectedStatusCodeError: Homeassistant return response with an unrecognized status code 500.
b'500 Internal Server Error\n\nServer got itself in trouble'

@knudsvik Did you see my comments above? Are you able to verify these. When everything is ironed out I can merge the PR and issue a new release for the improved measure tool.
And happy holidays.

Hi @bramstroker , sorry for not getting back to you earlier. I tried the new script now: it's playing the pink noise now :)
a couple of quick comments here as well (maybe future work):

The power usage is quite stable after a few seconds. If the script sees that it could maybe just go to the next measurement? Reason for shortening the cycles: The noise is really bad for the ears (and the family) when the volume cranks up haha
Still think my comment above is valid: when I choose not to generate the json file, the script should not ask me for model of the speaker as it is not used for anything anyhow.

But good work!

Thanks for testing. Great the pink noise is also playing for you now.

The power usage is quite stable after a few seconds. If the script sees that it could maybe just go to the next measurement? Reason for shortening the cycles: The noise is really bad for the ears (and the family) when the volume cranks up haha

Maybe I will add that in the future. The measure session is relatively short and an active noise cancelling headphone does wonders ;-).

Still think my comment above is valid: when I choose not to generate the json file, the script should not ask me for model of the speaker as it is not used for anything anyhow.

This question is asked to determine what the model id is. This is used as directory name in the export directory.
I have no way to retrieve that information from HA api unfortunately.
When you have enabled model.json generation an additional question will be asked "Specify the full Smart speaker model name"

But good work!

Thanks

Has been merged into master.
Thanks for helping test and providing feedback on this one.


epicgames@nightly: decompress error

Scoop Configuration

N/A (default)
> scoop config

last_update                       scoop_branch scoop_repo
-----------                       ------------ ----------
2022-12-30T09:58:35.9295713+11:00 master       https://github.com/ScoopInstaller/Scoop

Log
N/A
> cat ~/scoop/apps/epicgames/nightly-20221230/msi.log                                                                                09:56:44
□□=== Logging started: 30/12/2022  10:11:20 ===
=== Logging stopped: 30/12/2022  10:11:31 ===

Error
> scoop bucket add DEV-Tools https://github.com/anderlli0053/DEV-tools.git
Checking repo... OK
The DEV-Tools bucket was added successfully.
> scoop install DEV-Tools/epicgames
WARN  This is a nightly version. Downloaded files won't be verified.
Installing 'epicgames' (nightly-20221230) [64bit] from DEV-Tools bucket
Loading EpicGamesLauncherInstaller.msi from cache
Extracting EpicGamesLauncherInstaller.msi ... ERROR Exit code was 1603!
Failed to extract files from ~\scoop\apps\epicgames\nightly-20221230\EpicGamesLauncherInstaller.msi.
Log file:
  ~\scoop\apps\epicgames\nightly-20221230\msi.log

Please try again or create a new issue by using the following link and paste your console output:
https://github.com/anderlli0053/DEV-tools/issues/new?title=epicgames%40nightly%3a+decompress+error

FYI other buckets are having a similar issue: https://github.com/chawyehsu/dorado/issues/683

@kkpanaz
Added fixed manifest, it should work now, run the console as an admin.
Just remember to this first:
scoop config use_lessmsi $true
or (if the previos command doesn't work for some reason)
scoop config use_lessmsi true
and then re-run the installation and update the bucket via:
scoop update && scoop install DEV-Tools/epicgames


Fix: potencial iam identities data race

Hello!
I guess I found a potential data race condition with iam.identities.
Method loadS3ApiConfiguration contains assignment to identities slice which is not safe. Cause it might be read in the same time by other goroutines (server handlers etc). This PR must fix this issue.

Thanks for your effort! Did you notice any problems with this or just think
there might be a problem?
It’s just a copy on write operation and should not have any problems.

Thanks for your effort! Did you notice any problems with this or just think there might be a problem? It’s just a copy on write operation and should not have any problems.

It would be hard to catch the race condition while runtime with -race flag, but I'm sure it's exactly the case.
It's unsafe to assign a variable (no matter what type it is) without any synchronization when other goroutines are reading it.
For example:
s := []int{1, 2, 3, 4, 5}

ctx, cancel := context.WithTimeout(context.TODO(), 10*time.Second)
defer cancel()

done := make(chan struct{})

go func() {
	for {
		select {
		case <-ctx.Done():
			done <- struct{}{}
			return
		default:
			s = []int{6, 7, 8, 9, 10}
		}
	}
}()

go func() {
	for range s {
	}
}()

<-done

This code contains similar race condition.

Good to know! Not so sure. Any documents on this? If so, there should be
some locks on reading also?

Good to know! Not so sure. Any documents on this? If so, there should be some locks on reading also?

Yes, that's true, I've just added a RWMutex for concurrent-safe reading.
Here's the docs that describes the problem: https://golang.org/doc/articles/race_detector


fix(worker): throw error when circular worker import is detected and support self referencing worker

Description
The first commit makes Vite to throw an error when a circular worker import is detected.
The second and third commits adds support for simple circular import cases (self reference).
fixes #7015
I didn't add support for complex cases (e.g. worker-a.js has import 'worker-b.js?worker' and worker-b.js has import 'worker-a.js?worker'). For those cases, Vite now throw errors (before this PR, the build never finished). But I think it's fine because doing that is not popular and will make the code complex. I checked that supporting the simple cases makes the build of #7015, https://github.com/vitejs/vite/issues/7015#issuecomment-1219908892, #12755, #14499, #15288, #15426, https://github.com/jamsinclair/jSquash/issues/15 pass.
Additional context

What is the purpose of this pull request?

[x] Bug fix
[ ] New Feature
[ ] Documentation update
[ ] Other

Before submitting the PR, please make sure you do the following

[x] Read the Contributing Guidelines, especially the Pull Request Guidelines.
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[x] Update the corresponding documentation if needed.
[x] Ideally, include relevant tests that fail without this PR but pass with it.

/ecosystem-ci run

Awesome! Feel free to merge this one if you'd like to see it in a patch. If not, I'll wait for 5.2


Scrape gardener-operator metrics from garden prometheus

How to categorize this PR?
/area monitoring
/kind enhancement
What this PR does / why we need it:
Configures the gardener-operator metrics to be scraped by the garden Prometheus.
This also removes annotations used by the Seed Prometheus service discovery. Currently, that scrape target is always down, because there is no network policy that allows it to scrape the metrics endpoint.
Which issue(s) this PR fixes:
Special notes for your reviewer:
Release note:

The `gardener-operator` metrics are now automatically scraped by the `garden` Prometheus.

Thanks @maboehm, appreciated :)
/ok-to-test

Also adds the necessary annotation for the "garden" prometheus to scrape this endpoint. There is no ServiceMonitor for it yet. Not sure where to add this. If you give me a hint I can add this here or in another PR.

Good question. We cannot add it to the Helm chart itself, since the CRD will not be installed in a fresh cluster (gardener-operator only installs it after a Garden has been created). In https://github.com/gardener/gardener/pull/10299, we have recently reworked a similar problem regarding the VPA configuration for gardener-operator: Now, it just deploys a VPA for itself as part of the Garden reconciliation: https://github.com/gardener/gardener/blob/10186a5ed1a1a7c9d5fc18df9a7c89be433807e3/pkg/operator/controller/garden/garden/reconciler_reconcile.go#L177-L183
By the way, the same applies for the gardenlet (see diff in above linked PR). Should we follow the same approach/pattern there and add a ServiceMonitor for gardenlet such that it can be scraped by the Seed Prometheus?

Should we follow the same approach/pattern there and add a ServiceMonitor for gardenlet such that it can be scraped by the Seed Prometheus?

Currently, the gardenlet is scraped thanks to the very same annotations: https://github.com/gardener/gardener/blob/master/charts/gardener/gardenlet/templates/deployment.yaml#L49-L51 If we consider that approach deprecated, we should update the docs and can of course change it there as well. Then we could add the ServiceMonitor to the chart (and probably add an option to disable it)

Got it, so no need to change gardenlet for now (AFAIK, this annotation approach is not deprecated, is it? 😅)

/kind enhancement

/retest


Error encoding infinity

pgo:query(<<"SELECT tstzrange($1, $2, '[)');">>, [{{2020,1,1},{0,0,0}}, infinity]).
{error,function_clause}

Ah, yup, looks like we only support decoding time to infinity, not encoding. Should be an easy enough fix in pg_types that I'll get to today.

@benbro fix pushed to master. Can you give it a try.

Works in master. Thanks.


5.5 upgrade

5.5

Oh no I wanted to merge it to a 5.5 branch, not main 😭

Just roll it back 😁

Just roll it back 😁
I did it, maybe not in the best way but I did it. See the 2 last commits


software bug：create a cluster after reset, will fail

Describe the version
version about:

kubean: v0.4.2-rc2

Describe the bug

create a cluster
reset cluster
set override_system_hostname：false, and install cluster
the creation will fail

Screenshots and log

If applicable, add screenshots and log to help explain your problem.

FAILED - RETRYING: [node1]: kubeadm | Initialize first master (2 retries left).
FAILED - RETRYING: [node1]: kubeadm | Initialize first master (1 retries left).
TASK [kubernetes/control-plane : kubeadm | Initialize first master] ************
fatal: [node1]: FAILED! => {"attempts": 3, "changed": true, "cmd": ["timeout", "-k", "300s", "300s", "/usr/local/bin/kubeadm", "init", "--config=/etc/kubernetes/kubeadm-config.yaml", "--ignore-preflight-errors=all", "--skip-phases=addon/coredns", "--upload-certs"], "delta": "0:05:00.030700", "end": "2022-11-09 10:36:51.106676", "failed_when_result": true, "msg": "non-zero return code", "rc": 124, "start": "2022-11-09 10:31:51.075976", "stderr": "W1109 10:31:51.301104   18010 utils.go:69] The recommended value for "clusterDNS" in "KubeletConfiguration" is: [<IP_ADDRESS>]; the provided value is: [<IP_ADDRESS>]\n\t[WARNING Hostname]: hostname "node1" could not be reached\n\t[WARNING Hostname]: hostname "node1": lookup node1 on <IP_ADDRESS>:53: no such host", "stderr_lines": ["W1109 10:31:51.301104   18010 utils.go:69] The recommended value for "clusterDNS" in "KubeletConfiguration" is: [<IP_ADDRESS>]; the provided value is: [<IP_ADDRESS>]", "\t[WARNING Hostname]: hostname "node1" could not be reached", "\t[WARNING Hostname]: hostname "node1": lookup node1 on <IP_ADDRESS>:53: no such host"], "stdout": "[init] Using Kubernetes version: v1.23.7\n[preflight] Running pre-flight checks\n[preflight] Pulling images required for setting up a Kubernetes cluster\n[preflight] This might take a minute or two, depending on the speed of your internet connection\n[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'", "stdout_lines": ["[init] Using Kubernetes version: v1.23.7", "[preflight] Running pre-flight checks", "[preflight] Pulling images required for setting up a Kubernetes cluster", "[preflight] This might take a minute or two, depending on the speed of your internet connection", "[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'"]}
NO MORE HOSTS LEFT *************************************************************

/kind bug

/priority backlog

I did not reproduce after trying many times


The test-binder should be an autoconfiguration

Since the test-binder is not an autoconfiguration, I have to each time, manually add the following configuration in my test code

	@TestConfiguration
	@ImportAutoConfiguration(TestChannelBinderConfiguration.class)
	static class Config {

	}

Since I have to explicitly add the test dependency to the classpath, it means that I want this to be automatically set up. That would reduce the amount of boilerplate code.

So, now all you need is to have
<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-stream-test-binder</artifactId>
</dependency>

and your binder will be discovered as any other binder. It's name is integration.

And a sample app:
@SpringBootApplication
public class DemoStreamNobinerApplication {

	public static void main(String[] args) {
		ApplicationContext context = SpringApplication.run(DemoStreamNobinerApplication.class, args);
		InputDestination id = context.getBean(InputDestination.class);
		id.send(MessageBuilder.withPayload("oleg").build());
		OutputDestination od = context.getBean(OutputDestination.class);
		System.out.println(od.receive());
	}

	@Bean
	public Function<String, String> uppercase() {
		return v -> {
			System.out.println("===> " + v);
			return v.toUpperCase();
		};
	}
}


Mysql support

Work for the issues was to verify if database migrations supporting MySQL.
What I see here is that we tried to replicate lack of the database migrations inside data source provider - which seems to try to work around the issue? I would suggest opening a conversation on the issue.

As team we made call that bringing mysql support will require a lots of work and we do not want to support it for the moment. Thank you so much for contribution


Missing basicBuildWatch

Hey @mattieb,
thanks for working on this. I wanted to try it out, though there is no basicBuildWatch exported in this library, even though it's part of the docs.
Best regards,
Vinh

Thanks for the heads up! That was an old name I had been using when I was developing. I decided halfway through to change it so we could support more descriptive prebuilt expressions that shipped with the library, but missed that documentation. Should be good now. 🙂

@mattieb The published version has a readme that still is wrong fyi


Refactor StandaloneLedger

Refactor StandaloneLedger to Remove Class Variables
This PR refactors StandaloneLedger by removing all class variables to ensure it functions purely as an abstract interface, without direct data storage or implementations for accessors or mutators.
Changes in this PR:

Removed all class variables from StandaloneLedger.
Introduced _prices_as_dict_of_df, aligning with the approach used for _assets_as_dict_of_df to optimize data handling.
Revised the complete_ledger() method to eliminate local variable dependencies.

Note: The caching strategy remains challenging, particularly for cache invalidation across multiple elements (e.g., tax, prices). This PR includes an my input for discussion on how to best handle caching in this context. Feedback and ideas on improving cache management and invalidation would be highly appreciated.

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

Files with missing lines
Patch %
Lines

pyledger/standalone_ledger.py
21.42%
22 Missing :warning:

Flag
Coverage Δ

unittests
68.82% <47.61%> (-11.29%)
:arrow_down:

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

Files with missing lines
Coverage Δ

pyledger/__init__.py
100.00% <ø> (ø)

pyledger/ledger_engine.py
58.90% <ø> (-10.56%)
:arrow_down:

pyledger/memory_ledger.py
94.49% <100.00%> (+0.32%)
:arrow_up:

pyledger/text_ledger.py
96.88% <100.00%> (+0.78%)
:arrow_up:

pyledger/standalone_ledger.py
22.47% <21.42%> (-50.70%)
:arrow_down:

... and 1 file with indirect coverage changes

Merging. Thanks for the excellent work!


Add TSServer support for JavaScript files

I have merged this now, and people can just give it a go. Cheers! :beers:


Error in afterlist slot

Version

Vue version: 3

Description

I'm trying to use the slot afterList to show a last item with a loadMore button, but when i use it, this slot is not placed at the end of the list (inside  <ul> ) instead is placed after the list and when i open the multiselect to see the options the "load more" is over the select options.

Demo

JSFiddle Demo to reproduce the bug.

I have the same problem (also Vue 3).
As a workaround I added overflow: auto; to multiselect-options css. Now the "normal" options are scrollable and the afterlist slot is rendered as fixed element in the dropdown.
But as you said, it would be better to have it as an element inside the options list

Thanks guys, fixed in 2.4.0


Create an option for enable/disable semihosting

In this patch, I add an new option in CMakeLists file to control whether
the semihosting feature should be turned on or off.
If semihosting has been disabled, the exit syscall will print out
"Exiting kernel" and hang in a while-loop. waiting the user to exit
manually.
Semihosting feature may not be provided by some devices. (e.g. Raspberry Pi)
I am currently working on porting AMT onto Raspberry Pi 4B, running
semihosting may cause the board halted. So I think we should provide an extra
setting to control this feature.

OK, I will do it.

OK, I have force-pushed the commit.


feat: support passing custom api url during build

Adds support for passing custom api url during build via --cdn-url and --ingress-url args.

You forgot to change this. If we don't change this value, the --ingress-url= parameter is neglected for FPJS_INGRESS_ENDPOINT property variable's initial value, and this value is used when region query parameter in the request equals to us. So, it means that mocked URL will not be used for us region requests.

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


Fix application crashing on startup

Change description
If the folder UID changes for any reason prom_ex gets stuck in a crash loop that takes down the VM.
What problem does this solve?
Issue number: #176
None of the Grafana client functionality appears to have test coverage this time. edit: sorry, checked the wrong test modules

Thanks for the PR. Really appreciate it :). The Grafana Client functionality is validated in this test module https://github.com/akoutmos/prom_ex/blob/master/test/prom_ex/dashboard_uploader_test.exs using canned responses from Bypass. Could you add a test case in there to reproduce this?

Coverage increased (+0.02%) to 79.022% when pulling 4bfd0cb7d6f353f1411a0afdc022eaeee6cec57a on feld:master into 7a4dd9173b331b9acdeaf4a35288822bd4fed42b on akoutmos:master.

I tried to dig through the labyrinth of Grafana history and pinpoint exactly when they changed this but I can't figure out when that happened. I suspect you were testing against old Grafana API behavior.
I've changed the test that covers this scenario to mock the response code as a 409 instead of a 400 which does cause the test case to fail without the updated code.

Thanks! Appreciate you digging into Grafana source to see when this was change. To future proof it, definitely better that the match isn't limited to one specific status code and instead logs it out 👍 .


Add JSDoc to types

What problem does this feature solve?
This will improve the developer experience when using Vue in editors such as VSCode.
Currently, the developer must look up the default value in the documentation. And even there it is not clear, without trying it.
What does the proposed API look like?
One example:
https://github.com/vuejs/vue/blob/b7c2d9366cf731a1551286b8ac712e6e0905070e/types/options.d.ts#L155
This line could get a JSDoc like:
Indicates whether the property must be set or is optional. Default is `false`.

Example Result

Wanted to implement this, realized that while the guide section of the documentation does not provide clear information about default values, the api section does.
Having a second source of truth to the official documentation is likely to cause more confusion than be convenient down the line. (outdated JSDoc comments are easily overlooked)
Opinions?

@ww7w could the JSDoc be used to generate the documentation?

@kinow its definitely possible, but having to write the API documentation inside of type definition files introduces its own separation of concerns issues.
Also, JSDoc doesn't have one unified spec, which makes it hardly suitable for anything more than short comments like the one in the example.


Cannot load plugin in deno v1.32.5

Will fix when release latest deno_bindgen

https://github.com/denoland/deno_bindgen/pull/118
https://github.com/denoland/deno_bindgen/pull/121


Use conda_build_config.yaml in conda-build-mini to get package pinnings

A lot of packages has to have the exact same version at build time and run time, therefor we need the conda_build_config.yaml from conda-forge.
The config file can be found in this package:
https://github.com/conda-forge/conda-forge-pinning-feedstock
We should add the installation and usage in our Dockerfile

I have added the conda package conda-build-pinning to the image, so we should now have the conda_build_config.yaml file. Now we just needs to figure out how we move the file to the home folder where conda-build looks for the file.
By achieving the config file from conda itself we don't need to worry about updating the file, since the file will automatically be updated when we rebuild the image.

Resolved in commit 51ed5f24


[GENERAL] Dark Mode Glitch: 'Ride' ,'Services' and 'Reviews' Pages Stuck in Light Mode

Topic
Dark Mode Not Working on 'Ride','Services' and 'Reviews' Pages.
Details:
When using dark mode, the theme correctly applies to the Home page on the website, but the "Ride","Services" and "Reviews" pages do not switch to dark mode. Instead, they remain in the light mode while only the Home Page of the site reflects the dark mode setting. The issue occurs consistently across different browsers and devices.
Additional context:
A possible CSS issue or missing theme integration for these specific pages.

@07sumit1002 Please assign me this under gssoc, level2 and hacktober-fest accepted labels. I have already created the PR for this. Kindly check that too.


feat: add Plain import

Adds the Plain import option to facilitate module value imports.
Closes #14

I added the Plain element as Literal was already in use for enumerations. Feel free to change.
The renderable module seemed a logical place as it's the most trivial implementation of the ABC.
Added a test for Plain, the subclassing hook shortcut, and the Plain import mechanism. Turns out the cetz used in the test also features a module value import on their docs so that seemed a good candidate to simply extend. https://typst.app/universe/package/cetz/

I'm not sure how your release workflow works, but let me know if you expect me to add anything :)

Fixed the docstrings!


"Create new console" option opens a new tab with cmd's icon instead of Cmder's

+1 I hate the ugly cmd icon and would love all of them to be the same as cmder

This will be fixed in the next version, icons were being excluded in the pack script. See https://github.com/bliker/cmder/commit/e95127268ed71f2151356c72d31852b3fe4451fa


chore: Use of virtual environment

For Python-based projects, it is better to create a virtual environment to have their own isolated environment when developing, as well as keep track of the dependencies. You may use the built-in venv to do so, but it is a bit complicated to use.
I suggest checking out Pipenv as it is more intuitive and similar to Node.js's NPM. It will create a Pipfile (equivalent to package.json in Node.js) and a Pipfile.lock (equivalent to package.lock.json).
You will need to install Pipenv first on your local
pip install pipenv

After that, cd  to your current directory and run the following to activate a virtual environment.
pipenv shell

If you have any dependencies to install, simply
pipenv install <my-package-name>

For more info, please refer to the Pipenv docs.
Cheers,
Shaun

I prefer conda environment or venv :rofl:
can use makefile for the venv

hahaha, can also, but conda imo is overkill la. The software itself is kinda heavy and we most of the time don't need to use all the feature it provides, so having a self-managed environment is kinda better la😂


Add models readme

This change is

Review status: 0 of 1 files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


How to pass variable in chaining URL

post('/login', {"user" : "user1", "password": "password"}) This will return the user 'userId' and this id will be inserted in to next get request.
get(/user/{userId}/requests)
How to pass userId in above get request, dyanmically?

Hopefully our conversation in gitter has resolved this. Feel free to reopen if not.

Yes it does :) Thanks for quick response.


How to compute sys.link.invweight?

The V2 version Brax is just in time for my thesis and already helping me a lot! Thanks for all the work.
However, changing the parameters of an brax environment is not yet trivial. I know v2 is still in beta, and figured out computing most of the parameters.
But not for invweight, do you know how to compute the invweight from the original System, or the relation with respect to the mass/size of the robot?

Also, let me know if I can do anything for this repo with respect to system identification/ domain randomization!

Hi @gijskoning thanks for using brax! What do you mean by invweight? Inverse inertia can be calculated like so if that's what you're referring to

I should have pointed to what I meant. Normally it is obtained by mujoco when loading in the xml file:
https://github.com/google/brax/blob/6211f46bf908aa793bc502845afbf469f34e6bb3/brax/v2/io/mjcf.py#L327.
And used here: https://github.com/google/brax/blob/6211f46bf908aa793bc502845afbf469f34e6bb3/brax/v2/base.py#L246
Thanks for the link I have looked over this function. Hopefully, that represents the invweight. Will try it out tomorrow.

Ah, sorry for misunderstanding, you can check out how it's computed here before it gets loaded into a brax System:
https://github.com/deepmind/mujoco/blob/main/src/engine/engine_setconst.c#L88


Source field not working

It seems the source field is not working properly.
According to the Twitter forum, this problem should be solved:
https://twittercommunity.com/t/tweet-source-label-not-showing/181802
However, apparently, it is not.
So I wonder whether there is a problem with the package or with the Twitter API.

Twitter has removed the source fields.
As the twitter dev changelog says.

December 20, 2022
Today, we are removing the source field from the Tweet payload in the Twitter APIs.


2.x One more update for module renaming.

NetflixOSS » eureka » eureka-pull-requests #29 SUCCESS
This pull request looks good


Add schema for json config

It is no longer clear which fields are necessary and when.
Write a schema for the json config and a function to validate it in moma_config

Two example configs for dom and llg simulations function as schema examples.


help

[Enter feedback here]

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

ID: 4b961381-6f1a-dcb8-fd9c-99d83cd7123c
Version Independent ID: 7654ffd4-0487-6ccf-0cd9-14deb00fec62
Content: Compiler Error CS1536
Content Source: docs/csharp/misc/cs1536.md
Product: dotnet-csharp
Technology: csharp-diagnostics
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

Hi @alejandrojulius
Can you add some details on what help you need? If you can post a code sample, that would help.


feat: search-v2

Includes

#70   Resolves #62
#73   Resolves #59
#72   Resolves #71
#80   Resolves #64
#82   Resolves #63
#83 Resolves #79
#85 Resolves #84
#74   Resolves a Dependabot issue

Could you say more about the spinner SVG in particular, how it was made?

For sure @josh-chamberlain, it's an SVG with two paths, one that holds the inside, and the inner one that does the rotating. Both paths are set to the same color (defaulting to the current element's inherited color value), and the rotation is accomplished with CSS.
It takes props for size and color overrides, as well as optional text to be displayed along with the spinner. Pretty basic, but functional.


update tantivy

update tantivy

Awesome did you check with
cargo tree -i time
and cargo tree -i chrono
after your change?


Running the contributed command:'emmet.expandAbbreviation' failed.

Issue Id: 4e3ff632-6472-1e2c-630e-07fc6671b45fVersions - 1.15.0-  6feff11ed03402cf77e04e74e13c55529fdb4d09-  2c3e2c291c515619f64e7c9cddf14c565b7f3d92-  f980319f5c4bf3f0878c5fcc68a3aa2795119c57-  dd7adcc1615d86c33e139b677f5adf69f1c2cf91-  1af52c0470d6f445966b5c8a3065233b34303d9a-  c26f8a312b9aa792f45a7baf06e31576470236a8Stack Error: Running the contributed command:'emmet.expandAbbreviation' failed./vs/workbench/api/node/extHostCommands.ts#L134:32/vs/workbench/services/thread/common/abstractThreadService.ts#L34:16 (apply)/vs/platform/extensions/common/ipcRemoteCom.ts#L275:39 (handle)/vs/platform/extensions/common/ipcRemoteCom.ts#L231:25 (invokeHandler)    at _combinedTickCallback (internal/process/next_tick.js:67:7)     at process._tickCallback (internal/process/next_tick.js:98:9)

I met the same problem as you.

@miaoihan Can you give an example of how you arrived at this error?
In VS Code 1.15.0, you shouldn't bind tab key to the emmet command. If you do want to use tab for emmet, use the latest Insiders from https://code.visualstudio.com/insiders or wait for VS Code 1.15.1 which will release in a few days.

My situation is that expandAbbreviation works for few times then doesn't work anymore.
It seems very unstable to trigger the expandAbbreviation and it's very annoying to me nowadays.
However, I hope VScode can be better and better, but it just takes time to be.

Below is a video of my situation. Note that I set Emmet to activate on CTRL+. instead of default keyboard shortcut, as seen in the video. When called outside quotes, everything works as expected. The error message appears when trying to call Emmet from inside quotes.

@stefangabos I am not able to repro. Which version of VS Code are you using?

I was running the one previous to 1.15.1. Since 1.15.1 the problem is gone, but emmet is not working for me in json files anymore. In the files I usually work with this problem doesn't occur anymore. This can be closed, as far as I am concerned. Thank you!

Thanks @stefangabos
If you do want emmet in json files as well use the emmet.includeLanguages setting.
Read more on it at https://code.visualstudio.com/docs/editor/emmet#_emmet-configuration

@imakou @miaoihan Please share repro steps for the error you are seeing


Segfault while using requests in GPIO Callback on Raspberry Pi 3

I'm getting a segfault sometimes after pressing the Button.
This little script can be used to reproduce the error. (If you don't get a segfault after 20 button presses, restart the script, sooner or later you'll get one).
requests Version is 2.4.3
Python Version is 3.4.2
Perhaps someone could give me a hint what/how to find out what the problem is.
import time
from time import mktime, time, sleep
import RPi.GPIO as GPIO
import requests

def button_press_isr1(channel):
    GPIO.remove_event_detect(18)
    sleep(0.0001)
    cnt = 0
    edge_start1 = time()
    while (time() - edge_start1) <= 0.035 : # 35 mSec max, 15mSec margin
        sleep(0.0015) # 1.5 mSec
        if GPIO.input(18) == 0 : # 0/False for Falling, 1/True for Rising
            cnt += 1
        else: # when we have captured a glitch, start all over again
            cnt = 0
        if cnt == 7 : # 7? lucky number
            break
    if cnt == 7 :
        response = requests.post(url="http://<IP_ADDRESS>:8080")
    GPIO.add_event_detect(18, GPIO.FALLING, callback=button_press_isr1)

def init():
  #GPIO.setwarnings(True)
  GPIO.setmode(GPIO.BCM)
  GPIO.setup(18, GPIO.IN)

  GPIO.add_event_detect(18, GPIO.FALLING, callback=button_press_isr1)

def main():
  try:
    while True:
      sleep(0.03)

  except KeyboardInterrupt:
      # exit with CTRL+C
      print("CTRL+C used to end Program")
  finally:
    GPIO.cleanup()

if __name__ == "__main__":
    init()
    main()

Thanks for reporting this!
It's not possible to segfault the interpreter from inside Requests, because Requests is written in pure-Python. That suggests that the issue is inside the GPIO calls. Unfortunately, to be more specific you'll need to use a debugger like GDB to catch the segfault and print the C stack for that call.
Support for that problem is outside the scope of this bugtracker, I'm afraid.

Ah great to know that there is only one option left :-), thank you


Closes #293 New sign in form UI

Fixes Issue #293
Issue #293 Resolved - Added CSS to Sign-in form

Changes proposed

Added CSS to the Sign-In Form to enhance the overall design and make it look apealing.
Increased the width of the form to make it proportional to the devices.
Added effect while the input is in focus.
The form is also responsive to smaller devices.
New UI

Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[ ] My change requires changes to the documentation.
[ ] I have updated the documentation accordingly.
[ ] All new and existing tests passed.

Hey @MonalikaPatnaik thank you so much for merging the PR.
Let me know if I could revamp the sign up page too.
Thank you so much !


fix(material/datepicker): add ability to have numeric zero value in input

fix(material/datepicker): add ability to have numeric zero value in input
Shows valid formatted value for 'falsy' values (exp 0)
Custom DateAdapter (exp TimestampDateAdapter) can have valid numeric 0 value (for timestamp it is 1/1/1970), but datepicker input doesn't show formatted value

Hello @diprokon , this seems reasonable, but you could add a unit test please?

@zarend can you check the tests, please?


No system timer interrupt when single stepping

I'm having an issue with VXT as compared to other emulators. Consider this minimal example:
CPU 8086

org 0x7c3e

segment .text

Start:
  xchg bx,bx
  cli
  xor ax,ax
  mov ds,ax
  mov es,ax
  mov ss,ax
  mov sp,ax
  mov bp,sp

  ; save BIOS timer interrupt handler

  mov word ax,[es:0x8 * 4]
  mov [es:_bios_int08_handler],ax
  mov word ax,[es:0x8 * 4 + 2]
  mov [es:_bios_int08_handler + 2],ax

  ; install single step interrupt handler

  mov ax,_single_step
  mov [es:0x1 * 4],ax
  mov [es:0x1 * 4 + 2],cs

  ; install our timer routine that chains to the BIOS one.

  mov ax,_timer
  mov [es:0x8 * 4],ax
  mov [es:0x8 * 4 + 2],cs

  sti

  ; set TF to start single stepping

  xchg bx,bx
  pushf
  or word [bp - 2],0x0100
  popf

  ; infinite loop
.0:
  xor ax,ax
  jmp .0

_timer:
  xchg al,al
  xchg ah,ah
  jmp far [_bios_int08_handler]

_single_step:
  xchg bl,bl
  xchg bh,bh
  iret

_bios_int08_handler: dw 0,0

times 447 - ($-$$) db 0	; We have to be 512 bytes.
kernel_size_sectors: db 0
dw 0xAA55		; Boot Signature

I run VXT with trace log enabled, then use ndisasm to look at the instruction trace:
0012DBE5  31C0              xor ax,ax
0012DBE7  8ED8              mov ds,ax
0012DBE9  8EC0              mov es,ax
0012DBEB  8ED0              mov ss,ax
0012DBED  89C4              mov sp,ax
0012DBEF  89E5              mov bp,sp
0012DBF1  26A12000          mov ax,[es:0x20]
0012DBF5  26A3907C          mov [es:0x7c90],ax
0012DBF9  26A12200          mov ax,[es:0x22]
0012DBFD  26A3927C          mov [es:0x7c92],ax
0012DC01  B88B7C            mov ax,0x7c8b
0012DC04  26A30400          mov [es:0x4],ax
0012DC08  268C0E0600        mov [es:0x6],cs
0012DC0D  B8837C            mov ax,0x7c83
0012DC10  26A32000          mov [es:0x20],ax
0012DC14  268C0E2200        mov [es:0x22],cs
0012DC19  FB                sti
0012DC1A  87DB              xchg bx,bx
0012DC1C  9C                pushf
0012DC1D  814EFE0001        or word [bp-0x2],0x100
0012DC22  9D                popf

Everything's as expected up until now. Then the following sequence loops forever:
0012DC23  31C0              xor ax,ax
0012DC25  86DB              xchg bl,bl
0012DC27  86FF              xchg bh,bh
0012DC29  CF                iret
0012DC2A  EBFC              jmp short 0xdc28
0012DC2C  86DB              xchg bl,bl
0012DC2E  86FF              xchg bh,bh
0012DC30  CF                iret
0012DC31  31C0              xor ax,ax
0012DC33  86DB              xchg bl,bl
0012DC35  86FF              xchg bh,bh
0012DC37  CF                iret
0012DC38  EBFC              jmp short 0xdc36
0012DC3A  86DB              xchg bl,bl
0012DC3C  86FF              xchg bh,bh
0012DC3E  CF                iret

I expect to see the above sequence followed by the timer interrupt code:
0013B40E  86C0              xchg al,al
0013B410  86E4              xchg ah,ah
0013B412  FF2E8B7C          jmp far [0x7c8b]

The timer interrupt never happens (after ~20 second wait). This is a minimal example. In my OS where I noticed this problem, the timer interrupts happen until I set TF, then they stop. If I reset TF, they start again.
 BIOS timer routine ...
; Back to the main program
526906:0000:7c81 xor ax, ax
526911:0000:7c7f jmp 0xFC
526916:0000:7c8d xchg bl, bl
526921:0000:7c8f xchg bh, bh
526926:0000:7c7f iret
; ...

The single step interrupt is interleaved with the main program infinite loop. The timer interrupts happen periodically. This is what I expect.
I haven't looked at trace logs from Bochs or QEMU, but they seem to behave similarly to martypc.
Reproduced under v0.8 and 324ce27.

Hi!
Thank you so much for reporting this. (And the excellent details in the bug report)
This looks like an odd behavior indeed. I'll look in to it asap!

This should provide a fix for the specific issue. https://github.com/andreas-jonsson/virtualxt/commit/983680935c13bb2c00c0f30df93cb28cd99ab448
Do you build VirtualXT from source? If so, could you verify this with your OS code as well?

With 9836809, I get this output from the test:
; ... setup code and loop until first timer interrupt
00134BEB  31C0              xor ax,ax
; single step
00134BED  86DB              xchg bl,bl
00134BEF  86FF              xchg bh,bh
00134BF1  CF                iret
; timer int
00134BF2  86C0              xchg al,al
00134BF4  86E4              xchg ah,ah
; enter BIOS ...
00134BF6  FF2E907C          jmp far [0x7c90]
00134C1C  CF                iret
; back from timer int
; single step
00134C27  86DB              xchg bl,bl
00134C29  86FF              xchg bh,bh
00134C2B  CF                iret
; loop
00134C2C  EBFC              jmp short 0x4c2a
; single step
00134C2E  86DB              xchg bl,bl
00134C30  86FF              xchg bh,bh
00134C32  CF                iret
; ... loop
00152212  EBFC              jmp short 0x2210
; single step
00152214  86DB              xchg bl,bl
00152216  86FF              xchg bh,bh
00152218  CF                iret
; timer int
00152219  86C0              xchg al,al
0015221B  86E4              xchg ah,ah
; enter BIOS ...
0015221D  FF2E907C          jmp far [0x7c90]
; back from timer int
0015224E  86DB              xchg bl,bl
00152250  86FF              xchg bh,bh
00152252  CF                iret
; loop
00152253  31C0              xor ax,ax
00152255  86DB              xchg bl,bl
00152257  86FF              xchg bh,bh
00152259  CF                iret

That's what I expect. The 8086 manual's details on the TF/single step interrupt seem to be incomplete, and I'm building my understanding from the emulators' behavior and here. I don't have a physical 8088 machine to test myself.
With the patch, my OS test fails in a different place. I've no reason at the moment to suspect that's vxt-related, though. I just tested with MartyPC and see similar, so it's probably my own problem.
I'm working on a CPU profiler now, which is the reason I'm working with the TF/single step. As I continue to work on it, I'll look more deeply into the issues with the 8088.
Thank you for the README shout-out, by the way.

Glad that it seems to work now. :)
Good luck with your profiler. Let me know if I can do anything more to help.
I will close this for now and push to the testing branch.


weird result

Hi @mushishi78
Please check this case:
packings = BoxPacker.pack(
  container: { dimensions: [15, 20, 13], weight_limit: 50 },
  items: [
    { dimensions: [2, 3, 5], weight: 1 },
    { dimensions: [2, 3, 5], weight: 1 },
    { dimensions: [3, 3, 1], weight: 1 },
    { dimensions: [1, 1, 4], weight: 1 },
  ]
)

I expect the result should be
expect(packings.length).to eql(1)
expect(packings[0][:placements].length).to eql(4)

Right?
But the packing result I got is
[
  { :placements=>
    [
      {:dimensions=>[5, 3, 2], :position=>[0, 0, 0], :weight=>1 },
      {:dimensions=>[5, 3, 2], :position=>[5, 0, 0], :weight=>1 }
    ],
  :weight=>2,
  :spaces=>
    [
      {:dimensions=>[5, 15, 10], :position=>[0, 3, 0]},
      {:dimensions=>[5, 3, 11], :position=>[0, 0, 2]},
      {:dimensions=>[20, 15, 3], :position=>[10, 0, 0]},
      {:dimensions=>[5, 15, 5], :position=>[5, 3, 0]},
      {:dimensions=>[5, 3, 6], :position=>[5, 0, 2]}
    ]
  }
]

Thanks for the bug report. This is caused by break that should be a
next. I've pushed a fix to the published gem, but I won't be able to
push a fix to GitHub until after the weekend because I've left my
password at home.
On 12/1/16, Aloha<EMAIL_ADDRESS>wrote:

Hi @mushishi78
Please check this case:
packings = BoxPacker.pack(
  container: { dimensions: [15, 20, 13], weight_limit: 50 },
  items: [
    { dimensions: [2, 3, 5], weight: 1 },
    { dimensions: [2, 3, 5], weight: 1 },
    { dimensions: [3, 3, 1], weight: 1 },
    { dimensions: [1, 1, 4], weight: 1 },
  ]
)

I expect the result should be
expect(packings.length).to eql(1)
expect(packings[0][:placements].length).to eql(4)

Right?
But the packing result I got is
[
{:placements=>
   [
    {:dimensions=>[5, 3, 2], :position=>[0, 0, 0], :weight=>1 },
    {:dimensions=>[5, 3, 2], :position=>[5, 0, 0], :weight=>1 }
   ],
  :weight=>2,
  :spaces=>
   [{:dimensions=>[5, 15, 10], :position=>[0, 3, 0]},
    {:dimensions=>[5, 3, 11], :position=>[0, 0, 2]},
    {:dimensions=>[20, 15, 3], :position=>[10, 0, 0]},
    {:dimensions=>[5, 15, 5], :position=>[5, 3, 0]},
    {:dimensions=>[5, 3, 6], :position=>[5, 0, 2]}]}]

--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/mushishi78/box_packer/issues/6


RGI16 - remaining glitches

Altar has a lake which needs removed:

Already removed by Antoine! I mixed it up


USHIFT-289: Revert "USHIFT-289: Revert "change names of rebase image configmaps""

This reverts commit 47df224ed2df12d47c534294554fe01b662784c9.
/assign @pmtk

Reverts #1419 to restore the changes from #1418.
/hold

/close


[BUG]: Workspace LLM Provider is missing LM Studio

How are you running AnythingLLM?
Docker (local)
What happened?
Going into workspace settings and can choose every LLM provider except LM studio. I have added 2 models to LM studio playground to be able to load them directly into memory and keep them there, however I can't seem to swap between them.
The reason I am using LM studio instead of Ollama is that LM studio is much faster than Ollama as Ollama offloads the model from memory and have to reload the model to memory.
Are there known steps to reproduce?
No response

This is actually done intentionally, LMStudio does not support switching between multiple models and being run at the same time so that is why we block LMStudio from being configured at the workspace level.

@wallartup this is using the multi-model chat server right? You can use this as your LLM, but it will not still appear in the UI for a workspace specific LLM. The multi-model endpoint support from LMStudio is somewhat new and many people still do not use that as the "main" inference server and it winds up creating more issues for us helping people understand LMStudio has two inference servers.
We can add LMStudio support for workspace models and as long as you are using the multi-model, we can populate the dropdown

@wallartup this is using the multi-model chat server right? You can use this as your LLM, but it will not still appear in the UI for a workspace specific LLM. The multi-model endpoint support from LMStudio is somewhat new and many people still do not use that as the "main" inference server and it winds up creating more issues for us helping people understand LMStudio has two inference servers.
We can add LMStudio support for workspace models and as long as you are using the multi-model, we can populate the dropdown
@timothycarambat
That's correct. If you use playground (multi-model chat server) it works, the pro over Ollama is that it really loads into the memory and does not "ever" unload. The inferencing is lightning fast, this is why I want it added in the workspace menu. I might be able to figure it out myself but I think giving people the option and calling it (LM studio PLAYGROUND ONLY) you are also mitigating that risk.

If you use playground (multi-model chat server) it works

Super fun fact on that: Loading Models with lmstudio sdk; if Anything LLM used the lmstudio sdk it could allow users to load and use models without needing the playground at all!

I think giving people the option and calling it (LM studio PLAYGROUND ONLY)
@wallartup  1: based on the information included above maybe we should not call it that? 2; I have been working with the LM Studio team lately on getting loading through the API as well. My current suggestion is that the server options include an "auto-load" option, this will allow users to see ALL their models, and whichever they pick get loaded and used; Some variation of this will be coming soon so calling it PLAYGROUND ONLY mode might confuse users (I can also just create another github issue when that time comes)


Add community standard files/info

Generate the following files to meet recommended community standards:

[X] Description
[X] README
[x] Code of conduct
[x] Contributing
[x] License
[x] Issue templates
[x] Pull request template

Closed by #6 #7 #8 #10


Dynamic country names

See how to make use of this feature. List of EU4 countries that could make use of it:

AAC (Aachen): Aix-la-Chapelle (French culture), Aquisgrane (Great Power)
ALS (Strasbourg): Alsace (forced renaming!)
ANN (Annam): Vietnam (forced renaming!)
AQU (Aquileia): Friuli (forced renaming!); Furlania (Slovene)
AZT (Aztec): Ēxcān Tlahtōlōyān (civilized)
BAH (Bahmanis): Deccan (not a Muslim monarchy)
BHA (Bharat): India (forced renaming)
BYZ (Byzantium): Rhomania (forced renaming)
CHR (Chernigov): Chernihiv (Ukrainian culture), Czernihów (Polish culture)
CJA (Cajamarca): Kashamarka (forced renaming)
CLA (Colla): Qulla (forced renaming)
CLI (Cilli): Celje (Slovene)
CNN (Clanricarde): Galway (forced renaming)
DAI (Dai Viet): Đại Việt (forced renaming)
DAU (Dauphine): Dauphiné (forced renaming)
DNZ (Danzig): Gdańsk (Polish culture)
GLG (Glogow): Glogau (German culture), Hlohov (Czech culture), Głogów (else)
HLR (Holy Roman Empire), when not a Christian monarchy: Three Nations, Germany-Burgundy (if Italy exists and Germany does not)
HSN (Hisn Kayfa): Hasankeyf (Arabic), Kiphas (Greek)
ILK (Ilkhanate): Iranzamin (not a monarchy)
IRQ (Iraq): Mesopotamia (Christian)
KIE (Kiev): Kyiv (Ukrainian), Kijów (Polish)
NUB (Funj): Funjistan (forced renaming)
OPL (Opole): Oppeln (German)
PER (Persia): Iran (republic)
PLT (Polotsk): Połock (Polish)
RAG (Ragusa): Dubrovnik (Croatian)
RMN (Romania): Dacia (if BYZ exists)
RUM (Rûm): Turkey (if TUR does not exists and is republic)
STE (Stettin): Szczecin (Polish)
SYG (Sarig Yogir): Yughuristan (forced renaming)
SZO (Saluzzo): Saluces (French)
TAB (Mazandaran): Hyrcania (Christian)
TRA (Transylvania): Erdély (Hungarian), Siebenbürgen (German)
TRE (Trebizond): Trabzon (Turkish)
TRI (Trier): Trèves (French)
VRN (Verona): Welsch-Bern (German)
WOL (Wolgast): Wołogoszcz (Polish)
ZAZ (Zaporozhie): Zarporizhzhia (Ukrainian), Aleksandrovsk (Russian), Zaporoże (Polish)

With Bahamanis, we already have a Deccan tag in EU4, so what happens if we have both an independent Deccan and a non-Islamic Bahamanis?

No idea yet how to deal with such

A possible suggestion would be to also give dynamic names depending on the government system selected for the country (which could be just passed on from victoria 3 to hoi4 using the subsequent converter). I don't know what the policy on randomness is for these converters, but I would advocate for it, as it would contribute towards a more varied game world.
Depending on a country's government type, there could be a list of templated names for the country and one of those could be selected randomly. Some grammar rules could be established as well to filter the odd-sounding choices, but alas I realize this might be too much of a luxury feature.

Vic3 engine currently can handle dynamic name swaps depending on ruling party/goverment_type.
However this issue is more general, and would rename countries from A (in EU4) to B (in vic3) under specific circumstances (government, culture, religion, etc).
This issue needs both comprehensive rulesets as well as localization database.
I'm leaving this issue open in case anyone has an idea what to do with this  - and how.

Dynamic names can be triggered by just about any trigger in Vic3. Primary culture and state religion are trivial, as are government form, and state ownership.
Existence of other countries can also be checked (or flags set by such countries existing).


Initial Cognito record local modified timestamp is local TZ, but remote is UTC

I noticed that when a record is initially inserted into the local data store on Unity, it has a local_modified_timestamp written with the local timezone of the device.  After a sync operation, the timezone of that field is changed to UTC when it is filled with data from the remote store.  In the case of a conflict, the last modified timestamps of the conflict records can be in different timezones, but nothing in the timestamp indicates the timezone.

Closing due to inactivity.  If you are still using Cognito Sync and experiencing this issue, please open a new issue for better visibility.


Efficient way of getting linear coefficients for constraints and objective

Like there are set_linear_coefficients it might be useful to have a get_linear_coefficients method.

@cdiener This is now implemented and released.


larger vault list column widths

This sets total width to 80 chars.

 You should sign our Contributor License Agreement in order to get your pull request merged.

...will be back with less ähellys.


Can I choose headphones or loudspeaker when playing?

You can now on Android. For iOS, please refer to https://github.com/luanpotter/audioplayers/issues/429.


Typings File for BB Manager

Could your release a TypeScript d.ts file for Backbone.Manager? It would be so helpful.

lol... no

Thank you for the quick response!


remove deprecated sourcerer repo

It was closed about 1,5 year ago, so I cleared this url during #hacktoberfest

I see the repo is still active and no mention of deprecation.


Port upImmediate events to up (after 0.2 merge)

Should be done as part of https://github.com/phetsims/scenery/issues/351

Fixed with commits, closing.


Add authenticate success event to adapter.

Hello,
I'm use ZfcUser and your module for social login and I have a some task: saving last success logIn.
So for it I just use "authenticate.success" event from "ZfcUser\Authentication\Adapter\AdapterChain" and it work for local users.
You module don't use ZfcUser AdapterChain (why?) and use ScnSocialAuth\Authentication\Adapter\HybridAuth
For catching "auth" event I can listen "register.post" for new users and "scnUpdateUser.post" for exists user amd it will also works, BUT after trigger these events you have checking user state (HybridAuth:152) therefore two event above not guarant succeed authenticate.
I suggest add trigger "authenticate.success" event to the end authenticate method in HybridAuth. I can send pull request for it.

ScnSocialAuth does use the "ZfcUser\Authentication\Adapter\AdapterChain". The AuthenticationAdapterChainFactory substitutes the auth adapters in the chain to use HybridAuth Just-in-Time.
https://github.com/SocalNick/ScnSocialAuth/blob/master/src/ScnSocialAuth/Service/AuthenticationAdapterChainFactory.php#L26-L30


feat: new API for Carousel

📑 Description
New API - the first approach

Uses trick presented here: https://www.youtube.com/watch?v=ZOBwBPt7q8Y&t=94s
Removes the need for xxxClass props
API simplified and more flexible at the same time

To do:

some optimization
props generation
docs detailed text

Please do comment.
Status

[x] Not Completed
[ ] Completed

✅ Checks

[x] My pull request adheres to the code style of this project
[x] My code requires changes to the documentation
[x] I have updated the documentation as required
[ ] I have checked the page with https://validator.unl.edu/
[x] All the tests have passed
[x] My pull request is based on the latest commit (not the npm version).

ℹ Additional Information

It looks good.
Is the right plus sign in the Advanced customization example intentional?
If so, chevron double arrow is better than a plus sign.

Can you run pnpm lib-helpers and put back <CompoAttributesViewer {components}/>?

@shinokada - I don't understand that error. Seems deployment went well.
Comment about lib-helpers:
It extracts events from files, but it extracts also events that are not forwarded. So if you have on:click={handler}, it's getting extracted even though it shouldn't.
And if you have on:click={handler} on:click to add the forward, then two on:click are getting extracted.

I just update the package.json.

If it is completed, I can resolve the conflicts and squash/merge.

Is it possible to add this function, https://github.com/themesberg/flowbite-svelte/issues/899?


btshell: port changes from bletiny from the last few months

Thanks @rymanluk. I fixed these issues and will merge the PR.


Feature request: Double-sided arrow

Maybe it's possible already and I couldn't figure it out! But would it be possible to add an option to arrows to enable the arrowhead on both the start and end of the line? Right now I have to draw two arrows each time I want a shape like this.
Thanks for building this BTW, It's wonderful to use so far :)

This will be implemented part of #616 (see https://github.com/excalidraw/excalidraw/issues/616#issuecomment-624578470)


Make it working in multiple admin sites context

Hi guys!
I won't have time to continue this next week but feel free to comment


Error:Configuration with name 'default' not found.

Error:Configuration with name 'default' not found.

Please try again with a clean clone. Delete or rename the old one.


feature request: support field validation in template.yaml

I'm authoring the template.yaml for our own templates, in parameters.properties, i'd like to define validation rule for the field so it gives the user quick feedback for the invalid input.
regex based validation should be sufficient enough.
Feature Suggestion
apiVersion: backstage.io/v1beta2
kind: Template
# some metadata about the template itself
metadata:
  name: v1beta2-demo
  title: Test Action template
  description: scaffolder v1beta2 template demo
spec:
  owner: backstage/techdocs-core
  type: service

  parameters:
    - title: Fill in some steps
      required:
        - name
      properties:
        name:
          title: Name
          type: string
          description: Unique name of the component
          ui:autofocus: true
# below are examples with regex validation
          ui:validation:
            regex: '[a-z0-9]+(-[a-z0-9]+)*'
        awsAccountId:
          title: awsAccountId
          type: string
          description: the 12 digital aws account id
          ui:validation:
            regex: '^\d{12}$'

Possible Implementation

The parameters part of the template is based on JSON schema, this means you can use all features of JSON schema here. JSON schema supports pattern to define a regular expression that validates the input. It also supports other constrains like minLength and maxLength for strings or min and max for numbers..
  parameters:
    - title: Configure Your Documentation
      required:
        - name
      properties:
        name:
          type: string
          pattern: '^[a-z0-9-]*$'
          title: Name
          description: The name of the documentation. This will be the unique name in the Service Catalog.
          ui:placeholder: my-docs

Btw., the properties prefixed with ui: come from react-jsonschema-form, which also provides some ways of restricting values.

I think this could be moved to GitHub discussions, any objections?


use propTypes to validate props

It should be propTypes instead of props
http://facebook.github.io/react/docs/component-specs.html#proptypes

CLA is valid!

Thanks for the fix!

Sorry to buzz you, but i found another.
https://github.com/yahoo/flux-examples/blob/master/chat/components/MessageListItem.jsx#L23
Should I just sent another PR?

Yes that's fine.

Pull Request https://github.com/yahoo/flux-examples/pull/75


fix(FIR-35270): Avoid printing secrets in logs

Sanitizing logs to avoid printing secrets. Bumping down query printing to debug level instead.
Also fixed skipped tests.

Integration tests are passing, failures are consistent with master.


does not start on Android 14

I want to start the app [Closet Archive on F-Droid]
(https://f-droid.org/packages/com.myclosetx/)
and then the app closes again.
My phone:
Samsung S21 5G
Android 14

I haven't test it on android 14 😅 ... I will look into it Thank you.

I haven't test it on android 14 😅 ... I will look into it Thank you.

You can download the new release from https://github.com/bahaaTuffaha/Project-ClosetArchive/releases
while I push a request to f-droid...

@bahaaTuffaha
Thank you for the fix.
I installed and i can start the app on Android 14.


Fix watchdog timeout on firmware upload

Sometimes when a firmware is uploaded, a system watchdog timeout occurs

Timeout of HTTPS Server caused by the long time required to flash and verify of the firmware of the Zumo.

Is the verification process done in the same webserver request context?

Yes, the whole process of flashing and verifying is triggered by the webserver, and blocks its further handling until its finished (See here)

Even just flashing (without verifying) a large firmware (20 kB) takes long enough to timeout the connection

Just tested: The connection does not time-out if the client sends requests during the flashing process, for example, changing to the upload window of the web interface. This requests the firmware info, and keeps the connection alive.

Just tested: The connection does not time-out if the client sends requests during the flashing process, for example, changing to the upload window of the web interface. This requests the firmware info, and keeps the connection alive.

Hmm ... but thats different. Is the root cause that the connection gets closed or because the webserver request context is blocked too long?

I am not sure yet. The client only loses connection to the server/ closes the websocket when the server is finished flashing the Zumo.
In other words, once the server is able to handle the connection again, it closes it because of the timeout.
But for that reason I find strange that by sending requests, the connection does not time out. The requests are still handled (get the firmware info) after the flashing is done.

I think I see the problem. All websocket commands are handled in one single call. The websocket connection will run into a timeout and closes the connection. Better would be to queue the commands and handle them in the main context. Have a look to the sequence diagram, which shows the handling. This will help.

I understand what you mean, but even being in the main context, wouldn't it still timeout if the flashing process takes too long?

IMHO the main context task watchdog is disabled.
Anyway there you can handle it in several steps, without doing it in one single call.
The websocket connection is kept open by the webserver.

Alright, so i propose getting all the information of the request, and instead of making the call to the API, it stores the response in a queue. This would be done in  Session.cpp:167.
The question is, if we should push the whole request data into the queue, or put it in a variable and push a pointer to it (FreeRTOS Queue). Obviously depends on the size of the request, but I believe the max. size of the Websocket Buffer is set to 2048 Bytes.


XmlLayout - Render LogEventInfo.Properties as XML

Ex. SQL XML Column
<properties>
  <property key="Action">GetUsers</property>
  <property key="Controller">UserController</property>
</properties>

SELECT 	[Message]
  , [TimeStamp]
  , [Exception]
  , [Properties].value('(//property[@key="Action"]/node())[1]', 'nvarchar(max)') as Action
FROM [Logs]
WHERE [Properties].value('(//property[@key="Controller"]/node())[1]', 'nvarchar(max)') = 'UserController'

Ex. SMTP mails with advanced XHTML-formatting (colors etc):
msg.BodyFormat = MailFormat.Html;

Still work-in-progress

nice!

Now I think it is ready for review.

You can have as many unit-test that you like, just a matter of work-hours.
Like to agree on API before starting to lock things down with unit-tests. But happy you like it.

@snakefoot could you please resolve the merge conflict? Thanks!

I think this one needs some unit tests, then it's good to go. I try to work on this when I find time for it.

Hi @snakefoot
I've added some tests. Some fails, could you please give your opinion? (see separate commits for every testcase)

@304NotModified I've added some tests. Some fails, could you please give your opinion?

I have added a commit that fixes the IncludeEmptyValue-test, and changed the render to better support mixed-mode-xml.

Started working on https://github.com/NLog/NLog/wiki/XmlLayout

@snakefoot  this could be helpful:
XmlLayout.md.txt

updated the xlmlayout. Added some more sections, not sure if it's better. Feel free to restructure

bit stange that attribute has "name" and element has "ElementName " 👼

bit stange that attribute has "name" and element has "ElementName "

Think it was your decision. Don't mind changing it.

Then maybe is my mistake 😂

Created #3137 as example of rename.

@snakefoot I'm happy with the docs now, are you also?
One thing I'm doubting of,
the first "definition" is a bit strange:

It's now a combo of a definition (includeAllProperties="Boolean`" ) and an example. Not that I am a fan of the layout of the definitions of other targets...
Should we convert it to an example or a definition?

@304NotModified Made some updates to the Wiki-page for XmlLayout: https://github.com/NLog/NLog/wiki/XmlLayout


[Bug] "History is out of order" reported when running two workers for the same queue

What are you really trying to do?

I'm running two Workers in a single Python process to achieve task priority. (e.g. running two workers for a queue X and one for a queue Y if I want relative priorities being 2:1.)
As a start, I run just two workers for the same queue with an activity that randomly raises an Exception to emulate transient failures.
Describe the bug

The worker process shows an error message:
  2022-10-10T13:28:26.616940Z ERROR temporal_sdk_core::worker::workflow::managed_run: Error in run machines, error: RunUpdateErr { source: Fatal("History is out of order. Last processed event: 33, event id: 44"), complete_resp_chan: None }

  2022-10-10T13:28:26.617278Z  WARN temporal_sdk_core::worker::workflow::workflow_stream: Error while updating workflow, error: Fatal("History is out of order. Last processed event: 33, event id: 44"), run_id: f31c2102-7b86-4fa1-8822-96c0b2c3b648

Minimal Reproduction

"worker.py" (entry point)
import asyncio

from temporalio.worker import Worker

from playground.workflow import GreetingWorkflow, compose_greeting
from playground.client import create_client

async def run_worker():
    client = await create_client()

    worker1 = Worker(
        client,
        task_queue="my-task-queue",
        workflows=[GreetingWorkflow],
        activities=[compose_greeting],
    )

    worker2 = Worker(
        client,
        task_queue="my-task-queue",
        workflows=[GreetingWorkflow],
        activities=[compose_greeting],
    )

    await asyncio.gather(worker1.run(), worker2.run())

if __name__ == "__main__":
    asyncio.run(run_worker())

"client.py"
import os
from temporalio.client import Client
from temporalio.service import TLSConfig

async def create_client() -> Client:
    with open("/opt/keys/temporal-poc/client-cert.pem", "rb") as f:
        client_cert = f.read()
    with open("/opt/keys/temporal-poc/client-key.pem", "rb") as f:
        client_key = f.read()

    # Start client
    return await Client.connect(
        os.getenv("TEMPORAL_HOST"),
        namespace=os.getenv("TEMPORAL_NS"),
        tls=TLSConfig(
            client_cert=client_cert,
            client_private_key=client_key,
        ),
    )

"workflow.py"
import asyncio
from dataclasses import dataclass
from datetime import timedelta
import sys

import random

from temporalio import activity, workflow

@dataclass
class ComposeGreetingInput:
    greeting: str
    name: str

@activity.defn
async def compose_greeting(input: ComposeGreetingInput) -> str:
    activity.logger.info("Running activity with parameter %s" % input)

    r = random.randint(0, 4)
    if r <= 1:
        raise Exception("sorry!!")

    sys.stderr.write("processing...\n")
    return f"{input.greeting}, {input.name}!"

@workflow.defn
class GreetingWorkflow:
    @workflow.run
    async def run(self, name: str) -> str:
        workflow.logger.info("Running workflow with parameter %s" % name)

        activities = [
            workflow.execute_activity(
                compose_greeting,
                ComposeGreetingInput("Hello", name),
                start_to_close_timeout=timedelta(seconds=3),
            )
            for i in range(8)
        ]

        tpl = await asyncio.gather(*activities)
        return " and ".join(tpl)

"invoker.py" (a process that triggers a workflow execution.)
import asyncio
import logging

from temporalio import activity, workflow

from playground.workflow import GreetingWorkflow
from playground.client import create_client

async def main():
    # Uncomment the line below to see logging
    # logging.basicConfig(level=logging.INFO)

    # Start client
    client = await create_client()

    result = await client.execute_workflow(
        GreetingWorkflow.run,
        "World",
        id="hello-activity-workflow-id",
        task_queue="my-task-queue",
    )
    print(f"Result: {result}")

if __name__ == "__main__":
    asyncio.run(main())

Environment/Versions

OS and processor: M1 Mac (with Temporal Cloud)
Temporal Version: temporalio 0.1b2 with Python 3.7.13
Are you using Docker or Kubernetes or building Temporal from source?: Temporal Cloud

Additional context

I am unable to replicate this with the latest main. If possible, can you try to replicate with latest build?
Also, there is rarely a use case to run multiple workers of the same task queue in the same process. Can discuss here or at https://temporal.io/community what your use case might be.

After some time, I have finally been able to replicate. I have opened https://github.com/temporalio/sdk-core/issues/428 to track this.
In the meantime, it is rarely ever necessary to run the multiple workers for the same task queue in the same process. There may be a misunderstanding about what workers do. Can you share your use case more? I recall our Slack discussion and would like to continue it there or here to understand what you are trying to do.


current time goes back to 00:00 after one hour

Hello. I found this issue.
Usually we have very short video, but recently we had to show a video that is almost 5 hours long.
When the elapsed time reaches 59:59 in goes back to 00:00.
Is there a way to display the hours too?
Here a visual example of what i mean. 1h 8m 36s were passed, but the player display only 08:36

Hmm that screenshot looks like an old version of Plyr. This issue was fixed a while ago.  If you try the latest version (you'll need to update CSS too) then you'll see it works fine:


Update GetIncensePokemonResponse.proto

change to right type

most likely fixes #69 - thanks for your contribution!


Time agg/ MC data reading errors if grid has M dimension

Reported by ansley b manke on 6 Jan 2017 20:46 UTC
Patrick Brockmann reported this,
http://www.pmel.noaa.gov/maillists/tmap/ferret_users/fu_2017/msg00021.html
The data has 5 dimensions:

yes? define data/agg/t myagg = err700_part_01.nc, err700_part_02.nc
yes? sho data/members
     currently SET data sets:
    1> myagg  (default)
 name     title                             I         J         K         L         M         N
 THETAO   Sea Water Potential Temperature  1:21      1:21      1:1       1:228     1:10      ...

          time-dependent data files:
16-DEC-1870 12:00 -> 16-DEC-2004 12:00    ./err700_part_01.nc
16-DEC-2006 12:00 -> 16-DEC-2098 12:00    ./err700_part_02.nc

When the data is read, it is not being wrapped correctly onto the 5-D grid.  A small subset of each file is in the tar file which I'll attach.  file1.nc has data values 270-280, file2..nc has data in 260-270.
! First show each portion of the data separatel, T-E plots:
yes? use file1.nc
yes? use file2.nc
yes? set v ul; shade/i=3/j=2/lev=(0)(260,280,1) thetao[set v ur; shade/i=3/j=2/lev=(0)(260,280,1) thetao[d=2](d=1]
yes?)

! Now define the aggregation.  The data is not put into
! the grid correctly.
yes? can data/all
yes? define data/agg/t myagg = file1.nc, file2.nc
yes? set v lr; shade/i=3/j=2/lev=(0)(260,280,1) thetao

This is in extending mc_read.F to 6 dimensions.  When each stepfile-dataset is read in, the array limits passed to CD_READ to receive the data do not take into account the size of the entire time axis.
Migrated-From: http://dunkel.pmel.noaa.gov/trac/ferret/ticket/2493

Comment by ansley.b.manke on 7 Jan 2017 00:17 UTC
In my example, file1.nc comes after file2.nc in time.  But that's fine.
mc_read was set up with 4D grids, time always being the outermost dimension. It called CD_READ, sending in the first location in the data array to fill with data. With an E and/or F axis, it needs to set that up more carefully.  I've just replaced that with a series of calls in the E and F directions.  This works, and doesn't need any additional structures, but it's unfortunate to have multiple reads like this.
Closing this for now. I'll attach an update to the plot, showing the correct time-aggregated variable.

Attachment from ansley.b.manke on 6 Jan 2017 20:49 UTC
image from the second script
REPLACE THIS TEXT WITH UPLOADED FILE ./attachments/TRAC_2493_GIT_1765/bug2493.png

Attachment from ansley.b.manke on 6 Jan 2017 20:50 UTC
short datsets file1.nc, file2.nc, for the example script
REPLACE THIS TEXT WITH UPLOADED FILE ./attachments/TRAC_2493_GIT_1765/files_2493.tar

Attachment from ansley.b.manke on 7 Jan 2017 00:18 UTC
Plot from the same script with fixed code.
REPLACE THIS TEXT WITH UPLOADED FILE ./attachments/TRAC_2493_GIT_1765/fix_2493.png


MM-40824 - Backport support of Professional sku for channel moderation

Summary
The new sku of Professional license now includes support for Channel Moderation which was moved from the higher sku. However, in previous versions of v6.0, channel moderation was still checking for the LADPGroup feature which is not available in the mid-tier license of Professional.
This PR adds a license check for Professional to allow to unlock the Channels section of the System Console. The license check function added was introduced in v6.0 here https://github.com/mattermost/mattermost-webapp/pull/8554 and was included here to backport to a 5.37 release.
This PR also adds the restriction to Synch Group Members and Groups within channel details if only on high sku license and not in Professional. This restrictions were the changes made in https://github.com/mattermost/mattermost-webapp/pull/9046
Ticket Link
https://mattermost.atlassian.net/browse/MM-40824
Release Note

Added support for channel moderation in Professional sku licenses.

@mkraft @neallred @stevemudie Please help prioritize reviews for this PR.

The builds are failing here.

Will try to auto merge this PR once all tests and checks are passing. This might take up to an hour.

The builds are failing here.

Yes, will work on fixing those now

@amyblais for the upload-storybook pipeline failure, we probably need the PR that @metanerd cherry-picked to the cloud branch as well.

I opened a PR, you can merge https://github.com/mattermost/mattermost-webapp/pull/9661.

Cherry pick is scheduled.

Error trying doing the automated Cherry picking. Please do this manually
+++ Updating remotes...
Fetching upstream
Failed to add the RSA host key for IP address '<IP_ADDRESS>' to the list of known hosts (/app/.ssh/known_hosts).
From github.com:mattermost/mattermost-webapp
   79e7864e0..48bb1542c  release-5.37 -> upstream/release-5.37
Fetching origin
Failed to add the RSA host key for IP address '<IP_ADDRESS>' to the list of known hosts (/app/.ssh/known_hosts).
+++ Updating remotes done...
+++ Creating local branch automated-cherry-pick-of-mattermost-webapp-#9656-upstream-release-5.37-1642470809
Switched to a new branch 'automated-cherry-pick-of-mattermost-webapp-#9656-upstream-release-5.37-1642470809'
Branch 'automated-cherry-pick-of-mattermost-webapp-#9656-upstream-release-5.37-1642470809' set up to track remote branch 'release-5.37' from 'upstream'.

+++ About to attempt cherry pick of PR #9656 with merge commit 48bb1542cf8880b6fb46724da415c4f2f31b4ecb.

The previous cherry-pick is now empty, possibly due to conflict resolution.

Error trying doing the automated Cherry picking. Please do this manually

mattermod was trying to cherry-pick but I've merged directly to the release branch so no cherry-pick is needed.


Quick Start: Container startup failed.

Hello, I encountered the following error during the container startup process. How can I resolve this?

It seems the problem of podman. Could this link solve your issue?
https://github.com/containers/podman/issues/4921


Documentation fixes

Our docs have a lot of outdated information. Let's fix what we can.

Installation
Explanations
Howtos

https://github.com/epinio/docs/pull/70

Today, I've tested and updated these scenarios:

Minikube
K3d
Rancher Desktop
RKE2

I did my tests with the latest version of every component.

Manual deployment on GKE: ✅
Create GKE cluster, install traefik + cert-manager, update DNS and deploy Epinio.


Fix HTTP parsing (second attempt)

Basically this is a https://github.com/httprb/http/pull/433 PR, but rebased against current master with 2 changed lines related to
error handling (http-parser returns a boolean for an indication of a failure, while http_parser.rb actually threw exception there), so that now all tests pass.

Awesome! Thanks!
I'll take care of this.

This seems simple enough. @ixti mind taking another look?


Should PAGE_EXECUTE_RO_TARGETS_INVALID include PAGE_TARGETS_NO_UPDATE?

While reviewing PAGE_EXECUTE_RO_TARGETS_INVALID I saw that it includes PAGE_TARGETS_INVALID (assuming CFG is enabled of course) but not PAGE_TARGETS_NO_UPDATE.
From my understanding, PAGE_TARGETS_NO_UPDATE says that if a memory region (that was allocated with PAGE_TARGETS_INVALID) is remapped using VirtualProtect, then all locations become valid call targets for CFG - effectively disabling CFG protection.
I am thinking of Chakra primarily in the Edge use case. In Edge, Arbitrary Code Guard should prevent a memory section from ever being remapped. PAGE_TARGETS_NO_UPDATE only applied that situation so one could say that it either is not needed or that adding it is effectively a no-op.  However, imagine if there were a vulnerability in ACG that did allow a page to be remapped. In that instance, PAGE_TARGETS_NO_UPDATE would prevent CFG from being disabled.
If I understand things correctly, it seems like (at least as far as Edge is concerned) there is no harm in adding it, and a small but non-zero chance it might help in an unlikely scenario.

Interesting question. Both PAGE_TARGETS_NO_UPDATE and PAGE_TARGETS_INVALID actually have the same value (0x40000000), so adding both wouldn't do anything. The flag just has different meaning depending on if it is used in VirtualProtect or VirtualAlloc call.


Media Library: Fix usage of aria-label and alt attributes on videos/images

Context

Summary

This PR solves the issue #7574. I have removed the aria-label to replace it with alt.
Relevant Technical Choices

To-do

User-facing changes

Testing Instructions

QA

[x] This is a non-user-facing change and requires no QA

This PR can be tested by following these steps:

UAT

[x] UAT should use the same steps as above.

This PR can be tested by following these steps:

Reviews
Does this PR have a security-related impact?

Does this PR change what data or activity we track or use?

Does this PR have a legal-related impact?

Checklist

[x] This PR addresses an existing issue and I have linked this PR to it in ZenHub
[x] I have tested this code to the best of my abilities
[x] I have verified accessibility to the best of my abilities (docs)
[x] I have verified i18n and l10n (translation, right-to-left layout) to the best of my abilities
[ ] This PR contains automated tests (unit, integration, and/or e2e) to verify the code works as intended (docs)
[x] I have added documentation where necessary
[x] I have added a matching Type: XYZ label to the PR

Fixes #7574

Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).
📝 Please visit https://cla.developers.google.com/ to sign.
Once you've signed (or fixed any issues), please reply here with @googlebot I signed it! and we'll verify it.
What to do if you already signed the CLA
Individual signers

It's possible we don't have your GitHub username or you're using a different email address on your commit. Check your existing CLA data and verify that your email is set on your git commits.

Corporate signers

Your company has a Point of Contact who decides which employees are authorized to participate. Ask your POC to be added to the group of authorized contributors. If you don't know who your Point of Contact is, direct the Google project maintainer to go/cla#troubleshoot (Public version).
The email used to register you as an authorized contributor must be the email used for the Git commit. Check your existing CLA data and verify that your email is set on your git commits.
The email used to register you as an authorized contributor must also be attached to your GitHub account.

ℹ Googlers: Go here for more info.

@googlebot I signed it!

Looks like some tests are failing now.
The 4 tests in https://github.com/google/web-stories-wp/blob/a2ad2e45336f5a20ff87b68425b2e7fc181323dd/assets/src/edit-story/components/library/test/mediaElement.js need to be updated to use getByAltText instead of getByAriaLabel. This should make the tests pass.

Add import { render, screen } from '@testing-library/react';
Replace any getByAriaLabel usage with screen.getByAltText
Don't destructure getByAriaLabel from renderMediaElement

So for example the first test would look a bit like this:
renderMediaElement(resource, 'local');
expect(screen.queryByAltText('More')).not.toBeInTheDocument();

const element = screen.getByAltText('image :)');
Simulate.focus(element);

expect(screen.getByAltText('More')).toBeInTheDocument();

The following test in resourceLoading.karma.js also needs to be updated to use fixture.screen.getByAltText():
https://github.com/google/web-stories-wp/blob/a2ad2e45336f5a20ff87b68425b2e7fc181323dd/assets/src/edit-story/elements/image/karma/resourceLoading.karma.js#L43-L45

Looks like some tests are failing now.
The 4 tests in https://github.com/google/web-stories-wp/blob/a2ad2e45336f5a20ff87b68425b2e7fc181323dd/assets/src/edit-story/components/library/test/mediaElement.js need to be updated to use getByAltText instead of getByAriaLabel. This should make the tests pass.

Add import { render, screen } from '@testing-library/react';
Replace any getByAriaLabel usage with screen.getByAltText
Don't destructure getByAriaLabel from renderMediaElement

So for example the first test would look a bit like this:
renderMediaElement(resource, 'local');
expect(screen.queryByAltText('More')).not.toBeInTheDocument();

const element = screen.getByAltText('image :)');
Simulate.focus(element);

expect(screen.getByAltText('More')).toBeInTheDocument();

The following test in resourceLoading.karma.js also needs to be updated to use fixture.screen.getByAltText():
https://github.com/google/web-stories-wp/blob/a2ad2e45336f5a20ff87b68425b2e7fc181323dd/assets/src/edit-story/elements/image/karma/resourceLoading.karma.js#L43-L45

I have made the necessary changes, correct me if I am wrong. Thank you!

How do I solve this? Do I change getByAriaLabel to screen.getByAltText in the renderMediaElement too?
Or have I done something wrong?

How do I solve this? Do I change getByAriaLabel to screen.getByAltText in the renderMediaElement too?
Or have I done something wrong?

Change const { getByAriaLabel, queryByAriaLabel } = renderMediaElement( to just renderMediaElement(. See the example I shared above:
renderMediaElement(resource, 'local');
expect(screen.queryByAltText('More')).not.toBeInTheDocument();

const element = screen.getByAltText('image :)');
Simulate.focus(element);

expect(screen.getByAltText('More')).toBeInTheDocument();

See how there is no getByAriaLabel anywhere anymore

I recommend running tests & ESLint locally first before pushing changes:
npx eslint assets/src/edit-story/components/library/test/mediaElement.js
npm run test:js assets/src/edit-story/components/library/test/mediaElement.js

I am not able to reproduce this issue, it would be better if anyone could take this up.

@Sreelayavuyyuru Sorry to see you closing this PR! :( I felt like it was really close to being done.

@Sreelayavuyyuru Sorry to see you closing this PR! :( I felt like it was really close to being done.

I really felt that someone else could do it better, I'll try working on some other beginner-friendly issues :((


Add sane error handling to library.

We need a basic error handling for the library, an own Result and an own Error type.

Is this still needed since we decided to get rid of the lib?

Yes, a starting point for this could be this implementation


Development of module containing schemes

Aim of this issue is to develop a module which will contain schemes and collecting existing schemes inside this module.

Module:
https://cocalc.com/projects/cdcf3856-3e8b-4d1c-bcb2-5c42ba749d83/files/Marek Skwarka/Shared files/modules/dynpy/utilities/templates/schemes.py