external.sh and add _with_tag targets for external tests

This PR is meant to serve as an example to add/enable xxxxxx_with_tag targets for all external tests.
Grinder: https://ci.adoptopenjdk.net/view/Test_grinder/job/Grinder/2223/console
[echo] Generate dockerfile!!! : build_image.sh derby openjdk8 hotspot ubi jdk full
[exec] ERROR: Dockerfile generation for /dockerfile////Dockerfile.. failed.
[exec]<EMAIL_ADDRESS>line 17: ./common_functions.sh: No such file or directory
[exec]<EMAIL_ADDRESS>line 18: ./dockerfile_functions.sh: No such file or directory
Working out some issues finding/running the common_functions.sh / dockerfile_functions.sh files
Another issue, may need to set permissions differently
(see output: mkdir: /dockerfile///: Read-only file system)

FYI @james-crowley

New grinder, shows I guess I better set a default ANT_VERSION
https://ci.adoptopenjdk.net/view/Test_grinder/job/Grinder/2229/console

@smlambert The version was off. See my comment above. It also appears the build_image step is building the old stock image, not the one built.

Still have some clean up as the clean_image targets in ant are no longer valid, nor are the test targets in playlists that do not take DOCKER_IMAGE tags.  They can be removed and calling the '_with_tag' targets can be called with 'nightly' tag (which will then use the ubuntu base).

Grinders:
camel (on ubi): https://ci.adoptopenjdk.net/view/Test_grinder/job/Grinder/2357
jenkins (on centos): https://ci.adoptopenjdk.net/view/Test_grinder/job/Grinder/2358
derby (on alpine): https://ci.adoptopenjdk.net/view/Test_grinder/job/Grinder/2359

@ShelleyLambert Looks like all the grinders are failing at building the images. Looks like the error is:
build_image:
00:46:22       [echo] Executing external.sh --build --dir jenkins --tag centos --version 11 --impl hotspot
00:46:22       [exec] bash: /home/jenkins/workspace/Grinder/openjdk-tests/TKG/../../jvmtest/external/external.sh: No such file or directory
00:46:22       [exec] Result: 127

So it looks like external.sh is not being found, thus the images are not being built. Which leads to this error:
00:46:25  Unable to find image 'adoptopenjdk-jenkins-test:11-jdk-centos-hotspot-full' locally

yep, its because I moved move_scripts targets up a level to external/build.xml and it likely needs to be corrected

Rerun grinders:
camel (on ubi): https://ci.adoptopenjdk.net/view/Test_grinder/job/Grinder/2362
jenkins (on centos): https://ci.adoptopenjdk.net/view/Test_grinder/job/Grinder/2363
derby (on alpine): https://ci.adoptopenjdk.net/view/Test_grinder/job/Grinder/2364

Closing this in favour of #1660


module 'cv2' has no attribute 'estimateRigidTransform'

I get above error message in python 3, do you know how to fix this? thanks

What version of OpenCV are you running?

To follow-up on this.  The package is tested with opencv-contrib-python.  If you can, my suggestion would be to create a virtualenv and run pip install vidstab[cv2] to install both vidstab and opencv-contrib-python.
Of note, you'll inevitably run into issues if you pip install opencv-contrib-python into an environment where you already have a manually built OpenCV installed.  This is a possible reason for your issue, but impossible to know with the current information provided.
Please let me know if you're running OpenCV 4.0.0.  I have not yet tested the package with this new release.  If you're running a manually built OpenCV < 4.0.0 then your issue might be related to your specific build.

@JolleJolles Please re-open this issue and add additional information if this is still a relevant problem.


If you remove a product from your cart causing the current shipping method to become unavailable, the microcart does not properly update the totals

Current behavior
We have a fixed rate shipping method, and then a free shipping method available over £100. If you add over £100 to your cart, go to the checkout but then go back to the microcart it shows the free shipping option. If you then remove an item so the cart value becomes less than £100, the shipping-information API call fails with {"code":500,"result":"Carrier with such method not found: freeshipping, freeshipping"}
This then means the totals do not change at all on the microcart so the total is a lot higher than it actually is / should be.

Expected behavior
I believe removing an item from your cart needs to request the shipping-methods API first, before requesting shipping-information with a shipping method that is actually available so then the totals on the mircocart are able to properly update.
Steps to reproduce the issue
Create a shipping method in Magento admin over £x value.
Add over £x value to your cart.
Start the checkout and if not by default, select the newly available shipping method.
Go back to the microcart
Remove an item from cart causing you to go below £x
Can you handle fixing this bug by yourself?

[ ] YES
[x] NO

Which Release Cycle state this refers to? Info for developer.
Pick one option.

[ ] This is a bug report for test version on https://test.storefrontcloud.io - In this case Developer should create branch from develop branch and create Pull Request 2. Feature / Improvement back to develop.
[ ] This is a bug report for current Release Candidate version on https://next.storefrontcloud.io - In this case Developer should create branch from release branch and create Pull Request 3. Stabilisation fix back to release.
[x] This is a bug report for current Stable version on https://demo.storefrontcloud.io and should be placed in next stable version hotfix - In this case Developer should create branch from hotfix or master branch and create Pull Request 4. Hotfix back to hotfix.

Hi there! I belive it has been fixed with the 1.10rc1. Please do check it out on the develop or release/1.10 branches


External USB Soundcard not working any more

Compatible Device

[X] I'm running Raspotify on a compatible Device

Compatible OS

[X] I'm running Raspotify on a compatible OS

Latest Version

[X] I'm running the latest version of Raspotify

Due Diligence

[X] I have done my due diligence

What happened?
On Buster and old Raspotify my USB soundcard used to work. This is me.
I am now on a clean headless Bullseye.
librespot --device ? | less Shows no devices (I have blacklisted the internal soundcard)
When I try..
LIBRESPOT_DEVICE="plughw:0,0" (like used to work from the link above)
I get...
Apr 06 18:00:58 raspberrypi systemd[1]: Started Raspotify (Spotify Connect Client).
Apr 06 18:01:19 raspberrypi librespot[1283]: [2022-04-06T06:01:19Z ERROR librespot_playback::player] Audio Sink Error Invalid Parameters: <AlsaSink> PCM, ALSA function 'snd_pcm_hw_params' failed with error 'EPIPE: Broken pipe'
Apr 06 18:01:19 raspberrypi systemd[1]: raspotify.service: Main process exited, code=exited, status=1/FAILURE
Apr 06 18:01:19 raspberrypi systemd[1]: raspotify.service: Failed with result 'exit-code'.

aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: AudioKontrol1 [Audio Kontrol 1], device 0: Audio Kontrol 1 [Audio Kontrol 1]
  Subdevices: 2/2
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1

aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
hw:CARD=AudioKontrol1,DEV=0
    Audio Kontrol 1, Audio Kontrol 1
    Direct hardware device without any conversions
plughw:CARD=AudioKontrol1,DEV=0
    Audio Kontrol 1, Audio Kontrol 1
    Hardware device with all software conversions
default:CARD=AudioKontrol1
    Audio Kontrol 1, Audio Kontrol 1
    Default Audio Device
sysdefault:CARD=AudioKontrol1
    Audio Kontrol 1, Audio Kontrol 1
    Default Audio Device
dmix:CARD=AudioKontrol1,DEV=0
    Audio Kontrol 1, Audio Kontrol 1
    Direct sample mixing device

Relevant log output
No response

Try:
LIBRESPOT_DEVICE="plughw:CARD=AudioKontrol1,DEV=0"

Loud white noise on my first go (after a restart of the service). I hit next track on my phone then lost all audio and Connect disconnected. Tried again and nothing.
-- Journal begins at Fri 2022-01-28 15:37:51 NZDT. --
Apr 06 23:18:51 raspberrypi systemd[1]: Started Raspotify (Spotify Connect Client).
Apr 07 08:22:39 raspberrypi systemd[1]: Stopping Raspotify (Spotify Connect Client)...
Apr 07 08:22:39 raspberrypi systemd[1]: raspotify.service: Succeeded.
Apr 07 08:22:39 raspberrypi systemd[1]: Stopped Raspotify (Spotify Connect Client).
Apr 07 08:22:39 raspberrypi systemd[1]: Started Raspotify (Spotify Connect Client).
Apr 07 08:23:45 raspberrypi librespot[1112]: [2022-04-06T20:23:45Z ERROR librespot_playback::player] Audio Sink Error Invalid Parameters: <AlsaSink> PCM, ALSA function 'snd_pcm_hw_params' failed with error 'EPIPE: Broken pipe'
Apr 07 08:23:45 raspberrypi systemd[1]: raspotify.service: Main process exited, code=exited, status=1/FAILURE
Apr 07 08:23:45 raspberrypi systemd[1]: raspotify.service: Failed with result 'exit-code'.
Apr 07 08:23:45 raspberrypi systemd[1]: raspotify.service: Consumed 4.888s CPU time.
Apr 07 08:23:55 raspberrypi systemd[1]: raspotify.service: Scheduled restart job, restart counter is at 1.
Apr 07 08:23:55 raspberrypi systemd[1]: Stopped Raspotify (Spotify Connect Client).
Apr 07 08:23:55 raspberrypi systemd[1]: raspotify.service: Consumed 4.888s CPU time.
Apr 07 08:23:55 raspberrypi systemd[1]: Started Raspotify (Spotify Connect Client).
Apr 07 08:24:44 raspberrypi systemd[1]: Stopping Raspotify (Spotify Connect Client)...
Apr 07 08:24:44 raspberrypi systemd[1]: raspotify.service: Succeeded.
Apr 07 08:24:44 raspberrypi systemd[1]: Stopped Raspotify (Spotify Connect Client).
Apr 07 08:24:44 raspberrypi systemd[1]: Started Raspotify (Spotify Connect Client).
Apr 07 08:25:08 raspberrypi librespot[1194]: [2022-04-06T20:25:08Z ERROR librespot_playback::player] Audio Sink Error Invalid Parameters: <AlsaSink> PCM, ALSA function 'snd_pcm_hw_params' failed with error 'EPIPE: Broken pipe'
Apr 07 08:25:08 raspberrypi systemd[1]: raspotify.service: Main process exited, code=exited, status=1/FAILURE
Apr 07 08:25:08 raspberrypi systemd[1]: raspotify.service: Failed with result 'exit-code'.
Apr 07 08:25:18 raspberrypi systemd[1]: raspotify.service: Scheduled restart job, restart counter is at 1.
Apr 07 08:25:18 raspberrypi systemd[1]: Stopped Raspotify (Spotify Connect Client).
Apr 07 08:25:18 raspberrypi systemd[1]: Started Raspotify (Spotify Connect Client).

I am at a complete loss. After many hours yesterday, and trying the above today... audio just started working.
The only thing I have done since is downgrade the kernel based on some off Buster sound issues post.
sudo rpi-update e1050e94821a70b2e4c72b318d6c6c968552e9a2
Then rebooted
Then
sudo rpi-update back to the latest kernel
Then rebooted
Config I am using is LIBRESPOT_DEVICE="plughw:0,0"
I can only imagine something was holding exclusive access to the sound card open and maybe all the rebooting helped.
As a side I also got my Mbox Micro DAC working too. Now I will test Bullseye 64 bit but I'm not hopeful.

The only thing I have done since the above, is downgrade the kernel based on some off Buster old sound issues post.

sudo rpi-update e1050e94821a70b2e4c72b318d6c6c968552e9a2

Sounds like a regression in the sound stack below us (ALSA itself).

Now I will test Bullseye 64 bit but I'm not hopeful. Will report back.

DACs are kinda a mixed bag sometimes. Some people have all kinds of problems, I've got a few DACs, both USBs and Raspberry Pi HATs, and I've never had any problem really with any of them. I don't know if I'm lucky or others are unlucky?

64 bit didn't work. Guess that's the kernel driver. I also broke my 64 bit build trying to downgrade to a 32 bit kernel. Clean install with the setup above and it just worked. 32 bit Bullseye.
Guess it's the way you hold your tongue.
Sounds great, hooked up to my hifi, playing my favourite speaker testing D&B playlist reserved for just such an occasion.
Thanks for the great package.


List all versions of a package in Web UI

Question
Is there a way to see all published versions of a single package in the Web UI? Currently I can only see the latest version that was published in Verdaccio.
This is how versions appear on npmjs:

When making a GET request for my package, I can see all of the versions and the time that they were published. Is this just a feature that hasn't been added to the Web UI? If so I would be happy to make a PR for it.
  "dist-tags": {
    "latest": "1.0.3"
  },
  "time": {
    "modified": "2018-04-12T14:07:10.070Z",
    "created": "2018-04-12T13:59:16.668Z",
    "1.0.1": "2018-04-12T13:59:16.668Z",
    "1.0.2": "2018-04-12T14:03:20.463Z",
    "1.0.21": "2018-04-12T14:06:30.840Z",
    "1.0.3": "2018-04-12T14:07:10.070Z"
  }

@juanpicado Is this something you all would want a hand with? I am happy to submit a PR.

Hey @mcmillhj-wta If you already have prepared something for this please do so, else I'm gonna do it at my earliest.

So it looks like this is already done?
When I build the docker image from the latest commit, I see a sidebar with version history:

Were you testing on v2?

No, it looks like master points to 3.0.0-beta.6

I meant, when before you reported the issue.

Oh sorry, yes I assume so. It was the latest Docker image when I pulled verdaccio/verdaccio

but as long as I can see the versions I am happy to pull either the beta or alpha channel.

All versions are currently not displayed, you are right, but I think @priscilawebdev and @ayusharma will have that on the mind with the development of the new UI #955


cordova-windows doesn't support portrait splashscreens in Windows 10 Mobile?

Hi,
Firstly, sorry for my English.
Am I blind or cordova-windows doesn't support portrait splashscreens in Windows 10 Mobile?
This table:  shows me, that only valid splashscreens for Windows 10 Mobile are in landscape mode.
Or maybe I don't know about something?
Regards.

To be able to maybe investigate: Where is this table from?

Here: https://github.com/apache/cordova-plugin-splashscreen#windows-specific-information

Ah, then this here is the wrong location to post this. This issue tracker is only for cordova-windows itself.
That plugin is still handled at JIRA: https://issues.apache.org/jira/projects/CB/issues


AMQJS0016E Invalid MQTT message type 0.

I am using your module in my react native projects. In one app, everything is ok on the emulator. But in another app, I always get the error "AMQJS0016E Invalid MQTT message type 0." on the emulator.
Object {invocationContext: undefined, errorCode: 16, errorMessage: "AMQJS0016E Invalid MQTT message type 0."}
I can say the Mqtt codes are very similar if not same between 2 apps.
So how can I debug the issue, please help.
P/S: not sure if it comes from AsyncStorage ?, your module will use different key for different apps in AsyncStorage ?, or how you build it currently ?

Actually, the one is working on a older version of react native:
"react": "~15.4.0-rc.4",
"react-native": "0.40.0",
"react-native-elements": "^0.9.2",
"react-native-storage": "^0.1.4",
"react-native-vector-icons": "^4.0.0",
"react_native_mqtt": "^1.1.4"
And it seems doesn't work any more with new versions:
"react": "16.0.0-alpha.12",
"react-native": "0.46.4",
"react-native-elements": "^0.15.0",
"react-native-storage": "^0.2.2",
"react-native-vector-icons": "^4.2.0",
"react_native_mqtt": "^1.1.6"
Of course if you have any suggestion, please tell me...

I tested up to the 0.45.0 version

...
"react": "16.0.0-alpha.12",
"react-native": "0.45.0",
...

and it still runs well.
But it fails with the 0.46.4 version. Check the release notes, I see there is a change with websocket in the latest version.

Added Cookie Header to XML and Websocket request (047961f)

Not sure how this thing affect the mqtt connect ?

Apologies in advance for the delay in response.
I am not able to reproduce this error in the current version of react native (v0.48.1).
I added a runnable example with instructions today.
Please feel free to re-open if this is still an issue.


Store signal strength (multiplied by 10 to preserve 1 decimal place)

we already went through a cycle like this.. I understand both sides of the argument but it'd be annoying to use in code and, at best, only implemented for a few fields
On Oct 12, 2022, 9:24 AM -0400, Siraaj Khandkar @.***>, wrote:

@xandkar commented on this pull request.
In src/packet.rs:

@@ -205,7 +205,7 @@ impl Packet {
data: payload,
timestamp: self.timestamp,
ts_res: 0,

       signal: 0,

       signal: (self.signal_strength * 10.0) as u32,

Even better is to name the field more descriptively. Maybe something like: signal_strength_in_ddbm?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you modified the open/close state.Message ID: @.***>


Rethrow uncaught loop exception from {main} suspension

If an exception is thrown from the event loop, the suspension for {main} will throw "Must call suspend() before calling resume()" because the suspension has been marked as no longer pending before throwing the exception from the loop.
https://github.com/revoltphp/event-loop/blob/81dd825a0a7fa7a39cae25ef731bb944f3e18295/src/EventLoop/Internal/DriverSuspension.php#L101-L102
This PR retains that suspension in the instance of DriverSuspension and rethrows the exception from any call to resume() or throw() in the same way as we were already throwing a FiberError.
This new behavior only affects shutdown after an uncaught exception from the event loop and {main} has not been suspended again, which prior to this change was throwing an Error, but now will throw UncaughtThrowable.

This new behavior only effects

ahem. Hate to be that guy, but... affects.

This new behavior only affects shutdown after an uncaught exception from the event loop and {main} has not been suspended again, which prior to this change was throwing an Error, but now will throw UncaughtThrowable.

No, this affects everything throwing exceptions and using suspensions, because the reference is now retained and cannot be garbage collected, which is even more problematic with exceptions keeping a reference to arguments in the stack trace.

Not everything throwing exceptions, only those thrown from the event loop. The change is only on the path that would have thrown an Error anyway. Normal throwing of exceptions is unaffected.

@kelunik Could you have another look at this. Instead of retaining the uncaught exception from the event loop, another Error instances is created and thrown instead. The cached suspension for {main} is discarded when throwing from the event loop, allowing the event loop to be re-entered from a shutdown function, while keeping the prior suspension invalid in case it is resumed.


Add default resource params and slurm destination

closes: https://github.com/galaxyproject/total-perspective-vortex/issues/114

This looks good. The way it is structured, would it be an opt-out rather than opt-in setup?

I'm not familiar with SLURM, to me it looks good. Thanks @nuwang


Table inside array of tables not working

I have the following sample code:
public class CustomDictionary : Dictionary<string, string>
{
	public CustomDictionary(IDictionary<string, string> collection) : base(collection)
	{
	}

	public CustomDictionary() : base()
	{
	}
}

public interface IBar
{
    string Buzz { get; }
    CustomDictionary Dict { get; }
}

public interface IFoo
{
    string Name { get; }
    CustomDictionary Dict { get; }
    List<IBar> AList { get; }
}

public class Foo : IFoo
{
    public string Name { get; set; }
    public CustomDictionary Dict { get; set; }
    public List<IBar> AList { get; set; }

	public Foo(string name, CustomDictionary dict, List<IBar> list)
	{
		Name = name;
		Dict = dict;
		AList = list;
	}
}

public class Bar : IBar
{
    public string Buzz { get; set; }
    public CustomDictionary Dict { get; set; }

	public Bar(string buzz, CustomDictionary dict)
	{
		Buzz = buzz;
		Dict = dict;
	}
}

void Main()
{
	var config = TomlConfig.Create().ConfigureType<CustomDictionary>().As.ConvertTo<TomlTable>().As(
           collection =>
           {
               var table = new TomlTable();
               foreach (var kvp in collection.OrderBy(kvp => kvp.Key))
               {
                   table.Add(kvp.Key, new TomlString(kvp.Value));
               }
               return table;
           }).And.ConvertFrom<TomlTable>().As(table =>
           {
               var collection = new CustomDictionary();
               foreach (var kvp in table.ToDictionary())
               {
                   collection.Add(kvp.Key, kvp.Value as string);
               }
               return collection;
           }).Apply();

	var exampleDict = new CustomDictionary {{"CustomKey1", "CustomValue1"}, {"CustomKey2", "CustomValue2"}};
	var barList = new List<IBar>();
	barList.Add(new Bar("buzzbuzz", exampleDict));
	barList.Add(new Bar("foofoo", exampleDict));
	var test = new Foo("Test", exampleDict, barList);

	Console.WriteLine(Toml.WriteString(test, config));
}

When serializing, I get TOML that looks like the following:
Name = "Test"

[Dict]
CustomKey1 = "CustomValue1"
CustomKey2 = "CustomValue2"

[[AList]]
Buzz = "buzzbuzz"
CustomKey1 = "CustomValue1"
CustomKey2 = "CustomValue2"

[[AList]]
Buzz = "foofoo"
CustomKey1 = "CustomValue1"
CustomKey2 = "CustomValue2"

But based on the v0.4 specification, I would expect to see output like this:
Name = "Test"

[Dict]
CustomKey1 = "CustomValue1"
CustomKey2 = "CustomValue2"

[[AList]]
Buzz = "buzzbuzz"
[Dict]
CustomKey1 = "CustomValue1"
CustomKey2 = "CustomValue2"

[[AList]]
Buzz = "foofoo"
[Dict]
CustomKey1 = "CustomValue1"
CustomKey2 = "CustomValue2"

I haven't dug in to find what's going on yet so I don't know if it's an issue with implementing the spec, or if it's a bug specifically due to the custom converter. See here for an example in the spec.
Thanks!

Thanks for reporting this issue. Should be fixed with the associated commit.

It does properly serialize to TOML now, but fails to deserialize with the error "Failed to add new table because the target table already contains a row with the key 'Dict' of type 'table'." which appears to be coming from ExpressionsProduction.TryApply

It appears that it's attempting to add the Dict key to the "base" table, rather than the [[AList]] table array.

It looks as though this is because TomlTableProduction.TryApply(tokens) notices that CustomKey1 is a part of the [Dict] table at the root and returns before looking further to find that it's also associated with the [Dict] table underneath the [[AList]] table array

It appears that when parsing, the KeyProduction.Apply assumes that keys are unique within the file

Hi. I think the last 'fix' was done a little bit hasty.
I quickly re-read the TOML spec and it seems indeed that the example you gave should serialize as
Name = "Test"

[Dict]
CustomKey1 = "CustomValue1"
CustomKey2 = "CustomValue2"

[[AList]]
Buzz = "buzzbuzz"
[AList.Dict]
CustomKey1 = "CustomValue1"
CustomKey2 = "CustomValue2"

[[AList]]
Buzz = "foofoo"
[AList.Dict]
CustomKey1 = "CustomValue1"
CustomKey2 = "CustomValue2"

to be correct.
I will reopen the bug and hopefully fix it correctly this time (unfortunately the able array spec is a little bit vague in some aspects IMO) within the next view days.

Agreed on the vagueness, I didn't catch the problem until re-reading it a few times. Thanks for looking into it.


Improved error handling

At the moment, the error handling is quite rudimentary. This is an area where we code improve things quite bit to strive for a better code. I'm not entirely sure yet how to address this issue correctly. From what I can see, the way it is being done in the stdlib_linalg module seems like a good starting point. In general, I believe that following the standard sets by stdlib is good idea. I'll look more into that about the conference next week.

I ran into another enhancement suggestion while upgrading LightROM to the new API in LightKrylov. As the verbosity setting for qr is now set to .true. by default which generated a number of outputs during the run, but it does not allow to simply backtrace to which call to qr actually throws the warning.
We should follow each of the base LightKrylov calls in the core with a line to the effect of
if (info /= 0) write(output_unit,*)  '  [<name_of_caller_routine>] Info: Colinear vectors detected in QR, column ', info

where we have set info to the colinear column number.
We could generalize this to the whole toolbox to have a generic check_info function that will check the info flag to write something like this in the output:
'[ arnoldi / qr ] : Info: Colinear vectors detected in QR, column ', info, ' step', k

What do you think about this? Are there any other requirements for the error_check?
This should be separate from the errors, which will need to throw exceptions which could be handled in a way similar to stdlib.

The logging tools I implemented are a first pass to unify the info/error handling.
There are still a few open tasks related to logging/error handling:

[ ] gmres and cg have only very rudimentary error handling as of now (only informing about the number of iterations to convergence). This could be improved to allow more fine-grained information about the solver.
[ ] Add dedicated logfile in order to not clutter the terminal.

Note: For now, the logger only logs information, warning and error and the logger is set to abort on error.


chore: remove last usage of bahmutov/npm-install

Verified caching here: https://github.com/jenseng/remix/actions/runs/2584832365
See prior PR for more context: https://github.com/remix-run/remix/pull/3593

After giving this some thoughts, I'm not sure if we want to go away from bahmutov/npm-install tbh 🤔
If I understand correctly, we're now doing caching ourselves + bahmutov/npm-install is using caching too.
This is indeed redundant, as you pointed out in https://github.com/remix-run/remix/pull/3593#issuecomment-1170102176.
I was wondering if we could change our workflows to always & only use bahmutov/npm-install's cache instead of our own cache setup?
If we can, why aren't we doing that & are we removing bahmutov/npm-install instead?
I personally don't have a preference for either solutions tbh.
Just want to make a conscious decision to either run things on our own (which maybe is more explicit, but also has more maintenance on our side) or use a third party Action that takes all the details away from us (which would make the workflows cleaner to work with).

I'm indifferent on either of those solutions. I do like the ease of just using the  bahmutov/npm-install action, but i also kind of like the explicitness and up-to-dateness of just using actions/cache even if it's more verbose.

I was wondering if we could change our workflows to always & only use bahmutov/npm-install's cache instead of our own cache setup? If we can, why aren't we doing that & are we removing bahmutov/npm-install instead?
I personally don't have a preference for either solutions tbh. Just want to make a conscious decision to either run things on our own (which maybe is more explicit, but also has more maintenance on our side) or use a third party Action that takes all the details away from us (which would make the workflows cleaner to work with).

I don't view it as setting up our own caching, rather we're using another action's caching feature. And for cases like this specific file, bahmutov/npm-install doesn't abstract all the details (i.e. useLockFile: false had to be set). Also, its implicit behavior can cause confusion like we saw here. IMO generally speaking the choices boil down to:

Use one action that handles both node setup and dependency caching, and explicitly run npm install (or whatever) ourselves.
Use one action for node setup, and another action that does both dependency caching and the install itself

In either case, the happy path requires minimal configuration/maintenance, and I think either approach is probably fine. If you're doing something unusual like we do in this workflow, there is maintenance cost around how it's configured for either approach.


Cannot install on Raspberry Pi

Describe the bug
The plug-in cannot install and run on the Raspberry Pi
To Reproduce
Steps to reproduce the behavior:

Attempt to install on RPI operating system
Waste a great deal of time trying to get the install to work.

Expected behavior
Normal behavior
Screenshots
N/A
Desktop (please complete the following information):

OS: Raspberry Pi. Both Buster and Bullseye

Smartphone (please complete the following information):

N/A

Additional context
The issue is due to the reliance on the sqlite3 module for collecting and reporting historical data.

Plan is to eliminate the dependency on sqlite3 and move history data into a "roll your own" solution instead


How should I deal with the phone number with Exit code?

I am using the phone validation demo and I have observed that if I give phone number with exit code as input and if I give the original country name , libphoneNumbers returns invalid phone number.
Whereas for default country if I give the country as the country of the exit code used then I get the correct validated response.
How should I handle this if I want to give country programmatically ?

Hi,
Thank you for taking the time to improve libphonenumber!
To verify a number using exit code, we should always give the corresponding country name to which the exit code belongs in the 'default country' column for eg. exit code of India - 00 so default country - IN see demo
We can validate the number using the E164 format (with ‘+’ rather than the exit code) and then it will work independently of what default country is passed to the library eg. Phonenumber - +919731xxxxxx and default country - US see demo

I'll close this as it's not an issue with the library. Please consider joining
the discussion group if you'd like to discuss this further.


Serverless instrumentation

What does this pull request do?
Adds support for instrumenting serverless functions. Logs to CloudWatch so that those logs can be collected and sent to the APM Server later. Disables all background threads.
Note: This "works", but isn't useful without the connecting lambda from CloudWatch to the APM Server. Thus the lack of docs or references to this code.
Related issues
Ref #428

Closing for now. We will probably go a different direction (via Lambda extensions)

Closing for now. We will probably go a different direction (via Lambda extensions)


Some music not appearing

Hi!
I've put my copy of Dvořák's Slavonic Dances into my music folder, refreshed my library and Nighthawk doesn't list it. (In every other respect, I love Nighthawk).
I suspected it was special character related, but changing the filenames had no effect. Any ideas?

Thanks!

Hi,
It's the format. Currently mp3. wma, ogg, wav and flac are loaded when scanning libraries.
I don't have an idea if electron supports playback of m4a files. I can check it this weekend when I will have time. If electron supports it, I'll definitely add support.

Ah! I shall try converting it. Thanks so much!
On Tue, 26 Feb 2019 at 18:29, Tarak Sharma<EMAIL_ADDRESS>wrote:

Hi,
It's the format. Currently mp3. wma, ogg, wav and flac are loaded when
scanning libraries.
I don't have an idea if electron supports playback of m4a files. I can
check it this weekend when I will have time. If electron supports it, I'll
definitely add support.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/quantumkv/nighthawk/issues/6#issuecomment-467556383,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABJsIlu0ZnVoLFsRMo-aqf19Jjf8PeTgks5vRX0WgaJpZM4bSA19
.

--
Colin Beveridge
Flying Colours Maths
http://www.colinbeveridge.co.uk http://www.flyingcoloursmaths.co.uk
80, Abbotsbury Road, Weymouth DT4 0AG
07796 430 862

Converting the files solve the issue. Thank you for finding the problem so quickly.


Error 6 after submitting Transaction

After submitting Transaction, I always get Error 6 when decoding transaction
in file SubmitTransactionResponse.swift
public required init(from decoder: Decoder) throws {
        let values = try decoder.container(keyedBy: CodingKeys.self)
        transactionHash = try values.decode(String.self, forKey: .transactionHash)
        ledger = try values.decode(Int.self, forKey: .ledger)

        let encodedEnvelope = try values.decode(String.self, forKey: .envelopeXDR)
        let data = Data(base64Encoded: encodedEnvelope)!
        transactionEnvelope = try XDRDecoder.decode(TransactionEnvelopeXDR.self, data:data)

        let encodedResult = try values.decode(String.self, forKey: .transactionResult)
        let resultData = Data(base64Encoded: encodedResult)!
        transactionResult = try XDRDecoder.decode(TransactionResultXDR.self, data:resultData)

        let encodedMeta = try values.decode(String.self, forKey: .transactionMeta)
        let metaData = Data(base64Encoded: encodedMeta)!
        transactionMeta = try XDRDecoder.decode(TransactionMetaXDR.self, data:metaData)
    }

I get an error 11 - worked before as well.

Hi @mdolmatovich , first of all thank you for reporting the issue. I think it is related to this issue: https://github.com/Soneso/stellar-ios-mac-sdk/issues/86
I plan on taking care of it next week. I'll keep you posted.

In the meantime you can continue to use the main net, it will use protocol 12 for about another month.

@christain-rogobete do you think that's related to my error as well? It's happening on the testnet only.

Hi @shredding, yes, I think so. Let's see if the errors persist after addressing the protocol 13 issue.

Hi @mdolmatovich and @shredding , then new version 1.8.0 is now available. See releases: https://github.com/Soneso/stellar-ios-mac-sdk/releases
Please let me know if the issues still occur with the new version

It's not on cocoa yet, isn't it? https://cocoapods.org/pods/stellar-ios-mac-sdk

Hi @shredding
I published it yesterday

and in my project it seams to load:

What is it complaining about on your side?

Hi @christian-rogobete christian-rogobete
The issue with Error 6 was solved. Thank you
But now I have error 2 when call getAccountDetails (in file AccountService) it returns Error 2, but account is authorized. Can it be connected with this issue?

Hi @mdolmatovich, thank you for your message. Can you pls. send me the accountID, I will try to reproduce your error and let you know.

Hi @mdolmatovich, thank you for your message. Can you pls. send me the accountID, I will try to reproduce your error and let you know.

GCDP5EESKZQM7UWQTTNVNAYYBUPK2AGR6OVPLB3OICUZO5WQKYZ66DZD

Hi @mdolmatovich , I think it has nothing to do with the SDK. At least it works for me:

If you like to share your code, I can have a look.

@christian-rogobete Hi! I'm working with @mdolmatovich.
Could you explain us how to set unique horizon url for Stellar on IOS?
We have Stellar url https://stellar-test.bdnodes.net/?auth=uO************.
But if we try to submit transaction using this url we got unauthorized token error.
I looked through the SDK and found out that in file ServiceHelper.swift the path for network request is just added to base url like this: https://stellar-test.bdnodes.net/?auth=uO************/transactions.
When it should be: https://stellar-test.bdnodes.net/transactions?auth=uO**********.

Hi @AndroidVironitDeveloper, thank you for writing. Can you please open a new issue for this topic so that we don't mix up the topics and also help others who may search for issues and their solutions.


schema: add arm linux as valid arch

appc/spec#284 as per comment by philips in coreos/rkt#730.

Deprecates #285

historical discussion here: https://github.com/appc/spec/issues/6#issuecomment-66525116

We are going to wait on this one until we can get more guidance on what types of ARM strings we should have here. It gets a little tricky because the ARM architecture has a number of types such as "armel", "armhf" and whatever arm64. We want to make sure we have a list and docs that understand these differences. If anyone knows of an authoritative list please let us know.

@philips That is true. In the original issues I opened (appc/spec#284 and coreos/rkt#730), you may note that I was talking about "armhf" and "armv7l". The former ("armhf") is the label Ubuntu and Debian at least are using in their packaging systems. The latter ("armv7l") is what is reported by uname -m on the same system -- this ties into the issue raised by @mpasternacki and linked to by @jonboulle above in that it is probably too specific a name to be useful.
Would you be willing to add just "armhf" initially? Or would that be a misnomer in the context of Go, you think?
I might also add that on my ARM computer, I have run the "armhf" Debian in a chroot on "armhf" Ubuntu, so at least to me, "armhf" seems to be a useful label to adopt.
Likewise, on an old Android phone I used to have, "armel" Debian was able to run in a chroot.
Furthermore, as sudo docker search armhf- will show you, at least some people are using the label "armhf" for their docker images and while this is not docker, it may be of use to note that.

@erikano Yea, I want to be able to document our decision. I don't know where the canonical source is for these strings.

Looks like they are just made up by the devs working on the port
https://wiki.debian.org/ArmHardFloatPort
See notes on arrmel vs arm and naming debate
--
cnelson

On Apr 6, 2015, at 16:14, Brandon Philips<EMAIL_ADDRESS>wrote:
@erikano Yea, I want to be able to document our decision. I don't know where the canonical source is for these strings.
—
Reply to this email directly or view it on GitHub.

We are trying to get a more authoritative answer offline with some folks involved in these projects, stay tuned.

@philips I think we established that for now we can at least add aarch64,
right? That one seems to be clearly defined and standardised (even if not
yet widely implemented)
On Thu, Apr 9, 2015 at 6:11 PM, Brandon Philips<EMAIL_ADDRESS>wrote:

We are trying to get a more authoritative answer offline with some folks
involved in these projects, stay tuned.
—
Reply to this email directly or view it on GitHub
https://github.com/appc/spec/pull/287#issuecomment-91393206.

On Thu, Apr 9, 2015 at 6:34 PM, Jonathan Boulle<EMAIL_ADDRESS>wrote:

@philips I think we established that for now we can at least add aarch64,
right?

Yes, we can add aarch64. Maybe even aarch32?!

deprecated (again) by #304


Update AboutUs

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@4f7660a). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #41   +/-   ##
=========================================
  Coverage          ?   60.16%
  Complexity        ?      414
=========================================
  Files             ?       82
  Lines             ?     1554
  Branches          ?      170
=========================================
  Hits              ?      935
  Misses            ?      581
  Partials          ?       38

Continue to review full report at Codecov.

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


encoding/json:  how to marshal with unicode escape?

What version of Go are you using (go version)?

$ go version
go version go1.14.2 linux/amd64

What did you expect to see?
module json add a API for marshal string with unicode escape would be useful.
unicode escape
https://tools.ietf.org/html/rfc7159#section-7
package main

import (
	"fmt"
	"encoding/json"
)

type Object struct {
	Name string
}

func main() {
	obj := Object{Name:"哇呀呀"}
	line, _ := json.MarshalUnicodeEscape(obj)
	fmt.Println(string(line))
}

{"Name": "\u54c7\u5440\u5440"}

Before we start talking about new API, we should first talk about why you need to do that in the first place. You shouldn't need to escape non-ASCII letters in json.

@mvdan  I have several program environments,   go, python2,  js runtime(a v8 app). they have different default character encoding,   utf-8(go, python2).  ucs2 (js runtime).  It need to convert utf-8 to usc2 or usc2 to utf-8 when a json text transferred between them, it's a  error-prone job.
I think unicode escape is use for this case., it's a ascii-safe and legal json string encoding format.

That seems like a very narrow edge case, and I don't think it should be the json package's job to support producing ASCII output alone.
You could consider having a named string type that implements MarshalJSON and replaces all non-ASCII characters with escape codes, if you want. That should be under twenty lines of extra Go code.

Yeah, I know your meaning. here is the  e.g. : https://play.golang.org/p/YVSQzad2Z2r
type UnicodeEscape string

func (ue UnicodeEscape) MarshalJSON() ([]byte, error) {
	text := strconv.QuoteToASCII(string(ue))
	return []byte(text), nil
}

type Object struct {
	Name UnicodeEscape
}

But I would to think this is a proposal of json spec.  not a hack in python or js(v8).

json spec says unicode https://tools.ietf.org/html/rfc7159#section-8.1

@seankhliao Yes, it says json text character encoding could be utf-8, utf-16, utf-32, and json string character encoding could be utf-8, utf-16, utf-32 or unicode escape.  Sorry to sound like a word game.  :smile:
https://tools.ietf.org/html/rfc7159#section-7
e.g.:

json string:  "\u54c7\u5440\u5440", it's json value with string type.
json text:  {"Name": "\u54c7\u5440\u5440"},  it contain all of the json elements, field name, field value and  ,:"{}.

For a json text {"Name": "\u54c7\u5440\u5440"}, it's ascii safe no matter which UTF be used.

Maybe you could consider a `json:"ascii"` tag for this case?

I think the few lines of code shown in https://github.com/golang/go/issues/39137#issuecomment-630987977 are a completely acceptable solution to this. The json API should only cover common issues and needs. Trying to avoid utf-8 altogether in favor of ascii with unicode escapes certainly feels like an edge case that we shouldn't cover, especially given how easy it is to do with MarshalJSON.

ok,  I'll do it by no-std library.

@cupen  seems it doesn't work with emoji
package main

import (
	"encoding/json"
	"fmt"
	"strconv"
)

type building struct {
	Name encoded `json:"name"`
}

type encoded string

func (e encoded) MarshalJSON() ([]byte, error) {
	return []byte(strconv.QuoteToASCII(string(e))), nil
}

func main() {
       //  json: error calling MarshalJSON for type main.encoded: invalid character 'U' in string escape code
	data, err := json.Marshal(building{Name: encoded("😁")})
	fmt.Println(string(data), err)
}

strconv.QuoteToASCII produces a Go string that's not valid JSON: "\U0001f601"
JSON needs a pair of UTF-16 code units: "\uabcd\uabcd"
See https://play.golang.org/p/bC7QB27IGiP

@Bogdaan  Sorry for delay.
This would be works.
func (ue UnicodeEscape) MarshalJSON() ([]byte, error) {
	var result = []byte("\"")
	for _, r := range []rune(ue) {
		if r < 0x10000 {
			v := "\\u" + strconv.FormatInt(int64(r), 16)
			result = append(result, []byte(v)...)
			continue
		}
		r1, r2 := utf16.EncodeRune(r)
		v1 := "\\u" + strconv.FormatInt(int64(r1), 16)
		v2 := "\\u" + strconv.FormatInt(int64(r2), 16)
		result = append(append(result, []byte(v1)...), []byte(v2)...)
	}

	result = append(result, []byte("\"")...)
	return result, nil
}

https://play.golang.org/p/_435-VMzeY2

Yeah, I know your meaning. here is the e.g. : https://play.golang.org/p/YVSQzad2Z2r
type UnicodeEscape string

func (ue UnicodeEscape) MarshalJSON() ([]byte, error) {
	text := strconv.QuoteToASCII(string(ue))
	return []byte(text), nil
}

type Object struct {
	Name UnicodeEscape
}

But I would to think the unicode-escape is a proposal of json spec, not a hack or a monkey-patch only for python, js(v8) or others.
BTW: json.MarshalUnicodeEscape is a ugly name, maybe I can add a new encoder option for it.

This is not working with emoji. Test with 🤯.

Yeah, I know your meaning. here is the e.g. : https://play.golang.org/p/YVSQzad2Z2r
type UnicodeEscape string

func (ue UnicodeEscape) MarshalJSON() ([]byte, error) {
	text := strconv.QuoteToASCII(string(ue))
	return []byte(text), nil
}

type Object struct {
	Name UnicodeEscape
}

But I would to think the unicode-escape is a proposal of json spec, not a hack or a monkey-patch only for python, js(v8) or others.
BTW: json.MarshalUnicodeEscape is a ugly name, maybe I can add a new encoder option for it.

This is not working with emoji. Test with 🤯.

@pavelpatrin  And this? https://github.com/golang/go/issues/39137#issuecomment-685432387

@pavelpatrin  And this? https://github.com/golang/go/issues/39137#issuecomment-685432387

@pavelpatrin And this? #39137 (comment)

I tested your example result with Chrome DevTools console and from IPython, and it looks fine with Emoji in both cases.
Instead of the \U0001f601 (from strconv.QuoteToASCII("😁")) your example produces two unicode escapes "\ud83d\ude01. I'm not sure what is right from Unicode standard point of view, but your case working right.
In [39]: json.loads(b'"\u54c7\u5440\u5440\ud83d\ude01"')
Out[39]: '哇呀呀😁'

@pavelpatrin And this? #39137 (comment)

I tested your example result with Chrome DevTools console and from IPython, and it looks fine with Emoji in both cases.
Instead of the \U0001f601 (from strconv.QuoteToASCII("😁")) your example produces two unicode escapes "\ud83d\ude01. I'm not sure what is right from Unicode standard point of view, but your case working right.
In [39]: json.loads(b'"\u54c7\u5440\u5440\ud83d\ude01"')
Out[39]: '哇呀呀😁'

@pavelpatrin  Yes. That's right.  1f601 is UTF-32, d83dde01 is UTF-16, they are the same code unit of 😁.
See it here.
https://codepoints.net/U+1F601

@pavelpatrin  Yes. That's right.  1f601 is UTF-32, d83dde01 is UTF-16, they are the same code unit of 😁.
See it here.
https://codepoints.net/U+1F601

@cupen i tested it again and looks like it is not working with ascii-compartible characters.
UnicodeEscape("abc😁😁😁") - got an error

@cupen i tested it again and looks like it is not working with ascii-compartible characters.
UnicodeEscape("abc😁😁😁") - got an error

strconv.QuoteToASCII produces a Go string that's not valid JSON: "\U0001f601"
JSON needs a pair of UTF-16 code units: "\uabcd\uabcd"
See https://play.golang.org/p/bC7QB27IGiP

Is there any way I can get a valid JSON string, i am also stuck with similar Problem for non printable Unicode characters

Use a Rune Literal: https://golang.org/ref/spec#Rune_literals
a, b := utf16.EncodeRune('rune_literal')
json := fmt.Sprintf(`"\u%x\u%x"`, a, b)

@cupen seems it doesn't work with emoji
package main

import (
	"encoding/json"
	"fmt"
	"strconv"
)

type building struct {
	Name encoded `json:"name"`
}

type encoded string

func (e encoded) MarshalJSON() ([]byte, error) {
	return []byte(strconv.QuoteToASCII(string(e))), nil
}

func main() {
        //  json: error calling MarshalJSON for type main.encoded: invalid character 'U' in string escape code

	data, err := json.Marshal(building{Name: encoded("😁")})
	fmt.Println(string(data), err)
}

I also stuck with similar kind of Issue, Any help would be appreciated

Use a Rune Literal: https://golang.org/ref/spec#Rune_literals
a, b := utf16.EncodeRune('rune_literal')
json := fmt.Sprintf(`"\u%x\u%x"`, a, b)

package main
import (
"encoding/json"
"fmt"
"strconv"
)
type building struct {
Name encoded json:"name"
}
type encoded string
func (e encoded) MarshalJSON() ([]byte, error) {
return []byte(strconv.QuoteToASCII(string(e))), nil
}
func main() {
//  json: error calling MarshalJSON for type main.encoded: invalid character 'U' in string escape code
data, err := json.Marshal(building{Name: encoded("😁")})
fmt.Println(string(data), err)

}
How do we do in this case !!!

Ask here: https://groups.google.com/forum/#!forum/golang-nuts

Maybe this helps others: https://go.dev/play/p/eJfouGxeEzs


label '//apps/front:index_bundle' in $(location) expression expands to more than one file, please use $(locations //apps/front:index_bundle) instead.

» bazel build //apps/front:bundle
Starting local Bazel server and connecting to it...
INFO: Invocation ID: 5ea59b6c-995a-425e-918b-32e49f6ea2cd
ERROR: /home/dzintars/code/github.com/dzintars/prime/apps/front/BUILD.bazel:31:8: in _npm_package_bin rule //apps/front:bundle: label '//apps/front:index_bundle' in $(location) expression expands to more than one file, please use $(locations //apps/front:index_bundle) instead.  Files (at most 5 shown) are: [bazel-out/k8-fastbuild/bin/apps/front/compile.externs.js, bazel-out/k8-fastbuild/bin/apps/front/src/index.mjs, bazel-out/k8-fastbuild/bin/apps/front/src/module.mjs]
ERROR: /home/dzintars/code/github.com/dzintars/prime/apps/front/BUILD.bazel:31:8: in args attribute of _npm_package_bin rule //apps/front:bundle: unterminated variable reference. Since this rule was created by the macro 'webpack_cli', the error might have been caused by the macro implementation
ERROR: Analysis of target '//apps/front:bundle' failed; build aborted: Analysis of target '//apps/front:bundle' failed
INFO: Elapsed time: 28.164s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (693 packages loaded, 23567 targets configured)

Seems that i should use location**s** instead of location.
Source: https://docs.bazel.build/versions/master/skylark/lib/ctx.html#expand_location


Get pokemon Cry to play when they are clicked

we have put the charts on hold.
the cry URL has been added as a pokemon object value.
the cry is then stored in each  as a data point.
a global on click event has been added using jquery to play the audio.


hon2a/cleanup

Upgraded to Babel 7, replaced Makefile build with plain npm scripts, cleaned up everything.

The project will also need to be actually added to CircleCI to make its CI script execute on changes.


Show applied filter on applications page with delete option

Date: 23-09-2024

Developer Name: Harshavardhan

Issue Ticket Number

https://github.com/Real-Dev-Squad/website-dashboard/issues/828
Description

Change the filter ui to

Show applied filter
option to remove the applied filter

Documentation Updated?

[ ] Yes
[x] No

Under Feature Flag

[ ] Yes
[x] No

Database Changes

[ ] Yes
[x] No

Breaking Changes

[ ] Yes
[x] No

Development Tested?

[x] Yes
[ ] No

Screenshots

Screenshot 1:before changes
https://github.com/user-attachments/assets/c951ce8c-868a-465b-b748-fcbd73db2bdb
Screenshot 2:after changes
https://github.com/user-attachments/assets/969f710a-d954-4b91-b209-4beb8435cc03

Test Coverage

Screenshot 1
![filter-test](https://github.com/user-attachments/assets/76a58827-f027-4865-b2d3-563261f08ec8)

Additional Notes

@ahsrah7 please add test cases for your changes

please put this under FF

please put this under FF

@iamitprakash  I have added the feature flag. Please have a look.

@ahsrah7 please add test cases for your changes

@yesyash I have added the relevant test case. Please have a look.


pdf export options

Libreoffice has this nice feature on pdf export
https://help.libreoffice.org/7.0/en-US/text/shared/01/ref_pdf_export_general.html?&DbPAR=WRITER&System=UNIX
including page range, image resolutions and sign with watermark.
With regards to watermark, openscan does not add any watermark to the output, which is fine but that should not mean users should not be also allowed to not add one. say i want to write "confidential" to the output. i should be able to.
same for image resolutions. currently whatever resolutions is decided by the app is set and the output usually balloons to very high sizes. giving the user freedom to choose whatever quality/compression is suitable for them should be enabled.
same for the page range. say i take 10 photos but i want to export 1-7, and 4-8, or 1-9 and 1-10. i should be able to do that

Implemented in v2.0.0

Implemented in v2.0.0


[plot] Visualize compound data

I have a ton of HDF5 files containing compound arrays where the first field is a timestamp and the second field/column is a sensor value sampled at that time.
It would be really nice if two-dimensional, numeric compound arrays could be visualized as a time series line graph in the "Curve" tab. Or basically any combination of two columns of a compound array. HDFView already does this, albeit poorly (no zooming, takes forever with larger datasets, no grid lines ... the list goes on).
I could try to add this functionality and submit a PR...
Any pointers as to where the best place to start could be?

I'll look into it, thanks!

So I got a first version that can detect compound arrays. It creates a custom PlotWindow with a small toolbar where the user can select the field for the X and Y axis respectively (only numeric fields will be selectable).
To me it seems like this could be generic enough to be merged into master. Would you be willing to review a PR later this week? Just asking because, frankly, if you're not interested at all, I'll just keep using my quick and dirty solution for now without refactoring, comments, etc.

Nice :-) You could at least provide a screenshot, and push it somewhere so that it can be tested. Just think about creating an example or recipe to generate a dataset. With git and github, you can clean up the stuff later, there is no problem.
I will not have time to review anything this week, but there is other people around.

My colleague just submitted a PR incl. some test data. I'd be glad to hear your (or anyone else's) thoughts on this.

closed by #2948


Update link to referenced blog post

I think the link to the blog post referenced was incorrect, it resulted in a 404 for me. I'm guessing this is the right one?

Ah, thanks - forgot to push the final readme file! Fixed.

Awesome! Thanks


[ACS][PhoneNumbers] Update get phone numbers quickstart

Azure CLI only contains the list and show functionalities, so we are updating the get phone numbers quickstart so Portal is the landing page of the quickstart and adding a note on the CLI option regarding this missing functionalities.

sign-off

@Jak-MS ,
FYI @Prakulka is out and I am the PM replacing her. I'll provide a sign off here.
Thanks.

#sign-off

@Jak-MS
Can we remove @Prakulka  and add me as assignee?
thank you.
@sorrego-msft FYI


Warning in Foundry 12

Foundry 12 currently throws a warning for this module:

Oh thx for the report... did you notice any weird behaviour? or is it just the warning in the console? @MSAbaddon

As far as I can tell the module works fine. The warning is directly on the starting page however, so I guess it would be nice to get this removed.

Should be gone in the next update (today or tomorrow) :)

Should be fixed now in the current version 3.2.2 :)

