[BUG] azure-spring-boot-starter-keyvault-certificates can't work in Azure Contanier apps using Managed Identity

Describe the bug
Applications dependend on azure-spring-boot-starter-keyvault-certificates can't work in Azure Contanier apps using Managed Identity.
Following this doc Tutorial: Secure Spring Boot apps using Azure Key Vault certificates but using in a container app.
This is the error I got when using
        <dependency>
            <groupId>com.azure.spring</groupId>
            <artifactId>azure-spring-boot-starter-keyvault-certificates</artifactId>
            <version>3.14.0</version>
        </dependency>

Exception or Stack Trace
" :: Spring Boot ::                (v2.7.5)"

"2022-11-17 05:01:59.876  INFO 1 --- [           main] com.example.ssltest.SsltestApplication   : Starting SsltestApplication v0.0.1-SNAPSHOT using Java <IP_ADDRESS> on myspringapp--zcy432h-79f66559db-2lpxh with PID 1 (/opt/app/app.jar started by root in /opt/app)"
"2022-11-17 05:01:59.879  INFO 1 --- [           main] com.example.ssltest.SsltestApplication   : No active profile set, falling back to 1 default profile: ""default"""
"2022-11-17 05:02:11.273  INFO 1 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8443 (https)"
"2022-11-17 05:02:11.283  INFO 1 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]"
"2022-11-17 05:02:11.371  INFO 1 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.68]"
"2022-11-17 05:02:11.776  INFO 1 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext"
"2022-11-17 05:02:11.777  INFO 1 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 11495 ms"
"2022-11-17 05:02:24.286  INFO 1 --- [           main] c.a.s.k.j.implementation.KeyVaultClient  : Using Azure Key Vault: https://robngonkeyvault.vault.azure.net/"
"2022-11-17 05:02:24.373  INFO 1 --- [           main] c.a.s.k.j.i.utils.AccessTokenUtil        : Getting access token using managed identity"
"2022-11-17 05:02:21.278  INFO 1 --- [           main] c.a.c.i.jackson.JacksonVersion           : Package versions: jackson-core=2.13.4, jackson-databind=2.13.4-2, jackson-dataformat-xml=2.13.4, jackson-datatype-jsr310=2.13.4, azure-core=1.32.0, Troubleshooting version conflicts: https://aka.ms/azsdk/java/dependency/troubleshoot"
"2022-11-17 05:02:21.778  INFO 1 --- [           main] AbstractAzureServiceClientBuilderFactory : Will configure the default credential of type DefaultAzureCredential for class com.azure.identity.DefaultAzureCredentialBuilder."
"2022-11-17 05:04:35.526  WARN 1 --- [           main] c.a.s.k.j.implementation.utils.HttpUtil  : Unable to finish the http get request."

"com.azure.security.keyvault.jca.implementation.shaded.org.apache.http.conn.HttpHostConnectException: Connect to <IP_ADDRESS>:80 [/<IP_ADDRESS>] failed: Connection timed out (Connection timed out)"
"	at com.azure.security.keyvault.jca.implementation.shaded.org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:156) ~[azure-security-keyvault-jca-2.7.0.jar!/:2.7.0]"
"	at com.azure.security.keyvault.jca.implementation.shaded.org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:376) ~[azure-security-keyvault-jca-2.7.0.jar!/:2.7.0]"
"	at com.azure.security.keyvault.jca.implementation.shaded.org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:393) ~[azure-security-keyvault-jca-2.7.0.jar!/:2.7.0]"
"	at com.azure.security.keyvault.jca.implementation.shaded.org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236) ~[azure-security-keyvault-jca-2.7.0.jar!/:2.7.0]"
"	at com.azure.security.keyvault.jca.implementation.shaded.org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186) ~[azure-security-keyvault-jca-2.7.0.jar!/:2.7.0]"
"	at com.azure.security.keyvault.jca.implementation.shaded.org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89) ~[azure-security-keyvault-jca-2.7.0.jar!/:2.7.0]"
"	at com.azure.security.keyvault.jca.implementation.shaded.org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) ~[azure-security-keyvault-jca-2.7.0.jar!/:2.7.0]"
"	at com.azure.security.keyvault.jca.implementation.shaded.org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185) ~[azure-security-keyvault-jca-2.7.0.jar!/:2.7.0]"
"	at com.azure.security.keyvault.jca.implementation.shaded.org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) ~[azure-security-keyvault-jca-2.7.0.jar!/:2.7.0]"
"	at com.azure.security.keyvault.jca.implementation.shaded.org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:221) ~[azure-security-keyvault-jca-2.7.0.jar!/:2.7.0]"
"	at com.azure.security.keyvault.jca.implementation.shaded.org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:165) ~[azure-security-keyvault-jca-2.7.0.jar!/:2.7.0]"
"	at com.azure.security.keyvault.jca.implementation.shaded.org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:140) ~[azure-security-keyvault-jca-2.7.0.jar!/:2.7.0]"
"	at com.azure.security.keyvault.jca.implementation.utils.HttpUtil.get(HttpUtil.java:62) ~[azure-security-keyvault-jca-2.7.0.jar!/:2.7.0]"
"	at com.azure.security.keyvault.jca.implementation.utils.AccessTokenUtil.getAccessTokenOnOthers(AccessTokenUtil.java:171) ~[azure-security-keyvault-jca-2.7.0.jar!/:2.7.0]"
"	at com.azure.security.keyvault.jca.implementation.utils.AccessTokenUtil.getAccessToken(AccessTokenUtil.java:72) ~[azure-security-keyvault-jca-2.7.0.jar!/:2.7.0]"
"	at com.azure.security.keyvault.jca.implementation.KeyVaultClient.getAccessTokenByHttpRequest(KeyVaultClient.java:216) ~[azure-security-keyvault-jca-2.7.0.jar!/:2.7.0]"
"	at com.azure.security.keyvault.jca.implementation.KeyVaultClient.getAccessToken(KeyVaultClient.java:194) ~[azure-security-keyvault-jca-2.7.0.jar!/:2.7.0]"
"	at com.azure.security.keyvault.jca.implementation.KeyVaultClient.getAliases(KeyVaultClient.java:233) ~[azure-security-keyvault-jca-2.7.0.jar!/:2.7.0]"
"	at com.azure.security.keyvault.jca.implementation.certificates.KeyVaultCertificates.refreshCertificates(KeyVaultCertificates.java:142) ~[azure-security-keyvault-jca-2.7.0.jar!/:2.7.0]"
"	at com.azure.security.keyvault.jca.implementation.certificates.KeyVaultCertificates.refreshCertificatesIfNeeded(KeyVaultCertificates.java:130) ~[azure-security-keyvault-jca-2.7.0.jar!/:2.7.0]"
"	at com.azure.security.keyvault.jca.implementation.certificates.KeyVaultCertificates.getAliases(KeyVaultCertificates.java:100) ~[azure-security-keyvault-jca-2.7.0.jar!/:2.7.0]"
"	at com.azure.security.keyvault.jca.KeyVaultKeyStore.<init>(KeyVaultKeyStore.java:144) ~[azure-security-keyvault-jca-2.7.0.jar!/:2.7.0]"
"	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:na]"
"	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[na:na]"
"	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[na:na]"
"	at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source) ~[na:na]"
"	at java.base/java.security.Provider.newInstanceUtil(Unknown Source) ~[na:na]"
"	at java.base/java.security.Provider$Service.newInstance(Unknown Source) ~[na:na]"
"	at java.base/sun.security.jca.GetInstance.getInstance(Unknown Source) ~[na:na]"
"	at java.base/sun.security.jca.GetInstance.getInstance(Unknown Source) ~[na:na]"
"	at java.base/java.security.Security.getImpl(Unknown Source) ~[na:na]"
"	at java.base/java.security.KeyStore.getInstance(Unknown Source) ~[na:na]"
"	at org.apache.tomcat.util.net.SSLUtilBase.getStore(SSLUtilBase.java:186) ~[tomcat-embed-core-9.0.68.jar!/:na]"
"	at

A workaround to this issue:
Add an environment variable called WEBSITE_SITE_NAME with a non null value in the Azure Container Apps.

azure-identity can work in Azure Contanier apps can work with Managed Identity, we should figure out the reason.

Container Apps Environments do not expose or proxy the IMDS endpoint to running Apps or Jobs.
Instead, they offer a dedicated endpoint for retrieving tokens:
A container app with a managed identity exposes the identity endpoint by defining two environment variables:

IDENTITY_ENDPOINT - local URL from which your container app can request tokens.
IDENTITY_HEADER - a header used to help mitigate server-side request forgery (SSRF) attacks. The value is rotated by the platform.

To get a token for a resource, make an HTTP GET request to the endpoint, including the following parameters:

Parameter name
In
Description

resource
Query
The Microsoft Entra resource URI of the resource for which a token should be obtained. The resource could be one of the Azure services that support Microsoft Entra authentication or any other resource URI.

api-version
Query
The version of the token API to be used. Use "2019-08-01" or later.

X-IDENTITY-HEADER
Header
The value of the IDENTITY_HEADER environment variable. This header mitigates server-side request forgery (SSRF) attacks.

client_id
Query
(Optional) The client ID of the user-assigned identity to be used. Can't be used on a request that includes principal_id, mi_res_id, or object_id. If all ID parameters (client_id, principal_id, object_id, and mi_res_id) are omitted, the system-assigned identity is used.

principal_id
Query
(Optional) The principal ID of the user-assigned identity to be used. object_id is an alias that may be used instead. Can't be used on a request that includes client_id, mi_res_id, or object_id. If all ID parameters (client_id, principal_id, object_id, and mi_res_id) are omitted, the system-assigned identity is used.

mi_res_id
Query
(Optional) The Azure resource ID of the user-assigned identity to be used. Can't be used on a request that includes principal_id, client_id, or object_id. If all ID parameters (client_id, principal_id, object_id, and mi_res_id) are omitted, the system-assigned identity is used.

