Remove Krylov dep & add 1.8 testing

Closing this since removing Krylov seems like a bad idea. It's very lightweight and other packages are not compatible with LinearOperators. I'll do the necessary changes for 1.8 testing on another branch


Failed to pull from second or third registry mirror if registry mirrors have different auth

Description

After specified multiple registry mirrors for one registry, and they have different username and password, I found that crictl is unable to pull from the second registry mirror or third one.
But if I moved the second registry mirror to first, then I'm able to pull from this new first registry mirror, but not the new second one.
It will be able to pull from second one only if the second one doesn't need authentication.
Steps to reproduce the issue:

I configured three registry mirrors for gcr.io: http://<IP_ADDRESS>:5000, https://<IP_ADDRESS>:5010, https://<IP_ADDRESS>:5007. The <IP_ADDRESS>:5010 one and <IP_ADDRESS>:5007 one need authentication, and I have specified the auth information in the settings.
containerd's config.toml is like below:
[plugins."io.containerd.grpc.v1.cri".registry]
      [plugins."io.containerd.grpc.v1.cri".registry.configs]
        [plugins."io.containerd.grpc.v1.cri".registry.configs."gcr.io"]
          [plugins."io.containerd.grpc.v1.cri".registry.configs."gcr.io".auth]
            auth = 'auth'
          [plugins."io.containerd.grpc.v1.cri".registry.configs."<IP_ADDRESS>:5007".tls]
            ca_file = '/etc/containerd/certs.d/<IP_ADDRESS>:5007/ca.crt'
          [plugins."io.containerd.grpc.v1.cri".registry.configs."<IP_ADDRESS>:5007".auth]
            auth = 'dGVzdHVzZXI6dGVzdHBhc3N3b3Jk'
          [plugins."io.containerd.grpc.v1.cri".registry.configs."<IP_ADDRESS>:5010".tls]
            ca_file = '/etc/containerd/certs.d/<IP_ADDRESS>:5010/ca.crt'
          [plugins."io.containerd.grpc.v1.cri".registry.configs."<IP_ADDRESS>:5010".auth]
            auth = 'dGVzdHVzZXIyOnRlc3RwYXNzd29yZDI='
      [plugins."io.containerd.grpc.v1.cri".registry.mirrors]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."gcr.io"]
          endpoint = ["http://<IP_ADDRESS>:5000", "https://<IP_ADDRESS>:5010", "https://<IP_ADDRESS>:5007"]

I have uploaded a image into <IP_ADDRESS> named second-hello:latest
Also uploaded an image into <IP_ADDRESS> named hello-world:latest
Uploaded an image into <IP_ADDRESS> named third-hello:latest

Run crictl pull gcr.io/second-hello
It pulled successfully: Image is up to date for sha256:d1165f2212346b2bab48cb01c1e39ee8ad1be46b87873d9ca7a4e434980a7726
Run crictl pull gcr.io/hello-world
It pulled successfully: Image is up to date for sha256:d1165f2212346b2bab48cb01c1e39ee8ad1be46b87873d9ca7a4e434980a7726
Run crictl pull gcr.io/third-world
Failed: FATA[0000] pulling image: rpc error: code = Unknown desc = failed to pull and unpack image "gcr.io/third-hello:latest": failed to resolve reference "gcr.io/third-hello:latest": unexpected status code [manifests latest]: 401 Unauthorized

Update containerd's config.toml, change registry mirror's sequence only:
[plugins."io.containerd.grpc.v1.cri".registry]
      [plugins."io.containerd.grpc.v1.cri".registry.configs]
        [plugins."io.containerd.grpc.v1.cri".registry.configs."gcr.io"]
          [plugins."io.containerd.grpc.v1.cri".registry.configs."gcr.io".auth]
            auth = 'auth'
          [plugins."io.containerd.grpc.v1.cri".registry.configs."<IP_ADDRESS>:5007".tls]
            ca_file = '/etc/containerd/certs.d/<IP_ADDRESS>:5007/ca.crt'
          [plugins."io.containerd.grpc.v1.cri".registry.configs."<IP_ADDRESS>:5007".auth]
            auth = 'dGVzdHVzZXI6dGVzdHBhc3N3b3Jk'
          [plugins."io.containerd.grpc.v1.cri".registry.configs."<IP_ADDRESS>:5010".tls]
            ca_file = '/etc/containerd/certs.d/<IP_ADDRESS>:5010/ca.crt'
          [plugins."io.containerd.grpc.v1.cri".registry.configs."<IP_ADDRESS>:5010".auth]
            auth = 'dGVzdHVzZXIyOnRlc3RwYXNzd29yZDI='
      [plugins."io.containerd.grpc.v1.cri".registry.mirrors]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."gcr.io"]
          endpoint = ["https://<IP_ADDRESS>:5007", "http://<IP_ADDRESS>:5000", "https://<IP_ADDRESS>:5010"]

Run crictl pull gcr.io/second-hello
It pulled successfully: Image is up to date for sha256:d1165f2212346b2bab48cb01c1e39ee8ad1be46b87873d9ca7a4e434980a7726
Run crictl pull gcr.io/hello-world
Failed: FATA[0000] pulling image: rpc error: code = Unknown desc = failed to pull and unpack image "gcr.io/hello-world:latest": failed to resolve reference "gcr.io/hello-world:latest": unexpected status code [manifests latest]: 401 Unauthorized
Run crictl pull gcr.io/third-world
It pulled successfully: Image is up to date for sha256:d1165f2212346b2bab48cb01c1e39ee8ad1be46b87873d9ca7a4e434980a7726
Describe the results you expected:
No matter the registry mirror sequence or they required auth or not, I should be able to pull all these three images successfully.
What version of containerd are you using:
$ containerd --version
containerd github.com/containerd/containerd v1.4.3-gke.0 269548fa27e0089a8b8278fc4fc781d7f65a939b

Any other relevant information (runC version, CRI configuration, OS/Kernel version, etc.):
runC version:
runc version v1.0.0-rc92
commit: ff819c7e9184c13b7c2607fe6c30ae19403a7aff
spec: 1.0.2-dev

thank you for the careful and detailed description of your problem @yongxiu
Of note we have a brand new host configuration model in 1.5 (and have deprecated configs & mirrors from 1.4) see:
https://github.com/containerd/containerd/blob/master/docs/cri/config.md#registry-configuration
and this wip document that describes hosts.toml:
https://github.com/containerd/containerd/pull/5309/files

Second note.. most uses of CRI pull image come through kubelet which passes auth to use from image pull secrets.

Running into the same issue. EKS nodes, containerd 1.4, have a private gitlab registry in the config file, and it seems like it just ignores auth.
version = 2

[plugins."io.containerd.grpc.v1.cri".registry]
      [plugins."io.containerd.grpc.v1.cri".registry.configs]
        [plugins."io.containerd.grpc.v1.cri".registry.configs."gitlab-registry.int.mydomain.com"]
          [plugins."io.containerd.grpc.v1.cri".registry.configs."gitlab-registry.int.mydomain.com".auth]
            auth = 'authstuffhere'
      [plugins."io.containerd.grpc.v1.cri".registry.mirrors]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."gitlab-registry.int.mydomain.com"]
          endpoint = ["https://gitlab-registry.int.mydomain.com","http://gitlab-registry.int.mydomain.com"]

# ctr --debug i pull gitlab-registry.int.mydomain.com/nl-application/misp:latest
DEBU[0000] fetching                                      image="gitlab-registry.int.mydomain.com/nl-application/misp:latest"
DEBU[0000] resolving                                     host=gitlab-registry.int.mydomain.com
DEBU[0000] do request                                    host=gitlab-registry.int.mydomain.com request.header.accept="application/vnd.docker.distribution.manifest.v2+json, application/vnd.docker.distribution.manifest.list.v2+json, application/vnd.oci.image.manifest.v1+json, application/vnd.oci.image.index.v1+json, */*" request.header.user-agent=containerd/1.4.1 request.method=HEAD url="https://gitlab-registry.int.mydomain.com/v2/nl-application/misp/manifests/latest"
DEBU[0000] fetch response received                       host=gitlab-registry.int.mydomain.com response.header.connection=keep-alive response.header.content-length=162 response.header.content-type=application/json response.header.date="Tue, 27 Apr 2021 18:40:39 GMT" response.header.docker-distribution-api-version=registry/2.0 response.header.server=nginx response.header.www-authenticate="Bearer realm=\"https://gitlab.int.mydomain.com/jwt/auth\",service=\"container_registry\",scope=\"repository:nl-application/misp:pull\"" response.header.x-content-type-options=nosniff response.status="401 Unauthorized" url="https://gitlab-registry.int.mydomain.com/v2/nl-application/misp/manifests/latest"
DEBU[0000] Unauthorized                                  header="Bearer realm=\"https://gitlab.int.mydomain.com/jwt/auth\",service=\"container_registry\",scope=\"repository:nl-application/misp:pull\"" host=gitlab-registry.int.mydomain.com
DEBU[0000] do request                                    host=gitlab-registry.int.mydomain.com request.header.accept="application/vnd.docker.distribution.manifest.v2+json, application/vnd.docker.distribution.manifest.list.v2+json, application/vnd.oci.image.manifest.v1+json, application/vnd.oci.image.index.v1+json, */*" request.header.user-agent=containerd/1.4.1 request.method=HEAD url="https://gitlab-registry.int.mydomain.com/v2/nl-application/misp/manifests/latest"
ctr: failed to resolve reference "gitlab-registry.int.mydomain.com/nl-application/misp:latest": failed to authorize: failed to fetch anonymous token: unexpected status: 403 Forbidden

Am I missing something here?

Running into the same issue. EKS nodes, containerd 1.4, have a private gitlab registry in the config file, and it seems like it just ignores auth.
version = 2

[plugins."io.containerd.grpc.v1.cri".registry]
      [plugins."io.containerd.grpc.v1.cri".registry.configs]
        [plugins."io.containerd.grpc.v1.cri".registry.configs."gitlab-registry.int.mydomain.com"]
          [plugins."io.containerd.grpc.v1.cri".registry.configs."gitlab-registry.int.mydomain.com".auth]
            auth = 'authstuffhere'
      [plugins."io.containerd.grpc.v1.cri".registry.mirrors]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."gitlab-registry.int.mydomain.com"]
          endpoint = ["https://gitlab-registry.int.mydomain.com","http://gitlab-registry.int.mydomain.com"]

