XStore C++ tests are failing because Azurite returns wrong md5

Which service(blob, file, queue, table) does this issue concern?
blob
Which version of the Azurite was used?
3.30.0
Where do you get Azurite? (npm, DockerHub, NuGet, Visual Studio Code Extension)
npm
What's the Node.js version?
v20.10.0
What problem was encountered?
My team in XStore is trying to migrate tests from Storage Emulator to Azurite. We are blocked by failures that occur only when using Azurite.
The following code is a simplified example of the problem. It works against a real storage account and Storage Emulator.
With Azurite, it throws a storage_exception indicating Calculated MD5 does not match existing property.
Steps to reproduce the issue?
void Sample(
    const std::string& accountName,
    const std::string& accountKey,
    const std::string& blobUrl)
{
    storage_credentials credentials(
        to_string_t(accountName),
        to_string_t(accountKey));
    auto blob = cloud_block_blob(
        storage_uri(web::http::uri(to_string_t(blobUrl))),
        credentials);
    const auto& client = blob.service_client();

    auto context = operation_context();
    auto options = blob_request_options();
    options.set_retry_policy(no_retry_policy());
    auto conditions = access_condition::generate_empty_condition();

    auto container = client.get_container_reference(blob.container().name());
    container.create_if_not_exists(
        blob_container_public_access_type::off,
        options,
        context);

    // Create an empty blob
    std::vector<BYTE> emptyContent;
    blob.upload_from_stream(
        Concurrency::streams::rawptr_stream<BYTE>::open_istream(
            emptyContent.data(),
            emptyContent.size()),
        access_condition::generate_if_not_exists_condition(),
        options,
        context);

    // Write some data to the blob
    utility::string_t blockId = L"Zm9v";
    blob.upload_block(
        blockId,
        Concurrency::streams::rawptr_stream<BYTE>::open_istream(
            (const BYTE*)"abc",
            3),
        checksum_none,
        conditions,
        options,
        context);
    blob.upload_block_list(
        {blockId},
        conditions,
        options,
        context);

    // Read the data back
    BYTE buffer[10]{};
    blob.download_range_to_stream(
        Concurrency::streams::rawptr_stream<BYTE>::open_ostream(buffer, 10),
        0,
        6,
        conditions,
        options,
        context);
    VERIFY_ARE_EQUAL('a', buffer[0]);
    VERIFY_ARE_EQUAL('b', buffer[1]);
    VERIFY_ARE_EQUAL('c', buffer[2]);
}

If possible, please provide the debug log
azurite.log
Have you found a mitigation/solution?
No

@mikamins
The Azurite debug log has no error occur, so the error you meet should be reported from c++ SDK.
However, from above code, it looks you are using old c++ SDK which is already deprecated. (see link)
Would you please see if you can repro this issue with latest c++ SDK?
If so, we will continue investigation on it.
Here's a migration guild from the old deprecated c++ SDK to latest c++ SDK: https://github.com/Azure/azure-sdk-for-cpp/blob/main/sdk/storage/MigrationGuide.md

The latest C++ SDK performs all operations synchronously, so this can never be adopted by our team. Can you please investigate why Azurite does not work with Microsoft.Azure.Storage.CPP.v140 v7.5.0?

@mikamins
From the server responds  header (get from fiddler) and Azurite responds header (get from Azurite debug log), of a GetBlob request with "x-ms-range: bytes=0-5" on a blob whose length is 3B.
They are very similar.
They have same Content-Range, Content-Length, x-ms-blob-content-md5. Azurite has one additional header content-md5 whose value is also correct.
So not sure why the deprecated C++ SDK report this error.
I can't repro this issue with other SDK like .net.
It will need SDK team support to look into deprecated SDK code and find the issue.
If you would like to continue the investigation, would you please file a github issue to C++ SDK and ask why the error reported?
Azure Server
HTTP/1.1 206 Partial Content
Content-Length: 3
Content-Type: application/octet-stream
Content-Range: bytes 0-2/3
Last-Modified: Wed, 12 Jun 2024 02:52:43 GMT
Accept-Ranges: bytes
ETag: "0x8DC8A8ABB866A3A"
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: cc35a03b-301e-0057-6173-bced59000000
x-ms-client-request-id: a2141546-1af3-4e05-b763-e4f220100d5a
x-ms-version: 2019-07-07
x-ms-creation-time: Wed, 12 Jun 2024 02:52:43 GMT
x-ms-blob-content-md5: kAFQmDzST7DWlj99KOF/cg==
x-ms-lease-status: unlocked
x-ms-lease-state: available
x-ms-blob-type: BlockBlob
x-ms-server-encrypted: true
Date: Wed, 12 Jun 2024 02:52:47 GMT

Azurite
Headers={
"server":"Azurite-Blob/3.30.0",
"last-modified":"Wed, 12 Jun 2024 02:50:58 GMT",
"x-ms-creation-time":"Wed, 12 Jun 2024 02:50:58 GMT",
"content-length":"3",
"content-type":"application/octet-stream",
"content-range":"bytes 0-2/3",
"etag":"\"0x1F4502392A75EB0\"",
"content-md5":"kAFQmDzST7DWlj99KOF/cg==",
"x-ms-blob-type":"BlockBlob",
"x-ms-lease-state":"available",
"x-ms-lease-status":"unlocked",
"x-ms-client-request-id":"4ac1e003-92a8-4722-b5db-819b53abf9fe",
"x-ms-request-id":"579187d7-dd0d-4c3f-9ab5-9197d75ff924",
"x-ms-version":"2024-05-04",
"accept-ranges":"bytes",
"date":"Wed, 12 Jun 2024 02:51:32 GMT",
"x-ms-server-encrypted":"true",
"x-ms-blob-content-md5":"kAFQmDzST7DWlj99KOF/cg=="}

Hi @mikamins , was the attached log generated with your sample code?
We found

2024-06-07T15:04:19.988Z 60120bfb-be88-425d-8db6-5d7a9eda1537 info: BlobStorageContextMiddleware: RequestMethod=PUT RequestURL=http://<IP_ADDRESS>/devstoreaccount1/unittest/43221676-0E2C-4EF8-AEDD-7FB73B1E18CA?comp=blocklist RequestHeaders:{"connection":"Keep-Alive","content-type":"","authorization":"SharedKey devstoreaccount1:4vOY+2gpZE7ww3MmewE83WaD4yiRuAgPdpEscZLzq2Y=","user-agent":"Azure-Storage/7.5.0 (Native; Windows; MSC_VER 1900)","x-ms-blob-content-md5":"1B2M2Y8AsgTpgAmY7PhCfg==","x-ms-client-request-id":"00eaef02-b1b5-48f1-b585-647d4ec2975f","x-ms-date":"Fri, 07 Jun 2024 15:04:19 GMT","x-ms-version":"2019-12-12","content-length":"90","host":"<IP_ADDRESS>:10000"} ClientIP=<IP_ADDRESS> Protocol=http HTTPVersion=1.1

in your log, x-ms-blob-content-md5":"1B2M2Y8AsgTpgAmY7PhCfg== indicates you set blob content md5 by yourself, but you didn't in your sample code.

Hi @mikamins,
If you really need the new C++ SDK to support Async call to upgrade to it, you can raise an issue in https://github.com/Azure/azure-sdk-for-cpp/issues to raise your requirement.

Hi @mikamins , we were not able to reproduce this issue with latest versions of Azurite and C++ SDK. Was the attached log generated with your sample code?
We found

2024-06-07T15:04:19.988Z 60120bfb-be88-425d-8db6-5d7a9eda1537 info: BlobStorageContextMiddleware: RequestMethod=PUT RequestURL=http://<IP_ADDRESS>/devstoreaccount1/unittest/43221676-0E2C-4EF8-AEDD-7FB73B1E18CA?comp=blocklist RequestHeaders:{"connection":"Keep-Alive","content-type":"","authorization":"SharedKey devstoreaccount1:4vOY+2gpZE7ww3MmewE83WaD4yiRuAgPdpEscZLzq2Y=","user-agent":"Azure-Storage/7.5.0 (Native; Windows; MSC_VER 1900)","x-ms-blob-content-md5":"1B2M2Y8AsgTpgAmY7PhCfg==","x-ms-client-request-id":"00eaef02-b1b5-48f1-b585-647d4ec2975f","x-ms-date":"Fri, 07 Jun 2024 15:04:19 GMT","x-ms-version":"2019-12-12","content-length":"90","host":"<IP_ADDRESS>:10000"} ClientIP=<IP_ADDRESS> Protocol=http HTTPVersion=1.1

in your log, x-ms-blob-content-md5":"1B2M2Y8AsgTpgAmY7PhCfg== indicates you set blob content md5 by yourself, but you didn't in your sample code.

Yes, the attached log was created with the sample code. Using Azurite 3.30 and azure-storage-cpp 7.50. If you are unable to reproduce, could you provide the exact versions that you used and attach the log?

I stepped through the sample code in more detail, and the SDK is doing the right thing. Azurite is returning the incorrect md5 when downloading the blob.
Setup:

An empty blob is created

md5("") = d41d8cd98f00b204e9800998ecf8427e, in base64 1B2M2Y8AsgTpgAmY7PhCfg==

A block with content "abc" is committed

md5("abc") = 900150983cd24fb0d6963f7d28e17f72, in base64 kAFQmDzST7DWlj99KOF/cg==

Failing download:

When downloading the byte range 0-5, Azurite is correctly returning 206 Partial Content with content "abc". However, the header content-md5: 1B2M2Y8AsgTpgAmY7PhCfg== is not correct

Since the response has a content-md5 header, the SDK verifies it with the expected md5 (kAFQmDzST7DWlj99KOF/cg==), and throws on the mismatch
Note: Neither Azure or Storage Emulator includes the content-md5 header in this response

Log is attached:
azurite-2024-06-17.log
Request
GET http://<IP_ADDRESS>:10000/devstoreaccount1/unittest/E2642A3C-58CF-4CA4-A7C5-2CE4C7A29B91 HTTP/1.1
Connection: Keep-Alive
Accept-Encoding: peerdist
Authorization: SharedKey devstoreaccount1:JhenggacHCvhOxTnO7qcK8+OaibtuQcSzPTkZ8zu6zw=
User-Agent: Azure-Storage/7.5.0 (Native; Windows; MSC_VER 1900)
x-ms-client-request-id: 31a5ac86-f1a3-458a-ba22-cc4400be02a9
x-ms-date: Tue, 18 Jun 2024 00:17:02 GMT
x-ms-range: bytes=0-5
x-ms-version: 2019-12-12
X-P2P-PeerDist: Version=1.1
X-P2P-PeerDistEx: MinContentInformation=1.0, MaxContentInformation=2.0
Host: <IP_ADDRESS>:10000

Response with bad content-md5
HTTP/1.1 206 Partial Content
Server: Azurite-Blob/3.30.0
last-modified: Tue, 18 Jun 2024 00:17:02 GMT
x-ms-creation-time: Tue, 18 Jun 2024 00:17:02 GMT
content-length: 3
content-type: application/octet-stream
content-range: bytes 0-2/3
etag: "0x22AF68371ECD940"
content-md5: 1B2M2Y8AsgTpgAmY7PhCfg==
x-ms-blob-type: BlockBlob
x-ms-lease-state: available
x-ms-lease-status: unlocked
x-ms-client-request-id: 31a5ac86-f1a3-458a-ba22-cc4400be02a9
x-ms-request-id: bff087cc-05f0-4c98-996f-0a39ccd4838e
x-ms-version: 2024-05-04
accept-ranges: bytes
date: Tue, 18 Jun 2024 00:17:02 GMT
x-ms-server-encrypted: true
x-ms-blob-content-md5: 1B2M2Y8AsgTpgAmY7PhCfg==
Connection: keep-alive
Keep-Alive: timeout=5