Version 3.2.2 creates the following warning message:

fix one, get one new xD .... i might have a look in the next days... thx... Is it only showing up in the console or also in Foundry itself?

Both console and Foundry

Alrighty, the warning shoudl be gone now with version 3.3.1 :) @MSAbaddon

It's gone - big thanks :-)


[BUG] Cargo install of v0.17.3 fails

Describe the bug
Due to #581 I tried the other install method mentioned in the readme, namely to install using cargo install method. However its failing due to missing type annotations.
To Reproduce
Steps to reproduce the behavior:

use rustup to install a stable toolchain
cargo install wash-cli
See error:

Compiling clap_complete v4.3.0
error[E0283]: type annotations needed
--> /home/lenny/.cargo/registry/src/github.com-1ecc6299db9ec823/wash-lib-0.8.1/src/generate/mod.rs:319:39
|
319 |         let file_path = search_folder.join(name.borrow());
|                                       ^^^^      ------ type must be known at this point
|                                       |
|                                       cannot infer type of the type parameter P declared on the method join
|
= note: multiple impls satisfying str: Borrow<_> found in the following crates: bstr, core:
- impl Borrowbstr::bstr::BStr for str;
- impl Borrow for T
where T: ?Sized;
help: consider specifying the generic argument
|
319 |         let file_path = search_folder.join::<&Borrowed>(name.borrow());
|                                           +++++++++++++
For more information about this error, try rustc --explain E0283.
error: could not compile wash-lib due to previous error
warning: build failed, waiting for other jobs to finish...
error: failed to compile wash-cli v0.17.2, intermediate artifacts can be found at /tmp/cargo-installm4q12v