Finally, the identity client consults  this list of environment variables, whereas the keyvault libraries only consider the legacy app service case.

Hi @Botje, thanks for you update!
I can see the built-in environment variables MSI_ENDPOINT and MSI_SECRET are still available, does anyone know if they will be removed in the future?

The version 2.9.0 of Key Vault JCA will support managed identities in container applications.

Hello @moarychan , I saw azure-security-keyvault-jca/2.9.0-beta.2 has been released, does it support managed identities in container applications?

Hi @moarychan , I just saw your PR https://github.com/Azure/azure-sdk-for-java/pull/42024, so I guess it is not supported yet in the 2.9.0-beta.2.

Sorry, the correct version should be 2.9.0-beta.3.


fix: unify github actions workflow using multiarch image of build-tools

Provide a description of what has been changed
Checklist

[x] Commits are signed with Developer Certificate of Origin (DCO - learn more)
[x] Tests have been added
[x] A PR is opened to update our Helm chart (repo) (if applicable, ie. when deployment manifests are modified)
[ ] A PR is opened to update the documentation on (repo) (if applicable)
[ ] Changelog has been updated and is aligned with our changelog requirements

Fixes #

Relates to #

It's not possible use container with image ghcr.io/kedacore/build-tools:main in job validate-arm64 from main-build workflow due it's using kind and the tests are running inside a container, example of execution


Octicons home-fill icon

Hi react-native-vector-icons team! I was wondering if there was a specific reason behind excluding "home-fill" from the set of Octicon icons and if there are any plans to include it as I am currently using "home," but was hoping to use it in conjunction with "home-fill."
I look forward to hearing from y'all. Thanks in advance!

@0xCody This is because we haven't updated the font in a while. You could try our new branch https://github.com/oblador/react-native-vector-icons/blob/monorepo/README.md of @react-native-vector-icons this will be released soon and has the latest version of octoicons


feat: Dollar query params

Adds a simple query params variant for asyncpg, which uses $1, $2, ... as placeholders
Formats the edited files
Adds a GitHub action for pytest

Hi. Thank you for a contribution and motivation to setup GH actions with my usual local pipeline (black/mypy/pytest/coverage). Could you please change PR to include only DollarQueryParams without IDE formatting?


Meaning of empty array in rolesAllowed is not clear

By looking at https://github.com/vaadin/hilla/blob/0c88e2c4d7670a87e0634a971614ba34b29c82a0/packages/ts/react-auth/src/ProtectedRoute.tsx#L68, it seems that if rolesAllowed is empty, then it is accessible to all users. It was thought to be a way to mimic the DenyAll annotation in Java EE security, so there's probably a mismatch between the Java and the TypeScript implementations.

https://docs.oracle.com/javaee%2F7%2Fapi%2F%2F/javax/annotation/security/RolesAllowed.html
Specifies the list of roles permitted to access method(s) in an application. The value of the RolesAllowed annotation is a list of security role names
Says nothing about some exception for an empty list

Sure, but at the moment the TS code does not match the Java code in Hilla concerning this case.

jakarta.annotation.security.RolesAllowed does not allow an empty list. It is a compilation error.


Kubernetes production cluster, automatically apply security updates

As architect, I would like the production kubernetes cluster to automatically apply security updates based on the Node Image security channel.
This should be scheduled to apply at a configurable time (starting at 10pm on a Sunday for now)

Linking to lsc-sde/lsc-sde#38


Live

Test PR

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


Prototype fdmux.

This is an fd mux, intended for harvey and akaros.
A program can attach #< somewhere in its namespace. It can then open data and data1.
It can spawn a program with data1 as 0, 1, and 2.
From that point, it can read/write data and the child will see this as 0, 1, and 2.
At some point, the parent might spawn another child, in a different pgrp, with these as 0, 1, and 2.
fdmux will only let the child with the matching pgrp do IO. The other one will block.
This is an attempt to allow ptty-like operation with a more modern design. It is a start. Testing comes next.
Signed-off-by: Ronald G. Minnich<EMAIL_ADDRESS>

Good! LGTM

LGTM


Add non-ASCII font

Add a configurable non-ASCII font so that non-ASCII characters can be displayed when the normal font does not include non-ASCII glyphs.

I think a better solution here would be a fallback font that gets used when the normal font doesn't include any glyph, not just a total non-ASCII override.

I think fallback font is for fallback and can be implemented as another config option. Having an ability to specify non-ASCII font with all x,y offsets is a great feature to have. iTerm2 has that option, and I use it to make Powerline glyphs fit perfectly to Tmux status line and Vim.

@kolach font-specific glyph offsets?

@jwilm Let me clarify by image of iTerm settings:

I used wrong words, not offsets, but spacing. But still it's a way to make non-ASCII symbols to line better with ASCII ones.

I think this makes sense as a feature; will look at this in detail later

Thank you @jwilm !

@benburkert @jwilm I have rebased this pull request to master, It seems fully works. such as Powerline font.
I'm looks forward merge it , thanks :)

Sorry for the delay in merging this; I have not had time to consider the implementation and what the long term consequences of the feature are (for example, how it integrates with fallback fonts).

@jwilm Very sorry, any status?
Currently, conflicting src/renderer/mod.rs, So if @benburkert can't respond, I can rebase @benburkert work and send the new pull request.

Hey, sorry for sitting on this for so long. We've identified a more general way to support this which requires a little more work on fallback fonts first.

Thanks again for the PR. However, I'm going to close this in favor of another approach. Basically, we want to add a more general system where it's possible to specify a list of fallback fonts within the config file rather than having one special case font.


Server learned to listens on any address (IPv4 or IPv6) when host is omitted

Actually when using listen and host is omitted the server accepts connections directed to any IPv4 address but not to IPv6 addresses.
With this patch the server will accept connections on the unspecified IPv6 address (::) when IPv6 is available, or the unspecified IPv4 address (<IP_ADDRESS>) otherwise.
Note: In most operating systems, listening to the unspecified IPv6 address (::) may cause the server to also listen on the unspecified IPv4 address (<IP_ADDRESS>).
This pull request aligns ldapjs server behavior with that of Net.server.

If localhost is used as the new default value:

this would be a major breaking change (breaking a running app would be less likely with the original proposition)
the server will behave differently from one version of node to another: in dual stack environment with node 18 it will listen on ::1 while it will listen on 127.0.01 with node 16.

It is quite common to listen on all interfaces by default (for example, this is what OpenLDAP does)

I did not suggest localhost. That has other issues. Regardless, the suggestion is a breaking change. The next release will be v3.
It doesn't matter what OpenLDAP does. I am not willing to default to an insecure value. People should weigh their requirements versus the implications before listening on all interfaces.

Ok, I understand this point of view.


Add HTTP compression support for brotli format

Description:
There is a requirement to add support for brotli format in the HTTP response compression/decompression. Currently the HTTP package only supports deflate and gzip. Please note that netty already supports this format, but we need to pack some native libraries to enable the compression/decompression.
Describe your problem(s)
The current HTTP client does not support decompressing response payload which is compressed with brotli compression format. In addition to that, the HTTP server does not support the brotli compression for sending response payloads.
This was checked using the following backend written in expressjs:
const express = require('express');
const compression = require('compression');
const zlib = require('zlib');

const app = express();

// Use compression middleware with Brotli encoding
app.use(compression({
  brotli: {
    enabled: true,
    zlib: {
      // options for zlib.BrotliOptions
      [zlib.constants.BROTLI_PARAM_QUALITY]: 4,
    },
  },
}));

// Middleware to set Content-Encoding to br
app.use((req, res, next) => {
  res.setHeader('Content-Encoding', 'br');
  res.setHeader('Content-Type', 'application/xml');
  next();
});

app.get('/mock', (req, res) => {
  const xmlData = `
    <response>
      <message>This is a mocked XML response</message>
    </response>
  `;

  // Compress the XML response using Brotli
  zlib.brotliCompress(Buffer.from(xmlData), (err, result) => {
    if (err) {
      res.status(500).send('Error compressing data');
    } else {
      res.send(result);
    }
  });
});

const PORT = 3000;
app.listen(PORT, () => {
  console.log(`Server is running on port ${PORT}`);
});

The endpoint: localhost:3000/mock returns an xml payload compressed in brotli format.
Use the following ballerina service to check the behavior:
import ballerina/http;
import ballerina/xmldata;

// Endpoint returning a Brotli compressed payload
http:Client albumClient = check new ("localhost:3000");

service / on new http:Listener(9090) {

    // Checking the passthrough scenario, to just get the response from backend
    resource function get passthrough(http:Request req) returns http:Response|error {
        http:Response resp = check albumClient->forward("/mock", req);
        resp.addHeader("Test-Encoding", "Brotli");
        return resp;
    }

    // Checking the payload extraction scenario with passthrough response
    resource function get passthroughJson(http:Request req) returns http:Response|error {
        http:Response resp = check albumClient->forward("/mock", req);
        xml payload = check resp.getXmlPayload();
        json jsonValue = check xmldata:toJson(payload);
        resp.addHeader("Test-Encoding", "Brotli");
        resp.setPayload(jsonValue);
        return resp;
    }

    // Checking the simple scenario, where we return a response with `Content-Encoding: br` header
    resource function get test() returns http:Response {
        xml payload = xml `<response><message>This is a mocked XML response</message></response>`;
        http:Response res = new;
        res.setPayload(payload);
        res.setHeader("content-encoding", "br");
        return res;
    }
}

Find the observation as below: (Every request to these 3 resources should have Accept-Encoding: gzip, deflate, br header)

Scenario
Observation
Expected behavior

just passthrough
Returns the raw response payload without Content-Encoding header
Should returns the raw response payload with Content-Encoding: br header

passthrough with payload extraction
Returns a payload binding error since we are trying to build the payload without decompression
Should return a success response, and the payload extraction should work without failures

simple response with Content-Encoding: br header
Returns the normal response payload without Content-Encoding header
Should return a payload compressed in brotli format with the Content-Encoding: br header