abc

@blueww This seems to be a bug in Azurite. Azurite doesn't clear all blob properties when it's overwritten.

@mikamins , @Jinming-Hu
Thanks for the investigation!
I will look into it and update later.

@mikamins
I can't repro this with Azurite.
Azurite will return correct content MD5 "kAFQmDzST7DWlj99KOF/cg==" after commit block list with a block contains "abc".
After look into the debug log shared in the above comment from you, I see you have set header "x-ms-blob-content-md5":"1B2M2Y8AsgTpgAmY7PhCfg==" when commit the block list, so the wrong content MD5 is send from client side.
If client set the content MD5, Azurite will respect it, else Azurite should have the correct MD5.

2024-06-18T00:17:02.633Z 63c975e5-7b5d-4755-ac9a-a65e617053c7 info: BlobStorageContextMiddleware: RequestMethod=PUT RequestURL=http://<IP_ADDRESS>/devstoreaccount1/unittest/E2642A3C-58CF-4CA4-A7C5-2CE4C7A29B91?comp=blocklist RequestHeaders:{"connection":"Keep-Alive","content-type":"","authorization":"SharedKey devstoreaccount1:bprNXXG2v3W9YXS4l8Z9KS6A4MYYoiOhsMWQWqSoKd0=","user-agent":"Azure-Storage/7.5.0 (Native; Windows; MSC_VER 1900)","x-ms-blob-content-md5":"1B2M2Y8AsgTpgAmY7PhCfg==","x-ms-client-request-id":"31a5ac86-f1a3-458a-ba22-cc4400be02a9","x-ms-date":"Tue, 18 Jun 2024 00:17:02 GMT","x-ms-version":"2019-12-12","content-length":"90","host":"<IP_ADDRESS>:10000"} ClientIP=<IP_ADDRESS> Protocol=http HTTPVersion=1.1

@blueww Track1 SDK keeps state of a blob at client side (state includes blob properties). Is it possible that when we get properties of the old blob (empty content), the local state is populated, then md5 is sent out over the wire when calling CommitBlocks?

Thanks @Jinming-Hu  for the investigation!
Per rest API doc, Put Blob should return Content-MD5, and Azurite is aligned with the rest API doc.
Besides Azurite is returning the correct MD5. (If user set it, return the user set value. )
@mikamins
The suggested way to fix this issue for long term is upgrading to the latest C++ SDK.
Else a workaround is to  clear the blob object contentMD5 properties before you run blob.upload_block_list(). Would you please try and see if it works on you scenario?

But the API which get the content MD5 is Put Blob (per the c++ code and Azurite debug log in this issue).
Put Blob API doc should be the one I shared: rest API doc.
And ContentMD5 should be returned per this API doc.

@blueww I don't think we're on the same page. Anyway, the workaround you proposed does sound good to me.

Close as the fix PR (https://github.com/Azure/Azurite/pull/2417 Download blob range only return ContentMD5 when request has header x-ms-range-get-content-md5) has been merged, will be in next Azurite release.


[Feature Request] Twilight Forest's Sorting Tree integration

Most of Twilight Forest unique mechanic are awesome, but lack of integrations, what makes TF one of the most underrated mods in big modpacks like E2E.
Adding more connections would help to give second life to such old mod.
Sorting Tree should be able to sort any common inventories, not only vanilla chests. If this is impossible, at least list of valid containers should be provided, like Rustic's Cabinets or Actually Addition's "Small" Storage Crates.

While I can potentially add this, it might be better to ask for this feature at The Twilight Forest - Deforestation Edition. The project states that it is still active so you might want to test your luck there.

Closing this issue as this feature has been added to The Twilight Forest - Deforestation Edition as of this commit.


When using the virtuaverse grub theme, entering a boot option gets stuck

I'm trying to use the theme you made for grub, but for some reason when the theme loads and I try to select a boot option, it gets stuck and doesn't go anywhere. Do you know what it could be?
Sorry to bother.

It may have to do with a problem in the grub.cfg file or with the default/grub file. Actually the first one is modified depending on the last one when you run the update-grub command. It's hard to say anything more, as I don't know how you proceeded to install the theme and I don't know your config. As you say that the theme loads, I would tend to think that the problem come from the actions behind the menu, which are determined by grub.cfg but that's just me guessing.
More generally, I'm not sure it can work out of the box on any machine: the main modifications I see being the resolution and the dimensions in theme.txt and almost everything in default/grub beside the GRUB_THEME option and maybe some other options with only a visual effect.

Yes, I tried this a lot, but still the same. The thing is: everything works fine until I use the theme, if I comment the line it works and even with other themes it works, it only happens with virtuaverse theme, otherwise I wouldn't be here.
While trying to find some answers I saw this guy post on reddit who seems to have a problem with the theme as well, but unlike mine his grub gives some answers.
here's the guy's post: https://www.reddit.com/r/linux4noobs/comments/tt1pcj/stuck_at_grub_screen_after_choosing_option_wont/
You still using the theme? It works fine for you?

Yes, still using it, but as I did not change much on the machine where it is since then, it had no particular reasons to break.
What you describe looks like issues I had on another machine, but in one case, changing theme would not solve anything and for another, it was just that items were missing in the menu.
I'm sorry that I can't help you more...

Ok, i'll keep looking for whatever could be causing this, in case I solve the problem I leave the solution here. Also, congratulations on the theme, very beautiful.

I gave up trying to find out what exactly the problem was, so I took the files from the Tela theme and put the virtuaverse files in it, after a little configuration it looks like it's the same as the original and now I don't get any errors, maybe an option or the absence of one caused the problem, but I don't know.
Here's the link to the modified version if anyone with the same problem lands here: https://github.com/datsfilipe/dots/tree/main/grub.
And thanks for making the theme and for your attention, I'll close the issue now.


Fix linux BLE deadlock

Problem:

After https://github.com/project-chip/connectedhomeip/pull/26180 calling pychip_ble_start_scanning resulted in assert while calling StartTimer while in ChipDeviceScanner::StartScan. This resulted in https://github.com/project-chip/connectedhomeip/pull/26338 PR being created
Unfortunately https://github.com/project-chip/connectedhomeip/pull/26338 introduced a deadlock for other callers of ChipDeviceScanner::StartScan. Those other callers call ChipDeviceScanner::StartScan from a method that was scheduled to run on the ChipStack with ScheduleWork.

Solution:

The requirement can be that ChipDeviceScanner::StartScan is called with the ChipStackLock. These seems to allow both cases to coexist.
The destructor calling CancelTimer still does seem to be dependent on if it was called in scheduled work that does call TimerExpiredCallback, or some other thread. For the time being acquiring the ChipStackLock logic over there still makes sense.

Test:

chip-tool pairing ble-wifi 1 asdf asdf 20202021 3840, no longer deadlocks
In chip-repl issuing asdf = chip.ble.DiscoverSync(timeoutMs=2000) followed by for x in asdf: print(f"TMsg {x}") works.
In chip-repl, issuing devCtrl.CommissionWiFi(3840, 20202021, 1, "asdf", "asdf") no longer deadlocks.

I am using the command "./out/python_env/bin/chip-repl" and the error is as below


BUG - Some issues with FE and FE test writers

Related Feature
Feature request: tools-suite 24231 & S4 Extension 176
Description

fe-fpm-writer - Remove non-localised title in view.xml templates. Alternative would be to localise the text, but it is not visible to the user so does not add any value.
OPA tests fail for worklist as filterbar and go button is hidden by default. Remove iExecuteSearch in V4 OPA test if filter bar is hidden.

Steps to Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected results
Actual results
Screenshots
If applicable, add screenshots to help explain the problem.
Version/Components/Environment
Add any other context about the problem here
OS:

[ ] Mac OS
[ ] Windows
[ ] Other

Root Cause Analysis
Problem
{describe the problem}
Fix
{describe the fix}
Why was it missed
{Some explanation why this issue might have been missed during normal development/testing cycle}
How can we avoid this
{if we don’t want to see this type of issues anymore what we should do to prevent}

Re-opening to localize xml view title in FPM


Add vite_server_api dependency

Changes:

Add local maven resolver
Add vite_server_api dependency

Please Review: @sagersmith8

+1 after the library is actually published

As I said, this is just publishing it locally.


factorio: mod management via nix

Motivation for this change
Factorio's mods have dependencies among each other. Using nix to track them as well as fetch and install packages should be pretty useful.
Things done
I only included bobsmods and dytech as samples. Many more could be added.
I'm not sure if factorio-mods should be a top-level attribute or not. Also, is recurseIntoAttrs appropriate?

[ ] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] OS X
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

I believe Factorio 0.13 is going to be released tomorrow, with an built-in mod manager, so this might be premature?

Oh, I probably read that weeks ago and totally forgot about it. Yeah, that's probably superior for setting up mods for the graphical client, but the benefit of this way is that it also works for deploying a headless/dedicated server, and will make such deployments trivial once I make a few changes to the nixos module.
I mostly did this as an exercise after I saw that Factorio's mod fetching and dependency tracking were problems the nix package manager was perfectly suited to solving. With a little more polish and testing on Linux+nixpkgs, I think these changes help make a compelling case for the use of nixpkgs to expediently install Factorio + mods in Linux. My objective is to get it down to a simple .nixpkgs/config.nix + a couple one-liners to install everything.
Come to think of it, I've no idea how many people actually use nix for Factorio. Is there any possibility of getting stats off of cache.nixos.org? Is the factorio package not cached because of the nonfree license though?

The factorio package is not cached because there's no way to download it unless you supply a username and password. The headless package may be cached, so you could ask for that.
I don't think the approach you're taking in this PR is maintainable, however. Who's going to keep them up to date?
Plus, there's an official mod manager coming out soon. I'd suggest waiting until it does, then see if you can convert and import the dependency graph from that. Automatic updates are far more likely to stay updated than any kind of manually-written list.

Yeah, maintenance is a problem. Pulling the dependencies and urls from whatever webservice the mod manager uses is a good idea I hadn't thought of. I'll resubmit when I have that and the nixos module integration working.


Rebase from vbence86:feature/improved-parsing

Intent
To provide more flexible parsing functionality that works with major built-in <a> URI validations.

Hey @brunobasto, @Robert-Frampton, @eduardolundgren could you guys take a look at this? We're adding a stronger support for our fallback so it behaves similarly to modern browsers.
Do you think it is worth adding this complexity or should we simply drop support or assume a slightly flunky behaviour on browsers not supporting URL?

Though metal-useragent indeed expose a function to check whether the browser is Safari, the implementation still requires a functionality to check the version. Do you want me to delegate it to metal-useragent and rid the code of the uaHelper fully?

I've updated the function in order to exclude auth sections as potential port numbers.

Thanks for working on those improvements @vbence86.
@jbalsas @brunobasto I won't be able to analyze it deeply this week, you guys can take the decision. Keep in mind that this module is used everywhere by our other dependencies, can't break :)

All tests and more are passing, so that should be a good indicator... in any case, we can still run the tests on a local link for:

metal-ajax
metal-router
senna (just in case)

@vbence86, could you take care of that?

No problem, will report the results in due course.

All tests against the pointed projects have been successfully executed locally using metal-uri. As a reminder, please note that my local testing environment only employs Chrome.

Awesome @vbence86!!
@Robert-Frampton, can you take a look at this one and merge or ask for additional changes?

Hey guys,
LGTM. I think in regards to leveraging metal-useragent, we should add some more functionality for checking browser versions. Once that's in place we can remove the uaHelper from this repo.


Relationship links are not included when field is omitted