Expected behavior
It should compile and install successfully.
**Environment (please complete the following information) **

OS: fedora 38
Shell bash
wash Version v0.17.3
rust:

Thank you for the report @LennyPenny ! This error was fixed in main a couple weeks ago
We should have a new release soon. In the meantime, the 0.18.0-alpha.2 version is available, if you're comfortable running off this alpha release for a little bit


Prefix e2e test log group with /aws/vendedlogs/ to avoid hitting CW log resource policy limit

Issue #, if available: https://github.com/aws-controllers-k8s/community/issues/1973
Description of changes: See title
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

/lgtm cancel

/lgtm
/approve


apple watch serie 6

Hello, I'm trying to make your applewatch intergration work with my Apple Watch 6 on an Wemos esp32. Unfortunately it's not detected at all. In the logs I don't see a line that it has detected my Apple Watch 6 and my other watch, wich is a 3 series isn't detected either. If I remove the check on the SF code, it gives me some detection lines but I don't think these match to my watches.
LOGS,
[13:58:16][D][sensor:118]: 'Jarne Apple Watch slaapkamer_jarne_test RSSI': Sending state -89.99999 dBm with 0 decimals of accuracy
[13:58:16][D][script:020]: Script 'presence_timeout' restarting (mode: restart)
[13:58:41][D][sensor:118]: 'room_presence_debounce': Sending state 0.00000  with 1 decimals of accuracy
[13:58:46][D][sensor:118]: 'room_presence_debounce': Sending state 0.00000  with 1 decimals of accuracy
[13:58:46][D][script:020]: Script 'presence_timeout' restarting (mode: restart)