Above has been fiddled so much with that I am not sure what I am doing anymore 😂
# ctr --debug i pull gitlab-registry.int.mydomain.com/nl-application/misp:latest
DEBU[0000] fetching                                      image="gitlab-registry.int.mydomain.com/nl-application/misp:latest"
DEBU[0000] resolving                                     host=gitlab-registry.int.mydomain.com
DEBU[0000] do request                                    host=gitlab-registry.int.mydomain.com request.header.accept="application/vnd.docker.distribution.manifest.v2+json, application/vnd.docker.distribution.manifest.list.v2+json, application/vnd.oci.image.manifest.v1+json, application/vnd.oci.image.index.v1+json, */*" request.header.user-agent=containerd/1.4.1 request.method=HEAD url="https://gitlab-registry.int.mydomain.com/v2/nl-application/misp/manifests/latest"
DEBU[0000] fetch response received                       host=gitlab-registry.int.mydomain.com response.header.connection=keep-alive response.header.content-length=162 response.header.content-type=application/json response.header.date="Tue, 27 Apr 2021 18:40:39 GMT" response.header.docker-distribution-api-version=registry/2.0 response.header.server=nginx response.header.www-authenticate="Bearer realm=\"https://gitlab.int.mydomain.com/jwt/auth\",service=\"container_registry\",scope=\"repository:nl-application/misp:pull\"" response.header.x-content-type-options=nosniff response.status="401 Unauthorized" url="https://gitlab-registry.int.mydomain.com/v2/nl-application/misp/manifests/latest"
DEBU[0000] Unauthorized                                  header="Bearer realm=\"https://gitlab.int.mydomain.com/jwt/auth\",service=\"container_registry\",scope=\"repository:nl-application/misp:pull\"" host=gitlab-registry.int.mydomain.com
DEBU[0000] do request                                    host=gitlab-registry.int.mydomain.com request.header.accept="application/vnd.docker.distribution.manifest.v2+json, application/vnd.docker.distribution.manifest.list.v2+json, application/vnd.oci.image.manifest.v1+json, application/vnd.oci.image.index.v1+json, */*" request.header.user-agent=containerd/1.4.1 request.method=HEAD url="https://gitlab-registry.int.mydomain.com/v2/nl-application/misp/manifests/latest"
ctr: failed to resolve reference "gitlab-registry.int.mydomain.com/nl-application/misp:latest": failed to authorize: failed to fetch anonymous token: unexpected status: 403 Forbidden

Am I missing something here?

ctr does not use the CRI config

I guess I am more lost than I though. Ill open my own issue with questions after I bang my head more against this. Thanks!

This seems to be a bug in the code (golang misusage). https://github.com/containerd/containerd/blob/master/pkg/cri/server/image_pull.go#L391
package main

import "fmt"

func a() (func(), func()) {
  var a, b int = 1, 2
  p := &a
  f1 := func() { fmt.Println(*p) }
  p = &b
  f2 := func() { fmt.Println(*p) }
  return f1, f2
}

func main() {
        f1, f2 := a()
        f1()
        f2()
}

Output:
2
2

Proposed a fix https://github.com/containerd/containerd/pull/5446


[1/x] clean up casting functions

Stack from ghstack (oldest at bottom):

#343
-> #342
#341

Summary:
This is a start of a cleanup of private casting functions in preparation for
rowwise scaling.  In this PR:

create float8_scaling_utils.py to unify functions which take a
high precision tensor and return a float8 tensor, taking care of
scaling
delete Float8Tensor.to_float8 and move callsites to
ToFloat8ConstrFunc, since the two functions do the same thing

The end result is a slightly cleaner state, future PRs will do more
cleanups.
Test Plan:
./test/test_everything.sh

Reviewers:
Subscribers:
Tasks:
Tags:

started a new PR due to ghstack error


Is there a way to get a font from a url or what?

As the title says, I want to get a font from a URL
doc.font('https://cdn.jsdelivr.net/gh//CalebDelbridge/CalebDelbridge/fonts/AvertaFont.ttf').text('HELLO WORLD')

Does not work just returns no directory, which is kind of stupid, and even when I do specify a dir, it fails

Nvm


Generate sample Java bot command line option fails if it is the wrong case

Repro:
Following the "Create a bot" document here: https://docs.microsoft.com/en-us/azure/bot-service/bot-service-quickstart-create-bot?view=azure-bot-service-4.0&tabs=java%2Cvs
Giving the command:
yo botbuilder-java --botname "bruces-core-bot-java-1" --packageName "core-bot-package" --template "Core Bot"
...starts the generator. However, the generator does not pick up "bruces-core-bot-java-1" as the default name. It offers "echo" instead.
When I use the parameter --botName instead of --botname, it works correctly.
Expected:
I would expect the command options to work regardless of their case.
If the case sensitivity is the intended design, then I would expect the "Create a bot" document to clarify that, as case sensitivity is not the standard in a Windows environment. This fix would eliminate a "gotcha" for a newbie.

Turns out case sensitivity is a behavior of the Yeoman generator which we do not control. I do not see a work-around. I have filed documentation issue 2139 here: https://github.com/MicrosoftDocs/bot-docs/issues/2139


Update solana.tokenlist.json

I agree to not ping anybody on Discord/Twitter/email about this pull request. Instead I will inquire by posting a new comment in the pull request if needed.

PRs are reviewed in bulk and and can take up to two weeks to be merged.
Please provide the following information for your token.
Please include change to the src/tokens/solana.tokenlist.json file in the PR.
DON'T modify any other token on the list.
At minimum each entry should have