As discussed over at fortunejs/fortune#219, the links field on a relationship is omitted by the serializer when the relationship field itself is omitted (via options.fields[...relationship...] = false).

The problem seems to be related to this line: https://github.com/fortunejs/fortune-json-api/blob/806fad51fb7e62c78e07e7081cad81f6e061b1ab/lib/helpers.js#L198
It should actually iterate over all fields in the type definition.

Done https://github.com/fortunejs/fortune-json-api/commit/aefa206f6fc0d875451d71d2a6c27371e611034e.

Thanks!  You're an awesome open source maintainer.  👍


Invalid Index to Scalar Variable

I was trying to convert a network image url to hash
image = Image.open(requests.get(url, stream=True).raw).resize((32, 32))
return encode(np.asarray(image), 4, 3, True)

I got an error saying IndexError: invalid index to scalar variable.
component = [0.0, 0.0, 0.0]
for y in range(int(height)):
    for x in range(int(width)):
    basis = norm_factor * math.cos(math.pi * float(i) * float(x) / width) * math.cos(math.pi * float(j) * float(y) / height)
    component[0] += basis * image_linear[y][x][0]
    component[1] += basis * image_linear[y][x][1]
    component[2] += basis * image_linear[y][x][2]

    component[0] /= (width * height)
    component[1] /= (width * height)

Hi! Looks like you're using the pure Python implementation halcy/blurhash-python, which is not maintained by us. Please send the issue to that repository. This project does not support passing images as numpy arrays to encode function.
If you'd like to try out this library instead, take a look at the README for installation and usage instructions.


Fix svcat cli publish

Use docker to interact with files made by docker. Otherwise on travis, the copy fails with a permission denied error:
# Download the latest client with https://download.svcat.sh/cli/latest/darwin/amd64/svcat
# Download an older client with  https://download.svcat.sh/cli/VERSION/darwin/amd64/svcat
cp -R bin/svcat/v0.1.9 bin/svcat/latest
cp: cannot create directory ‘bin/svcat/latest’: Permission denied
make: *** [svcat-publish] Error 1

https://travis-ci.org/kubernetes-incubator/service-catalog/jobs/347571501#L2194-L2198

I wasn't sure if it's worth adding a new tag to test out this fix or just wait for next week's release?


Banker website --- frontend projects --- changing color of text in operations tab.

Changing color of text to black from whitish-grey for better readablility in grey background

Sir can you please assign this issue to me. I'm a GSSOC 2023 Participant and contributor.

Do not make more than 5 issues at a time


[DeviceLab] Minions failing to remotely sign x509 certificates for machine_tokend.

From @kentnguyen99:
mac-27 and mac-30 masked as dead due to out of sync with Salt master.  When I ran command "salt-call state.apply" and getting error regarding certificate issue.  Can you look in this issue?
ID: /opt/luci/machine_tokend/run.sh
    Function: cmd.run
      Result: False
     Comment: One or more requisite failed: machine_tokend./etc/pki/flutter-devicelab-mac-30.mtv.corp.google.com.crt
     Started: 09:41:28.490761
    Duration: 0.003 ms
     Changes:
----------
          ID: /opt/luci/machine_tokend/run.sh >/dev/null 2>&1
    Function: cron.present
      Result: False
     Comment: One or more requisite failed: machine_tokend./etc/pki/flutter-devicelab-mac-30.mtv.corp.google.com.crt
     Started: 09:41:28.491236
    Duration: 0.002 ms
     Changes:

Got same error for Linux Bots when ran command "salt-call state.apply".
ID: /etc/pki/flutter-devicelab-linux-64.mtv.corp.google.com.crt
    Function: x509.certificate_managed
      Result: False
     Comment: An exception occurred in this state: Traceback (most recent call last):
                File "/usr/lib/python3/dist-packages/salt/state.py", line 2276, in call
                  ret = self.states[cdata["full"]](
                File "/usr/lib/python3/dist-packages/salt/loader/lazy.py", line 149, in __call__
                  return self.loader.run(run_func, *args, **kwargs)
                File "/usr/lib/python3/dist-packages/salt/loader/lazy.py", line 1228, in run
                  return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)
                File "/usr/lib/python3/dist-packages/salt/loader/lazy.py", line 1243, in _run_as
                  return _func_or_method(*args, **kwargs)
                File "/usr/lib/python3/dist-packages/salt/loader/lazy.py", line 1276, in wrapper
                  return f(*args, **kwargs)
                File "/usr/lib/python3/dist-packages/salt/states/x509.py", line 687, in certificate_managed
                  contents = __salt__["x509.create_certificate"](text=True, **kwargs)
                File "/usr/lib/python3/dist-packages/salt/loader/lazy.py", line 149, in __call__
                  return self.loader.run(run_func, *args, **kwargs)
                File "/usr/lib/python3/dist-packages/salt/loader/lazy.py", line 1228, in run
                  return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)
                File "/usr/lib/python3/dist-packages/salt/loader/lazy.py", line 1243, in _run_as
                  return _func_or_method(*args, **kwargs)
                File "/usr/lib/python3/dist-packages/salt/modules/x509.py", line 1454, in create_certificate
                  if not any(certs):
              TypeError: 'NoneType' object is not iterable
     Started: 10:40:22.503283
    Duration: 219.605 ms
     Changes:

Okay, I think these are two different issues. I'm going to focus on the macOS issues in this bug and push the x509.certificate_managed one into a separate issue.
flutter-devicelab-mac-27 and flutter-flutter-devicelab-mac-30 are registered as dead in swarming.

Actually they are probably the same issue. Both are related to machine_tokend certs.

Okay, so the master's minion logs contain a bunch of x509 signing jobs. The last successful one was before all the minions got disconnected:
2024-08-28 08:05:18,787 [salt.minion :1693][INFO ][20062] User root Executing command x509.sign_remote_certificate with jid<PHONE_NUMBER>0518766651
2024-08-28 08:05:18,847 [salt.minion :1890][INFO ][2342530] Starting a new job<PHONE_NUMBER>0518766651 with PID 2342530
2024-08-28 08:05:18,862 [salt.minion :2173][INFO ][2342530] Returning information for job:<PHONE_NUMBER>0518766651

For some reason, the master's key keeps getting removed from the accepted keys list, causing the minion on the master to not stay connected to the master. Probably a symptom of the problem.
Unaccepted Keys:
salt-flutter.us-central1-b.c.fuchsia-infra.internal

Yes, both mac-27 and mac-30 out of sync with Salt master due to both machines need to re-sync with Salt master again but Salt master could not regenerate new tokens file for both clients.

Eliminating some red herrings:
As soon as the master's minion reconnects (and periodically afterwards), it throws this error rendering base:master.contents:
2024-09-10 13:05:51,896 [salt.state       :1179][INFO    ][1233541] Loading fresh modules for state activity
2024-09-10 13:05:52,046 [salt.utils.templates:274 ][ERROR   ][1233541] Rendering exception occurred
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/salt/utils/templates.py", line 502, in render_jinja_tmpl
    output = template.render(**decoded_context)
  File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 1090, in render
    self.environment.handle_exception()
  File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 832, in handle_exception
    reraise(*rewrite_traceback_stack(source=source))
  File "/usr/lib/python3/dist-packages/jinja2/_compat.py", line 28, in reraise
    raise value.with_traceback(tb)
  File "<template>", line 6, in top-level template code
  File "/usr/lib/python3/dist-packages/jinja2/sandbox.py", line 410, in getattr
    value = getattr(obj, attribute)
jinja2.exceptions.UndefinedError: 'salt.utils.context.NamespacedDictWrapper object' has no attribute 'master'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/salt/utils/templates.py", line 261, in render_tmpl
    output = render_str(tmplstr, context, tmplpath)
  File "/usr/lib/python3/dist-packages/salt/utils/templates.py", line 509, in render_jinja_tmpl
    raise SaltRenderError("Jinja variable {}{}".format(exc, out), buf=tmplstr)
salt.exceptions.SaltRenderError: Jinja variable 'salt.utils.context.NamespacedDictWrapper object' has no attribute 'master'
2024-09-10 13:05:52,046 [salt.state       :4038][CRITICAL][1233541] Rendering SLS 'base:master.contents' failed: Jinja variable 'salt.utils.context.NamespacedDictWrapper object' has no attribute 'master'

However, I don't think this has anything to do with the x509 issue since this has been being continually pooped into the logs since 2024-07-07 (the log cutoff).
In the master logs, we have a continuous stream of:
2024-08-05 05:44:47,646 [salt.utils.event :905 ][ERROR   ][3448452] Event iteration failed with exception: 'user'

and
2024-08-05 05:46:01,794 [salt.transport.ipc:208 ][ERROR   ][3447791] Exception occurred while handling stream:

...which are also not anomalous and present since the beginning of the log stream.