Describe your solution(s)
Add the compression and decompression support for the brotli format in the service and the client. This requires the addition of the following brotli4j compression/decompression library which is used by netty:

com.aayushatharva.brotli4j

Currently checking an error in HTTP/2 client when retrieving the response payload which is compressed using brotli format.
Getting a poll time out when trying to get the http content. Reproducible with the following:

service:

import ballerina/http;
import ballerina/log;

int http2AcceptEncodingHeaderTestPort = 9090;

listener http:Listener http2AcceptEncodingListenerEP = new (http2AcceptEncodingHeaderTestPort,
    server = "Mysql"
);

service /hello on http2AcceptEncodingListenerEP {

    resource function 'default .(http:Caller caller, http:Request req) returns error? {
        http:Response res = new;
        map<json> payload = {};
        boolean hasHeader = req.hasHeader("Accept-Encoding");
        if hasHeader {
            log:printInfo("Accept-Encoding header is present.");
            payload["acceptEncoding"] = check req.getHeader("Accept-Encoding");
        } else {
            log:printInfo("Accept-Encoding header is not present.");
            payload["acceptEncoding"] = "Not present";
        }
        log:printInfo("Sending response.");
        res.setJsonPayload(payload);
        check caller->respond(res);
    }
}

client:

import ballerina/http;
import ballerina/log;

int http2AcceptEncodingHeaderTestPort = 9090;

final http:Client http2AcceptEncodingEnableEP = check new (
    "http://localhost:" + http2AcceptEncodingHeaderTestPort.toString() + "/hello",
    http2Settings = {
        http2PriorKnowledge: true
    },
    compression = http:COMPRESSION_ALWAYS
);

public function main() returns error? {
    http:Request req = new;
    req.setTextPayload("accept encoding test");
    log:printInfo("Sending request.");

    json|error response = http2AcceptEncodingEnableEP->post("/", req);
    log:printInfo("Response received.");
    if response is json {
        log:printInfo("response recieved", payload = response);
    } else {
        log:printError("error occured", response);
    }
}


[test-triage] chip_sw_uart_tx_rx_bootstrap reaches timeout

Hierarchy of regression failure
Chip Level
Failure Description
Job chip_earlgrey_asic-sim-vcs_run_default killed due to: Exit reason: User job exceeded runlimit: User job timed out
Steps to Reproduce

GitHub Revision: 01a208901a5b8c29dc74f8a500b64b6b2cb5cf4c
dvsim invocation command to reproduce the failure, inclusive of build and run seeds:
./util/dvsim/dvsim.py hw/top_earlgrey/dv/chip_sim_cfg.hjson -i chip_sw_uart_tx_rx_bootstrap --fixed-seed<PHONE_NUMBER>450362255802387402225996801695448381906300269912928029522279831259 --waves fsdb

Tests with similar or related failures
No response

Improved but now is failing completely.


Get scheduled order items for a user

Similarly to Subscription, where you can do
Subscription::first()->scheduledOrderItem

It would be nice if we could do
User::first()->scheduledOrderItems

Which would return all the scheduled order items across the user's subscriptions.

Good one!


docs/transparent-validation/msi: Add external flashing with TPM conne…

…ction

@Psotas I have applied your suggestiosn but now the images don;t render on local preview. Reverting it...


[fixed] Bump github.com/onsi/gomega from 1.34.0 to 1.34.1

What type of PR is this?
/kind cleanup

What this PR does / why we need it:
Fixed-up version of #2756
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?

None

/test-all

/test all

Do you know why dependabot failed to update this module?

At least in the configuration we are using it's only updating one go.mod at a time, and on rare occasions we need to bump some modules at the same time  (boat in tools and in the main go.mod).

Do you know why dependabot failed to update this module?

At least in the configuration we are using it's only updating one go.mod at a time, and on rare occasions we need to bump some modules at the same time (boat in tools and in the main go.mod).

That makes sense. Thanks for investigating that!


[$500] Profile - Address - Zip-code is saved when changing country but the city is cleared

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel

Version Number: 1.3.90-2
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Action Performed:

Go to staging.new.expensify.com or open App
Go to Settings > Profile > Personal Details > Address
Start to enter "Address Line 1" and select any address from suggested or enter all address manually
Change Country to any other

Expected Result:
When changing the country, fields uniquely related to the country could be cleared - state/province and zip code
Actual Result:
Zip-code is saved when changing country but the city is cleared
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

https://github.com/Expensify/App/assets/78819774/c604b0fd-af39-4c44-977e-e14304a886f2

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01637e39759029f96e
Upwork Job ID:<PHONE_NUMBER>545691136
Last Price Increase: 2023-10-24

Proposal
Please re-state the problem that we are trying to solve in this issue.
Zip Code not cleared when country changes
What is the root cause of that problem?
When we change country, we didn't reset zipcode.
https://github.com/Expensify/App/blob/f8fc21d373be18e645f4d93099256721914c16f5/src/pages/settings/Profile/PersonalDetails/AddressPage.js#L143-L148
What changes do you think we should make in order to solve the problem?

we need to add zip state variable like country and city
we need to reset zip before return

setZipe('')

https://github.com/Expensify/App/blob/f8fc21d373be18e645f4d93099256721914c16f5/src/pages/settings/Profile/PersonalDetails/AddressPage.js#L146-L148
3. I think we need to add these code too.
 if (key === 'state') {
            setCity('');
            setZip('');
            return;
 }
 if (key === 'city') {
            setZip('');
            return;
 }

What alternative solutions did you explore? (Optional)

Proposal
Please re-state the problem that we are trying to solve in this issue.
Zipcode field is not clear when select another country
What is the root cause of that problem?
We only use useState for country and state, city fields because we need to re-set 3 fields when changing country
https://github.com/Expensify/App/blob/a8482e20e92916af993bf3198036dbd0f412f9dd/src/pages/settings/Profile/PersonalDetails/AddressPage.js#L139-L154
I think the zipcode field also should be clear after changing country like state, city fields.
What changes do you think we should make in order to solve the problem?
Firstly, we need to use useState for zipcode field
const [zipcode, setZipcode] = useState(address.zip);

When country change we need to re-set zipcode to empty like this
const handleAddressChange = (value, key) => {
        if (key !== ‘country’ && key !== ‘state’ && key !== ‘city’ && key !== ‘zipPostCode’) {          // UPDATE HERE
            return;
        }
        if (key === ‘country’) {
            setCurrentCountry(value);
            setState(‘’);
            setCity(‘’);
            setZipcode('')
            return;
        }
        if (key === 'state') {
            setState(value);
            return;
        }
        if (key === 'city') {
            setCity(value);
            return;
        }
        setZipcode(value);
    };

and then in here
https://github.com/Expensify/App/blob/70e9fa0a77aba91abd12d8d0023ce10e7bfe80a7/src/pages/settings/Profile/PersonalDetails/AddressPage.js#L222
we should use value instead of default value
value={zipcode || ‘’}

One more thing, in here
https://github.com/Expensify/App/blob/a8482e20e92916af993bf3198036dbd0f412f9dd/src/pages/settings/Profile/PersonalDetails/AddressPage.js#L91
add this line setZipcode(address.zip); to avoid this bug https://github.com/Expensify/App/issues/27814

@robertKozik bump for review on these proposals thanks

Hi all! After reviewing your proposals, I've noticed that they all suggest a similar approach to solving the problem. In this case, I believe we should acknowledge the contributor who first posted their proposal - @neonbhai.
🎀 👀 🎀 C+ reviewed

I believe we should acknowledge the contributor who first posted their proposal - @neonbhai.

@robertKozik Could you help to check again? @neonbhai edited his proposal (and his branch )3 days ago after I posted the proposal. My proposal is first one that is fully and cover all edge cases

@robertKozik This is the original proposal of @neonbhai

And I don't think It covers all cases

@neonbhai It is not a simple change. It so easily causes regression If we don't clear all cases (you can see this issue as an example https://github.com/Expensify/App/issues/28007). In your original proposal, you only mentioned the new state and calling setZip, I agree that It maybe fix this issue but It will break other flows.

"I see your point of view @DylanDylann. I got misled by the edited proposals. The explicit coverage of the regression-prone cases is a meaningful change and this proposal should be, in my opinion, considered as a separate one.
Also, as stated inside the CONTRIBUTING.md doc file, after making a change to an existing proposal, you should post a new comment to alert everyone about the change @neonbhai.
That's why I think my previous decision was not right, and @DylanDylann's proposal should be recommended by me. But as now we have CME assigned, let's wait for his input on that topic."