Token Address:
Token Name:
Token Symbol:
Logo: (logo should be uploaded under assets/mainnet//*.<png/svg>)
Link to the official homepage of token:
Coingecko ID if available (https://www.coingecko.com/api/documentations/v3#/coins/get_coins__id_):

✖ Token list does not have duplicate entries
src/lib/tokenlist.spec.ts:77
76:
77:       t.false(agg.has(item.address));
78:       agg.set(item.address, item);
Value is not false:
true
› src/lib/tokenlist.spec.ts:77:14
› Array.reduce ()
› src/lib/tokenlist.spec.ts:72:6
─
1 test failed


fix!: merge payload and data fields of Request

Description

We had data and payload fields on the Request model.

payload was not being provided to the HTTP clients, only the data field.

~In this PR, I'm merging them together, keeping only the data field (use the same naming as HTTPX & CurlImpersonate).~
In this PR, I'm merging them together, keeping only the payload field (use the same naming as in JS Crawlee).
I also defined type aliases for HTTP data and HTTP query parameters and used them across the project.
Some struggle with Pydantic & serialization, but should be OK now...

Issues

N/A (ad-hoc fix; reported by @honzajavorek on Slack)

Testing

The current set of unit tests should cover the changes.

Checklist

[x] CI passed

JS version have only payload, we should aim for compact with that in the first place.

I learned about data here, but I don't see it in changed files: https://crawlee.dev/python/docs/examples/fill-and-submit-web-form#preparing-a-post-request

It also says "Alternatively, you can send form data as URL parameters using the query_params argument." btw, not sure if that is something related or not.

Also, since this is breaking, maybe we should wait, and merge it once we have more breaking changes than a simple one like this (or some feature worth the minor bump).

We will have the first version of fingerprints for Playwright soon :crossed_fingers:.

I learned about data here, but I don't see it in changed files: https://crawlee.dev/python/docs/examples/fill-and-submit-web-form#preparing-a-post-request

Thanks. Of course, I forgot to update the docs.

Also, since this is breaking, maybe we should wait, and merge it once we have more breaking changes than a simple one like this (or some feature worth the minor bump).

I've separated the Curl impersonation fix and other minor updates into a separate PR (#543), allowing us to release a patch version for 0.3.
The payload & data merge and HttpHeaders thing will be resolved later...

A new model for HttpHeaders was also moved to a separate PR #544 and merged.

Nice work @vdusek, and sorry for taking multiple rounds of review to pinpoint all issues.


[chore] Update package name and fix a minor typo in the README file

Fixes #26

Fixes #26

@Emmo00 awesome PR, you may have to change your commit as it doesn't follow the conventional commits guideline we use in The Boring JavaScript Stack.
See here on how to change the commit message and also check out CONTRIBUTING.md in repo on what format your commit message should be.

hello @DominusKelvin , is this Okay?

Much better, Thanks @Emmo00


Document common case of "for 'text-file'.IO.lines -> $_ is copy { s/foo/bar/; .say }"

The question was discussed on IRC: http://irclog.perlgeek.de/perl6/2016-02-17#i_12057580 .  I feel it may not be obvious to newb from Perl 5 who tries (for example):
for 'text-file'.IO.lines <-> $_ { s/foo/bar/ }

what to do with the error message "expected a writable container".
As a common case it may make sense to document the needed "is copy", and on IRC it was suggested the comments go with the "lines" documentation.  So, for example, the end of the lines documentation in Cool.pod.

Fixed with https://github.com/perl6/doc/commit/299a655b3f8046dbb74a395294ecc7fdb4fdfe70 .


fix: style mdx a tags

Changes

adds baseline style to mdx anchor tags, just adding an underline for now. design team can do what they want with it post-mvp.
fixes #106

adds baseline style to mdx anchor tags, just adding an underline for now. design team can do what they want with it post-mvp.

It's almost an agreeable style as it is. Uncomplicated - same colour and boldness of text. But interested to see what Design could do with it!


Add features missing from NftOptions

Fixes #1331
Change checklist
Tick the boxes that are relevant to your changes, and delete any items that are not.

[ ] I have followed the contribution guidelines for this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have checked that new and existing unit tests pass locally with my changes

https://github.com/thibault-martinez/wallet.rs/pull/2


PromtailDown alert should only page when nodes are ready

Before adding a new alerting rule into this repository you should consider creating an SLO rules instead.
SLO helps you both increase the quality of your monitoring and reduce the alert noise.

How to create a SLO rule: https://github.com/giantswarm/sloth-rules#how-to-create-a-slo
Documentation: https://intranet.giantswarm.io/docs/monitoring/slo-alerting/

Towards: fixing an alert :(
This PR ensures promtail down only pages when the node it is scheduled on is ready. This will avoid false alerts
@giantswarm/team-atlas I will create a silence for the ongoing alert because I've no idea why the tests are failing but I cannot read promtool syntax
Checklist

[x] Update CHANGELOG.md
[ ] Add Unit tests
[ ] Follow Alert structure
[ ] Consider creating a dashboard (guidelines) (if it does not exist already) to help oncallers monitor the status of the issue.
[ ] Request review from oncall area, as well as team (e.g: oncall-kaas-cloud GitHub group).

@giantswarm/team-atlas and specifically @TheoBrigitte what do you think now that the alert is fixed?

@giantswarm/team-atlas and specifically @TheoBrigitte what do you think now that the alert is fixed?

Still there's no inhibition here.

Inhibition work is being done here https://github.com/giantswarm/prometheus-meta-operator/pull/1679 as we will need it for all our daemonsets

@TheoBrigitte we have an inhibition now :)


Webview can be dragged both vertically and horizontally on iOS

[x] I have read the Get Started - Installation section
[x] I have read and done the Get Started - Setup Android section
[x] I have read and done the Get Started - Setup iOS section
[x] I have already searched for the same problem

Environment

Technology
Version

Flutter version
2.10.5

Plugin version
^5.4.3+7

Android version

iOS version
15.5

Xcode version
13.3.1

Device information:  any iOS device
Description
Webview can be dragged all over the screen. This happens only on iOS but not on Android.
These are the IOSInAppWebViewOptions which I have tried, but no luck.
alwaysBounceVertical: true,         alwaysBounceHorizontal: false,         disallowOverScroll: false
Let me know if you have a solution/workaround for this issue.
Expected behavior:
The webview should fit to the screen.
Current behavior:
https://user-images.githubusercontent.com/12936504/172730169-b53402ac-7c65-4d33-9209-e82233ee5434.MP4

same question

Same here


cinny: 2.2.4 -> 2.2.6

Description of changes
https://github.com/cinnyapp/cinny/releases/tag/v2.2.5
https://github.com/cinnyapp/cinny/releases/tag/v2.2.6
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[x] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Please add the release notes URL into the commit messages, as well as a reference to the CVE id.

The backport cannot work, given that we have 2.2.2 on release-22.11.


Admin Account

Admin is not added to the Administrators Group on install, I think it was in the past and probably expected to be.

I don't think it was and I don't think this is required. The admin account is special in a way that it doesn't check permissions and simple returns true. That helps if your permissions are messed up, admin can still access everything so it's not related to the Administrators group. I agree that this might be confusing though..

The admin user and the Administrators group have nothing to do with each other. The admin user always has full access to the site. They don't even get run through any permissions. You could even exclude the admin user from certain permissions and it wouldn't matter – because if a user is logged in as the admin the permissions checks don't even get run. This is by design. The admin user has never been a part of the Administrators group. Never. It's not the expected behavior. The admin user is special, set apart.


[SPARK-35248] Spark shall load system class first in IsolatedClientLoader

What changes were proposed in this pull request?
Fix the behavior of IsolatedClientLoader to load system classes first.
Why are the changes needed?
By convention, Spark shall use system jars first unless spark.driver.userClassPathFirst is defined. There's no reason the break the contract when loading HMS client jar using IsolatedClientLoader.
Does this PR introduce any user-facing change?
No
How was this patch tested?
Unit test added in HiveUtilsSuite

Can one of the admins verify this patch?

ok to test

Test build #138021 has started for PR 32373 at commit 3f78059.

Kubernetes integration test unable to build dist.
exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/42539/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/42539/

Test build #138021 has finished for PR 32373 at commit 3f78059.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/138021/

Test build #138028 has started for PR 32373 at commit cf169b1.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/42547/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/42547/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/42547/

Test build #138028 has finished for PR 32373 at commit cf169b1.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/138028/

can you describe the jar loading order in the PR description?

Updated the description.


chore(package): update eslint-plugin-react to version 7.12.4

Pull Request Test Coverage Report for Build 179

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 95.495%

Totals

Change from base Build 176:
0.0%

Covered Lines:
77

Relevant Lines:
77

💛  - Coveralls


What JSON are you talking about?

This claims "full JSON support", yet your source file says "We do not support key names with embedded \0 chars".
Which is it?

Yes.

@MikuChan03 Looking at your activity I see you're on a little crusade to add features to various json parsers. I get your point but do you have to be so toxic about asking for features in open source libraries?


Fix for ffmpeg 90k frame-rate guess

Updated ffrender to declare 60fps as the max frame-rate in the SDP.
Updated ffrender to include the bitrate estimate if specified by --audio-bitrate or --video-bitrate.

This doesn't quite work yet. Had a negative test show up with these settings.


OSError: could not get source code

Nuitka version, full Python version, flavor, OS, etc. as output by this exact command.

python -m nuitka --version

python -m nuitka --version
2.3.11
Commercial: None
Python: 3.11.9 (main, Jun 27 2024, 02:59:12) [GCC 7.3.1 20180712 (Red Hat 7.3.1-17)]
Flavor: Unknown
Executable: /.venv/bin/python
OS: Linux
Arch: x86_64
Distribution: Amzn (based on Fedora) 2
Version C compiler: /bin/gcc (gcc 7).

How did you install Nuitka and Python

cd /usr/local/src
sudo yum -y install openssl-devel
sudo yum install sqlite-devel
wget https://www.python.org/ftp/python/3.11.9/Python-3.11.9.tgz
tar -xvf Python-3.11.9.tgz
cd Python-3.11.9
./configure --prefix=/usr/local/ --enable-optimizations --with-openssl=/usr
sudo make
sudo make altinstall
virtualenv --python="/usr/local/bin/python3.11" .venv
source ./.venv/bin/activate
python -m pip install --upgrade pip
python -m pip install nuitka

The specific PyPI names and versions

python -m pip list -v

Package                           Version      Location                                                                       Installer
--------------------------------- ------------ ------------------------------------------------------------------------------ ---------

dash                              2.14.1       /.venv/lib/python3.11/site-packages pip
Flask                             3.0.0        /.venv/lib/python3.11/site-packages pip
Nuitka                            2.3.11       /.venv/lib/python3.11/site-packages pip

The app is in ./app/test_dashboard/test_web_app.py:

import time
import os

from flask import Flask
from dash import Dash, DiskcacheManager, Input, Output, html, callback

import diskcache
cache = diskcache.Cache("./cache")
background_callback_manager = DiskcacheManager(cache)

server = Flask(__name__)

app = Dash(__name__, server=server)

app.layout = html.Div(
   [
       html.Div([html.P(id="paragraph_id", children=["Button not clicked"])]),
       html.Button(id="button_id", children="Run Job!"),
   ]
)

@callback(
   output=Output("paragraph_id", "children"),
   inputs=Input("button_id", "n_clicks"),
   background=True,
   manager=background_callback_manager,
)
def update_clicks(n_clicks):
   time.sleep(2.0)
   return [f"Clicked {n_clicks} times"]

if __name__ == "__main__":
   app.run(debug=False, host='<IP_ADDRESS>', port=os.environ.get("PORT", 80))

The app was compiled with nuitka using:

python -m nuitka --module ./app/test_dashboard --include-package=app.test_dashboard --output-dir=./app

I'm trying to run this web app compiled with nuitka using gunicorn:

gunicorn --timeout 0 --log-level debug --workers 1 --threads 1 --worker-class gevent -b <IP_ADDRESS>:80 app.test_dashboard.test_web_app:server

I'm getting:
File "./.venv/lib/python3.11/site-packages/dash/long_callback/managers/__init__.py", line 110, in hash_function   fn_source = inspect.getsource(fn)               ^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/inspect.py", line 1258, in getsource   lines, lnum = getsourcelines(object)                 ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/inspect.py", line 1240, in getsourcelines   lines, lnum = findsource(object)                 ^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/inspect.py", line 1077, in findsource   raise OSError('could not get source code') OSError: could not get source code

Please, help.
Thank you.

This looks as if dash wants to get a hash of a function by using its source code, if that's the case, and maybe it is for persistent caching of results, then this needs a replacement where either the source code is included, or the hash of functions is compile time computed. Somebody would have to look at dash.long_callback.managers.hash_function to confirm my suspects and propose a solution.

They marked https://github.com/plotly/dash/issues/2921 as a duplicate of https://github.com/plotly/dash/pull/2922. Then, they solved https://github.com/plotly/dash/pull/2922, merged into dev eef8f1cbedcadca12878ecf34e12dfba6923227b and released 2.18.0 https://github.com/plotly/dash/commit/a889d660567ed805e61cdf027e0642809404e902 and 2.18.1 after that https://github.com/plotly/dash/commit/7c85e48efbecae0274f1d5c80a52e2ad9b3b852b
I'm using
dash                              2.18.1
dash-bootstrap-components         1.6.0
and I still have the same issue as mention above.
What am I missing?
Thank you.


$or query with a REST GET request ($or needs an array)

Hi,
With REST provider & mongoose, I can easily query with $in, $sort... like that:
GET /messages?read=true&$sort[createdAt]=-1
The result query will be
{
  "read": "true",
  "$sort": { "createdAt": "-1" }
}

But how can I do a $or query with the REST provider ? because
GET /users?$or[roles]=admin&$or[roles]=super-admin
will result as:
{
  "$or": {
    roles: [admin, super-admin]
  }
}

However, $or needs an array. How can I build my GET query request to get the expected format http://docs.feathersjs.com/databases/querying.html#or ?

The query is parsed with Nodes querystring module which should show some examples for how to do arrays.
Your query looks more like a candidate for $in though I think: GET /users?roles[$in]=admin&roles[$in]=super-admin

The $in solution works, thanks !
However, I did not find in querystring docs how to do array. So I can manage to create a $or request with a GET REST call.

I think you are right, nested objects don't seem to be possible with the built-in module. You should be able to replace it with qs which is able to do more advanced parsing.

OK, thanks for your answers !


Do not merge Attemp to resolve deadlock

avoid fifo open deadlock
refs:https://users.rust-lang.org/t/fifos-problem-in-rust-if-it-should-be-kernels-problem/121779

The pipe-specific version is generally better when you know you're dealing with a Unix pipe, as it's more semantically correct and handles pipe-specific behaviors more robustly. You'd typically use this when building applications that need to interact with other processes through pipes or when dealing with stdin/stdout in an async context. Nicely done!

The pipe-specific version is generally better when you know you're dealing with a Unix pipe, as it's more semantically correct and handles pipe-specific behaviors more robustly. You'd typically use this when building applications that need to interact with other processes through pipes or when dealing with stdin/stdout in an async context. Nicely done!

I have discovered this issue, but there is still no good way to avoid this deadlock. The submission is non blocking and cannot meet the requirements. If you have any ideas to avoid it from the kernel layer or user mode, thank you very much.

Your OpenOptions::new().open_receiver change can also be made to the copy_console method

Thanks , but this resolution still in progress,  please continue to follow https://users.rust-lang.org/t/fifos-problem-in-rust-if-it-should-be-kernels-problem/121779

True, this is a deeper architectural issue with containerd's FIFO handling

True, this is a deeper architectural issue with containerd's FIFO handling

Now I want to solve the problem of concurrency caused by Fifo in Blocking mode. So if  you have any ideas, thank you very much.
Notice  that , I found that it doesn't always cause a FIFO read or write deadlock when blocking the card owner.


[BUG]

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.
[X] I have thoroughly looked through the available Wiki articles and could not find a solution to my problem.
[X] I am using the latest version of Bloxstrap.
[X] I did not answer truthfully to all the above checkboxes.

Bloxstrap Version
v.2.8.1
What problem did you encounter?
System.AggregateException: One or more errors occurred. (The given key 'content-platform-dictionaries.zip' was not present in the dictionary.)
[Inner Exception]
System.Collections.Generic.KeyNotFoundException: The given key 'content-platform-dictionaries.zip' was not present in the dictionary.
Bloxstrap Log
No response

you are not on the latest version. stop lying.


Use ansible_user_id instead of ansible_user on podman fix

As a pull request owner and reviewers, I checked that:

[x] Appropriate testing is done and actually running

/approve
/lgtm
I think we'll have to override zuul result again.... Note that this issue wasn't caught in molecule apparently.

/override rdoproject.org/github-check
there are issues with libvirt_manager related tests in molecule, I'm investigating them now, and it's kind of weird...


Add a translation service

Add the ability to translate your app into other languages. There are special services for this, for example, Weblate.

I have not enjoyed working with source codes that use translation services in the past. However I am open to reading any PRs that include translation services. Also this project is put on the f-droid store so every service used needs to be FOSS

Weblate is a FOSS and it have many servers.
F-Droid requires that the application itself does not access third-party services, and what is used during development is not important. There are many programs that use Weblate or other closed translation services.
Sometimes it's hard for translators to understand the file structure of each project, and it's not convenient.
I'm not a mobile app developer (Android/IOS) and I don't have Android Studio.


fix(dep): update to be compatible with @google-cloud/common 2.1.X

@JustinBeckwith -- Any guidance on making our headers compliant with header-check?

@nolanmar511 right now it's safe to ignore that - it shouldn't be required.  Working with @bcoe to figure out how to roll this bot out :)


eager loading is not working with base model have same foreign key

Eager loading is not working when books belongs to same author.
I wrote a test code.
https://github.com/jihunleekr/php-activerecord/commit/fd3d56047fef560f0e17a17a90d06685ee506c24

Interesting. Would you like to submit a PR so that we can see the failed test and work towards a solution?

OK. Thank you.


Visual bug, scrollbar bottom on styleguide when an structure have the @flag full-width

All in the title.
Affect the actual nucleus version.

It's because an element with width: 100vw is on the page. The 100vw value ignore the scroll-bar at right).
The common issue is to apply overfow-x: hidden on doccument.
I will submit a PR for that

Which browser is that happening with?

On all navigator that I test it
On linux, unbuntu 16.04:

Chrome
Chromium
Opera
Firefox

On mac, OsX 10.9:

Chrome
Safari
Firefox


Repeater: pageChanged.fu.repeater fires itself twice on every pagechange

Bind the pageChanged.fu.repeater to your repeater, in my example it is spitting out a console.log. See that the event is fired twice when the user changes the page number in the input box.
Expected Result: this event is fired once.
If this worked as expected it would facilitate a way to limit the user from entering page numbers out of the range provided by the datasource.
CodePen example: http://codepen.io/dkilgore/pen/oxpNzj

It looks like this is a combobox control issue. At some point in the recent past, it looks like the UX pattern for combobox changed to only allow options within the dropdown menu. This was after the repeater control was created. Therefore if you enter a number not on the dropdown list. It is changed on pressing enter and then again when combobox forces it back to an item in the list.
I've been able to duplicate this at http://localhost:8000/#combobox
If you type in something not on the list, it goes to another item on the list "Two2" becomes "Three". I'll have to dig into combobox to figure this out.
Thanks @dkilgore for bringing this to our attention.

@dkilgore Would you be able to pull this down and see if it solves your problem here. pageChanged should only be emmiting once now.
The dist is built so that should be able to be copy/pasted.
https://github.com/interactivellama/fuelux/tree/combobox-select-changed

@interactivellama Works for me, thanks for the fix! :shipit:


Reproducing published accuracy results

I am trying to reproduce the accuracy results of CPT+ that were published on PAKDD paper, but when I run the implementation (as it currently is), the accuracies that I get are way off (for some datasets).
For example SIGN, MSNBC get around 2% and 30% respectively. In the paper for the same datasets CPT+ has accuracies around 33% and 61% respectively.
Could you please provide me the profiles that you used to publish the results of the paper ?
(Sorry if you have done already and I have missed it)
Rafael.

@rafkt, I apologize for the ridiculous delay. As a reference for future reader: if you clone this repo and run ipredict/controllers/MainController.java  you will get the similar results as the paper. I just got 33% accuracy for CPT+ on SIGN and 59% on MSNBC.
The profiles in this repo are the same as the one in the research papers.


Regarding NuGet support

I've stumbled across a substantially easier way of enabling reliable nuget-support for CppWinRT, which I'd like to know if it could be integrated as a default (or opt-in feature).
Following changes need to be done:

Remove packages.config
Create "global.json" file in solution-directory
Reference Microsoft.Windows.CppWinRT in msbuild-sdks

This way it is possible to not use the solution-relative packages-directory, not depend on hacky-ways of trying to resolve cross-repository packages-resolving strategies. (i.e. Git Submodules in Git Submodules trying to resolve the path to their known path of "..\packages\Microsoft.Windows.CppWinRT"-package)
The vcxproj needs to have following changes:
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="..\build\native\Microsoft.Windows.CppWinRT.props" Sdk="Microsoft.Windows.CppWinRT" />

<ImportGroup Label="ExtensionTargets">
  <Import Project="..\build\native\Microsoft.Windows.CppWinRT.targets" Sdk="Microsoft.Windows.CppWinRT" />
</ImportGroup>

Instead of the default packages.config-stuff.
The global.json needs following content:
"msbuild-sdks": {
	"Microsoft.Windows.CppWinRT": "2.0.200729.8"
}

If this is not possible I'd like to see that there is atleast a "Sdk"-folder inside the CppWinRT nuget package for Sdk.props and Sdk.targets which automatically resolves to build\native\Microsoft.Windows.CppWinRT.props / build\native\Microsoft.Windows.CppWinRT.targets respectively.
This does work with <Import Project="..\build\native\Microsoft.Windows.CppWinRT.props" Sdk="Microsoft.Windows.CppWinRT" Version="2.0.200921.6" />, though a <Sdk Name="Microsoft.Windows.CppWinRT" Version="2.0.200921.6" /> would be nice as well …

Not knowing much about msbuild, I'm not really sure whether this is a question about C++/WinRT or just msbuild in general. You may have better luck over on https://stackoverflow.com/, but perhaps @jlaanstra would like to comment.

@AliveDevil NuGet support for C++ is very limited. As far as I know MSBuild SDKs are unsupported for C++? Do you have docs that say otherwise?

@jlaanstra well … I dont have any docs that prove that this should work, nor that it shouldn‘t. This happened by accident trying to get NuGet without the packages.config to work - as PackageReference is not working, and Sdk-Includes require Sdk.props and Sdk.targets, I just tried rewriting the default Import-directive with a relative path to the „expected“ sdk/-folder, which - to my suprise - worked just out of the box. I expect this is part of the .Common-includes, which work regardless of project type.

It looks like global.json is explicitly part of the .NET tooling, see https://docs.microsoft.com/en-us/dotnet/core/tools/global-json?tabs=netcore3x which means we are not able to rely on this.

Going to check later whether setting an explicit version in the <Import Project=".props" Sdk="" Version="" />-directive (without using global.json) works without having .NET Core SDK installed - if this is the case I'd argue that atleast with the explicit Sdk-import this works independently using MSBuild 16.7 and 16.8.
Given that there's this document ([https://docs.microsoft.com/en-us/visualstudio/msbuild/how-to-use-project-sdk?view=vs-2019]), where there is this quote:

The NuGet-based SDK resolver supports specifying a version in the global.json file, which allows you to control the project SDK version in one place rather than in each individual project:

Given these steps for trying to resolve a SDK

A NuGet-based resolver that queries your configured package feeds for NuGet packages that match the ID and version of the SDK you specified.
A .NET CLI resolver that resolves SDKs that are installed with .NET CLI.
A default resolver that resolves SDKs that were installed with MSBuild.

The second being unavailable for, and the first one being active [only] if you specified an optional version. It can be used for any custom project SDK.,
I'd say: C++-projects are capable - by design (since MSBuild 15.0) - to use Sdk-based project imports.

@rainersigwald thoughts on if this is something that would work?

Feel free to keep the conversation going, but this is outside the scope of what we can tackle as part of C++/WinRT.


fix(toast): Fix the way we import Interweave

SUMMARY
Back when we updated Interweave here: https://github.com/apache/superset/commit/11c9c8a00c2150c488d3f2f4a3a43352cef40ce0 we broke the toasts. So this PR is fixing them.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
Before:

After:

TESTING INSTRUCTIONS

Open DB modal and test a connection
Create a DB
Delete the DB

All those operations should render the toast with no issues instead of the blank page we are getting now
ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

Closing this PR because the bug was present only because I was under the old version of Interweave. Now that I've updated it, it's all good.


Implement /database endpoint

This endpoint is not a priority

Artworks section (moved to #13)

[ ] UI Icons section

[x] 3D models section

[x] Stories section

basic 3D Model viewer done in #21

Stories section done in #69


Upgrade fluency-meter-registry

Upgrade fluency-meter-registry and some changes for refactoring and others.

@yoyama the change itself looks good 👍 Can you share the diff between 0.1.0 and 0.2.0 of fluency-meter-registry just in case?

@muga Thanks for pointing out.
Following the diff of 0.1.0 and 0.2.0.
https://github.com/yoyama/FluencyMeterRegistry/compare/rel-0.1.0...rel-0.2.0
It include class name, signature change and test framework change and others. So  a bit complicated.
Essential changes are as follows.
https://github.com/yoyama/FluencyMeterRegistry/blob/cd73da61611b791c31223c5dd2479ebbaf8579eb/src/main/scala/io/github/yoyama/micrometer/FluencyMeterRegistry.scala#L177-L190
Above code come from the digdag code as follows.
https://github.com/treasure-data/digdag/blob/v0_10/digdag-server/src/main/java/io/digdag/server/metrics/jmx/DigdagJmxMeterRegistry.java#L33-L59
These code remove metrics tag from Meter.Id  when Metrics instance created.


Fix compatibility with LogDensityProblemsAD 1.4

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 4 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 0.0%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/essential/ad.jl
0
4
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
0

Relevant Lines:
1422

💛  - Coveralls


Schema update and test for order in discover step

At first discover configs are sorted (order attribute takes priority over their position in the discover), then tests within each config are sorted by order attribute and their name.

/packit test


Re order kubernetes node discovery

This PR reorders the kubernetes node discovery process. NODE_NAME env var will be used to discover the node before machine-id is used. This will fix cases where some cloud provider instances where k8s nodes run on report wrong machine-ids, although the env var is correctly set. The process of discovery will now look like this:
// DiscoverKubernetesNode figures out the Kubernetes node to use.
// If host is provided in the config use it directly.
// If it is empty then try
// 1. If beat is deployed in k8s cluster, use hostname of pod as the pod name to query pod metadata for node name.
// 2. If step 1 fails or beat is deployed outside k8s cluster, use NODE_NAME env var.
// 3. If node cannot be discovered with step 1,2, use machine-id to match against k8s nodes for node name. In case it is not set return error.

Closes https://github.com/elastic/elastic-agent-autodiscover/issues/39

:green_heart: Build Succeeded

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Start Time: 2023-06-19T08:30:07.792+0000

Duration: 9 min 35 sec

Test stats :test_tube:

Test
Results

Failed
0

Passed
252

Skipped
0

Total
252

:robot: GitHub comments
Expand to view the GitHub comments

To re-run your PR in the CI, just comment with:

/test : Re-trigger the build.


Prevent self demotion

Fix for #3244
Disable checkboxes for is_active and is_superuser when can_delete is false, thus preventing admins from accidentally deactivating themselves or  "demoting" themselves to non-admin.  (Admins are are already prevented from deleting themselves)

This change just disables the checkboxes, so the checkbox is unresponsive.
But disabled checkboxes and radiobuttons aren't styled any differently; so they'll look normal but not respond.
I've experimented with adding some styling of disabled radio buttons and checkboxes to make it less confusing. But I decided to not include it for now since this needs some design decisions.

Hi @strindhaug,
I think there are a couple of problems with this approach:

We can't assume that "user editing their own record" is the only situation in which can_delete is false. An admin could conceivably set up a "managers" user group with add/edit (but not delete) permission over the User model, and in this case those managers should still logically keep the ability to edit the superuser / active flags. (Admittedly, this setup would have its own security problems, since there's nothing to stop a manager from creating a superuser account for themselves - but that's something we might fix in future (#537), and in any case, I think it's important for the system to behave correctly according to what the admin specifies, even if that is insecure...)
The checkboxes are only being disabled at the "cosmetic" level - they can still be hacked through the DOM inspector (for example), and the form handling logic won't validate it. (Again, this is a fairly theoretical concern at the moment, because you can't cause any damage other than locking yourself out... however, as a general policy, we really want to avoid this in any permission/security-related code.)