YAML FILL,
substitutions:
  roomname: slaapkamer_jarne_test
  static_ip: <IP_ADDRESS>
  yourname: Jarne
  rssi_present: id(harssi_present).state
  rssi_not_present: id(harssi_not_present).state

esphome:
  name: $roomname
  platform: ESP32
  board: wemos_d1_mini32

wifi:
  ssid: telenet-ap-6792957
  password: !secret wifi-wachtwoord
ap:
    ssid: ESPHome $roomname

captive_portal:

logger:

api:

ota:

# mqtt:
#   broker: !secret mqtt_broker
#   username: !secret mqtt_username
#   password: !secret mqtt_password
#   discovery: false  # Publish to MQTT, but not for Home Assistant (HA uses its own API)

esp32_ble_tracker:
  scan_parameters:
    interval: 1.2s
    window: 500ms
    active: false
  on_ble_advertise:
    - then:
      # Look for manufacturer data of form: 4c00 10 05 YY 98 XXXXXX
      # Where YY can be 01..0F; and XXXXXX is ignored
      - lambda: |-
          optional<int16_t> best_rssi = nullopt;
          for (auto data : x.get_manufacturer_datas()) {
            // Guard against non-Apple datagrams, or those that are too small.
            if (data.data.size() < 4 || data.uuid.to_string() != "0x004C" || data.data[0] != 0x10 || data.data[1] < 5) {
              continue;
            }
            const int16_t rssi = x.get_rssi();
            const uint8_t ac = data.data[2];
            const uint8_t sf = data.data[3];
            if (sf == 0x98) {  // Match Apple Watches
              if (ac <= 0x0F) {
                best_rssi = max(rssi, best_rssi.value_or(rssi));
                ESP_LOGD("ble_adv", "Found Apple Watch (mac %s) rssi %i", x.address_str().c_str(), rssi);
              } else {
                ESP_LOGD("ble_adv", "Possible Apple Watch? (mac %s) rssi %i, unrecognised action code %#04x", x.address_str().c_str(), rssi, ac);
              }
            }
          }
          if (best_rssi) {
            id(apple_watch_rssi).publish_state(*best_rssi);
          }