Sometimes a simple change can make or break an app.
Even though @DylanDylann adds just one line of code, this line of code is important to prevent bugs. He has covered all edge cases.
@neonbhai you should have notified everyone you did change your proposal as stated in [CONTRIBUTING.MD] guidelines:(https://github.com/Expensify/App/blob/main/contributingGuides/CONTRIBUTING.md)

For these reasons, I'm assigning @DylanDylann.

@robertKozik The PR is ready for review

Proposal
Please re-state the problem that we are trying to solve in this issue.
Personal details - City and Postcode fields are not populated with suggested address
What is the root cause of that problem?
Currently in address page

when we change the country we will reset state, city, zipcode to empty
when we change the state we will reset city, zipcode to empty
when we change the city we will reset zipcode to empty

When we update address line 1, all fields will be updated in order to: country, city, zipCode, state
zipcode and city fields is updated before state field, so that when state field is updated the App will reset zipcode and city
What changes do you think we should make in order to solve the problem?
When we update address line 1, all fields should be updated in order to: country, state, city, zipCode
To do that in here
https://github.com/Expensify/App/blob/dee9b3110a7ebe0aa250c3f966d6a69925d916f4/src/components/AddressSearch/index.js#L231-L239
Should move the state field to before city field like this
            country: '',
            state: state || stateAutoCompleteFallback,
            city: locality || postalTown || sublocality || cityAutocompleteFallback,
            zipCode,

What alternative solutions did you explore? (Optional)

Proposal to fix regression
cc @robertKozik

[X]  [@robertKozik] The PR that introduced the bug has been identified. Link to the PR: It's not a regression from the PR, it was a case which was not covered yet
[X]  [@robertKozik] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment: N/A
[X]  [@robertKozik] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion: N/A
[X]  [@robertKozik] Determine if we should create a regression test for this bug. I think we don't need it here
[X]  [@robertKozik] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again. N/A


Updated kotline-stdlib-common to 1.6.0

Description
The dependabot PR #679 is not rebasing. So, here is a manual PR to update Kotlin.
Issues Resolved
Check List

[x] New functionality includes testing.
[x] New functionality has been documented.

[x] New functionality has javadoc added

[x] Commits are signed with a real name per the DCO

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #701 (c7d242b) into main (6d597af) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##               main     #701   +/-   ##
=========================================
  Coverage     91.54%   91.54%
  Complexity      603      603
=========================================
  Files            75       75
  Lines          1834     1834
  Branches        152      152
=========================================
  Hits           1679     1679
  Misses          117      117
  Partials         38       38

Continue to review full report at Codecov.

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


dropdown's submenu display outside its container

Reproduction link
https://writ7j.run.stackblitz.io
Steps to reproduce

What is expected?
Display inside its container
What is actually happening?
Display outside its container

Environment
Info

ng-zorro-antd
7.3.3

Browser
Chrome

this issue still occurs, demo: https://codesandbox.io/s/cascading-menu-antd-5-6-2-forked-9wp7x5?file=/demo.tsx.


Fix Update regex for masked accountNumber

Details

Update regex for masked accountNumber
Fixed Issues

$ https://github.com/Expensify/App/issues/30686
PROPOSAL: https://github.com/Expensify/App/issues/30686#issuecomment-1789042634
Tests

Go to existing workspace or create new one
Go to Workspace > Connect bank account
Tap 'Connect with Plaid' and select any bank (eq. Chase)
Follow the flow until 'Personal Information' page
Click 'Back' (<) button twice to return to the page for entering routing and account numbers
Click/Tap 'Continue'
Verify that User goes to the page 'Company Information' without any errors

[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

Go to existing workspace or create new one
Go to Workspace > Connect bank account
Tap 'Connect with Plaid' and select any bank (eq. Chase)
Follow the flow until 'Personal Information' page
Click 'Back' (<) button twice to return to the page for entering routing and account numbers
Click/Tap 'Continue'
Verify that User goes to the page 'Company Information' without any errors

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native
https://github.com/Expensify/App/assets/129500732/60dde0b0-aa12-46c5-9045-80a59216fb5a

Android: mWeb Chrome
https://github.com/Expensify/App/assets/129500732/b1a51a26-9a3a-4f2a-a4ce-c25da4cc443f

iOS: Native
https://github.com/Expensify/App/assets/129500732/94cf14a7-2fb5-4644-bdc4-d1796bea751b

iOS: mWeb Safari
https://github.com/Expensify/App/assets/129500732/c334fe3b-3664-4aae-9ace-f3f3fa2b718c

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/129500732/8cc7c107-54a0-418f-acfb-f2ab1cb3f679

MacOS: Desktop
https://github.com/Expensify/App/assets/129500732/ebbdbbd6-e1ed-450a-a373-19265997d31e

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.


Export to CSV not working for larger genes

What you did:
I am running pipelines for which I query gnomAD using Ensembl gene/transcript IDs, by automated CSV export using the buttons on the main site. I have noted for the past couple of weeks that for the large gene I am working on (TTN), clicking on this button does not have the desired effect, but that all other variant table properties work as expected.
Page in question: https://gnomad.broadinstitute.org/gene/ENSG00000155657?dataset=gnomad_r4
What you expected to see after you did that:
On clicking the "Export variants to CSV" button a dialog opens for saving the CSV locally, including all variants associated with this gene ID, as is the case at present on other gene pages.
What you actually saw after you did that:
On clicking the "Export variants to CSV" button there is no response from the site, nor any indication of background tasks, nor any result from waiting.

Hiya @tweston10
Thanks for bringing this to our attention, we will work on fixing this -- we actually very specifically treat TTN differently than all the other genes because of its size.
Are there any other large genes that this export to CSV is not working on for you, or is it specifically and only for TTN? Knowing whether or not its just TTN would be helpful for us to fix this bug.
Thanks for your patience,
Riley

Hi @rileyhgrant, thanks for the quick response
I can confirm that, for "Export to CSV" functionality, the two other large proteins obscurin (OBSCN) and nebulin (NEB) are working as intended (with minor delay), so this specific problem seems to be unique to titin.
Some further details that may be relevant are that, while I can "Export to CSV" for OBSCN and NEB, any attempt to retrieve variants for transcripts of these proteins produces an error ("Unable to load variants"). This issue does not appear to be relevant for smaller proteins (tested with PIK3CA). I mention this as I note that the browser is specifically prevented from retrieving variants for specific TTN transcripts at present ("Due to the size of TTN, the variant table is temporarily unavailable in the browser or API for transcripts") and possibly there is a connection to the Export to CSV issue.
Additionally, the "Export to CSV" was working for me after the rollout of gnomAD version 4.0, and I noticed the issue prior to the introduction of version 4.1 last week, if this helps to narrow down a time frame.
Many thanks,
Timir Weston

Thanks for the additional info! This is very helpful.
We probably need to treat those other large genes like we treat TTN, the "Unable to load variants" message in this case is likely because we're trying to return so many variants we hit a timeout -- v4 increased the size of our data a lot.

Hiya @tweston10,
Sorry for the inconvenience. I'm working on figuring out what's going on in production causing these, for transparency -- I regenerated the cache used specifically for TTN, and was able to load the variants and get the CSV in a local instance of the browser, but some difference in production is causing the cache not to successfully load in that environment.
That said, I do have the .csv file, if its helpful for me to get that to you somehow in the meantime while we debug this issue, let me know.
Thanks for your patience with this

Hi @rileyhgrant,
Thank you for the update - I was slightly confused I think when I saw the issue marked as closed, and wanted to report the new status of the titin pages
I would appreciate the CSV if it is not too much trouble to move it (I know it is quite sizeable) just to check for allele frequency differences against 4.0.0
Many thanks,
Timir Weston

Heya again @tweston10,
Yeah apologies about the issue having been closed, I thought it had been resolved by the other PR, and the merging of that PR auto-closed this issue.
That said, a few members of the browser team got on a call and worked out a solution to get TTN loading in production, I just double-checked, and the variants for TTN are loading on V4, and I'm able to download the .csv file as expected. So hopefully that means we can cut out the middleman and you can just grab the .csv directly!
Thanks for your patience and helpful information, and don't hesitate to post here or in a new issue if anything still seems off.

Riley

Hi @rileyhgrant,
I can confirm that the CSV download is working for titin on Chrome, Firefox, Opera and Edge. Thank you for all of your help with this.
Many thanks,
Timir Weston


⚠ Spryr has degraded performance

In 48fef33, Spryr (https://spryr.com) experienced degraded performance:

HTTP code: 200
Response time: 4910 ms

Resolved: Spryr performance has improved in f321e75 after 7 minutes.


Add Mpir for GMP support on Windows

Checklist

[x] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.
[ ] Target the correct branch (rc or main)

Close #15

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe:

It looks like the 'papilo' output doesn't have any tests.
License is not an SPDX identifier (or a custom LicenseRef) nor an SPDX license expression.

Documentation on acceptable licenses can be found here.

Error
MPIR is properly found by CMake, however there is a linker error:
[ 10%] Linking CXX executable ..\..\bin\soplex.exe
LINK: command "C:\PROGRA~2\MICROS~1\2017\COMMUN~1\VC\Tools\MSVC\1416~1.270\bin\Hostx64\x64\link.exe /nologo
@CMakeFiles\soplex.dir\objects1.rsp /out:..\..\bin\soplex.exe /implib:..\..\lib\soplex.lib /pdb:%SRC_DIR%\scipoptsuite
build\bin\soplex.pdb /version:0.0 /machine:x64 /INCREMENTAL:NO /subsystem:console ..\..\lib\libsoplex.lib
%PREFIX%\Library\lib\z.lib %PREFIX%\Library\lib\gmp.lib %PREFIX%\Library\lib\tbb12.lib kernel32.lib user32.lib gdi32.lib
winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:..\.
\bin\soplex.exe.manifest" failed (exit code 1120) with the following output:
   Creating library ..\..\lib\soplex.lib and object ..\..\lib\soplex.exp
soplexmain.cpp.obj : error LNK2019: unresolved external symbol __mpir_version referenced in function
"public: void __cdecl soplex::SoPlexBase<double>::printVersion(void)const " (?printVersion@?$SoPlexBase@N@soplex@@QEBAXXZ)

Context
Conda-forge MPIR package:
Structure:
Library
├── bin
│   ├── gmp.dll
│   ├── mpir.dll
│   ├── mpir.pdb
│   ├── mpir_static.pdb
│   └── mpirxx_static.pdb
├── include
│   ├── gmp-config.h
│   ├── gmp-impl.h
│   ├── gmp-longlong.h
│   ├── gmp-mparam.h
│   ├── gmp.h
│   ├── gmpxx.h
│   ├── mpir.h
│   └── mpirxx.h
└── lib
    ├── gmp.lib
    ├── gmp_static.lib
    ├── gmpxx_static.lib
    ├── mpir.lib
    ├── mpir_static.lib
    └── mpirxx_static.lib

References to __mpir_version:
// include/gmp.h:477
#define mpir_version __mpir_version
__GMP_DECLSPEC extern __gmp_const char * __gmp_const mpir_version;

// include/mpir.h:477
#define mpir_version __mpir_version
__GMP_DECLSPEC extern __gmp_const char * __gmp_const mpir_version;

Reference in Soplex:
// soplex/src/soplex.hpp:6611
#ifdef SOPLEX_WITH_GMP
#ifdef mpir_version
   MSG_INFO1(spxout, spxout << " [rational: MPIR " << mpir_version << "]");
#else
   MSG_INFO1(spxout, spxout << " [rational: GMP " << gmp_version << "]");
#endif
#else
   MSG_INFO1(spxout, spxout << " [rational: long double]");
#endif

Linking
lib\gmp.lib is linked but not lib\mpir.lib (both available in the package). Should it?

Included in #54.


Tooltip does not let me hover over it to perform command on it by click

VS Code Version: 1.54.1
OS Version: Windows 10

Steps to Reproduce:

Try any extension that has a action/command to execute in tooltip

I have seen this working and letting user hover over tooltip and perform the command on tooltip by click action. Am I missing something or something has changed?

Does this issue occur when all extensions are disabled?: This question is irrelevant for this bug/issue. The issue I have observed with extension having command in tooltip

@Tyriar it looks like default behavior to not hide on hover when the content IMarkdownString is no longer working. I also tried to set hideOnHover: false and that appeared to be ignored.

It's working nicely now in Insiders. I don't know if this is new or existed previously but it looks like all of the tooltips have horizontal scrollbars, sometimes they obstruct the contents slightly:

Verified that this looks like fixed and fix is available in VSCode Insider 1.55.0.

@bwateratmsft the scroll bar appears to be specific to the Docker extensions hovers. The GitHub Pull Requests and Issues extension uses markdown hovers too, but I'm not seeing the scrollbar:

Interesting, it might be because of the <hr /> (well, --- because Markdown) that we're using. I'll see what happens without those.

That sounds like it could be an issue with our markdown rendering...

It is rendering of hr, can repro:

Tracking in https://github.com/microsoft/vscode/issues/119374


Images are not available in wiki document

https://github.com/Netflix/eureka/wiki/Eureka-2.0-Architecture-Overview

@VikramBPurohit I would advice not looking too deeply into eureka2. Per our wiki:
The 2.x branch is currently frozen as we have had some internal changes w.r.t. to eureka2, and do not have any time lines for open sourcing of the new changes.


feat: refactor sdk and add bootstrapPeers option

Problem
https://github.com/waku-org/js-waku/issues/1863#issuecomment-1970107867
Solution

Add bootstrapPeers options;
peer lock @libp2p/bootstrap package major version;

UT to be done
Notes

Resolves https://github.com/waku-org/js-waku/issues/1863#issuecomment-1970107867

I figure merging this PR will prompt a docs change to https://docs.waku.org/guides/js-waku/configure-discovery#configure-static-peers?
Instead of
createLightNode({
    libp2p: {
        peerDiscovery: [
            bootstrap({ list: ["[PEER MULTIADDR]"] }),
        ],
    },
});

It would be
createLightNode({
    bootstrapPeers: ["[PEER MULTIADDR]"],
});


Require Gradle 7.4.2 before throwing VerificationException

Avoids a NPE when configuration cache is enabled on earlier Gradle versions.
See https://github.com/gradle/gradle/issues/20246

Warnings

:warning:
It looks like this PR contains functional changes without a corresponding test.

  Generated by :no_entry_sign: dangerJS against c9b9c0cfc9128a2cd5f0d9d03b81be4ae5503795


Remove validation from RegistryKeyword on NetAdapterAdvancedProperty - Fixes #388

Pull Request (PR) description
This PR removes the validation on the RegistryKeyword parameter on NetAdapterAdvancedProperty because the list of possible values is not able to be defined.
This Pull Request (PR) fixes the following issues

Fixes #388

Task list

[x] Added an entry under the Unreleased section of the change log in the CHANGELOG.md.
Entry should say what was changed, and how that affects users (if applicable).
[x] Resource documentation added/updated in README.md in resource folder.
[x] Resource parameter descriptions added/updated in schema.mof
and comment-based help.
[x] Comment-based help added/updated.
[ ] Localization strings added/updated in all localization files as appropriate.
[ ] Examples appropriately added/updated.
[ ] Unit tests added/updated. See DSC Resource Testing Guidelines.
[ ] Integration tests added/updated (where possible). See DSC Resource Testing Guidelines.
[ ] New/changed code adheres to DSC Resource Style Guidelines and Best Practices.

@39Delta - would you mind reviewing this one for me?

This change is

LGTM.  Thanks for cleaning up comment based help!


"editor" — editor can place and delete entities

add entity

hold E key to open entity placement panel
pre-placement ghosting indicates positioning
scroll to select between entities
click left mouse to place entity

delete entity

hold Q key to highlight an entity
click left mouse to delete it

available entities

cube

implementation todo

[x] detect place entity mode with reactions
[ ] create a cube entity so we have something to place
[ ] placement without any ghosting
[ ] now with ghosting
[ ] watcher: make clicks available for proper controls


Subtitle Support

Hello,I wanna ask the question about how to download the subtitle?and how can I choose the language of it?
Thx:)

This library doesn't currently support subtitles as they are not bundled with the video. I'm going to make this a feature request.

thx,
looking forward to the next version:D

This is very easy in the latest version:
>>> YouTube('https://youtu.be/9bZkp7q19f0').captions.all()
[<Caption lang="Chinese (China)" code="zh-CN">,
 <Caption lang="English" code="en">,
 <Caption lang="French" code="fr">,
 <Caption lang="German" code="de">,
 <Caption lang="Japanese" code="ja">,
 <Caption lang="Korean" code="ko">,
 <Caption lang="Portuguese (Brazil)" code="pt-BR">,
 <Caption lang="Spanish (Mexico)" code="es-MX">]
>>> print(yt.captions.get_by_language_code('en').generate_srt_captions())
1
000:000:00,000 --> 000:000:00,590

2
000:000:00,590 --> 000:000:04,650
There's the old way of doing captioning and transcription.

3
000:000:04,650 --> 000:000:09,960
The way that's expensive, unreliable, and well complicated.

4
000:000:09,960 --> 000:000:13,370
And then there's the 3Play Media way.

5
000:000:13,370 --> 000:000:17,820
The most advanced solution for video accessibility ever.

6
000:000:17,820 --> 000:000:21,710
It's captioning and transcription utterly transformed.

7
000:000:21,710 --> 000:000:24,500
3Play Media makes it simple to upload your video

8
000:000:24,500 --> 000:000:27,800
and get back near-perfect captions and transcripts

9
000:000:27,800 --> 000:000:29,880
in just about any format.

10
000:000:29,880 --> 000:000:35,200
If you use lecture capture or a video platform, 3Play Media lets you process your files

11
000:000:35,200 --> 000:000:36,550
with a push of a button.

12
000:000:36,550 --> 000:000:38,640
But that's just the beginning.

13
000:000:38,640 --> 000:000:42,210
With 3Play Media the text of your video comes alive.

14
000:000:42,210 --> 000:000:45,400
Every word becomes searchable and interactive.

15
000:000:45,400 --> 000:000:50,930
It's now possible to jump to an exact quote or scene and create a shareable clip.

16
000:000:50,930 --> 000:000:56,570
Simply put, 3Play Media opens more possibilities for your video than ever before.

17
000:000:56,570 --> 000:001:00,950
Now once invisible text can be found by search engines.

18
000:001:00,950 --> 000:001:04,910
Now people are engaged and interacting with your video.

19
000:001:04,910 --> 000:001:09,180
Now you'll wonder how you ever did video any other way.

20
000:001:09,180 --> 000:001:12,510
3Play Media, captioning and transcription transformed.

21
000:001:12,510 --> 000:001:18,067

I have tested the case  YouTube('https://youtu.be/9bZkp7q19f0').captions.all()
but got an empty array [] @nficano


Require not working for user modules

In my main JS file I have something like this:
var SomeClass = require('./some-class');

export var handler = function() {
  const instance = new SomeClass();
  instance.hello();
}

It doesn't seem to work - I get Object is not a constructor but if I replace require with import SomeClass from './some-class'; it works. If the class has just static methods, it works ok.
Is there anyway to use require for both Sketch and user modules?

I'm guessing var SomeClass = require('./some-class').default; should work. Or you need to use module.exports = ... instead of export default ... for your class


Add worker method to audit logs

Coverage decreased (-0.2%) to 97.998% when pulling 661ced5a5e2433be8c0b7eee7e80a26d538545bf on worker-audits into f81ff2487e0a9e01f9c0542e1cf63528781bbd69 on master.

Coverage decreased (-0.2%) to 97.998% when pulling 661ced5a5e2433be8c0b7eee7e80a26d538545bf on worker-audits into f81ff2487e0a9e01f9c0542e1cf63528781bbd69 on master.


to add a open source project

TubeCards
(https://github.com/friebetill/tubecards/)
Category : Education
TubeCards is a cross-platform spaced-repetition app which is seamlessly integrated with Youtube. It is written in Dart using Flutter.

@ashitaprasad  There is already Tubecards repo in your readme.md so I am doing this instead.
Fluttery Filmy
(https://github.com/ibhavikmakwana/Fluttery-Filmy)
Category : Entertainment
🎥 Movie app which is developed using flutter and powered by tmdb.


tensorflow2.0 can't find CRF

Please make sure that this is a feature request. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:feature_template
System information

TensorFlow version (you are using):tensorflow2.0
Are you willing to contribute it (Yes/No):
I don't know how to achieve it well, if need me, I can do as much as I can

Describe the feature and the current behavior/state.
No named entity identification module was found
Will this change the current api? How?
There is no named entity recognition API
Who will benefit with this feature?
A technician who studies named entity recognition and relationship extraction
Any Other info.

试试这个吧https://github.com/tensorflow/addons/commit/47e687725eb4d65e45498e67a9026177fda684dd

@MQ99 Can you please try @miffyrcee recommendation and let me know if it helps.


Allow custom registry/proxy

Problem: In an environment where direct Internet access is not available and a local docker registry proxy is used, all docker hub images are available as docker.my.tld/<docker-hub-name>.
Consequently, the image docker.io/firecow/gitlab-ci-local-util:latest cannot be pulled.
Suggested solution: Provide means to configure the docker registry URL (replacement for docker.io), e.g. a DOCKER_REGISTRY configuration variable.
In the meantime, one possible alternative is to configure the Docker daemon to use a registry mirror as documented here:
https://docs.docker.com/docker-hub/mirror/#configure-the-docker-daemon

In the meantime, one possible alternative is to configure the Docker daemon to use a registry mirror as documented here:
https://docs.docker.com/docker-hub/mirror/#configure-the-docker-daemon

In my opinion, your proposed alternative is sufficient.
I don’t see the need to implement this in gitlab-ci-local, since docker is unlikely to function properly without configuring the docker daemon. You would eventually need to update the configuration there as well, so it makes sense to handle it directly at that level, effectively solving two problems with a single configuration.


Fix for broken plug opts

Fix for #69

Pull Request Test Coverage Report for Build ea0013d4179f83f8d65d57eff31766e7b317e370-PR-70

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.02%) to 86.286%

Totals

Change from base Build b0a3eed6236be59a8aab5258a84d7caa22b31902:
0.02%

Covered Lines:
604

Relevant Lines:
700

💛  - Coveralls


How to approach animations and compositions with react-faux-dom?

I'm working on a couple components using react-faux-dom. It literally just works out the box thank you for this. As it stands I have a line chart, bar chart, area chart, scatter-plot etc. However all of these each come with their own x/y-axis, grid, legend. I don't want to duplicate the code, as it makes more sense to abstract these out of the different charts into their own components. I'm not exactly sure how to go about composing the x/y-axis, legend, and the chart chosen together.
Some code may make more sense:
   // What I have in my head
  <XYAxis grid={true}>
    <LineChart {...}/>
    <Legend  {...} />
  </XYAxis>

  <XYAxis grid={false}>
    <BarChart {...}/>
    <Legend  {...} />
  </XYAxis>

I'm not sure exactly how to go about this in react-dom-faux , if you've done something like this with your library I'd like to know what approach might have worked best for you.
I'd also like to add Animations using React Motion, for things like updates in the data set, filtering data, tool-tips, etc. What would you suggest be the best approach for adding animations with 'react-faux-dom'?
I wouldn't mind adding some more example docs for your library as It has really made my life easier. If theres anything specific you want to add but haven't had the time let me know 👍🏽

My confusion lies on how to append the Elements that the LineChart component renders onto the Elements the the XYAxis renders.

I can't say I've done this myself just yet, but I can offer some pointers and we can discuss further. I really hope the library has helped you so far though!
So one interesting property about the faux DOM is that it can contain React elements like in this test. So you can have a component that depends on another component and you can embed it into the faux DOM just like you would the normal React tree.
So, you could compose them by adding the build elements to a faux DOM and returning that. Although, composing through JSX works equally well, they are just children of the XYAxis component then.
Within the BarChart you could embed the legend / XYAxis for example, or you could even subclass the shared graph stuff.
It's entirely up to you, this is a React design question more than anything :)
In a tree that contains ReactFauxDOM it's only faux DOM within one of the render methods, before that it's React and after that it's React because of the .toReact calls.

@Olical Thank you for the response, I was thinking about this and I think I found a solution to how to make this work well, I'm going to whip together some code and post my results. How would you go about adding animations with a library with react-motion? I'm also going to write up some docs and do a PR by tomorrow hopefully.

Well you should be able to use react-motion as is, since it just wraps existing components, right? (I haven't actually used it but I know about it)
You should be able to wrap the rendered React component as you'd wrap any other. If your chart takes a while to render though this could be quite slow. This is where these mixins come in, they give you efficient animations, even animations from D3. They're a bit of a workaround though, if wrapping your component with react-motion is enough for you, then try that :)

Okay, will check those out 😀

Sorry for the lengthy comment 😥
So I got a working prototype, the code below will render A LineChart. The XYAxis component has a variable called axes, this will be the react-faux-dom element. From there I append the x/y axis to it with D3. However I was thinking about how to append or render the LineChart lines onto the axes from XYAxis, What I did was clone the this.props.children and then pass the props, g, and the  axes variable which is the root  react-faux-element to the cloned LineChart component. Inside of LineChart I append the lines to the prop g and then return the prop 'axes' (the root react-faux-dom element). Lastly, the XYAxis component will render children (the cloned LineChart).
// This draws a Axis with a grid
class XYAxis extends React.Component {
  ...
  scaleLinear () {
    ...
    return {xScale, yScale, innerH, innerW};
  }
  makeGrid () {
     ...
    return {xAxis, yAxis, xScale, yScale};
  }

  render () {
    const { data, width, height, gridLines, x, y } = this.props,
          grid = this.makeGrid(),
          xScale = grid.xScale,
          yScale = grid.yScale,
          xAxis = grid.xAxis,
          yAxis = grid.yAxis,
          innerW = width - 60,
          innerH = height - 60,
          gridLineType = (gridLines !== 'solid') ? '3,3' : '';

    var axes = d3.select(ReactFauxDOM.createElement('svg'))
        .attr('width', width)
        .attr('height', height);

    var g = axes.append('g')
        .attr('class', 'axes')
        .attr('transform', `translate(50, 20)`);

    g.append("g")
        .attr('class', 'x axis')
        .attr('transform', `translate(0, ${innerH})`)
        .call(grid.xAxis)
        .append('text')
        .attr('class', 'label')
        .attr('x', innerW)
        .attr('y', -6)
        .style('text-anchor', 'end')
        .text(x);

    g.append('g')
        .attr('class', 'y axis')
        .call(grid.yAxis)
        .append('text')
        .attr('transform', 'rotate(-90)')
        .attr('y', 6)
        .attr('dy', '.71em')
        .style('text-anchor', 'end')
        .text(y);
    var children = React.cloneElement(this.props.children, { data, width, height, xAxis, yAxis, xScale, yScale, g, axes});
    return children;
  }
}

// Renders the LineChart and XYAxis
class LineChart extends React.Component {
  render () {
    const { data, width, height, grid, xAxis, yAxis, xScale, yScale, g, axes} = this.props;

    var line = d3.svg.line()
        .interpolate("monotone")
        .x((d) => xScale(d.x))
        .y((d) => yScale(d.y));

    g.append('path')
        .datum(data)
        .attr('class', 'line')
        .attr('d', line);

    g.selectAll('circle')
      .data(data)
      .enter().append('circle')
      .attr('class', 'circle')
      .attr('cx', (d) => xScale(d.x))
      .attr('cy', (d) => yScale(d.y))
      .attr('r', 3);

    return axes.node().toReact();
  }
}

//Render
      <XYAxis width={350}
              height={300}
              data={data2}
              grid={true}
              x={'x'}
              y={'y'}
              gridLines={'solid'}>
        <LineChart/>
      </XYAxis>

Side note, I was also thinking about appendChild within LineChart but realized it can't append child within LineChart because it hasn't been rendered.
Anyway this is what I came up with, it's brittle and wont work with multiple children passed into XYAxis. If you have any thought about alternative solutions lmk. Sorry for the lengthy comment again 😅.

@Olical So I got this working well now with arbitrary amount of charts nested the the XYAxis component and the charts and XYAxis component can render separately. 👍🏽

I do! If you open one up all add some stuff in there, probably sometime before tuesday next week.

The wiki is freely editable by anyone, so go for it! :)

@Olical thanks will do!


Minor addition: ports can be specified by strings (e.g., coming from com...

...mand-line args)

Looks good, but it could use a test to ensure that this functionality is not removed in future pull requests.

Kk, added a test to cover the case. I was debating whether to add a test case before because I liked the symmetry displayed between the README and the test cases

Thanks for your contribution <3


fix: image size issue

Patched the askar node wrapper to allow processing of large credential values such as images.

What was the issue and what was the fix?  Nice work!

What was the issue and what was the fix? Nice work!

The issue was that text decoder was being called on too big of an input so it was failing. @cvarjao 's solution was to break it up into more manageable chunks that the text decoder could handle and then join all the decoded text at the end


[#269] Collapse version information to single point of control

Schema files/info does not need to include version info
Config file for testing does not need to include version info

This is ready for final review.

First time users will need to update the test/config.py file to point to the correct location of the HTTP API (i.e. replace <version>).
Other than that, running the tests is as it's always been.

if we have a 'how to run tests' area, please make sure it says that.   otherwise, we're good.

We don't currently have a section on running tests.
I'll open an issue for that. Can handle that at a later time.

Created #350 for documenting the process of running tests.

#'d


Split passmanager build and configuration

We are moving towards scenarios where the pass manager are being reused. For that, a passmanager should be the same one, independently of the backend.
Currently, preset passmanagers are build in qiskit/transpiler/preset_passmanagers using a transpile_config parameter, returning different pass schedules.
The suggestion
I suggest to build passmanagers with class types instead of instances. For example, instead of
passmanager.append([CXDirection(coupling_map), ...], condition=...)

can be replaced by
passmanager.append([CXDirection,...], condition=...)

This would remove the hacking thing we do to force equivalence among passes and will simplify the code in qiskit/transpiler/preset_passmanagers since no conditional (and no more having a parameter).
A passmanager can be set using PassManager.set(transpile_config).
The problem
We currently have:
pm0.append([BarrierBeforeFinalMeasurements(),
            StochasticSwap(coupling_map, trials=20, seed=seed_transpiler),
            Decompose(SwapGate)], condition=lambda property_set: not property_set['is_swap_mapped'])

Some of the pass arguments are not coming from transpile_config. It would be possible to include trial in transpile_config (as optional). However, Decompose(SwapGate) is harder case. Similarly, FixedPoint('depth').
This problem also happens in require and preserves.
Possible solutions
One option is to  allow tuples as "passes" during append time.
passmanager.append([(FixedPoint,'depth'), ...], ...)

Other option is add a parameter to append with the parameters for a particular pass.
passmanager.append([FixedPoint, ...], arg0='depth', ...)

I'm going to close this as stale now, since with #7163 we went a different way for the larger goal of "make it easier to construct a preset passmanager from a backend".  I'm not convinced that there's a clear API benefit from trying to raise pass configuration from the level of individual passes to the level of an "unbound" pass manager in our current set-up outside of that context.
Please feel free to re-open if there's more to discuss about this.


[Regards]Thank you

Thank you for such a nice tool and just to confirm this package works with LUMEN 5.4
Another thank you for to this API boilerplate by Hasan Hasibul  https://github.com/hasib32 I am managed to build friend relationship API system

Agree. Nice job.

Thanks for letting me know @kabelo38 🙂


dbt: add support for dbt 1.3 beta's metadata changes

dbt 1.3 renamed compiled_sql field to compiled_code to support Python models. https://docs.getdbt.com/guides/migration/versions/upgrading-to-v1.3#for-consumers-of-dbt-artifacts-metadata
This PR makes projects that are composed of only SQL models work on 1.3 beta.
This PR does not provide support for dbt's python models.
Signed-off-by: Maciej Obuchowski<EMAIL_ADDRESS>

Worth mentioning it in our dbt Python models compatibility ticket to track all the changes touching upon the topic https://github.com/OpenLineage/OpenLineage/issues/1019


OSS malware

https://blog.sonatype.com/this-week-in-malware-killing-windows-defender-with-an-npm-package

Resolved by 5619fdd and 5f39f6d


Transform jobs first so images are overridable.

Proposed Changes
The job transformer gives a job with a generateName an actual, predictable name. If we apply it before the image transform, that gives us the possibility to override the respective image via an image transformer.
Release Note

NONE

/assign @matzew @houshengbo

/lgtm

/retest


bug(dropdown): unexpected width change

Dropdown changes width suddenly when user pick an option. This shouldn't happen. Dropdown width should stay constant before and after a selection:

Moved to carbon-design-system/carbon-website#1191 as this issue happens on our website but not on our vanilla dev env.

should we add a minimum width to the dropdown component?


feat: max_refresh_ms to limit maximum call to render()

Very glad to see a PR!
But what time do you encounter a performance problem? In My testing, tabby.nvim renders the tab line very fast, less than 0.1ms per time. And the neovim wouldn't render the tab line too much.
Since neovim wouldn't render the tabline too much, if we missed one timing to render the tabline, the tabline would display too much delay. If we want to reduce re-rendering, we should set the timeout and render at the end of the timeout.
Last, there are some conflicts in PR.

To answer your first point (I'll see later about other points): profiling show tabline is what most costly. I don't know why but sometimes it's called many times in a row (I can for example use vim.notify to see a message for every render).
I think it's just because I have a somewhat complex logic in my function. I already tried to optimize this logic as much possible with deferred update and caching (for example to determine if I'm in the middle of a rebase, to change the colors of the tab) https://github.com/ilan-schemoul/nvim-config/blob/main/nvim/lua/plugins/tabby.lua

Sorry for being late; I have been busy these past weeks. I read and tried your config, but I can't find an obvious problem. Can you make a minimal reproduction config and tell me how to measure this problem?
In another way. If you have a heavy function in tabline's rendering, you can make this cache mechanism for that function alone. Limited the total tabline render my cause display delay, as I said before. If you like, I can also add a pre-render hook, to help you archive this.


Add eslint-plugin-perfectionist rules to packages/common

Followup to #1125

Could you look into the Sonar issues?


RabbitMQ instructions are out of date

@selvasingh the file create-mongodb-and-rabbitmq.md has these issues:

The screenshots are missing; the Markdown refers to files that don't exist.
The Azure Marketplace doesn't have an offering for "Bitnami RabbitMQ Stack For Microsoft Azure". Is "RabbitMQ Certified by Bitnami" the correct choice? This appears to be the only Bitnami RabbitMQ VM offering.
The instructions for editing /opt/bitnami/rabbitmq/etc/rabbitmq/rabbitmq.config are out of date; the tcp_listeners line is now {tcp_listeners, [5672]},. It's not clear whether the edit needs changing as well.

I used RabbitMQ Certified by Bitnami.
The line 4 original appears like  {tcp_listeners, [5672]}, it must to be changed to {tcp_listeners, [{"<IP_ADDRESS>", 5672}, {"::1", 5672}]}.
It worked for me.


New examples page proposal

Hi! =)

https://github.com/OpusCapitaBES/js-react-showroom-client
It allows to write documentation in markdown and run all docs in sandbox with code examples.
It often useful to have possibility to play with components at web page before use it in project.
Do you interested in adding interactivity to your examples page?)
I can make it and send you pull-request. Of course it can be styled as you wish. :blush:

Thanks! But I prefer to roll my own simple setups for this type of thing


user add to warehouse

can we  add a new user to upload the packages
does all the packages are stored in psql db?

Hi @mkaja, not sure I entirely understand. Are you trying to do development on Warehouse locally?

yes @di

You can add a new user just like you would on pypi.org by filling out the registration form.
When running Warehouse locally, it uses a local file storage service to store uploaded packages on-disk: https://github.com/pypa/warehouse/blob/739c4782821ee8df2aadefa9928b0c559ea77e29/warehouse/packaging/services.py#L28-L42

Closing this as I think the question's been answered, feel free to comment if you have more questions.


Document class

Create Document supertype for Item and Layout. These two classes are quite similar (have content, attributes, and identifier), so making them of a similar type makes sense.

Create DocumentView supertype. This DRYs up the implementation of ItemView and LayoutView, and makes #fetch and #key? available in LayoutView.

:+1:


"Unauthorized: authentication required" after downloaded 80%

Expected behavior
Actual behavior
Information about the Issue
Steps to reproduce the behavior

...
...

Login to cloud.docker.com -> Account Settings  and verify that your primary email has been verified


Add caret styling CSS

Fixes: https://github.com/go-gitea/gitea/issues/15644
Issue is an edge case, but I guess it does not hurt to style the caret explicitely.

I just build your tree to try it out, but it's not fixed :(

I tried some other iterations with changes in your patch and it only seems to work when this is added to theme-arc-green.less
.CodeMirror-cursor {
  border-color: var(--color-text) !important;
}

it only seems to work when this is added to theme-arc-green.less

That would imply some kind of bug with Chrome's dark mode setting in how it deal with CSS variable resolution. I guess we could needlessly copy that CSS rule into arc-green if it really helps.

@42wim try again.

Ok, your patch didn't work and I finally found out why ;-)
In the issue #15644 you told me to fix it by doing
.CodeMirror-cursor {
  border-color: var(--color-text) !important;
}

which worked.
But in this PR you're using --color-caret: var(--color-text-dark); instead of --color-caret: var(--color-text);
By changing this in the theme-arc-green.less it works fine now, and also you don't need the double copy of .CodeMirror-cursor in  theme-arc-green.less

Still need to check this because I don't fully understand it yet. There should not be much difference between --color-text-dark and --color-text.

with --color-text-dark the cursor isn't visible, you should be able to reproduce this on edge or chrome with chrome://flags/#enable-force-dark or edge://flags/#enable-force-dark on enabled.

There seems to be some rather strange contrast algorithm going on with that flag set which seems to invert borders for strange reasons. I would have really liked to use --color-text-dark for maximum contrast on that caret but tha bugs out this algorithm leading to Chrome deciding to invert the border. I'm quite surprised that such a buggy feature even made it into Chromium in first place. I guess they are going to drop it at some point.
Anyways, we can land this with the "slightly darker" caret color in code mirror. Proper fix for this can only come with a real <textarea>.

Removing backport label as I think we don't need to cater so much to unstable Chromium features like that 😉

🚀

thanks @silverwind 👍


DataFrame.describe() Sortable by Type

When I run df.describe() I would like to group columns of like types together.  When I try and click the sort button on the dataframe I get this error:
Column 'type' has type 'kotlin.Any' that is not Comparable java.lang.RuntimeException: Column 'type' has type 'kotlin.Any' that is not Comparable at org.jetbrains.kotlinx.dataframe.impl.columns.UtilsKt.assertIsComparable(Utils.kt:98) at org.jetbrains.kotlinx.dataframe.impl.api.SortKt.createComparator(sort.kt:60) at org.jetbrains.kotlinx.dataframe.impl.api.SortKt.sortByImpl(sort.kt:49) at
It would seem to me that sorting based on toString() when a Comparable is not available.
I was able to get around the problem with this code:
df.describe().sortWith { r1, r2 -> r1["type"].toString().compareTo(r2["type"].toString()) }[0]["type"]

Thanks for letting us know! That seems like a bug indeed. I like the idea of sorting by String for non comparable columns too. We can do this in two different places though:

on the notebook side

keep sortBy in the library as is: fail when you're sorting a non-comparable column, but fallback to string sorting in the notebook, then the button work as expected

on the library side

changes the behavior of dataframe, might be unexpected if some random type suddenly has order

@ermolenkodev is this something you would like to do from the notebook/table side?

It won’t work as a fallback on the KTNB plugin side because, in general, only a subset of rows is loaded for visualization. This could confuse users, as they might not realize that the sorting is applied only to the local subset of rows rather than the entire column’s values.
However, we can try to implement a fallback in the sorting command sent to the kernel for execution.


import-meta-resolve dependency breaks Yarn 4 Plug'n'Play/Zero-installs

Describe the bug
Yarn 4 Plug'n'Play/Zero-installs were supported up until SvelteKit 2.0.7.
Downgrading with yarn add -D<EMAIL_ADDRESS>resolves any issue with Yarn 4 Plug'n'Play/Zero-installs.
Ever since SvelteKit 2.0.8, Plug'n'Play/Zero-installs are no longer supported due to the incompatibility with import-meta-resolve.
Reproduction

Create a new project with create-svelte

$ yarn create svelte example && cd example
yarn create v1.22.21
[1/4] Resolving packages...
⠁ (node:2276661) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Installed<EMAIL_ADDRESS>with binaries:
      - create-svelte
[#######] 7/7
create-svelte version 6.0.6

┌  Welcome to SvelteKit!
│
◇  Which Svelte app template?
│  Skeleton project
│
◇  Add type checking with TypeScript?
│  Yes, using TypeScript syntax
│
◇  Select additional options (use arrow keys/space bar)
│  none
│
└  Your project is ready!

✔ Typescript
  Inside Svelte components, use <script lang="ts">

Install community-maintained integrations:
  https://github.com/svelte-add/svelte-add

Next steps:
  1: cd platform
  2: yarn install
  3: git init && git add -A && git commit -m "Initial commit" (optional)
  4: yarn run dev -- --open

To close the dev server, hit Ctrl-C

Stuck? Visit us at https://svelte.dev/chat
Done in 6.44s.

Enable Yarn 4 Plug'n'Play/Zero-install and install packages

$ corepack enable
$ yarn set version stable
$ yarn config set nodeLinker pnp
$ yarn install

Run development server

$ yarn dev

Logs
error when starting dev server:
Error: Cannot find package '@sveltejs/vite-plugin-svelte' imported from /home/user/example/dummy.js
    at __node_internal_ (file:///home/user/.yarn/berry/cache/import-meta-resolve-npm-4.0.0-13a6ef4fd3-10c0.zip/node_modules/import-meta-resolve/lib/errors.js:431:11)
    at new NodeError (file:///home/user/.yarn/berry/cache/import-meta-resolve-npm-4.0.0-13a6ef4fd3-10c0.zip/node_modules/import-meta-resolve/lib/errors.js:374:5)
    at packageResolve (file:///home/user/.yarn/berry/cache/import-meta-resolve-npm-4.0.0-13a6ef4fd3-10c0.zip/node_modules/import-meta-resolve/lib/resolve.js:1038:9)
    at moduleResolve (file:///home/user/.yarn/berry/cache/import-meta-resolve-npm-4.0.0-13a6ef4fd3-10c0.zip/node_modules/import-meta-resolve/lib/resolve.js:1101:20)
    at defaultResolve (file:///home/user/.yarn/berry/cache/import-meta-resolve-npm-4.0.0-13a6ef4fd3-10c0.zip/node_modules/import-meta-resolve/lib/resolve.js:1266:15)
    at Module.resolve (file:///home/user/.yarn/berry/cache/import-meta-resolve-npm-4.0.0-13a6ef4fd3-10c0.zip/node_modules/import-meta-resolve/index.js:32:12)
    at resolve_peer_dependency (file:///home/user/example/.yarn/unplugged/@sveltejs-kit-virtual-93c8ce76c9/node_modules/@sveltejs/kit/src/exports/vite/index.js:132:29)
    at sveltekit (file:///home/user/example/.yarn/unplugged/@sveltejs-kit-virtual-93c8ce76c9/node_modules/@sveltejs/kit/src/exports/vite/index.js:167:27)
    at async Promise.all (index 0)
    at async asyncFlatten (file:///home/user/example/.yarn/__virtual__/vite-virtual-75c9d0056a/4/.yarn/berry/cache/vite-npm-5.0.11-d5457a8b86-10c0.zip/node_modules/vite/dist/node/chunks/dep-V3BH7oO1.js:12894:16)
    at async resolveConfig (file:///home/user/example/.yarn/__virtual__/vite-virtual-75c9d0056a/4/.yarn/berry/cache/vite-npm-5.0.11-d5457a8b86-10c0.zip/node_modules/vite/dist/node/chunks/dep-V3BH7oO1.js:67863:29)
    at async _createServer (file:///home/user/example/.yarn/__virtual__/vite-virtual-75c9d0056a/4/.yarn/berry/cache/vite-npm-5.0.11-d5457a8b86-10c0.zip/node_modules/vite/dist/node/chunks/dep-V3BH7oO1.js:60327:20)
    at async CAC.<anonymous> (file:///home/user/example/.yarn/__virtual__/vite-virtual-75c9d0056a/4/.yarn/berry/cache/vite-npm-5.0.11-d5457a8b86-10c0.zip/node_modules/vite/dist/node/cli.js:764:24)

System Info
System:
    OS: Linux 6.6 CachyOS Linux
    CPU: (20) x64 13th Gen Intel(R) Core(TM) i9-13900H
    Memory: 20.99 GB / 30.98 GB
    Container: Yes
    Shell: 3.7.0 - /bin/fish
  Binaries:
    Node: 21.5.0 - /tmp/xfs-6a97206b/node
    Yarn: 4.0.2 - /tmp/xfs-6a97206b/yarn
  npmPackages:
    @sveltejs/adapter-auto: ^3.0.0 => 3.1.0
    @sveltejs/kit: ^2.0.0 => 2.2.0
    @sveltejs/vite-plugin-svelte: ^3.0.0 => 3.0.1
    svelte: ^4.2.7 => 4.2.8
    vite: ^5.0.3 => 5.0.11

Severity
annoyance
Additional Information
No response

Yarn PnP is broken, and we don't support it — if it ever worked, it was by accident. It is a frequent source of misery for OSS maintainers, and we strongly recommend using nodeLinker: 'node-modules' or (better) just using npm/pnpm.

I'm using pnpm and getting same error after bumping from v2 to v2.3
Error: Cannot find package '@sveltejs/vite-plugin-svelte' imported from /Users/.../kit/dummy.js

Solved it... I didn't have this dev dependency:
"@sveltejs/vite-plugin-svelte": "^3.0.1",
So I was getting the dummy.js error posted above (not the nicest error!).
I had missed this migration step for kit v2:
@sveltejs/vite-plugin-svelte@3 (this is now required as a peerDependency of SvelteKit — previously it was directly depended upon)


Only adds 1 month at a time.

Amazing idea and it's exactly what I'm looking for. Only thing is it is only adding the current month to the calendar.

Thanks again.

Hi @ChiefMedicalOfficer , I am surprised that this utility tool can help you. Unfortunately, I don't know much JavaScript so I failed to port the yearly calendar. This project is based on regex match, which is simpler than parsing the HTML DOM.
If you want full-year view, please look at https://www.glasgow.gov.uk/forms/refuseandrecyclingcalendar/PrintCalendar.aspx?UPRN=[UPRN].
Many thanks!

Please try this

I'll try this out tonight. Thanks again.

Please try this

Aw mate sorry I forgot to reply. It all works great now.


OOM Issues when paired with eslint-plugin-mdx@v2

Initial checklist

[X] I read the support docs
[X] I read the contributing guide
[X] I agree to follow the code of conduct
[X] I searched issues and couldn’t find anything (or linked relevant results below)

Affected packages and versions
vscode-mdx v0.2.3, eslint-plugin-mdx v2.0.1
Link to runnable example
No response
Steps to reproduce

Pull this reproduction: https://github.com/mshick/eslint-mdx-next
Install the suggested VSCode extensions, dbaeumer.vscode-eslint, and jounqin.vscode-mdx.
Run npm install
Open your ESLint outputs panel. Notice that soon there are OOM errors and the server will crash.
Running npm run eslint has no issues and will find lint added to the test.mdx file.

Note: This picks up a discussion I opened here, now that I've confirmed the issue only occurs in vscode-mdx with eslint-plugin-mdx@v2 and since eslint-plugin-mdx@v2 appears to be working correctly.
Note: I've disabled all extensions except for vscode-eslint and vscode-mdx to ensure there were not conflicts.
Here is my VSCode build info:
Version: 1.68.1
Commit: 30d9c6cd9483b2cc586687151bcbcd635f373630
Date: 2022-06-14T12:48:37.209Z (3 wks ago)
Electron: 17.4.7
Chromium: 98.0.4758.141
Node.js: 16.13.0
V8: <IP_ADDRESS>-electron.0
OS: Darwin arm64 21.5.0

Expected behavior
No OOM errors should happen. The eslint server should stay running.
Actual behavior
The server crashes.
...
<--- Last few GCs --->

<--- JS stacktrace --->

#
# Fatal javascript OOM in GC during deserialization
#

[Info  - 3:29:29 PM] Connection to server got closed. Server will restart.
[Info  - 3:29:29 PM] ESLint server stopped.
[Info  - 3:29:29 PM] ESLint server is starting
[Info  - 3:29:29 PM] ESLint server running in node v16.13.0
[Info  - 3:29:29 PM] ESLint server is running.
[Info  - 3:29:30 PM] ESLint library loaded from: /Users/mshick/Code/mshick/eslint-mdx-next/nextjs-blog/node_modules/eslint/lib/api.js

<--- Last few GCs --->

<--- JS stacktrace --->

#
# Fatal javascript OOM in GC during deserialization
#

[Error - 3:29:38 PM] The ESLint server crashed 5 times in the last 3 minutes. The server will not be restarted. See the output for more information.
[Info  - 3:29:38 PM] ESLint server stopped.

Runtime
Node v16
Package manager
npm v8
OS
macOS
Build and bundle tools
Next.js

{
  "eslint.runtime": "node"
}

See https://github.com/mdx-js/vscode-mdx#known-vscode-eslint-issues

@JounQin That did it! Really appreciate the help.


feat: add an OfScientific instance for NNRat and NNReal

The existing RatCast.toOfScientific instance has to be removed since it forms a non-defeq diamond (there is nothing enforcing that nnratCast and ratCast  are defeq).
The norm_num extension also needs some fixes, though the old design didn't make much sense anyway, as it synthesize the instances separately, thus losing important defeqs.

This is probably not quite in the right place: unfortunately I can't put it next to RatCast.toOfScientific as there don't seem to be suitable lemmas there.

No, the problematic lemma is mkRat_nonneg which is immediately above the one added in this PR.

Then I believe mkRat_nonneg and everything can actually move to an earlier file. Mind moving them?

Now that I had to delete the original instance anyway, I think the move is less compelling.


Convert premium endpoints to enterprise equivalents

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Tony Vu seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Is there a way to make these updates optional, rather than overwriting them for premium users? or am I missing something?

@andypiper - Sorry I opened this PR by accident on the wrong repo so ended up closing it 4 days ago. I actually forked this repo and merged these changes into the forked repo.