A better solution would be to update wagtailusers.forms.UserForm to accept the current user as a new argument to __init__ - the form would then be responsible for enforcing and validating the "users cannot demote themselves" business logic.

Yes, I realize using can_delete is a bit overly broad proxy for "not myself", and that disabling form element isn't secure against deliberate trying to lock yourself out...
But you can only ever try to protect an admin from accidentally locking themself out; because if they really want to lock themself and everyone else out, they could still just delete everyone else, and set their own password to a long generated random string and not remember/store the new password. ;)
But you're right it's cleaner if the form enforces this.

Maybe there should be a special "edit myself" form? One that don't require any special privileges (besides access to the backend) that only change personal info (not privileges and account status), that can be used by everyone and that is used when an admin tries to edit themselves in the user list. I'd think that would look a lot cleaner than having a form full of disabled elements. This form could be linked from the wagtailadmin_account (/admin/account/) page.


Bump inline-style-prefixer

Resolves #604
/cc @ianobermiller @tptee @rofrischmann

Coverage remained the same at 95.23% when pulling 6cf9b9902cfd04000b3d7685690e1f6b67d9d5e9 on chore-bumpInlineStylePrefixer into 82be93a2a4497d814518e47d3cf7aa68169c1789 on master.

Coverage remained the same at 95.23% when pulling add353e07ea24dab81c8e406d0fcf8ecb06c97dd on chore-bumpInlineStylePrefixer into 82be93a2a4497d814518e47d3cf7aa68169c1789 on master.