sensor:
  - platform: template
    id: apple_watch_rssi
    name: "$yourname Apple Watch $roomname RSSI"
    device_class: signal_strength
    unit_of_measurement: dBm
    accuracy_decimals: 0
    filters:
      - exponential_moving_average:
          alpha: 0.3
          send_every: 1
    on_value:
      then:
        - lambda: |-
            if (id(apple_watch_rssi).state > $rssi_present) {
              id(room_presence_debounce).publish_state(1);
            } else if (id(apple_watch_rssi).state < $rssi_not_present) {
              id(room_presence_debounce).publish_state(0);
            }
        - script.execute: presence_timeout  # Publish 0 if no rssi received

  - platform: template
    id: room_presence_debounce
    filters:
      - sliding_window_moving_average:
          window_size: 3
          send_every: 1

  - platform: homeassistant
    name: HA RSSI Present Value
    entity_id: input_number.rssi_present  #insert your input.number entity id here
    id: harssi_present
  - platform: homeassistant
    name: HA RSSI Not Present Value
    entity_id: input_number.rssi_not_present  #insert your input.number entity id here
    id: harssi_not_present

binary_sensor:
  - platform: template
    id: room_presence
    name: "$yourname $roomname presence"
    device_class: occupancy
    lambda: |-
      if (id(room_presence_debounce).state > 0.99) {
        return true;
      } else if (id(room_presence_debounce).state < 0.01) {
        return false;
      } else {
        return id(room_presence).state;
      }