flutter@flutter-devicelab-linux-64:~/Downloads$ sudo systemctl status salt-minion
● salt-minion.service - The Salt Minion
Loaded: loaded (/lib/systemd/system/salt-minion.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2024-09-10 16:50:17 PDT; 4min 33s ago
Docs: man:salt-minion(1)
file:///usr/share/doc/salt/html/contents.html
https://docs.saltproject.io/en/latest/contents.html
Main PID: 2729 (salt-minion)
Tasks: 7 (limit: 8962)
Memory: 52.4M
CGroup: /system.slice/salt-minion.service
├─2729 /usr/bin/python3 /usr/bin/salt-minion
└─2735 /usr/bin/python3 /usr/bin/salt-minion
Sep 10 16:53:12 flutter-devicelab-linux-64 salt-minion[2735]: [ERROR   ] The Salt Master has cached the public key for this node, this salt minion will wait for 10 seconds before attempting to re-authenticate
Sep 10 16:53:22 flutter-devicelab-linux-64 salt-minion[2735]: [ERROR   ] The Salt Master has cached the public key for this node, this salt minion will wait for 10 seconds before attempting to re-authenticate
Sep 10 16:53:32 flutter-devicelab-linux-64 salt-minion[2735]: [ERROR   ] The Salt Master has cached the public key for this node, this salt minion will wait for 10 seconds before attempting to re-authenticate
Sep 10 16:53:43 flutter-devicelab-linux-64 salt-minion[2735]: [ERROR   ] The Salt Master has cached the public key for this node, this salt minion will wait for 10 seconds before attempting to re-authenticate
Sep 10 16:53:53 flutter-devicelab-linux-64 salt-minion[2735]: [ERROR   ] The Salt Master has cached the public key for this node, this salt minion will wait for 10 seconds before attempting to re-authenticate
Sep 10 16:54:03 flutter-devicelab-linux-64 salt-minion[2735]: [ERROR   ] The Salt Master has cached the public key for this node, this salt minion will wait for 10 seconds before attempting to re-authenticate
Sep 10 16:54:13 flutter-devicelab-linux-64 salt-minion[2735]: [ERROR   ] The Salt Master has cached the public key for this node, this salt minion will wait for 10 seconds before attempting to re-authenticate
Sep 10 16:54:23 flutter-devicelab-linux-64 salt-minion[2735]: [ERROR   ] The Salt Master has cached the public key for this node, this salt minion will wait for 10 seconds before attempting to re-authenticate
Sep 10 16:54:34 flutter-devicelab-linux-64 salt-minion[2735]: [ERROR   ] The Salt Master has cached the public key for this node, this salt minion will wait for 10 seconds before attempting to re-authenticate
Sep 10 16:54:44 flutter-devicelab-linux-64 salt-minion[2735]: [ERROR   ] The Salt Master has cached the public key for this node, this salt minion will wait for 10 seconds before attempting to re-authenticate

I just finished working out the problem with https://github.com/flutter/flutter/issues/154881, so getting back to this.

@kentnguyen99 I re-accepted the flutter-devicelab-linux-64 key. I haven't resolved the x509 issue yet, though.

It's erroring out when checking for an error. :^)
   1452         if not any(certs):
   1453             raise salt.exceptions.SaltInvocationError(
   1454                 "ca_server did not respond"
   1455                 " salt master must permit peers to"
   1456                 " call the sign_remote_certificate function."
   1457             )

The module is publishing x509.sign_remote_certificate and it's returning None rather than an interable.
   1445         certs = __salt__["publish.publish"](
   1446             tgt=ca_server,
   1447             fun="x509.sign_remote_certificate",
   1448             arg=salt.utils.data.decode_dict(kwargs, to_str=True),
   1449             timeout=30,
   1450         )

/etc/salt/master.d/peer.conf looks correct:
peer:
  .*:
    - x509.sign_remote_certificate

ca_server is being resolved in a jinja template like this: grains.master | replace(".endpoints.", ".c.") | replace(".cloud.goog", ".internal")
Grain master is set to salt-flutter.endpoints.fuchsia-infra.cloud.goog on all the minions. So it's ending up as salt-flutter.c.fuchsia-infra.internal.
However, this is not the correct ID of the master's minion. It's self-identifying as salt-flutter.us-central1-b.c.fuchsia-infra.internal, which is what hostname --fqdn resolves to right now. The GCP hosts updater is managing /etc/hosts and appears to have started including the zone at some point.
Further, the master's minion key is no longer auto-accepting and it's periodically regenerating for some reason, so the master's minion keeps getting disconnected.

Got it auto-accepting by adding the fqdn to /etc/salt/autosign_grains/fqdn.
Attempted to fix the mapping with this diff:
diff --git a/salt/ca/map.jinja b/salt/ca/map.jinja
index fd6a772b..e52bc6ec 100644
--- a/salt/ca/map.jinja
+++ b/salt/ca/map.jinja
@@ -1,6 +1,6 @@
-{# Replaces foo.endpoints.bar.cloud.goog with foo.c.bar.internal #}
+{# Replaces foo.endpoints.bar.cloud.goog with foo.us-central1-b.c.bar.internal #}
 {% set ca = {
-    'ca': grains.master | replace(".endpoints.", ".c.") | replace(".cloud.goog", ".internal"),
+    'ca': grains.master | replace(".endpoints.", ".us-central1-b.c.") | replace(".cloud.goog", ".internal"),
     'crt': '/etc/pki/ca.crt',
     'key': '/etc/pki/ca.key',
 } %}

Confirmed this is fixed now. Ran state.apply on mac-6 and it succeeded for all states:
Summary for local
-------------
Succeeded: 47 (changed=13)
Failed:     0
-------------
Total states run:     47


docs: implement final missing safety docs

Closes #698
Thanks to @mejrs for pointing out this was nearly done, and for all the other contributors who have also helped out with this over time!

Exciting! I think you can update the contributor guide :)
https://github.com/PyO3/pyo3/blob/main/Contributing.md#help-write-great-docs

Exciting! I think you can update the contributor guide :)

Good catch, have added to this PR!


Need documentation

As it stands, there is nothing showing how to get started with learntris or even really what it does. Ideally there would be a tutorial or just a description of all of the tests that programs should pass.

After 10 years (where learntris was mostly dormant), this is still an issue, but I've tried to spruce it up significantly by adding instructions and a video at https://tangentcode.com/setup/


Ctrl + MouseWheel does not resize font

Type: Feature Request
Please keep standard keyboard / mouse shortcuts consistent across products.
Visual Studio implements this (along with most text editors) but VS Code does not.
P.S. I am trying to add this myself manually, under Preferences, Keyboard Shortcuts,
but the mouse is not a keyboard, and it will not accept Ctrl+MouseWheel Up/Down.
VS Code version: Code 1.85.1 (0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2, 2023-12-13T09:49:37.021Z)
OS version: Windows_NT x64 10.0.22621
Modes:

Under Preferences > Settings > Editor: Mouse Wheel Zoom, there is a checkbox (defaulting to off) that allows this functionality.
It seems the fix would simply to have this be on by default, since it's already coded. :)

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

:slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our documentation.
Happy Coding!


The semi-hidden debug panel, opened with ! shortcut stopped working

The semi-hidden debug panel, opened with ! shortcut is not working in Maputnik v1.7.0
This is likely a regression since it used to work fine in some prior versions

I see that the panel is showing when clicking "!":

I think there is a problem with the renderer configuration so it doesn't show everything it should, see here:
https://github.com/maplibre/maputnik/blob/25cf61a825ddc596084913f0562f9c9a1f2e3da3/src/components/ModalDebug.tsx#L41C21-L41C29
Feel free to submit a PR to fix this.

If you change the render to OL and then back to Maplibre you'll get the relevant options:

While not ideal, this issue has a workaround...

Thank you. How to change the renderer to OL then back to MapLibre?

In the style settings modal dialog.

thanks


Ability to see which commit id was last applied

I would like the ability to see which git commit id was last run. We could add this two places:

In the logs of the job pod, both at the beginning and at the end of a run.
In the .status section of the GitOpsConfig resource being acted on.

I believe we would want to add this to the .status section on the GitOpsConfig resources.

For the .status section in the GitOpsConfig resource I'm thinking we would want the below fields.

a field for the Git SHA1 that is currently being applied
a field for the last successfully applied git SHA1
a state field that can have it's value set to Success, InProgress, or Failure that represents the state of the k8s job
a start timestamp field that represents when the latest k8s job started
an end timestamp field that represents when the latest k8s job ended

I'd be interested what other people think about the above list of suggested fields.

The initial .status fields were added in #163, but we still have not added the details git fields to the .status.


:sparkles: ARFlow Example Page

What
Checklist

[x] I have read and agree to Contributor Guide and the Code of Conduct
[x] I've included a screenshot or gif (if applicable)
[x] I have tested the web demo (if applicable):

Using newly built examples: app.rerun.io
Using examples from latest main build: app.rerun.io
Using full set of examples from nightly build: app.rerun.io

[x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG
[x] If applicable, add a new check to the release checklist!

PR Build Summary
Docs preview
Examples preview
Recent benchmark results
Wasm size tracking

Follow up on #4121. Sorry for the extremely long delay. But we had several important developments in Unity and XR streaming. We released an individual project ARFlow that contains more comprehensive streaming and visualization supports. We also released Paper,  Project Page, and Video.

For this PR, I followed your previous recommendation of submitting a paper visualization-style example page. It looks like you have screenshot images served at static.rerun.io, and you might need a few short videos for the website (like this page). Let me know if I can help with that. Thanks!

Thanks a lot. I will include the ARFlow example page on your website to recognize the heavy lifting of high-performance data visualization you guys have done.


remove coverage

This removes coverage, which was breaking the builds. It's a short-term solution so others don't get unnecessarily stuck. Long-term solution is described in #1061
cc @springmeyer @kewde

Thanks @springmeyer - going to merge, but no need for a release here!


I wonder if we can use batch inference and offload in mii pipeline ?

Since in the principle of the latest fastgen in mii includes Continuous Batching,  We should have choice to adjust the batch size in mii pipeline  But haven't found it in the document and from the code it's still hard to to find the parameters of it  For they are included in a dict ends with config. So could someone please help to tell me which what should we use to call batch inference? Or if and why it hasn't been deployed.
And also I haven't found offload in mii pipeline , However from DeepSpeed, it must can be found in there, They from another issue and the answers we can see that we can adjust it there but I do not know that if there are further parameters to be adjust to call offload.  Sometimes without offload it's hard to inference big model in small Gpu  And batch inference accelerate the infering process. So I would be appreciate it if someone could help me find an answer.
Thank you for your time and happy new year.

Hi @Kevin-shihello-world, the latest MII does not include offloading. We still support this with MII-Legacy. For batching, we do not have a parameter exposed to users that allows defining a batch size. The pipeline will place all provided prompts onto the inference engine at once.
I will talk with @tohtana about how we may expose a batch_size parameter.

Thanks for your time @mrwyattii however the one in MII-Legacy might be slower, but how slow it could be? Can you show us? thanks forr your time and happy new year


normalization

ffmpeg has this https://github.com/FFmpeg/FFmpeg/blob/master/tools/loudnorm.rb example of how do two pass normalization. I'm trying to figure out how to do this using ffmpeg-python.
Currently looking at how to do the first pass which generates statistics which i want to feed into my existing ffmpeg-python pipeline (that produces a numpy array of samples) to also perform the 2nd pass,  avoiding the need to create any intermediate files.
Any help welcome.

Made some progress,
def firstpass(filename):
    target_il  = -24.0
    target_lra = +11.0
    target_tp  = -2.0
    stream = ffmpeg.input(filename)
    stream = ffmpeg.filter(stream, 'loudnorm', I=target_il, LRA=target_lra, tp=target_tp, print_format='json')
    stream = stream.output('-', f='null')
    print(stream.get_args())
    return stream.run()

this will print the stats when executing, eg,
>>> o1 = firstpass('/tmp/test.mp3')
[Parsed_loudnorm_0 @ 0x556806bef780]
{
	"input_i" : "-17.23",
	"input_tp" : "-6.17",
	"input_lra" : "2.40",
	"input_thresh" : "-27.52",
	"output_i" : "-24.03",
	"output_tp" : "-11.40",
	"output_lra" : "2.50",
	"output_thresh" : "-34.30",
	"normalization_type" : "dynamic",
	"target_offset" : "0.03"
}

But I haven't figured out how to capture that bit yet.


[sentry-native] Add ability to control SENTRY_BACKEND variable

Signed-off-by: Vitalii Koshura<EMAIL_ADDRESS>

@strega-nil, please review.
Shouldn't be merged before #13329

Thanks for your contribution!


Update inline-block.json for Safari bugs

Added information about Safari/iOS issues with tables that use display: inline-block. Includes link to Safari bug https://bugs.webkit.org/show_bug.cgi?id=257458.

The fix for this problem is shipping Safari 17.0.
Thanks for your dedication to finding such bugs, @aardrian.

I confirmed tables are exposed correctly in Safari iPadOS 17.


Add the raw data statistics for all published studies

As discused last Monday at the IDR weekly meeting, with the ongoing migration of the public downloadable data to https://ftp.ebi.ac.uk/pub/databases/IDR/ it is useful for end-users to know the amount of data for each study.
This PR uses the statistic that came out of the transfer command to capture the number of files and the total size in bytes for each top-level study.
The last column attempts to normalize the size in TB but arguably this can be recomputed from the third column so leaving it up to the reviewers to decide whether this is useful.

Note the current state of this PR omits the data for HPA as I am still transferring the last few folders but I will update it as soon as I have the final figures for the current data.
Excluding HPA, the volume of data available for download is ~40M files for ~260TB of data

This looks similar to the file we're using for stats on the IDR home page:
https://raw.githubusercontent.com/IDR/idr.openmicroscopy.org/master/_data/studies.tsv
I haven't compared the numbers, but we'd expect them to be the same, right? Do we need both?
How will this rawdata.tsv be "viewable" on the website?

How will this rawdata.tsv be "viewable" on the website?

At the moment it's not and that's something that should be discussed as we rework the download instructions.

I like the table and the idea. Lets remember the main purpose of this: Give the downloaders (== NOT the OME Team) the overview of what are the approximate sizes of what they are downloading.
Give the information in such a way that it is available at the place where the download happens, at the time of the download.
I would claim that even having a link on the https://ftp.ebi.ac.uk/pub/databases/IDR/ site where this table would be downloadable as, say, pdf, is far far superior to having nothing. Even an outdated table would do.

Give the information in such a way that it is available at the place where the download happens, at the time of the download.

Interesting, a top-level file under https://ftp.ebi.ac.uk/pub/databases/IDR/ would be an easy way to colocate this metadata with the data to be downloaded as mentioned in https://github.com/IDR/idr.openmicroscopy.org/pull/188#issuecomment-1825589649. Also thinking of the process, assuming we make the right decisions, managing this information directly under this hierarchy might be even easier as the metadata can be updated directly once the data is copied..

I would claim that even having a link on the https://ftp.ebi.ac.uk/pub/databases/IDR/ site where this table would be downloadable as, say, pdf, is far far superior to having nothing. Even an outdated table would do.

That probably gets us down to agreeing the minimal requirements for a first version:

format: currently set as is TSV mostly to match the existing tabular files in this repository. Can easily be CSV or even JSON
data: study name, number of files and total size (bytes) are the bare minimum columns. Everything else is up for discussion (or future amendments)

Interesting, a top-level file under https://ftp.ebi.ac.uk/pub/databases/IDR/ would be an easy way to colocate this metadata with the data to be downloaded as mentioned in https://github.com/IDR/idr.openmicroscopy.org/pull/188#issuecomment-1825589649.

Agreed, though would it be easier/as-effective to just have a README per directory then?

Agreed, though would it be easier/as-effective to just have a README per directory then?

I am happy with that @sbesson

Closing in favor of files directly hosted on the public storage infrastructure:

a top-level CSV file - see https://ftp.ebi.ac.uk/pub/databases/IDR/studies.csv
individual readme files under each study folder TBD


test login does not work

I ran the program and tried the login info "ADP username (MKPLDEMO) and password (marketplace1)". I received Login failed invalid username or password.

Please try again with the same User ID and Password. The login should be working now.

@ADPMarketplace is it changed again? Can't login with MKPLDEMO:marketplace1 with this demo code.
Thanks in advance!!


Player HP heart mark color changes could be configured?

What is the feature requesting?

Please could you implement configuration "PC HP Color Change" mode ( or deffault).
Why should this feature be added?

When HP is over 20, that color changes red to orange, to yellow.
I noticed bad-effect attack with it (green, black), so color change is a little shocked and confused for a short time.
I am very pleased with almost your MOD contents, hope consider this matter.
Versions:

Minecraft: 1.14.4
Inspirations:

Attachments

This is not an Inspirations feature, it comes from Mantle.


fix: publish cmd --sbom-path not writing files

fixes #804
quick fix based on the --sbom-path logic in the build cmd

Tests need to be fixed

@kaniini oops. sorry i missed that completely 🤦
fixed the method sig in the test and also added a basic assertion that sbom files are actually written to the path


Forking for modifications

Hey, I liked your aria2 webui very much.
I wanted to do some changes to this awesome ui. Also I would like to present it in an installer format via apt-get and/or via install.sh.
So, I want to know "Can I create a fork to your respository and modify it as per I need and publish it to ubuntu/ other linux as installer, under my name and keeping your name and link as original author?"
I cannot create modifications into your current project as there will be huge changes in UI.

Yeah, that is completely fine by me. Would appreciate if you attributed it back :)

Hi @piyushkmr, I'm also looking to change the UI to have more material design style ! Can you update here some news when you will update it and maybe a link to your fork ? :)


Bugfix orphaned handlers on shot groups

This PR fixes a bug created in https://github.com/missionpinball/mpf/commit/58d3df636f6b1027d68024ba196e3cb852ca59a9 that causes shot groups to continually add event handlers.
The change in https://github.com/missionpinball/mpf/commit/58d3df636f6b1027d68024ba196e3cb852ca59a9 introduces new handlers for the ShotGroup's self._check_for_complete when the device is added to a mode, but these handlers are never removed. The next time the mode starts, they are all added again.
This PR removes these handlers in the ShotGroup's self.device_removed_from_mode() method, and adds a test to prevent regression.
Also, this PR adds a catch during shutdown. During a catastrophic failure, e.g. a syntax error in an MPF file that prevents startup, self.events is undefined and that subsequent error blocks the stacktrace of the underlying syntax error. This catch allows the machine to gracefully shutdown and display a useful stacktrace.

Thanks! Good one.


tests: Add Wycheproof test vectors

Test crysol against the https://github.com/C2SP/wycheproof test vectors.

Inspiration (not just for this issue!) can be taken from snekmate, see test vectors.


AMPI Isomalloc/Mempool abort with PUP sizing mismatch

Original issue: https://charm.cs.illinois.edu/redmine/issues/1316

When built without production:
./charmun  +p3 ./jacobi.iso 2 2 2 +vp8 +balancer RotateLB +LBDebug 1 ++local
Charmrun> scalable start enabled.
Charmrun> started all node programs in 0.003 seconds.
Charm++> Running in non-SMP mode: numPes 3
Converse/Charm++ Commit ID: v6.7.0-454-g5d205de
Charm++> scheduler running in netpoll mode.
CharmLB> Verbose level 1, load balancing period: 0.5 seconds
CharmLB> Load balancer assumes all CPUs are same.
Charm++> Running on 1 unique compute nodes (8-way SMP).
Charm++> cpu topology info is gathered in 0.000 seconds.
[0] RotateLB created
iter 1 time: 0.127829 maxerr: 2020.200000
iter 2 time: 0.134596 maxerr: 1696.968000
iter 3 time: 0.097164 maxerr: 1477.170240
iter 4 time: 0.108787 maxerr: 1319.433024
iter 5 time: 0.094910 maxerr: 1200.918072
iter 6 time: 0.093392 maxerr: 1108.425519
iter 7 time: 0.093861 maxerr: 1033.970839
iter 8 time: 0.105934 maxerr: 972.509242
iter 9 time: 0.109089 maxerr: 920.721889
iter 10 time: 0.132259 maxerr: 876.344030

CharmLB> RotateLB: PE [0] step 0 starting at 1.195512 Memory: 29.244904 MB
CharmLB> RotateLB: PE [0] strategy starting at 1.195622
CharmLB> RotateLB: PE [0] Memory: LBManager: 920 KB CentralLB: 1 KB
CharmLB> RotateLB: PE [0] #Objects migrating: 8, LBMigrateMsg size: 0.00 MB
CharmLB> RotateLB: PE [0] strategy finished at 1.195636 duration 0.000014 s
ERROR! Array element claimed it was 18911037 bytes to a sizing PUP::er, but copied 18910837 bytes into the packing PUP::er!
------------- Processor 1 Exiting: Called CmiAbort ------------
Reason: Array element's pup routine has a direction mismatch.

ERROR! Array element claimed it was 18908653 bytes to a sizing PUP::er, but copied 18908453 bytes into the packing PUP::er!
ERROR! Array element claimed it was 18903037 bytes to a sizing PUP::er, but copied 18902837 bytes into the packing PUP::er!
------------- Processor 0 Exiting: Called CmiAbort ------------
Reason: Array element's pup routine has a direction mismatch.

------------- Processor 2 Exiting: Called CmiAbort ------------
Reason: Array element's pup routine has a direction mismatch.

Original date: 2016-11-30 15:43:24

See below

Original date: 2016-12-12 19:39:06

The issue is a memory leak, which is caught by the runtime resulting in an abort when --enable-error-checking is not used at build time.
Build:
$ ./build AMPI netlrts-linux-x86_64 -j16 --without-romio -g -O0

Run:
$ cd examples/ampi/Cjacobi3D
$ ./charmrun +p2 ./jacobi.iso 1 1 1 +vp1 +balancer RotateLB +LBDebug 1 ++local

Valgrind reports the an invalid read inside CmiIsomallocBlockListPup when using the mempool implementation:
==31215== Invalid read of size 1
==31215==    at 0x4C2F950: memcpy``GLIBC_2.14 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31215==    by 0x69D19B: PUP::toMem::bytes(void*, unsigned long, unsigned long, PUP::dataType) (pup_util.C:158)
==31215==    by 0x693FD3: CmiIsomallocBlockListPup (isomalloc.c:2448)
==31215==    by 0x4D4408: TCharm::pupThread(PUP::er&) (tcharm.C:324)
==31215==    by 0x4D4897: TCharm::pup(PUP::er&) (tcharm.C:302)
==31215==    by 0x5A3069: CkLocMgr::pupElementsFor(PUP::er&, CkLocRec*, CkElementCreation_t, bool) [clone .constprop.447] (cklocation.C:2996)
==31215==    by 0x5A1D97: CkLocMgr::emigrate(CkLocRec*, int) (cklocation.C:3101)
==31215==    by 0x5A1FDC: migrateMe (cklocation.C:1882)
==31215==    by 0x5A1FDC: recvMigrate (cklocation.C:2018)
==31215==    by 0x5A1FDC: CkLocRec::staticMigrate(LDObjHandle, int) (cklocation.C:2011)
==31215==    by 0x626081: Migrate (LBOM.h:37)
==31215==    by 0x626081: LBDB::Migrate(LDObjHandle, int) (LBDBManager.C:324)
==31215==    by 0x6075DB: LDMigrate (lbdb.C:392)
==31215==    by 0x6359DE: Migrate (LBDatabase.h:340)
==31215==    by 0x6359DE: CentralLB::ProcessReceiveMigration() (CentralLB.C:1120)
==31215==    by 0x635BAB: CkIndex_CentralLB::_call_redn_wrapper_ProcessReceiveMigration_void(void*, void*) (CentralLB.def.h:788)
==31215==  Address 0x18000fc839 is not stack'd, malloc'd or (recently) free'd

We can see the issue here, where the mismatched slots are noted:
In ampi::pup, p.size       = 3528
In ampiParent::pup, p.size = 18801

jj = 0, ii =  0, curr slot size = 2097152
jj = 0, ii =  1, sizeof(slot_header) = 56
jj = 0, ii =  2, sizeof(slot_header) = 56
jj = 0, ii =  3, sizeof(slot_header) = 56
jj = 0, ii =  4, sizeof(slot_header) = 56
jj = 0, ii =  5, sizeof(slot_header) = 56
jj = 0, ii =  6, sizeof(slot_header) = 56
jj = 0, ii =  7, sizeof(slot_header) = 56
jj = 0, ii =  8, curr slot size      = 4096
jj = 0, ii =  9, curr slot size      = 256                <- MISMATCH HERE (SIZING)
jj = 0, ii = 10, sizeof(slot_header) = 56
jj = 0, ii = 11, sizeof(slot_header) = 56
jj = 0, ii = 12, sizeof(slot_header) = 56
jj = 0, ii = 13, sizeof(slot_header) = 56
jj = 0, ii = 14, curr slot size      = 128
jj = 0, ii = 15, curr slot size      = 128
jj = 0, ii = 16, curr slot size      = 128
jj = 0, ii = 17, curr slot size      = 256
jj = 0, ii = 18, sizeof(slot_header) = 56
jj = 0, ii = 19, curr slot size      = 128
jj = 0, ii = 20, curr slot size      = 128
jj = 0, ii = 21, curr slot size      = 256
jj = 0, ii = 22, curr slot size      = 128
jj = 0, ii = 23, sizeof(slot_header) = 56

jj = 1, ii = 0,  curr slot size      = 16777216
jj = 1, ii = 1,  sizeof(slot_header) = 56
jj = 1, ii = 2,  sizeof(slot_header) = 56
jj = 1, ii = 3,  sizeof(slot_header) = 56
jj = 1, ii = 4,  sizeof(slot_header) = 56
jj = 1, ii = 5,  sizeof(slot_header) = 56
jj = 1, ii = 6,  sizeof(slot_header) = 56
jj = 1, ii = 7,  sizeof(slot_header) = 56
jj = 1, ii = 8,  sizeof(slot_header) = 56
jj = 1, ii = 9,  sizeof(slot_header) = 56
jj = 1, ii = 10, sizeof(slot_header) = 56
jj = 1, ii = 11, sizeof(slot_header) = 56
jj = 1, ii = 12, sizeof(slot_header) = 56
jj = 1, ii = 13, sizeof(slot_header) = 56

In CmiIsomallocBlockListPup, p.size() = 18901281, p was sizing

In ampi::pup, p.size       = 3528
In ampiParent::pup, p.size = 18801

jj = 0, ii = 0,  curr slot size      = 2097152
jj = 0, ii = 1,  sizeof(slot_header) = 56
jj = 0, ii = 2,  sizeof(slot_header) = 56
jj = 0, ii = 3,  sizeof(slot_header) = 56
jj = 0, ii = 4,  sizeof(slot_header) = 56
jj = 0, ii = 5,  sizeof(slot_header) = 56
jj = 0, ii = 6,  sizeof(slot_header) = 56
jj = 0, ii = 7,  sizeof(slot_header) = 56
jj = 0, ii = 8,  curr slot size      = 4096
jj = 0, ii = 9,  sizeof(slot_header) = 56               <- ... AND HERE (PACKING)
jj = 0, ii = 10, sizeof(slot_header) = 56
jj = 0, ii = 11, curr slot size      = 128
jj = 0, ii = 12, curr slot size      = 128
jj = 0, ii = 13, curr slot size      = 128
jj = 0, ii = 14, curr slot size      = 256
jj = 0, ii = 15, sizeof(slot_header) = 56
jj = 0, ii = 16, curr slot size      = 128
jj = 0, ii = 17, curr slot size      = 128
jj = 0, ii = 18, curr slot size      = 256
jj = 0, ii = 19, curr slot size      = 128
jj = 0, ii = 20, sizeof(slot_header) = 56

jj = 1, ii = 0,  curr slot size      = 16777216
jj = 1, ii = 1,  sizeof(slot_header) = 56
jj = 1, ii = 2,  sizeof(slot_header) = 56
jj = 1, ii = 3,  sizeof(slot_header) = 56
jj = 1, ii = 4,  sizeof(slot_header) = 56
jj = 1, ii = 5,  sizeof(slot_header) = 56
jj = 1, ii = 6,  sizeof(slot_header) = 56
jj = 1, ii = 7,  sizeof(slot_header) = 56
jj = 1, ii = 8,  sizeof(slot_header) = 56
jj = 1, ii = 9,  sizeof(slot_header) = 56
jj = 1, ii = 10, sizeof(slot_header) = 56
jj = 1, ii = 11, sizeof(slot_header) = 56
jj = 1, ii = 12, sizeof(slot_header) = 56
jj = 1, ii = 13, sizeof(slot_header) = 56

In CmiIsomallocBlockListPup, p.size() = 18900889, p was packing

ERROR! Array element claimed it was 18902901 bytes to a sizing PUP::er, but copied 18902509 bytes into the packing PUP::er!

Original date: 2016-12-20 03:33:37

Looking at autobuild history for netlrts-linux-x86_64, Isomalloc was consistently passing this test until it failed on 11/29/16, and has failed since:
Last passed: http://charm.cs.uiuc.edu/autobuild/old.2016_11_28__01_01/netlrts-linux-x86_64.txt
First failed: http://charm.cs.uiuc.edu/autobuild/old.2016_11_29__01_01/netlrts-linux-x86_64.txt
The offending commit is the follow, which screwed up AMPI's use of TCharmAPIRoutine, which is used to turn on/off Isomalloc when entering/exiting AMPI from user-land: ~~https://charm.cs.illinois.edu/gerrit/#/c/1998/~~ https://github.com/UIUC-PPL/charm/commit/e95148b71ec5b2d75bcdc80719dfe259b5948f33

Original date: 2016-12-20 04:13:19

~~https://charm.cs.illinois.edu/gerrit/#/c/2067/~~ https://github.com/UIUC-PPL/charm/commit/57e029405f2c32a9b4e161d594eb6b79d5336245


As a user, I would like some fallback mechanism for control, so that I don't need to be afraid that I loose total control of my Pod if I mess up my permissions

It seems like we can have some situations that can lead to total loss of control of a pod, and I think we should make sure it cannot happen.

Added to user-story readme

Opening this as part of moving all user stories into issues again.


Ignore 'deflate' compression on directories and symlinks

Changes proposed in this PR

Do not allow "deflate" compression to be used on Directories and Symlinks headers, as this makes an invalid ZIP file

Tests performed

Zipped a directory with symlinks
Tried to "unzip" it from CLI/Finder
Failed

Further info for the reviewer
I didn't add an unit test as I don't really know where to begin
Open Issues
None

Hi,
Thanks for your work! I'm using this library to ZIP a macOS framework.
I'm manually using the "Archive" APIs to do so.
Everything works fine with CompressionMode.none but once I try to use .delfate, it breaks.
I'm basically doing it like this:
                        // Add the entry. Do that even if it is a folder, so that an empty folder correctly gets added
                        try archive.addEntry(with: itemName, relativeTo: basePath, compressionMethod: compressionMethod)
                        if isDirectory.boolValue {
                            try recursivelyAddDirectory(archive: archive,
                                                        pathURL: itemURL,
                                                        relativeTo: basePath,
                                                        compressionMethod: compressionMethod)
                        }
                    }