@ianobermiller: Any objection to me merging this one and publishing a release today?

Not at all, please do. There are some other fixes that people have been waiting a while for. I apologize that I haven't had time to spend on Radium! Looking to list our house in two weeks :S

Exciting! No worries at all :+1:


A11y: Make the filter more info icons keyboard navigable

Describe the task
If you hover over the little "i" info icons, you get a helpful tooltip. Currently keyboard users and screenreader users are missing out on that info.
Make the info icon focusable/reachable via keyboard nav. When the user TABs to the icon & lands on it, the tooltip should pop up.
This should fix things for screenreader users to access the information as well, but we'll have to test it to know.
Acceptance Criteria

[ ] On the map page open the filters.
[ ] Press TAB button.
[ ] You should be able to land on the information icons.
[ ] The tooltip will pop up.
[ ] When you TAB away from the icon, tooltip disappears.

Note:
Adding to the acceptance criteria:

[ ] When you press ESC, the tooltip disappears.


conditionalrender.exe fails to load asset

Hi,
it seems that the model "models/gltf/glTF-Embedded/Buggy.gltf" does not load.
There's error reported inside the loader:
[json.exception.parse_error.101] parse error at 10711911: syntax error - unexpected '}'; expected end of input
Can you take a look?
Thanks,
Igor

Just checked again, and this is working fine for me with the current version of that loader from my repo.
Can you try again with same model from the glTF sample repo: https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0/Buggy?

Both files behaves the same.
I just found that model loads correctly if I build binaries using VS2015. Issue is visible only for VS2017.
In tiny_gltf.h:
std::ifstream f(filename.c_str())
...
f.seekg(0, f.end);
size_t sz = static_cast<size_t>(f.tellg());
...
f.read(&buf.at(0), static_caststd::streamsize(sz));
...
Size of the file (sz) is computed for \r\n line endings.
Reading from the file in text mode removes \r from the \r\n.
This means that the last character from the file is not placed just before 'sz' byte but much earlier. All remaining bytes (to match sz) should be nulled.
VS2015:
Correct behaviour
VS2017:
Instead of nulled bytes there is garbage at the end (actually it's doubled part of the file) that fails parsing of the file.
It may be my environment issue or a problem in the VS2017.
Opening files in binary mode:
std::ifstream f(filename.c_str(), std::ios::binary)
forks fine for me on both configurations.
Actually on the master of the tinygltf files are being opened in binary mode, so maybe it is possible to update the loader?
Igor

I played with this a little bit more and I see the issue.
Loader's LoadASCIIFromFile() opens file in a text mode and due to \r\n -> \n transformation on Windows it reads sz - count_of(\r) bytes. Then it sets fail bit.
The rest count_of(\r) bytes in the buf is uninitialized. The loader should append null byte at the end in this case.
tinygltf on the master in LoadASCIIFromFile() internally use binary mode, so the bug is no more there.
I think that in present version of the loader changing LoadASCIIFromFile to LoadBinaryFromFile should also work. I will test it.

I played with this a little bit more and I see the issue.
Loader's LoadASCIIFromFile() opens file in a text mode and due to \r\n -> \n transformation on Windows it reads sz - count_of(\r) bytes. Then it sets fail bit.
The rest count_of(\r) bytes in the buf is uninitialized. The loader should append null byte at the end in this case.
tinygltf on the master in LoadASCIIFromFile() internally use binary mode, so the bug is no more there.
I think that in present version of the loader changing LoadASCIIFromFile to LoadBinaryFromFile should also work. I will test it.
EDIT: But std::vector buf(sz); is actually zero initializing it and it should be totally fine. Well, I'm still looking for a rootcause... : )

Have you tried the edit anyway?

It's working fine for me with VS 2017, but there's nothing that stops me from updating the loader. Will try to get that done during this weekend.

That would be great, thanks!
I will still try to debug the issue on my machine.

Updated the loader to the latest version from the master branch. Had to also change a few bits for the Vulkan glTF loading class due to some breaking changes.
Can you please check again?

I'm currently on 19.14.26431. Oddly my current VS2017 setup doesn't offer me any updates. Will check how to update the compiler.

Filled bug: https://developercommunity.visualstudio.com/content/problem/391566/stdbasic-istreamread-used-on-file-stream-in-text-m.html
New loader works fine for me, so the issue can be closed.
If you would have a chance to check the repro on newer MSVC toolset please let me know what are the results :)

Will be fixed in future VS release (details in the above link). Closing.


light bulb (code action) not display when text only has one line

Does this issue occur when all extensions are disabled?: Yes

compile vscode with commit d40dff9ef9aacb8e5226bcf3938c71f4b9543120
Version: 1.91.0
Commit: Unknown
Date: Unknown
Electron: 29.4.0
ElectronBuildId: undefined
Chromium: 122.0.6261.156
Node.js: 20.9.0
V8: 12.2.281.27-electron.0
OS: Windows_NT x64 10.0.19045
Steps to Reproduce:
I find if text length> 2(like hello) ,and select start>1( like llo).bulb can display

select start less than 2.not display

code action always return array
export class CodeActionService
  implements vscode.CodeActionProvider
{
  #prompt = inject(PromptService);
  public static readonly providedCodeActionKinds = [
    vscode.CodeActionKind.Refactor,
  ];
  async provideCodeActions(
    document: vscode.TextDocument,
    range: vscode.Range | vscode.Selection,
    context: vscode.CodeActionContext,
    token: vscode.CancellationToken,
  ): Promise<(vscode.CodeAction | vscode.Command)[]> {
    if (
      range.start.line === range.end.line &&
      range.start.character === range.end.character
    ) {
      return [];
    }

    const list = await this.#prompt.actionConfig.get();
    if (!list) {
      return [];
    }
    console.log(list);

    return list.map((item) => {
      const codeAction = new vscode.CodeAction(
        item.title,
        vscode.CodeActionKind.Refactor,
      );
      return codeAction;
    });
  }
  resolveCodeAction(
    codeAction: vscode.CodeAction,
    token: vscode.CancellationToken,
  ): vscode.ProviderResult<vscode.CodeAction> {
    return codeAction;
  }
}

this should be fixed in our latest release. this was fixed with a new heuristic which now spawns it in the best case scenario, including the gutter when available. https://github.com/microsoft/vscode/pull/221419 please update and try it out, thanks!


how to have multiple users log in through google sign in

hello! This may be just a question, but could also be a bug.
I have an app where multiple users can be logged in (one person can actually have several accounts and log in to the app with all of these, the same way as it is in google mail app, for example). I use the documented way to show the login modal. I call: GoogleSignin.signIn() and the log in proceeds successfully. However, when I want to log in another user through google, the same call does not show the login window but instead returns the user information of the user who is already logged in. How can present the dialog multiple times? Thank you!

Calling logout seems to do the trick.


[Search] Optional icon for catalog and techdocs results

Signed-off-by: Leon<EMAIL_ADDRESS>Hey, I just made a Pull Request!
In our Backstage instance, we have search results both with an icon and without an icon. This leads to an inconsistent alignment of the search results:

It also seems inconsistent that the DefaultResultListItem has the option for an icon while both the TechDocsSearchResultListItem and the CatalogSearchResultListItem.tsx don't have that option.
This PR adds the option for an icon for these components.
Without icon (current situation):

With icon:

:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[x] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

Hey @leon-vg , I'm just starting to review your changes, thanks in advance for contributing!

Over to you @backstage/reviewers 🙂


Remove tab-focus mixin and add surgical outline: none where appropriate