script:
  # Publish event every 30 seconds when no rssi received
  id: presence_timeout
  mode: restart
  then:
    - delay: 30s
    - lambda: |-
        id(room_presence_debounce).publish_state(0);
    - script.execute: presence_timeout

That's odd. I have a series 3 watch and it's been working well; and from #5 it looks like series 6 is also detectable.
The one piece of data common to all watches (so far) has been sf == 0x98, while the ac (action code) changes by model.
If you have a Pi or laptop with BLE, can you take your watch close to the receiver, and run the following command. You'll see many devices detected. Your watch is the closest, so it will have the strongest dBm reading, something like -40 to -50ish.
The Manufacturer data is what we are looking for, and my watch (series 3,3) always sends out 4c001005019802785a where the last 3 bytes 02785a are random.
pi:~ $ sudo blescan -t 70
Scanning for devices...

   ...

    Device (new): 48:51:63:ba:31:17 (random), -49 dBm
	Flags: <1a>
	Tx Power: <18>
	Manufacturer: <4c001005019802785a>

Please capture some info so I can see what you watches are sending.

Just throwing out ideas here, but what are the input numbers in HA set as? Did you create them in your home assistance instance?

@dalehumby blescan is not in my raspbian, how do i install it? there's no blescan package..

I have hard coded my present/not-present rssi values, have a look at my actual file: https://github.com/dalehumby/esphome/blob/main/lounge.yaml
I don't think that is the problem, though. If it was detecting your watch you should see "Found Apple Watch" or "Possible Apple Watch?" debug from lines 61 and 63.