...

            /// Recursively zip a directory.
            /// This only supports relatively adding the directory to the root of the zip
            private func recursivelyAddDirectory(archive: ZIPFoundation.Archive,
                                                 pathURL: URL,
                                                 relativeTo basePath: URL,
                                                 compressionMethod: ZIPFoundation.CompressionMethod) throws {
                let subpaths = try fileManager.subpathsOfDirectory(atPath: pathURL.path)
                let directoryName = pathURL.lastPathComponent
                try subpaths.forEach { subpath in
                    try archive.addEntry(with: directoryName + "/" + subpath, relativeTo: basePath, compressionMethod: compressionMethod)
                }
            }

Unfortunately, this makes the zip unreadable:
 /t/foo2 ➜ unzip -t invalid.zip
Archive:  invalid.zip
    testing: README.md                OK
    testing: LICENSE                  OK
    testing: CHANGELOG.md             OK
    testing: Test.xcframework/
  error:  invalid compressed data to inflate
    testing: Test.xcframework/ios-x86_64-maccatalyst/Test.framework/Versions/Current
  error:  invalid compressed data to inflate

After zipping a file using Finder and checking with zipinfo, I see the following:
 /t/foo2 ➜ zipinfo valid2.zip
Archive:  valid2.zip
Zip file size: 17952109 bytes, number of entries: 74
drwxr-xr-x  2.0 unx        0 bx stor 20-Sep-22 17:51 Test.xcframework/
drwxr-xr-x  2.0 unx        0 bx stor 20-Sep-22 17:51 Test.xcframework/ios-x86_64-maccatalyst/
-rw-r--r--  2.0 unx     1508 bX defN 20-Sep-22 17:51 Test.xcframework/Info.plist
lrwxr-xr-x  2.0 unx        1 bx stor 20-Sep-22 17:51 Test.xcframework/ios-x86_64-maccatalyst/Test.framework/Versions/Current
-rw-r--r--  2.0 unx    19514 bX defN 20-Sep-22 17:49 CHANGELOG.md
-rw-r--r--  2.0 unx     1139 bX defN 20-Sep-22 17:49 LICENSE
-rw-r--r--  2.0 unx     1466 bX defN 20-Sep-22 17:49 README.md