Explicitly setting a particular outline (e.g. the default outline: thin dotted) overrides heuristics in some modern browsers (such as Firefox) that automagically suppress outline as a result of mouse/tap interaction (while retaining it for keyboard interaction).
This removes the generic tab-focus mixin (mostly leaving outline handling up to the browser and its own heuristics), but also adds explicit outline: none in cases where it's deemed "safe", i.e. where sufficiently clear focus indication is provided (.btn elements, pagination links)
Fixes https://github.com/twbs/bootstrap/issues/18650 / https://github.com/twbs/bootstrap/issues/17006 and the Firefox focus part of https://github.com/twbs/bootstrap/issues/19398

/cc @cvrebert @mdo (who may also be able to explain the rationale behind the original use of tab-focus mixin...as it seems a roundabout way to explicitly set/force a particular style of outline for webkit-based browsers?)

Removing the outline-offset makes the outline look clunkier in WebKit/Blink:

Original:

I believe .tab-focus() was originally used for the :focus styles for the Tabs widget (hence the name), and then it got applied more broadly to other widgets.

Removing the outline-offset makes the outline look clunkier in WebKit/Blink

but as I explicitly set an outline: none on those .btns, you shouldn't be seeing any outline, clunky or otherwise...

(First introduced in 7e72eb5063470a3728d612acd2cc0368aabc8664)