Hi, these are te resuts of my scan: The devices with the lowest dBm are Apple devices, but have other codes than apple watch...
Device (new): a4:c1:38:fc:0a:d6 (public), -76 dBm
        16b Service Data: <1a18a4c138fc0ad600f3314d0b590a>
    Device (new): 78:a4:f7:97:b1:51 (random), -68 dBm
        Flags: <1a>
        Tx Power: <0c>
        Manufacturer: <4c000f05900039648810020704>
    Device (new): 3e:95:81:e7:0b:36 (random), -59 dBm (not connectable)
        Manufacturer: <060001092002ee71afb908d065e7261f9f1b8f62a9a9e88eb7e655670b>
    Device (new): f2:88:44:22:a0:61 (random), -65 dBm
        Flags: <06>
        Incomplete 16b Services: <0000fe0f-0000-1000-8000-00805f9b34fb>
        16b Service Data: <0ffe6b101cfb06>
    Device (new): 35:8d:df:68:5a:1c (random), -58 dBm (not connectable)
        Flags: <1a>
        Manufacturer: <4c00090603d0c0a8007a130c0a4d69f5eae68d010401030c>
    Device (new): 4e:d7:bd:cf:a4:d7 (random), -58 dBm
        Flags: <1a>
        Tx Power: <1a>
        Manufacturer: <4c000f059000f20a4510022f04>
    Device (new): cb:40:20:90:79:b9 (random), -54 dBm
        Flags: <06>
        Incomplete 16b Services: <0000fe0f-0000-1000-8000-00805f9b34fb>
        16b Service Data: <0ffe6b101cfb06>
    Device (new): 6c:4a:85:06:ea:d6 (public), -55 dBm
        Flags: <1a>
        Tx Power: <0c>
        Manufacturer: <4c0010050b14093a04>
    Device (new): fc:de:ef:43:95:cf (random), -64 dBm
        Flags: <06>
        Incomplete 16b Services: <0000fe0f-0000-1000-8000-00805f9b34fb>
        Tx Power: <0a>
        16b Service Data: <0ffe04101cfb06>
        Complete Local Name: 'Hue Lamp'
    Device (new): 0e:a4:e5:d7:e4:e5 (random), -59 dBm (not connectable)
        Flags: <1a>
        Manufacturer: <4c000906036ec0a800be>
    Device (new): 1e:ea:56:e3:08:6e (random), -61 dBm (not connectable)
        Flags: <1a>
        Manufacturer: <4c00090603e9c0a800a213070201c37b9df232>
    Device (new): e0:89:7e:6a:3e:79 (public), -75 dBm
        Flags: <1a>
        Tx Power: <0c>
        Manufacturer: <4c0010050a14f75f3c>
    Device (new): 7c:cd:d1:96:da:ae (random), -62 dBm
        Flags: <1a>
        Tx Power: <1a>
        Manufacturer: <4c0010052818d99646>
    Device (new): 70:1e:41:39:6d:2f (random), -63 dBm
        Flags: <1a>
        Tx Power: <08>
        Manufacturer: <4c0010077b1fb74bf62c48>
    Device (new): e7:e7:69:34:34:5d (random), -72 dBm
        Flags: <06>
        Complete 16b Services: <0000fe07-0000-1000-8000-00805f9b34fb>
        Complete Local Name: '846B21E4385833A3E9'
        Tx Power: <00>
        Appearance: <0000>
        Manufacturer: <a705051001000000000000021b00ca>
    Device (new): 08:60:39:aa:96:58 (random), -60 dBm (not connectable)
        Complete 16b Services: <0000fd6f-0000-1000-8000-00805f9b34fb>
        16b Service Data: <6ffd9671d2e509501b5e84e8ab531b9dd0a33f59da6a>
    Device (new): d5:13:37:68:9f:31 (random), -63 dBm (not connectable)
        Manufacturer: <4c0012020002>
    Device (new): 2c:14:1d:5f:d4:ae (random), -64 dBm (not connectable)
        Flags: <1a>
        Manufacturer: <4c0013080ad7b91bc22cf600>
    Device (new): 06:a5:06:69:36:97 (random), -74 dBm (not connectable)
        Flags: <1a>
        Manufacturer: <4c0009060399c0a800e8>
    Device (new): a4:c1:38:1a:1c:44 (public), -77 dBm
        16b Service Data: <1a18a4c1381a1c4400ec2e5d0bddbc>
    Device (new): 42:94:9f:47:6b:64 (random), -94 dBm (not connectable)
        0x1b: <008b8a8022cc64>
        Flags: <1a>
        Complete 16b Services: <0000feb9-0000-1000-8000-00805f9b34fb>
        Manufacturer: <c40004327d1280>
    Device (new): 60:47:f4:ab:af:14 (random), -92 dBm (not connectable)
        Complete 16b Services: <0000fe9f-0000-1000-8000-00805f9b34fb>
        16b Service Data: <9ffe0277506b52666741514536340000017c0f336ae2>
    Device (new): cd:b1:1b:e0:ec:49 (random), -60 dBm
        Manufacturer: <4c0012021403>
    Device (update): 60:47:f4:ab:af:14 (random), -88 dBm (not connectable)
        Complete 16b Services: <0000fe9f-0000-1000-8000-00805f9b34fb>
        16b Service Data: <9ffe0277506b52666741514536340000017c0f336ae2>
        Manufacturer: <e000013cca9ac6c9>
    Device (new): d3:04:67:98:65:45 (random), -58 dBm (not connectable)
        Manufacturer: <4c0012020003>
    Device (new): a4:c1:38:9e:42:3a (public), -91 dBm
        16b Service Data: <1a18a4c1389e423a00dc31580bb615>
    Device (update): 2c:14:1d:5f:d4:ae (random), -66 dBm (not connectable)
        Flags: <1a>
        Manufacturer: <4c00130100>
    Device (update): 2c:14:1d:5f:d4:ae (random), -53 dBm (not connectable)
        Flags: <1a>
        Manufacturer: <4c0013080ad7b91bc22cf600>
    Device (update): 70:1e:41:39:6d:2f (random), -52 dBm
        Flags: <1a>
        Tx Power: <08>
        Manufacturer: <4c0010077a1fb74bf62c08>
    Device (update): a4:c1:38:fc:0a:d6 (public), -61 dBm
        16b Service Data: <1a18a4c138fc0ad600f3314d0b590b>
    Device (update): a4:c1:38:9e:42:3a (public), -73 dBm
        16b Service Data: <1a18a4c1389e423a00dd31580bb616>
    Device (new): a4:c1:38:ef:39:54 (public), -77 dBm
        16b Service Data: <1a18a4c138ef3954003342480b2933>
    Device (update): a4:c1:38:42:f6:bc (public), -61 dBm
        Complete Local Name: 'ATC_42F6BC'
        16b Service Data: <1a18a4c13842f6bc00fc27520b86f7>
    Device (update): a4:c1:38:1a:1c:44 (public), -72 dBm
        Complete Local Name: 'ATC_1A1C44'
        16b Service Data: <1a18a4c1381a1c4400ed2e5d0bddbd>
    Device (update): 2c:14:1d:5f:d4:ae (random), -49 dBm (not connectable)
        Flags: <1a>
        Manufacturer: <4c00130100>
    Device (update): 2c:14:1d:5f:d4:ae (random), -57 dBm (not connectable)
        Flags: <1a>
        Manufacturer: <4c0013080ad7b91bc22cf600>