Whereas my zip looks like this:
 /t/foo2 ➜ zipinfo invalid.zip
Archive:  invalid.zip
Zip file size: 18070482 bytes, number of entries: 74
-rw-r--r--  2.1 unx     1466 b- defN 20-Sep-22 15:49 README.md
-rw-r--r--  2.1 unx     1139 b- defN 20-Sep-22 15:49 LICENSE
-rw-r--r--  2.1 unx    19514 b- defN 20-Sep-22 15:49 CHANGELOG.md
drwxr-xr-x  2.1 unx        0 b- defN 20-Sep-22 15:51 Test.xcframework/
drwxr-xr-x  2.1 unx        0 b- defN 20-Sep-22 15:51 Test.xcframework/ios-x86_64-maccatalyst/
lrwxr-xr-x  2.1 unx        1 b- defN 20-Sep-22 15:51 Test.xcframework/ios-x86_64-maccatalyst/Test.framework/Versions/Current
-rw-r--r--  2.1 unx     1508 b- defN 20-Sep-22 15:51 Test.xcframework/Info.plist

Which pointed me in the direction of directories/symlinks being incorrectly written as deflated.
I could fix my code to only use .deflate on files (I have not tested the FileManager zip helper, maybe it works), but I believe that the library should take care of this and save my from shooting myself in the foot.
The patch does exactly that!
Have a nice day,

Hi Arnaud,
Very good catch - I was able to reproduce the problem. Performing deflate compression on symlinks and directories is indeed not good.
Thanks for your fix!

Thanks a lot!


[Fix] Switch: Bad invisible spacing

The invisible spacing is still there when there is no text and it's a bad thing (only when the text value changed to nil).
When there is no text, the frame of the component must be the same as the toggle

The review is here


Flet Controls Gallery is not loading

Returning 503 error on Windows/Chrome and Android

Fixed!

Thanks!


formatter's in tooltip, axisLabel are being reset.

  const testOption = {
    tooltip: {
      backgroundColor: 'rgba(255,255,255,0.8)',
      borderColor: '#668BEE',
      borderWidth: 1,
      padding: [5, 10],
      textStyle: {
        color: '#24283C',
        fontSize: 12,
      },
      trigger: 'item',
      formatter: function (a) { // Changed here!!!
        return 'hihi';
      },
    },
    series: [
      {
        name: 'Source',
        type: 'pie',
        legendHoverLink: true,
        hoverAnimation: true,
        avoidLabelOverlap: true,
        startAngle: 180,
        radius: '55%',
        center: ['50%', '35%'],
        data: [
          {value: 105.2, name: 'android'},
          {value: 310, name: 'iOS'},
          {value: 234, name: 'web'},
        ],
        label: {
          normal: {
            show: true,
            textStyle: {
              fontSize: 12,
              color: '#23273C',
            },
          },
        },
        emphasis: {
          lable: {
            show: true,
            fontSize: 12,
            color: '#668BEE',
          },
          itemStyle: {
            show: true,
            shadowBlur: 10,
            shadowOffsetX: 0,
            shadowColor: 'rgba(0, 0, 0, 0.5)',
          },
        },
      },
    ],
  };

[First]

[Second]

I set custom formatter like code, and this works for a while and a few seconds later, it shows default tooltip formatter. I tried setNewOption, and same result.

Could you tell me setNewOption params?
@hyunahOh

@supervons
I didn't call setNewOption.
actually I changed second parameter of setOption. and it works. Can you guess why?
// node_modules/react-native-echarts-pro/src/components/Echarts/renderChart.js line:81
// myChart.setOption(option, true, true);
 myChart.setOption(option, false, true);

I knew, i will fix it this week.
you can see more: Apeach Echarts
You can use<EMAIL_ADDRESS>first.

@supervons
oh I see. It was because of notMerge param.
Thanks for quick and detail reply! your package is awesome.

Thanks，Have a good trip!


Add "astronomy" topic

Please confirm this pull request meets the following requirements:

[x] I followed the contributing guidelines: https://github.com/github/explore/blob/main/CONTRIBUTING.md.
[x] I have no affiliation with the project I am suggesting (as a maintainer, creator, contractor, or employee).

Which change are you proposing?