(as an aside, i really wish we had https://github.com/ten1seven/what-input natively, in order to explicitly style outline but only for keyboard users...maybe worth considering adding this tiny library?)

I believe .tab-focus() was originally used for the :focus styles for the Tabs widget (hence the name), and then it got applied more broadly to other widgets.

as tabs don't exist in v4 anymore, and the cases where tab-focus was now used in v4 can actually do without an outline being forced, it seems to me that removing the mixin and adding surgical outline suppression seems not to cause any major problem. @mdo ?

Ah, I see. You think the background+border+text color change alone is sufficiently clear & noticeable accessibility-wise (or will be after #19693)?
(I always thought the translucent blue outline was a nice touch, visually.)

as tabs don't exist in v4 anymore

Erm, yeah they do: http://v4-alpha.getbootstrap.com/components/navs/#tabs

Ah, I see. You think the background+border+text color change alone is sufficiently clear & noticeable accessibility-wise (or will be after #19693)?
(I always thought the translucent blue outline was a nice touch, visually.)

Yes, I'd say it's a sufficiently strong visual indication of focus. Agree that having an additional blue outline is a nice touch (note that it was never blue/translucent in Firefox/IE/Edge, so just a webkit/blink specific "niceness"), but as the approach causes unwanted outlines in Firefox and others following a mouse or tap interaction (e.g.  #18650 / #17006 ) I think - unless we can explicitly add those styles purely for keyboard interaction, using something like https://github.com/ten1seven/what-input - it's a small loss of niceness to gain a more consistent experience.

Erm, yeah they do: http://v4-alpha.getbootstrap.com/components/navs/#tabs

doh, for some reason I was looking for tabs in the list of components...need to check how this change affects them

The outline-offset was indeed needed to get the tabs to look a bit nicer. However, as the negative offset also resulted in a very crowded-looking outline on regular links in the content, I opted to reintroduce it only for that specific case of .nav-tabs .nav-link

This still leaves potentially unsightly outlines as a result of mouse/tap on tabs...but this is definitely the point where they can't be suppressed without completely breaking them for sighted keyboard users in absence of a more discriminating "only add outline as result of keyboard" logic.

Is https://github.com/twbs/bootstrap/pull/19708/files#diff-7f9eec82312835f6155c8de839bf0e49R185 now unnecessary?

hmm...probably yes. will check in the morning and force-push a change if so

Is https://github.com/twbs/bootstrap/pull/19708/files#diff-7f9eec82312835f6155c8de839bf0e49R185 now unnecessary?

It does indeed seem redundant now, so I've removed it and force-pushed the change.

@mdo thoughts on all this before we push any further? (also quite interested to know if anything like https://github.com/ten1seven/what-input could be considered, which would make some of this a bit easier at least while browsers don't provide any of this logic natively and their heuristics for trying to do it are flaky, as in the case of Firefox)

ping @mdo

@mdo ?

Was this mixin added because of our tabs component, or the tab key (because "keyboard focus")? Seems odd to only adjust a focus state like that for (variation) of a component.

For the what-input bit, let's open a new issue and ask @fat.

@mdo You were the one who created the mixin (see https://github.com/twbs/bootstrap/pull/19708#issuecomment-208103728 ), so if you don't know, then nobody does.

Yeah, pretty sure that was it then. Just a not great name here; it's not limited to tabs.

i've lost track of this...so @mdo are you ok with the PR, or what other discussion needs to happen to move this forward?

ping @mdo

@mdo ... any chance of a response on this? been trying to pin you down in various places ...

If I understand it right, this PR doesn't make sense to ship as-is.
The tab-focus mixin wasn't created for our tabs component or any other navigation element. It was named for hitting the Tab key on your keyboard (I know, I know). It's a global change we've applied for a very long time to improve the display of those outlines.

@mdo ok I was just trying to ascertain what the purpose of the mixin was. If it IS purely about setting focus styles, then see my rationale for the change right at the start:

Explicitly setting a particular outline (e.g. the default outline: thin dotted) overrides heuristics in some modern browsers (such as Firefox) that automagically suppress outline as a result of mouse/tap interaction (while retaining it for keyboard interaction).

though yes at this point, 5 months later, I'd need to go back and check the actual effect this would have visually on our current codebase's output...

I have a local copy of this branch that has conflicts resolved with the latest v4-dev. Are we still wanting to change this stuff up, or did anyone have any new thoughts? Only thing on my mind is that the outline colored right in these instances (easily fixed, I think) and we're missing some focus styles on inputs (likely stuck behind the $enable-shadows var). All fixable issues though.

I'll make some time in the coming days to revisit this (I'll be honest, it's been so long since I proposed this that I need to refamiliarise myself with what was actually going on / what I intended to do here). But the general gist was that setting outline to none and then reenabling it specifically has side effects in browsers (it overrides the heuristic that browsers like Firefox have, which doesn't display outline at all as a result of a mouse click / tap, and only shows it as result of keyboard interaction). Also need to evaluate if using the newly spec'd :focusring selector (and perhaps polyfilling it for older browsers) can help https://github.com/w3c/csswg-drafts/pull/709

Think this has all been addressed across a few PRs now.


don't want bugsnag config template in config.json

Signed-off-by: David Lawrence<EMAIL_ADDRESS>(github: endophage)

LGTM. Merging.


Support ember-auto-import 2.x

ember-auto-import 2.x, that depends on webpack 5 serves chunked assets like the following:

Before

<script src="/my-app/assets/vendor.js"></script>
<script src="/my-app/assets/my-app.js"></script>

After

<script src="/my-app/assets/vendor.js"></script>
<script src="/my-app/assets/chunk.vendors-node_modules_rails_ujs_lib_assets_compiled_rails-ujs_js.fed412620e714e8dca24.js"></script>
<script src="/my-app/assets/chunk.app.9b607ebf64d847a96b97.js"></script>
<script src="/my-app/assets/my-app.js"></script>

To find them correctly, dist/index.html should be used.

This PR needs update test.
@seanpdoyle
Do you update CI on https://github.com/seanpdoyle/ember-cli-rails-assets/pull/13 ?
If not so, I'll make a new PR.


Create GA Release

This is just a checklist for me to create the GA release. This is based on the cutting-a-release howto.

[x] Prepare a PR with:

[x] The release notes
[x] Bumping the version numbers to 1.0.0
[x] Updated README.md file
[x] Updated doc/packaging.md file

[x] Once the PR is approved and merged, and its builds passed manually cut a draft release

[x] Clone the upstream repo:
git clone git@github.com:googleapis/google-cloud-cpp-spanner.git span-upstream
cd span-upstream
[x] Create the v1.0.0 tag and push it upstream:
git tag v1.0.0 origin/master && git push origin v1.0.0
[x] Create the branch upstream:
git checkout -b v1.0.x v1.0.0 && git push --set-upstream origin v1.0.x

[x] Add release notes to the draft release
[x] Seek a review from another team member of the draft release
[x] Send request to publish the documents and samples
[x] Create a PR to increase the version numbers to 1.1.0

[x] Update quickstart/WORKSPACE to point to the 1.0.0 release
[x] ~Look into the changes for #1416~

[x] Start the build to push the documentation
[x] Review the branch protections

All the steps are done.


Bad Understanding. on my part.

Where is The Download button for aimi, i read and it said download after python, but i cannot find a start or a readme that states where to go to download.

загугли как загружать с git


Haven't met this problem before.


Not clear on how GetSyntax works?

Thanks for the amazing work you've been doing. I'm wondering about implementation.
How would I configure this to work for syntax besides JavaScript?

@Slapbox It seems that it is either getting the node.data.syntax when the plugin is being used, or using the default syntax, which is Javascript. It might be worth exploring how to use Prism's ability to auto-detect language and PR to this repo.

The plugin accepts an option getSyntax, where you provide your own logic to retrieve/compute the syntax of a block.
If, like us, you store the syntax of code blocks as part of the block's data, you can use the provided example implementation:
const plugin = PluginPrism({
        onlyIn: ...,
        getSyntax: (node => node.data.get('syntax'))
});

If you would like to auto-detect the syntax based on block.text, this is where you could do that.


Phlex 2.0

[ ] #623
[ ] #624

#627

I’m closing this as I don't find it particularly helpful. We've got separate issues for each of the things we're working on.


Make protobuf dependency optional

Following #210, I've made the protobuf dependency optional. It's still enabled by default but it can be turned off by specifying empty default-features.
Because I also believe that protobuf should no longer be enabled by default, I've marked the module as #![deprecated]. This is a transition measure before taking out the protobuf feature out of the crate's default features. I'll leave the final verdict on this to the maintainers.
How it works: Since the protobuf module code defines some core structs, I've made an alternative copy called no_proto.rs which does not impl  protobuf trait. Regular Option and Vec are used in place of SingularField and RepeatingField, protobuf-specific extra fields were removed and a from_vec! macro was introduced.
The non-protobuf binaries are roughly half the size of the original ones and compile about 33% faster:
cargo build --release --all
ls -la target/release
[...]
-rw-r--r--  2 fralalonde fralalonde 3539952 Dec 28 07:05 libprometheus.rlib
-rw-r--r--  1 fralalonde fralalonde     419 Dec 28 06:58 libprometheus_static_metric.d
-rwxr-xr-x  2 fralalonde fralalonde 2838384 Dec 28 06:58 libprometheus_static_metric.so

cargo build --release --all --no-default-features
ls -la target/release
[...]
-rw-r--r--  2 fralalonde fralalonde 1779236 Dec 28 07:06 libprometheus.rlib
-rw-r--r--  1 fralalonde fralalonde     419 Dec 28 06:58 libprometheus_static_metric.d
-rwxr-xr-x  2 fralalonde fralalonde 2838384 Dec 28 06:58 libprometheus_static_metric.so

Although cargo test passes without problem, I haven't tested the new binaries against an actual Prometheus server. I think this should be done before merging since this is a sizable change but I am not equipped to run this re-qualification step.

Thanks! This is a large PR, I need some time to take a look.

Cool! You'll find that all methods implemented in the new no_proto.rs match existing methods in the original proto/metrics.rs. I thought we should also change the actual module name to something else than mod proto, but I couldnt think of a good name. Maybe it's ok to just wait a few versions when protobuf is completely removed from the code.

Thanks so much for this PR! :)


feat: Introduce hawkeye-maven-plugin

RESOLVE #21

Thanks for your participantion @spencercjh!
This seems in a good direction. You may depend on the hawkeye-core module and following hawkeye-command and license-maven-plugin to wrap a Mojo facade of LicenseChecker, LicenseFormatter and LicenseRemover.

@tisonkun I have run ./mvnw spotless:apply but I fount that the package import order is still not as same as yours.

@spencercjh You're right that I don't add an ImportOrder rule here. Let me fix it today.

@spencercjh You can merge https://github.com/korandoru/hawkeye/pull/89 and rerun the command above.

@spencercjh You can merge #89 and rerun the command above.

done

Cool! You may try to add some tests or at least share some evidences tested locally so that we're sure it's a good starting point for Maven plugin support.

Cool! You may try to add some tests or at least share some evidences tested locally so that we're sure it's a good starting point for Maven plugin support.

done

I will fix wrong tests ASAP.

@spencercjh We're not in a hurry so just take your time :D
You can verify the tests locally first.

@spencercjh We're not in a hurry so just take your time :D
You can verify the tests locally first.

It works locally then I commit it.😅

@tisonkun

I found something unexpected on Windows which leads the failure of my tests.
All \r\n in firstLines were replaced by \n as fileHeader.
But there are still \r\n in expectedHeader.
I think it's a bug because of missing integration tests on Windows :D.

Let me think of it..
The expected header should be generated from the content or file you provided instead of the tested files. So I may suggest that you force use \n instead of \r\n in the template (expected header), rather than do some in place ad-hoc fixup.

Do you mean to force the line separator of file hawkeye-core/src/main/resources/Apache-2.0.txt? Or force the line separator of the header file configured in the config toml file?

Now I found that if I don't update Header.java when I add the plugin to hawkeye-command and run ./mvnw hawkeye:check, it will fail and all of the files will be considered as missing header.

Do you mean to force the line separator

After a closer look I noticed that we use endOfLine variable to build the expected header and update. Then I think we can do the same fixup as your previous commit does.

Now I found that if I don't update

May you share the console output or screenshot? I'm not sure what's the issue here.

It runs on b7cb7fd88dc93f93b2d86dcd30909e9e2b05bf4a, the previous commit.

May you share the console output or screenshot? I'm not sure what's the issue here.

I just want to tell you the bug. I think there is no other issues besides of the endOfLine.

Merging...
I'll prepare a release for delivering this plugin. Maybe you can try to write a few docs for the Maven plugin usage. Either in Usage section under README.md or in the hawkeye-maven-plugin folder should be fine.

Released as 3.3.0. We may add a skip option to these Mojos so that users can opt-out the plugin execution.


Remove SpecsDiff feature from OpenAPI Hub

PR with notice update: https://devdiv.visualstudio.com/DevDiv/_git/openapi-portal/pullrequest/545715


TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/65348

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/73182

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/77717


Consistently change all close(), deinit(), dismount() interfaces to NULL-out the input handle on exit.

Describe the bug
This isn't particularly an immediate bug, but something that can go wrong when code accesses a handle to a structure that has been closed, deinit'ed, or its memory has been freed.
To avoid such issues, revise the interface to take an address-to-the-ptr-to struct, which gets NULL'ed out on return.
Some examples of interfaces that will be affected by this work are seen in this code-flow:
564 void
565 splinterdb_close(splinterdb **kvs_in) // IN
566 {
567    splinterdb *kvs = *kvs_in;
568
569    platform_assert(kvs != NULL);
570
571    trunk_dismount(kvs->spl);
572    clockcache_deinit(&kvs->cache_handle);
573    rc_allocator_dismount(&kvs->allocator_handle);
574    io_handle_deinit(&kvs->io_handle);
575    task_system_destroy(kvs->heap_id, kvs->task_sys);
576
577    platform_free(kvs->heap_id, kvs);
578    *kvs_in = (splinterdb *)NULL;
579 }

In this example, the input splinterdb **kvs_in is being NULL'ed out, but there are other places where such interfaces are being called, especially in test-code. An example from ycsb_test.c:
1339    trunk_dismount(spl);
1340    clockcache_deinit(cc);
1341    platform_free(hid, cc);
1342    rc_allocator_dismount(&al);
1343    test_deinit_task_system(hid, ts);
1344    rc = STATUS_OK;

It will be safer to NULL out the handles upon a successful exit.
Reproduction steps
1. (None; see description above.)

Expected behavior
Safe-code, avoids accessing a stale handle.
Additional context
No response

FYI, @ajhconway @rtjohnso -- While reworking these interfaces, I propose to also make the following renames:
(I have aired this dismount -> unmount name change earlier, and it seemed to have passed muster.)

trunk_dismount() -> trunk_unmount()
rc_allocator_dismount() -> rc_allocator_unmount()
And to change code such as in trunk.c : trunk.c:   super->dismounted   = is_dismount to always use unmount

Before bringing this into scope of this cleanup issue, wanted to run this by you, in case you object.
I think it's ok to roll this into this issue as the call-sites are anyway being touched.


How to go about tracking data accesses

In my usage of Starlark I pass JSON-like objects to pure user-defined functions and I'd like to know which data paths the function reads.
So given
def myfn(x):
    firstKey2 = x["key2"][0]
    return int(x["key1"]) + firstKey2["k"]

I'd like to obtain the following "JSON paths":

."key1"
."key2".0."k"

How should I go about this, in your opinion @alandonovan?

Can it be done with syntax.Walk? It'd need to keep track of identifiers from function call to function call and native calls would just be black boxes (although that may turn out to be acceptable).
If I make x into my own type (that implements all the interfaces that Dict, List, Int, String, Float, Bool implement) and have this implementation register the paths read, what should its Type() be? Is such a type even possible?
Fork go.starlark.net/starlark and add my tracking calls to the implementations of each Value in there.

IMO (1) is the saner solution, I'm just scared that it'd be re-implementing the interpreter with its own bugs...
Do you have opinions/goals regarding tracing Starlark?
If I were to modify interp.go and eval.go to add my own "profiling" calls (under a flag) would you be considering to merge these upstream?

None of these approaches is attractive. Approach 1 requires you to limit what computations you can do or else give up as soon as you make a function call. Approach 2 is not behavior-preserving: the magical mock value would be treated differently than a real int, bool, or whatever. Approach 3 is a maintenance nightmare; I would be unlikely to accept a PR to add the hooks you would need.


Fix twist

This cdn can only get the backlog, not the airing cdn. They store airing on a different cdn it seems, It's kinda awkward to dynamically choose which cdn to switch, so I've just set the biggest library cdn
maybe we can make it as a config option or something?

As all the airing anime I've tried with this PR work as of now - I've opted to merge.

As all the airing anime I've tried with this PR work as of now - I've opted to merge.

or just scrape both at the same time...

or just scrape both at the same time...

or just scrape both at the same time...

That seems inefficient at best and moronic at worst, the ideal situation would be to handle a 404 from the main cdn to then use the backup cdn. Obviously.

or just scrape both at the same time...

That seems inefficient at best and moronic at worst, the ideal situation would be to handle a 404 from the main cdn to then use the backup cdn. Obviously.

or just scrape both at the same time...

That seems inefficient at best and moronic at worst, the ideal situation would be to handle a 404 from the main cdn to then use the backup cdn. Obviously.
Although it doesn't seem like it's too much of an issue, I have yet to find one that is on the other cdn and not the main one lol

Oh, it looks like I didn't quite understand your original message...
I thought you meant that any new anime is only available on the new cdn...

or just scrape both at the same time...

That seems inefficient at best and moronic at worst, the ideal situation would be to handle a 404 from the main cdn to then use the backup cdn. Obviously.
Although it doesn't seem like it's too much of an issue, I have yet to find one that is on the other cdn and not the main one lol

Oh, it looks like I didn't quite understand your original message...
I thought you meant that any new anime is only available on the new cdn...

@ArjixGamer he did mean that - but how would you determine what's new? At the time of merging this was a non-issue because the one cdn worked for all airing anime anyway

@ArjixGamer he did mean that - but how would you determine what's new? At the time of merging this was a non-issue because the one cdn worked for all airing anime anyway
Edit: he meant that - it was supposed to be that, but for some reason it wasn't

Just go to sleep...

Very soon I shall perform the wondrous time-skip magic known as "sleep"


Add European Portuguese translation

Let me know if the naming convention is fine, I expect Brazilian Portuguese (pt_br) to also come in the future.

Thanks for translation!
Drop in favor https://github.com/iearn-finance/iearn-finance/pull/89, too many conflicts.


Using DotSpatial in a Windows Service

DotSpatial version: 2.0
I have created a .NET project that collects trip data points and then plots them on a DotSpatial map. It then takes a snapshot of the map and saves it as a PNG. This all works great when I am testing under my account.
Since we want this process automated we have made it into a Windows Service. It all seems to work but some odd things happen as we don't seem to have too much control of the map form. I know that it's because a service doesn't support GUI elements. However we do seem to get output but the image is too small. My question is...can we use DotSpatial without the controls being on a form? Can we create all the objects in memory and then take a "snapshot" of the map? Or is the map required to be displayed to the screen before taking a snapshot?

Since you're able to get an image, I think you have already answered your question. Perhaps you can provide a sample and more information about what you are trying to do exactly (specify the image width and height, perhaps).

Nothing more than just putting data on a map and then saving the map to PNG. We do this in batch so what gets loaded changes. It all runs on a service so saving to say 1150x1150 pixels doesn't work as the map image gets saved to the same dimensions.

@sindizzy can we close this or is it still an issue?

Yes please close. This is a very old issue which isn't an issue anymore.

@sindizzy please check your other issues and close them if they have become obsolete.


DDoS Policy Customization Feature

Resource Provider
What is the Azure resource provider your feature is part of?
Azure.Network
Description of Feature or Work Requested
Provide a brief description of the feature or work requested. A link to conceptual documentation may be helpful too.
DDoS Policy Customization is a feature to enrich the Azure DDoS Protection service. Using this feature, customers can choose to manually set DDoS protection parameters overriding what the product would automatically do in its normal course of action.
Minimum API Version Required
What is the minimum API version of your service required to implement your feature?
Network 2018-12-01
Swagger Link
Provide a link to the location of your feature(s) in the REST API specs repo. This should be on the master branch
of the REST API specs repo.
https://github.com/Azure/azure-rest-api-specs/pull/4897
Target Date
If you have a target date for release of this feature/work, please provide it. While we can't guarantee these dates,
it will help us prioritize your request against other requests.

Bumping to Sprint 68 due to higher priority direction from NRP.

@mancgupta Hello. What's the metric of these two fields trigger_rate_override and sourceRateOverride ? Does the word rate represent a number or something else?
https://github.com/Azure/azure-rest-api-specs/blob/ad759850354ddb7b4ffea0a49b70243fd9ec5a42/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/ddosCustomPolicy.json#L336-L346

@mancgupta Hello. What's the metric of these two fields trigger_rate_override and sourceRateOverride ? Does the word rate represent a number or something else?
https://github.com/Azure/azure-rest-api-specs/blob/ad759850354ddb7b4ffea0a49b70243fd9ec5a42/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/ddosCustomPolicy.json#L336-L346

It's an integer value but input is taken as a string.

@mancgupta Hello. What's the metric of these two fields trigger_rate_override and sourceRateOverride ? Does the word rate represent a number or something else?
https://github.com/Azure/azure-rest-api-specs/blob/ad759850354ddb7b4ffea0a49b70243fd9ec5a42/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/ddosCustomPolicy.json#L336-L346

It's an integer value but input is taken as a string.

so, the range of these two fields is 0-infinity. Am I right?

@mancgupta Hello. What's the metric of these two fields trigger_rate_override and sourceRateOverride ? Does the word rate represent a number or something else?
https://github.com/Azure/azure-rest-api-specs/blob/ad759850354ddb7b4ffea0a49b70243fd9ec5a42/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/ddosCustomPolicy.json#L336-L346

It's an integer value but input is taken as a string.

Meanwhile, the type of this filed is array. https://github.com/Azure/azure-rest-api-specs/blob/8a1e364ceba55f27ec737eb3bc48a83cdcd0b70d/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/ddosCustomPolicy.json#L311 Could customers provide more than one ProtocolCustomSettingsFormat? Because there is no id/name of ProtocolCustomSettingsFormat. A little bit strange for this filed to be an array.

@mancgupta Is this feature available in the Azure Cloud? I checked several regions like eastus, eastus2, westus, westus2, centralus. However, this feature is not available in the above locations.

@mancgupta Hello. What's the metric of these two fields trigger_rate_override and sourceRateOverride ? Does the word rate represent a number or something else?
https://github.com/Azure/azure-rest-api-specs/blob/ad759850354ddb7b4ffea0a49b70243fd9ec5a42/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/ddosCustomPolicy.json#L336-L346

It's an integer value but input is taken as a string.

so, the range of these two fields is 0-infinity. Am I right?

We have internal thresholds on the max rate possible depending up network protocol.

@mancgupta Is this feature available in the Azure Cloud? I checked several regions like eastus, eastus2, westus, westus2, centralus. However, this feature is not available in the above locations.

Only the APIs are available. It's not available on portal and PS yet.

@mancgupta Is this feature available in the Azure Cloud? I checked several regions like eastus, eastus2, westus, westus2, centralus. However, this feature is not available in the above locations.

Only the APIs are available. It's not available on portal and PS yet.

Currently we don't have any customer using this feature.

@mancgupta So it seems that this issue doesn't have high priority. I will move this one to the next sprint.
cc @MikhailTryakhov

@MyronFanQiu could you please take a look at this issue again? It seems the resource is available in all regions now
PS C:\Users\v-anevse> $rp = Get-AzResourceProvider -ProviderNamespace Microsoft.Network | Where-Object { $_.ResourceTypes[0].ResourceTypeName -eq "ddosCustomPolicies" }
PS C:\Users\v-anevse> $rp.Locations
East US
North Europe
West Europe
East Asia
Southeast Asia
North Central US
South Central US
Central US
East US 2
Japan East
Japan West
Brazil South
Australia East
Australia Southeast
Central India
South India
West India
Canada Central
Canada East
West Central US
West US 2
UK West
UK South
Korea Central
Korea South
France Central
Australia Central
South Africa North
UAE North
West US
Central US EUAP
East US 2 EUAP

@number213 No problem. I will take a look soon

@number213 Hello. I still get errors like "Region centralus is not enabled for DdosCustomPolicy feature." and "Region eastus is not enabled for DdosCustomPolicy feature." Is there a feature flag which should be enabled for my subscription?

@MyronFanQiu strange, I don't see anything related to ddos in my enabled flags
@mancgupta could you please clarify if you need to get ddos custom policy activated in any way?

@number213 @mancgupta  CLI is blocked from testing. Any update for this ?

@yonzhan @number213 This feature is disabled in NRP side on all the prod regions, that's why it's returning region not enabled. Since feature is not active, can we hold off with the testing. I will enable the feature and the thread.

Close it for now. Please reopen or create another issue when it is enabled.


Bug: Profile card  both side overlapping

Describe the bug

Steps to reproduce
https://app.opensauced.pizza/u/Kampouse/card
flip a  card (firefox,safari,mobile)

Did a quick test and can confirm it is indeed an issue on Firefox and Safari.
Safari

Firefox


fix: my account edit ui block

The type of this PR is: Bugfix
This PR resolves MX-557
Description

The UI Blocks after failed mutation on MyProfile Edit Phone - Edit Email
Edit Password returns the wrong message when the user changes his current password with an invalid password

PR Checklist (tick all before merging)

[x] I have included screenshots or videos to illustrate my changes, or I have not changed anything that impacts the UI.
[x] I have added tests for my changes, or my changes don't require testing, or I have included a link to a separate Jira ticket covering the tests.
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added an app state migration, or my changes do not require one. (What are migrations?)
[x] I have added a CHANGELOG.yml entry or my changes do not require one.

Let's wait for today's KS to check on #3954 and see how we move to fix both 😬.

from KS, let's try https://reactnative.dev/docs/modal#ondismiss instead of a setTimeout for popping back to account. 🤞

Thanks for the adjustments @pvinis please feel free to merge

I tried it again and I can't make it work on my sim 🤦. I don't know if I'm doing something wrong or what's up.

just say your comment, I will check it out

We worked on this with mounir, I asked for extra reviews just to get some eyes on this, but we will #squashonmerge to release a beta and run through the QA script.

Extra changes on this:

removed the deferred alerts, and made this part of the onDismiss of the Alert
moved most of the error alerts and made them part of the Input, like in the spec https://www.figma.com/file/OSXdLHRQMbe6k6a58uW5Xp/Profile-Tab?node-id=150%3A2890


Overall framework  install/build docs

Even while the project is still in this stage there oughta be instructions to build and install everything.
This issue is specifically for instructions as to how to checkout the Apian repos and the CLI and Unity Beam implementations.

Why do the framework install scripts check for Git LFS? It's only used for Unity projects.


[Bug] Submit Helm charts to Artifact repo

Priority
Undecided
OS type
Ubuntu
Hardware type
Xeon-GNR
Installation method

[X] Pull docker images from hub.docker.com
[ ] Build docker images from source

Deploy method

[ ] Docker compose
[ ] Docker
[X] Kubernetes
[X] Helm

Running nodes
Single Node
What's the version?
latest
Description
Currently, the Helm charts are downloaded using curl or the workspace needs to be cloned. The Helm community provides a standard Artifact Repo to store such artifacts. The Helm charts should be stored in this repo providing a more natural experience.
Reproduce steps
The steps are listed at https://github.com/opea-project/GenAIExamples/blob/main/ChatQnA/kubernetes/intel/README.md and need to be simplified.
Raw log
No response

Now we're putting all the helm charts to this repo: (Included v0.8, v0.9 releases, the 1.0 release is ongoing)
https://opea-project.github.io/GenAIInfra/

That sounds like a good experience, looking forward to test it. Will all the docs be updated to include link to use this Helm repo?

The helm repo doc was included in an overall README for helm charts themselves, but not linked from the portal yet.
https://github.com/opea-project/GenAIInfra/tree/main/helm-charts#using-helm-charts-repository

Also, the manifest files which are generated from the GenAIInfra helm charts and are part of the GenAIExamples repo should be deleted. This is very confusing user experience.
For example, the GenAIInfra/ChatQnA helm chart should be enough. Now we have the generated manifest files (via helm template also checked in GenAIExamples.
This pollutes the repo with extra 50+ yaml files plus READMEs which add no value and confuses users.

Also, the manifest files which are generated from the GenAIInfra helm charts and are part of the GenAIExamples repo should be deleted. This is very confusing user experience.
For example, the GenAIInfra/ChatQnA helm chart should be enough. Now we have the generated manifest files (via helm template also checked in GenAIExamples.
This pollutes the repo with extra 50+ yaml files plus READMEs which add no value and confuses users.

Agree, I also think the manifests are duplicate stuff for ChatQnA.
More confusing is that, some of the manifests (Which have Helm chart support) are automatically generated from "helm template", but some of them are not supported by Helm chart, but also have manually maintained manifests(https://github.com/opea-project/GenAIExamples/tree/main/FaqGen/kubernetes/intel/cpu/xeon/manifest).
There should be an overall guideline of how to deploy on k8s, including code structure and everyone should follow it. After this, we can re-organize/cleanup everything, otherwise, just delete the manifests will cause more confusion.

Now we're putting all the helm charts to this repo: (Included v0.8, v0.9 releases, the 1.0 release is ongoing) https://opea-project.github.io/GenAIInfra/

Is this becoming official? or https://opea-project.github.io/helm-charts better?
CC @chensuyue

There are two topics discussed here:

where the Helm chart source code is
where they are consumed from

About 1): Now all the Helm charts source code is in GenAIInfra which is the correct place (IMO).
About 2) This is what @arun-gupta is asking in this issue. We have basically 3 options:

Artifact hub (artifacthub.io)
GitHub pages (opea-project.github.io/GenAIInfra)
GitHub Container Registry (ghcr.io)

There are pros and cons in each. A lot of projects use more than one location. Quick summary below.
Artifact Hub: independent (+), well known (+), detached from the project (-)
GitHub pages: old school GH way (-)
ghcr.io: GH new way to host Helm charts (+), attached to the project (+), can also host container images (+), repo name needs to change since upper case letter are not allowed in OCI URIs (-)

https://helm.sh/docs/topics/chart_repository/ provides more options about where Helm charts should be hosted.
Artifact Hub seems to be the most reasonable choice to me.

@arun-gupta that is the "legacy" way of hosting Helm Charts. The "new" way is based on the OCI (open container initiative).
https://helm.sh/docs/topics/registries/
All major CSPs, ghcr.io and Artifact Hub supports OCI Helm registries. I would add OPEA Helm charts to both ghcr.io and Artifact Hub. It is just few lines more in the CI/CD pipeline once we have it.