pi@phoscon:~ $ sudo blescan -t 70
Scanning for devices...

This looks like it could be your watch: 4c0010052818d99646
Typically 28 would be a series 6 watch, and 18 means it's locked. When it's unlocked (eg on your wrist) then that value should be 98.
I've coded the detection so it only looks for unlocked/on-wrist watches so when I take my watch off then it stops tracking my watch room presence.

it was on my wrist and unlock is there anything else i can do whether it is locked or not ?

Quick question: When you take your watch off, does it auto-lock? That is, when you take it off your wrist, does the screen prompt you to type in the 4-digit code or password to unlock again?
You can also see if this is on in watch settings (gear icon on home screen) > Passcode > Wrist Detection, slider should be on.

The other option is to change line 58 from
            if (data_flags == 0x98) {  // Match unlocked Apple Watches

to
            if (data_flags == 0x98 || data_flags == 0x18) {  // Match unlocked and locked Apple Watches

the apple watch is definitely locked when it comes off my wrist & when i have it on it unlocks the settings are on & i will try to change that with that line 51?

Hi, It works for me know, but the data flag stays on 0x18 and doesn't change when my phone is on my wrist or not although my watch is locked when i take it off. So it seems it always reports as locked

FYI - I have a series 5 with the same behavior, I updated the code to include 0x18 as well as 0x98 when first starting to use ESPHome-Apple-Watch-detection - I thought it was just me or some watch setting I missed (it does autolock and unlock from iphone or passcode still has same 0x18 reported), but since not caring if it is locked/unlocked to detect my presence the change to 0x18 or 0x98 fixed my use cases.

Thanks for the info and help. I've made a commit to clarify this issue in the yaml so others can diagnose/fix the problem faster. Happy to re-open this ticket if you need more help.


[Licensing] Consistently present licensing information

We want to consistently present licensing information, then enforce this presentation throughout codebase.

We have discussed this and needs to be executed; there is an open ticket for this

I'm interested in dipping my toes into the Hyperledger water and figure I can start by clearing out some of the old issues like this one.
@silasdavis can you offer more insight into requirements/constraints for this ticket? Is it still wanted?

@compleatang would you be the right person to ask about this? (see my previous comment)

Hi @kgehmlich, thanks for your interest! So I've had a discussion offline with @compleatang and we would ideally want to catch the licensing information in the header of every every *.go file throughout the project. There are already some examples of this (see - s/Monax/Hyperledger/g) but I think it would be prudent to assess what other Hyperledger projects are doing so that we can maintain consistency there as well.

An extension of this task will be to maintain forward integrity, in that CI should fail if a file is committed without this header and we need a way for a developer to automatically populate new files.

Hi @gregdhill, thanks for the response! I'll take a look at other projects to see what they've got going and put something together this week. I'm not familiar with CircleCI but it looks pretty straightforward, so I don't expect adding that check to be difficult.

Hi Everyone,
I am working on a proposal where i need to propose to my clients to build an de centralized app for their business support using Hyperledger fabric. Request if someone can help in understanding what will be the costing for procuring its license from IBM. Will they charge us on per  node wise ? How do we estimate how many nodes will be there at proposal stage??
Any suggestions/ recommendations would be helpful
Regards
Uday

https://github.com/google/addlicense

I'd like to use a short one-line header for this is possible. Seems like the Apache org permits this, so hopefully Hyperledger does too.

We do;-) Fabric uses the SPDX short form for specifying the license header.
eg
/*
SPDX-License-Identifier: Apache-2.0
*/

The short-form license header should read somthing like this:
// Copyright Monax Industries Limited
// SPDX-License-Identifier: Apache-2.0


Roll Flutter Engine from 04ff2868ce80 to<PHONE_NUMBER>ef (19 revisions)

https://github.com/flutter/engine/compare/04ff2868ce80...6965435111ef
2024-02-27<EMAIL_ADDRESS>Roll Dart SDK from 2876f5684ced to 67b2a250747b (1 revision) (flutter/engine#50996)
2024-02-27<EMAIL_ADDRESS>Fix usage of --out-dir with a relative path. (flutter/engine#50992)
2024-02-27<EMAIL_ADDRESS>Roll buildroot to 21b1b9f2645fada701885108e86aefbcb3b1cca0 (flutter/engine#50991)
2024-02-27<EMAIL_ADDRESS>Roll Skia from ba3ed5998af3 to aa28c3a30a98 (12 revisions) (flutter/engine#50994)
2024-02-27<EMAIL_ADDRESS>Reverts "Migrate Android scenario_app to the SurfaceProducer API (#50993)" (flutter/engine#50995)
2024-02-27<EMAIL_ADDRESS>Migrate Android scenario_app to the SurfaceProducer API (flutter/engine#50993)
2024-02-27<EMAIL_ADDRESS>Revert "Reland 4: Multiview pipeline (#50931)" (flutter/engine#50985)
2024-02-26<EMAIL_ADDRESS>Refactor args parsing/environment constructor for scenario_app (flutter/engine#50980)
2024-02-26<EMAIL_ADDRESS>[scenario] trigger firstFrameLatch on exception. (flutter/engine#50981)
2024-02-26<EMAIL_ADDRESS>[Impeller] Fix a misspelling and name mismatch in a shader test fixture (flutter/engine#50983)
2024-02-26<EMAIL_ADDRESS>Roll Dart SDK from c479735adcf9 to 2876f5684ced (2 revisions) (flutter/engine#50979)
2024-02-26<EMAIL_ADDRESS>Run engine unit tests on mac host_debug_unopt_arm64 (flutter/engine#50327)
2024-02-26<EMAIL_ADDRESS>[Impeller] disble render pass caches. (flutter/engine#50976)
2024-02-26<EMAIL_ADDRESS>Update Surface reference after resizing render target in VirtualDisplay based platform views (flutter/engine#50971)
2024-02-26<EMAIL_ADDRESS>[Impeller] Fix a race that can abort the process if the Vulkan context is destroyed while pipeline creation tasks are pending (flutter/engine#50883)
2024-02-26<EMAIL_ADDRESS>Better filtering for Android scenario_app runner. (flutter/engine#50937)
2024-02-26<EMAIL_ADDRESS>Make sure to call setHeightOverride as well on TextStyle and StrutStyle (flutter/engine#50920)
2024-02-26<EMAIL_ADDRESS>Correctly offset the cull rect of the opacity layer. (flutter/engine#50928)
2024-02-26<EMAIL_ADDRESS>Roll Fuchsia Linux SDK from kLvCWEgbL1VTRW69e... to JCdhkDSFXzHyPuP4I... (flutter/engine#50970)
Also rolling transitive DEPS:
fuchsia/sdk/core/linux-amd64 from kLvCWEgbL1VT to JCdhkDSFXzHy
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jimgraham@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Emblem quickstart doesn't mention installing Terraform

In order to run the quickstart, terraform needs to be installed on the machine. This is not mentioned in the quickstart and leads to a failure when running setup.sh

Link to quickstart has been removed from README - that quickstart is stale.
Thanks!