[ ] Suggesting edits to an existing topic or collection
[x] Curating a new topic or collection
[ ] Something that does not neatly fit into the binary options above

Curating a new topic or collection

[x] I've formatted my changes as a new folder directory, named for the topic or collection as it appears in the URL on GitHub (e.g. https://github.com/topics/[NAME] or https://github.com/collections/[NAME])
[x] My folder contains a *.png image (if applicable) and index.md
[x] All required fields in my index.md conform to the Style Guide and API docs: https://github.com/github/explore/tree/main/docs

There are over 2,500 repositories currently tagged with astronomy, and it is one of the oldest branches of science in existence. This GitHub topic is useful in that it provides a common space for scientists and developers interested in astronomy to browse repositories they might find useful or valuable.

Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.

Thanks so much for your repeated contribution!  You rock, @cgobat!


Add GsaFeedFileSender.

There are multiple commits here, and the first commit has GsaFeedFileSender.java unchanged, so you can just look at the second (or second and third) to see the diffs.


Windows installer unavailable on PyPI

Hi,
First of all, thanks for XGBoost, it's amazing software.
We were elated when installing xgboost from pypi was working under Windows. This made our development experience much easier. Unfortunately the windows builds have been discontinued according to the pypi page: https://pypi.org/project/xgboost/

Windows users: pip installation may not work on some Windows environments, and it may cause unexpected errors.
Installation from pip on Windows is therefore currently disabled for further investigation; please install from Github instead.

I can't find a ticket related to this issue on this issue tracker, so I'm uncertain if this is something that will be fixed in the future. Is this on the roadmap somewhere?

@hcho3 How do I update the project description on PyPI.

Just to clarify, this is not just a documentation issue on PyPI; I'm unable to install the windows package for xgboost==0.90

Oh ... @RAMitchell Could you please help taking a look into this?

@trivialfis I am currently the maintainer of the XGBoost package on pypi.org. Let me update the description.
@okke-formsma The documentation is outdated. Now users of 64-bit Windows are able to run pip install xgboost. Unfortunately, we do not plan to support Python 2.6 or 32-bit Windows.

@trivialfis It looks like the description was updated after 0.90 release. The next release should have the updated description.


Move target and storage selection to resources select step

Closes #400

Can't wait to see it. Wish you would let me know when you make big changes to the UX.


Revert "mrpt_navigation: 0.1.16-0 in 'kinetic/distribution.yaml' [bloom]"

Reverts ros/rosdistro#13405
Failing to build due to missing release branches.: https://github.com/mrpt-ros-pkg/mrpt_navigation/issues/58

@jlblancoc fyi

Thanks.
I noticed it... but don't know what was wrong (perhaps a loss of connection during git push??).
I'll push a new release, hope this one goes right.


Pod liveness probes fail in some container environments because local ip not included in Allowed Hosts

Actions before raising this issue

[X] I searched the existing issues and did not find anything similar.
[X] I read/searched the docs

Steps to Reproduce

Deploy cvat/server v2.21.1 in k8s with default values file
Check logs of server pod to see liveness probe attempts "http://10.x.x.x/api/server/about" and fails due to ip not included in Allowed Hosts

Expected Behavior
liveness probe should work with defaults.
Possible Solution
Automatically include pod ip in Allowed Hosts.
PR submitted.
Context
No response
Environment
No response

ALLOWED_HOSTS is already set to * for the pod server https://github.com/cvat-ai/cvat/blob/develop/helm-chart/values.yaml#L41.
Could you please attach the logs?

Sure enough! Not sure how I missed that.


Add docs about CAPI node pools

What does this PR do?
Towarsd https://github.com/giantswarm/roadmap/issues/2984
Docs were missing for CAPI node pools. I also renamed current docs to node-pools-vintage.
Have you maintained the front matter?
(Please bump the last_review_date in case this qualifies as a review for an entire page. Provide user_questions which should be answered in the page. Provide a meaningful description.)

Comment from standup: let's note down that renaming node pools is discouraged because Helm deletes the old one and adds the new one (different name = different object; not a real rename). We should recommend adding a new pool, waiting for it to be healthy, and then removing the old one.

LGTM, but the build still fails (wrong impl-title, Markdown lint warnings as shown inline with this PR diff)
You can run make dev to test and see your results.

LGTM, but the build still fails (wrong impl-title, Markdown lint warnings as shown inline with this PR diff)
You can run make dev to test and see your results.

Fixed, and

added note about renaming node pools
added node pool deletion


Collection of changes

The beesblog template for showing the amount of posts required 4 columns so when there is 5 being drawn it show the fifth on a new row. The amount for the columns is left unchanged.

Looks good to me. Thanks!

You're welcome and thanks again for your help!

Absolute Privilege, Thx


1.45.1 tag is missing on Docker Hub

https://hub.docker.com/r/denoland/deno/tags
There is debian-1.45.1, but no 1.45.1 and latest is also outdated. CI fails when I try to use it:

ERROR: Job failed: failed to pull image "denoland/deno:1.45.1" with specified policies [always]: Error response from daemon: manifest for denoland/deno:1.45.1 not found: manifest unknown: manifest unknown (manager.go:250:0s)

https://gitlab.com/soapbox-pub/ditto/-/jobs/7331214333

This should be fixed now


When I click on the Copilot icon, it simply collapses or expands the error message

When I click on the icon, it simply collapses or expands the error message (same behaviour as clicking the little arrow on the left of POST or GET. On hover it shows : Ask Copilot: Explain this error but on right click, it shows the same options as the rest of the error

Originally posted by @mvallet91 in https://github.com/MicrosoftEdge/DevTools/issues/203#issuecomment-2284357646
AB#53182811

Thank you @mvallet91 for filing this. I've moved your issue to this new, dedicated, issue and I have alerted our dev team about it.

I have exactly the same problem. If Copilot lateral bar is not activated, it is activated and displayed but with the conversation history without any new content.


StarRez REST v1 connector initial creation

When submitting a connector, please make sure that you follow the requirements below, otherwise your PR might be rejected. We want to make you have a well-built connector, a smooth certification experience, and your users are happy :)
If this is your first time submitting to GitHub and you need some help, please sign up for this session.

[x] I attest that the connector doesn't exist on the Power Platform today. I've verified by checking the pull requests in GitHub and by searching for the connector on the platform or in the documentation.
[x] I attest that the connector works and I verified by deploying and testing all the operations.
[x] I attest that I have added detailed descriptions for all operations and parameters in the swagger file.
[x] I attest that I have added response schemas to my actions, unless the response schema is dynamic.
[x] I validated the swagger file, apiDefinition.swagger.json, by running paconn validate command.
[x] If this is a certified connector, I confirm that apiProperties.json has a valid brand color and doesn't use an invalid brand color, #007ee5 or #ffffff. If this is an independent publisher connector, I confirm that I am not submitting a connector icon.

If you are an Independent Publisher, you must also attest to the following to ensure a smooth publishing process:

[ ] I have named this PR after the pattern of "Connector Name (Independent Publisher)" ex: HubSpot Marketing (Independent Publisher)
[ ] Within this PR markdown file, I have pasted screenshots that show: 3 unique operations (actions/triggers) working within a Flow. This can be in one flow or part of multiple flows. For each one of those flows, I have pasted in screenshots of the Flow succeeding.
[ ] Within this PR markdown file, I have pasted in a screenshot from the Test operations section within the Custom Connector UI.
[ ] If the connector uses OAuth, I have provided detailed steps on how to create an app in the readme.md.

Hi Amjed. Thanks for that information. I have updated the submission to the latest commit ID. We are currently working on the Intro.MD file and hope to have that attached soon.

@Tony747SREZ thank you so much for the confirmation.
Unfortunately I dont see a new submission from you in ISV. May I ask you please to make sure to follow the instructions and update your submission.
Please let me know if you have any questions.
Thank you so much.

Hi @Amjed-Ayoub. Unfortunately I had trouble following the instructions at step 3. I don't see any link/button for 'Submit an Update'? See screen shot below. So instead I removed the old .zip and generated a new one with the new commit number.

Hi @Amjed-Ayoub. Unfortunately I had trouble following the instructions at step 3. I don't see any link/button for 'Submit an Update'? See screen shot below. So instead I removed the old .zip and generated a new one with the new commit number.

@Tony747SREZ Please click on the remove button

then you can use the commit ID from GItHub.

Hi @Amjed-Ayoub. I had already clicked the remove button and re-added using the latest commit. From the screen shot you can see the commit is at 184f718.... which is the last commit.

Apart from the Intro.md file is there anything else we need to be doing?

@Tony747SREZ thank you so much, just please make sure that the icon meets all the requirements, that it’s size is 230x230, icon background is not white or transparent and it matches the iconBrandColor property in apiProperties.json file.

Hi @Amjed-Ayoub. I have uploaded our intro.md file. Regarding the icon, I believe we are meeting the requirements, but if we aren't please advise. Thanks.

@Tony747SREZ I dont see a submission in ISV please make sure to follow these steps. update your submission


Use latest ruby versions for test

Update Ruby 2.3.1 to 2.3.3
Add Ruby 2.4.0
Remove jruby-<IP_ADDRESS>
Update jruby-<IP_ADDRESS> to jruby-<IP_ADDRESS>

Coverage remained the same at 93.227% when pulling c1002b6cac4781fa169dea2d5a7a0a9b5a4466a3 on test-with-latest-ruby into 8cf066db969b007b577fcb6c598d6dcbd1ba2a67 on master.


Add a no-op implementation of fd_advise on Windows

Windows apparently has no similar syscall available. I've found the following resources:

https://libuv.narkive.com/BjsaxmVV/readahead doesn't even try to support fadvise on Windows
this stackoverflow post mentions only using ReadFileEx or passing FILE_FLAG_SEQUENTIAL_SCAN to CreateFile - both of these calls operate on a different level than a file handle. We could theoretically close the file and reopen it using CreateFile, but this looks like a hack.
this issue from the Mozilla bugtracker also mentions no counterpart known
another Windows library adding just a dummy no-op fadvise implementation

I'm no Windows expert, but seems reasonable enough to me!


Add temporary Downloads related pixels

Task/Issue URL: https://app.asana.com/0/414235014887631/1202093255455669/f
CC: @Bunn
Description:
During https://app.asana.com/0/45878998844068/1201600067271022/f it was discussed to add temporary pixels to validate our assumptions to improvements in navigation logic we plan to introduce.
Steps to test this PR:

Open a BLOB URL: https://www.w3docs.com/tools/editor/21423 or try downloading a song from https://www.soundtrap.com
Try downloading a file

Internal references:
Software Engineering Expectations
Technical Design Template
When ready for review, remember to post the PR in MM

Pixels seems to be correctly called and the one with additional parameters are also sending it correctly.
LGTM ✅


Add libxkbfile.so.1 to RPM Requires

Fix #21238
RPM also needs a requires libxkbfile statement

@DeeDeeG could you check if this works on your Fedora install?

@mfonville I'll take a look.
What would be interesting to me would be to:

Boot the LiveCD environment (blank slate default Fedora environment)...
Then install the .rpm CI asset from master branch...
Then install the .rpm CI asset from this PR and see if this second .rpm installs any additional dependencies.

@DeeDeeG That is a really good idea!
And yes, the KDE (or one of those lightweight desktops?) are a good way to check that

Strange, Fedora KDE also has this package, and a bunch of things depend on it.
Okay, so I think the testing shows most people will have this dependency, but we do need it, and it's safe to specify that we depend on it regardless.
A tiny thing: I'm not sure where the habit of requiring specific files came from, but it would be less intimidating to update this IMO if it were a dependency on libxkbfile instead of the specific .so file.

I am in favor of switching to package names instead of library names. I did find where the first time there was a switch to a .so dependency: https://github.com/atom/atom/commit/7e2a486e5a1212ec4ac5bff6cc2d9779dbecb181 without any specific reason attached.
And it seems other contributors just followed the same pattern when extending dependencies (just as I did). So I am in favor of cleaning this up :-)

Ok, apparently the dependency on libXss is on purpose specified with the library instead of package, because it can either be in libXScrnSaver or in libXss1. So that one we could keep in place.
But I do think we can drop the 64-bit split, because any build target set should already pull in the correct architecture (according to https://rpm.org/user_doc/arch_dependencies.html)
I will update the PR soon

Thanks for looking into the context. It inspired me to check around myself. I found this issue (https://github.com/atom/atom/pull/13573) in which there is a discussion about the various distributions that use .rpm. (Basically Centos and OpenSuse, in addition to Fedora/RHEL).
And lo and behold, the relevant package seems to be named libxkbfile1 on OpenSuse. So maybe that's why the "require a specific file" thing.
 And try some dnf info libxkbfile and dnf info libxkbfile1 and dnf install libxkbfile to see what works and what doesn't.

Thank you for the further research. You are right about the "Provides", when making this PR I had already checked that :-)
It is IMHO quite weird for RPM-based distros to pull in those i686 dependencies by default on 64 bit platforms. But apparently it is (for part of them) that way. To be honest, with all this context I do think the current approach is probably the best, including the approach in this PR itself. Because we depend on the libraries, just for a single architecture. If the package manager solves any 32 vs 64 bit, or that package-names differ per distro or us, then let's take advantage of it.
Only possible improvement I see is updating the if-statement for the architecture to %ifarch ix86 instead if the separate variant entries.

Advsnced Installer Local Hosst SS rs van microsoft system 32
Op za 20 feb. 2021 16:03 schreef Maarten Fonville<EMAIL_ADDRESS>
:

Thank you for the further research. You are right about the "Provides",
when making this PR I had already checked that :-)
It is IMHO quite weird for RPM-based distros to pull in those i686
dependencies by default on 64 bit platforms. But apparently it is (for part
of them) that way. To be honest, with all this context I do think the
current approach is probably the best, including the approach in this PR
itself. Because we depend on the libraries, just for a single architecture.
If the package manager solves any 32 vs 64 bit, or that package-names
differ per distro or us, then let's take advantage of it.
Only possible improvement I see is updating the if-statement for the
architecture to %ifarch ix86 instead if the separate variant entries.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/atom/atom/pull/21980#issuecomment-782694653, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AQJF5LUMMMUXXN6MD3C3H53S77FKRANCNFSM4X23XD5Q
.

I'm happy to test any changes, in actual distros via VirtualBox (as/when I get the time).

I'd prefer it merged. Any further work researching into the trade-offs would not be very productive imho. Benefits would be low and probably would not fix/change anything in practice.


add android plugin

It seems the class naming is conflicted with Adjust Lib, it has to be renamed

Need to implement function track_event and track_revenue


Hook into kubectl apply/create lifecycle

Is it possible to "hook" into the kubectl apply command so that I can run a custom command/program before "apply" is invoked? The workflow i have in mind with such a hook would be:

User runs kubectl apply
Custom command runs
If (2) succeeds, (1) continues, else exits

I was hoping plugin would be the answer, but it seems like that's not the case. If this was possible, I could use (2) to run linters/custom checks, etc before I try to apply something to the cluster.
Any thoughts/suggestions appreciated in advance.

Maybe you can accomplish this using the shell's && operator, like this example:
Only run apply if a local directory called example exists:
[ -d /example ] && kubectl apply -f test.yaml

Or for a more complex example, if you want to hit an endpoint successfully before running apply, something like this:
curl http://example.com &> /dev/null && kubectl apply -f test.yaml

/remove-lifecycle rotten

/sig cli
/area kubectl
/triage support

In kubectl version >= 1.18.1 there is a pre-processing hook in apply. Using this path, you would have to write go code, importing the kubectl code (from staging), and setting the PreProcessorFn() in the ApplyOptions to run before the apply. The PreProcessorFn() is here:
https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/kubectl/pkg/cmd/apply/apply.go#L102
Contact me on Slack if you need more information.

/assign

great @seans3 - thank you. As a kubectl user would I have to write my custom kubectl client then?

/remove-lifecycle stale

@amitsaha Yes. For the fix that I suggested, you would have to compile your own kubectl binary.
If you want to use the command-line, then many commands (including kubectl apply) allow the use of stdin as an argument using -. So an example command is the following:
kustomize build  | kubectl apply -f -
You can also do the following:
cat <MANIFEST OF RESOURCES SEPARATED BY ---> | kubectl apply -f -
So as long as you can generate the resource config in a separate, previous command-line call, you can pipe it into kubectl apply.


is it possible to have screen manager like kivy?

I was wondering if it possible to change from one screen to another like kivy screen manager

Try the ViewPager

If you want a screen to pop up like a new activity you can use a Dialog and set style = "@style/ActivityDialog". See https://github.com/codelv/enaml-native/blob/master/examples/dialog.enaml#L52

ok thinks


Allow changing web renderer at runtime

Use case
Some plugins (namely crop) only work with canvaskit. However, developers often would still like the flexibility to use the HTML renderer for their app. By allowing the web renderer to be switched, the app could use the HTML renderer for the majority of the experience and only switch when compatibility is needed.
Proposal
Allow an option to forcefully change the web renderer programmatically at runtime.
Ideally canvaskit would only need to load it's dependencies when switched into.
Note: I'm not sure if this is at all feasible, but it would be good to know.

Hi @nwparker
I'm also not sure if it is possible but I can understand the need to switch web renderer for certain widgets/screens

We'd like to support this as this would allow one to boot the app quickly without waiting for CanvasKit to download (when the browser cache is empty) then load CanvasKit in the background, but it's not a small project. As @TahaTesser says once a renderer is picked we're locked into it, sometimes because we choose at compile time (when you pick "html" or "canvaskit" explicitly), but also because the application holds references to renderer-specific class implementations (e.g. Paint is implemented by CanvasKit-specific CkPaint or HTML-specific SurfacePaint; not an easy fix). So there's quite a bit of design work to do before we even begin the implementation. We have other ideas too, such as bringing down CanvasKit size, adding API for app loading indicators. We haven't decided what combination of solutions we will attempt, even though we definitely want to make progress.
One thing that might help is in --web-renderer=auto mode (the default) before the app is loaded (i.e. before main.dart.js) you can set window.flutterWebRenderer to "html" or "canvaskit" in JavaScript. This way you can decide at runtime what renderer is appropriate for that instance of the app. You can't change it after the app loads, but it could provide some flexibility, such as:

Maintain your own list of browsers/OSes/devices/regions where your app works better in HTML vs CanvasKit
Implement a custom strategy for loading CanvasKit. For example, if the cache is empty you can load the app in HTML mode, then kick off a fetch to get CanvasKit. When it's available, you can pop-up a message to the user asking to reload the app to get the full experience. Since there's no explicit browser cache API you can remember whether you previously downloaded CanvasKit in localStorage, so next time the app loads you check localStorage and go straight to CanvasKit.
Have multiple entry points for your app hosted on different URLs, one advertised as "installed app" (i.e. PWA), and one advertised as "ephemeral". The PWA version could always include CanvasKit, while ephemeral one prefers HTML.


KAFKA-6868: Fix buffer underflow and expose group state in the consumer groups API

The consumer groups API should expose group state.  This information is needed by administrative tools and scripts that access consume groups.

The partition assignment will be empty when the group is rebalancing. Fix an issue where the adminclient attempted to deserialize this empty buffer.

Remove nulls from the API and make all collections immutable.

DescribeConsumerGroupsResult#all should return a result as expected, rather than Void

Add Builder classes for MemberDescription and ConsumerGroupDescription, so that we can easily add new fields later without having a large number of constructors.

Fix exception text for GroupIdNotFoundException, GroupNotEmptyException. It was being filled in as
"The group id The group id does not exist was not found" and similar.

Add integration test

Also note the failing test case.

Yeah, the failing test case was because of the TreeSet (no comparison operator defined for TopicPartition).  It seems reasonable to just use a HashSet here instead.


Should minimization failures be better signposted?

We got feedback (from @herbelin ?)

Could it be indicated in the github comment posting the minimizations whether the minimization relies on external files, and, if easy to know, on which?

We already include this information, for example this comment says:

Partially Minimized Coq File (could not inline Equations.Prop.DepElim)

and the fifth line of the comment header in the tfile says:

Modules that could not be inlined: Equations.Prop.DepElim

By contrast, complete minimization says:

Minimized Coq File (consider adding this file to the test-suite)

Should this information be flagged more loudly somehow?

Should this information be flagged more loudly somehow?

The bot could for instance say in one case: "I managed to produce a reduced and fully standalone test case."
And in the other: "I didn't manage to produce a fully standalone test case. Here are the modules that I did not manage to inline: ... Here is the partially minimized file: ..."

As you like. From my point of view, I think it is ok as it is currently (now that I know how to interpret the information).


Fix issues with setting the new filters

Currently still setting the local filters value to {} when you change a specific value otherwise it would be Couldn't read X of null, there could be a better way to do this but it's been working fine for the past 16 hours on my staging bot.

Also removed the Integer check for Volume, should probably add that back lol

I can do minor cleanups myself merging this thank you 🎉


How to run specific task in windows task scheduler desktop app - use visual automation

Is it possible to run the window task scheduler via RPA python. This is the piece of code i am using.
This code not working after the  r.keyboard('task Scheduler Library[click]') line . Kindly help me to resolve the issues.
import rpa as r
r.init(visual_automation = True, chrome_browser = False)
r.keyboard('[win]')
r.keyboard('task Scheduler[enter]')
r.wait(2.5)
r.keyboard('task Scheduler Library[click]')
r.wait(2.5)
r.keyboard('[tab]')
r.keyboard('[down]')
r.keyboard('[down]')
r.keyboard('[down]')
r.keyboard('[down]')
r.keyboard('RPA_Automation_Testing[click]')
r.keyboard('RPA_Automation_Testing[rclick]')
r.keyboard('Run[enter]')
r.wait(2.5)
r.snap('page.png', 'results.png')
r.close()

Hi @radhakrishr36 below is an invalid command. For the keyboard() function, [] means special keys. And there is no special [click] keys like [tab],[win] etc. You can probably try using visual automation to click on the app.
r.keyboard('task Scheduler Library[click]')

See examples and notes here -
https://github.com/tebelorg/RPA-Python#visual-automationsee_no_evil
https://github.com/tebelorg/RPA-Python#element-identifiers

Hi @kensoh,
Thanks for the update.
I changed the code now it's working in my windows machine. but the same code not working in windows server 2012 r2. I am connecting the server via RDP.
The server machine had  python 3.6 and java jdk 1.8.11. I tested sample web automation script it's working fine  but this desktop automation not working.
It's not throw any error but same time  not working the click option.
Kindly help me to resolve the issues. these the code snippet for your reference.
import rpa as r
r.init(visual_automation = True, chrome_browser = False)
r.keyboard('[win]')
r.keyboard('task Scheduler[enter]')
r.wait(2.5)
r.click('task_scheduler.png')
r.wait(2.5)
r.click('name.png')
r.wait(10)
r.hover('RPA_automation.png')
r.click('RPA_automation.png')
r.wait(2.5)
r.click('run.png')
r.snap('page.png', 'results.png')
r.close()

Hi @radhakrishr36 the visual automation method requires an active session to the remote desktop, so that the display is rendered and visual matching can be done. Is there an active session? If there is, the next to check is the logs.
 Then share the logs here?

Closing issue for now but please let me know if you run into any problem!