feat: make user first and last name optional fields

This change partially completes #4386 by making the First Name and Last Name fields optional.
It completes the following acceptance criteria:

[x] I can register with only a username
[x] If I have set only a username in the ZITADEL console my username is shown instead of Firstname, Lastname
[x] My Display Name shows the Firstname, Lastname if filled, if not it shows my username
[x] We use the display name in emails instead of First and Lastname

It does not address the following acceptance criteria:

[ ] If I do not have an email address on my user a password reset is not possible and shows an error
[ ] If I don't have an email, the email setup or email verification screen is not shown in the login flow
[ ] I am able to login if my user has set no email
[ ] I am able to login if my user has set an email

This bites off the easiest chunk of this issue, since there is still some figuring out to do around user email address.

I suggest we should create a feature branch in the ziradel repo, and re-target this PR to that branch, since this doesn't complete all AC.

Hei @Alexei-Barnes
Thank for the PR.
Just one thing that comes to my mind is, if we merge this to main some of the existing customers will probably have a problem, because they assume that each user has a first- and a lastname.
We will probably have to implement an additional policy/settings where you can configure which fields are required and which are optional.

I did some testing on this today and found that this doesn't finish the problem of making first & last name optional - during registration from an IdP that didn't provide these details, the application got confused and produced the error Errors.User.NotHuman, and then Errors.ExternalIDP.NoExternalUserData. I'll need to investigate both of these issues.

I've managed to shift off other priorities and back to this, so hopefully I can fix those problems today.

OK the "NotHuman" error is simple;
internal/user/repository/view/model/user.go:130
func (h *HumanView) IsZero() bool {
	return h == nil || h.FirstName == ""
}

will return true when called by
internal/auth/repository/eventsourcing/eventstore/auth_request.go:662
	// if there's an active (human) user, let's use it
	if user != nil && !user.HumanView.IsZero() && domain.UserState(user.State).NotDisabled() {
		request.SetUserInfo(user.ID, loginName, user.PreferredLoginName, "", "", user.ResourceOwner)
		return nil
	}

and conclude that this user can't be found.

OK fixing that fixed both of the problems I identified, I managed to register a user via AWS Cognito with no first or last name configured, then use that to login.

I've noticed another problem with this change, which is that some pages show a robot avatar for the user, while others do not. I'll need to figure out why and update the UI to ensure the user is not considered a bot.

I have created a new user story regarding the topic about setting the required fields, before we can merge this, we should implement that: https://github.com/zitadel/zitadel/issues/5333

As we are currently re-writing user management as user schema, this PR seems to have become obsolete. Apologies for not merging your code. But know your effort was not in vain, it sparked a heavy and long-running debate which will result in a better zitadel that allows more flexibility in user management,
Thanks for the effort and hope seeing you around!


Fixing  same-project onboarding

Adjusting same-project onboarding to use project iam roles instead of organization iam roles
Adding pr-checks.yaml workflow
Adding CODEOWNERS
Updating README.md
Updating examples

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Update Chinese localization for v1.19

This is a Clean Up Request

What would you like to be added
Update the Chinese localization for changes since v1.18
Why is this needed
The Chinese documentation is largely based on documentation for older versions of Kubernetes. Ideally, the master-branch documentation would include the changes that were made for the v1.19 release, including feature gate status and feature-state details within pages.
Comments
Maybe some tooling could help to detect which changes need making, perhaps even to recommend the replacement?
/language zh
/kind cleanup

Agree with it.  which tools  you recommend? Or we can write some script to realize it ?

It's hard to detect present changes, because the Chinese translation has no connection to en docs on pull request or commit, but maybe we can introduce some tools to track new changes from now on.

Try scripts/lsync.sh. With the version from https://github.com/kubernetes/website/pull/24419 you can:
find content/zh/docs -name '*.md' -type f -print0 | xargs -r -0 scripts/lsync.sh

to see what needs localizing.

That would be a great and huge processes. Maybe we can add label help or good-first-issue to attract more people to join it.
/help
/good-first-issue

There is a lot of work here and the overall task is not simple enough for a new contributor to join in unaided.
/remove-good-first-issue
It is OK to create good-first-issue subtasks that reference back to this one.

A summary of the current status for ZH localization.

All pages in 1.19 have been translated except for some case studies.
We have tried to synchronize all concepts changes to Chinese, PRs under review.
We still need some synchronization for tasks.

Overall, I'm very proud of the ZH localization progress, which proves to be one of localizations with least gaps from English contents.


FAILED SYNC IMAGE docker.io/kubeedge/cloudcore:1.17.0

SYNC docker.io/kubeedge/cloudcore:1.17.0

docker.io/kubeedge/cloudcore:v1.17.0
少了 v
Fixed by #2450
/close


Ensure text and images of text provide sufficient contrast

Description
Ensure text and images of text provide sufficient contrast
How has this been tested?
[How did you test to verify your changes?]
[How can reviewers test these changes efficiently?]
[Check for unexpected visual regressions, see CONTRIBUTING.md for details.]
Documentation changes
[Do the changes include any API documentation changes?]

[ ] Yes, this change contains documentation changes.
[x] No.

Related Links
[Attach any related links/pull request for this change]

Review checklist
The following items are to be evaluated by the author(s) and the reviewer(s).
Correctness

[ ] Changes are backward-compatible if not indicated, see CONTRIBUTING.md.
[ ] Changes do not include unsupported browser features, see CONTRIBUTING.md.
[ ] Changes were manually tested for accessibility, see accessibility guidelines.

Security

[ ] If the code handles URLs: all URLs are validated through the checkSafeUrl function.

Testing

[ ] Changes are covered with new/existing unit tests?
[ ] Changes are covered with new/existing integration tests?

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Hello Karmanya,
We define our colors using design tokens, so this is not a change we can accept.
But if I understand correctly, you're concerned about color contrast accessibility. Could you provide a quick example of where you find this problem?
Thank you.

Hello Karmanya,
as Ruben said, we need to use design tokens. I asked Kashi in the ticket for new design token advice. Let's wait her reply then apply the change.


Icon prop on Button component uses incorrect capitalization

The Icon property on the Button component uses PascalCase rather than camelCase for the prop name. Is this intentional or a bug?
import { ReloadIcon } from "someiconlibrary"

<div>                   // here
    <Button text="Reload" Icon={ReloadIcon} importance="primary" />
</div>

hi @cursecodes, thanks for your comment, this is intentional to signal that a React Element / JSX Constructor is required as an input. Would you suggest to change that?

Yes, I feel that that would be the correct move. You can see in the links provided that it seems to be the standard to use camelCase for all props.
https://chakra-ui.com/docs/components/icon-button/props
https://evergreen.segment.com/components/buttons#icon_buttons

Seems like it! We are super busy at the moment so it may take a bit to fix this. Therefore, feel free to open a PR whenever you like, would be happy to have you as our first outside contributor :)


Added a lot of test cases for many algorithms & cleaned up code on many algorithms

Codecov Report

Merging #33 into master will not change coverage by %.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #33   +/-   ##
=======================================
  Coverage   95.97%   95.97%
=======================================
  Files          18       18
  Lines         869      869
=======================================
  Hits          834      834
  Misses         35       35

Continue to review full report at Codecov.

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


Remove deprecated structure mode

also pins pyflakes

👍

Ok to merge

ahhh accidentaly closed.. 😡

@evildmp this PR also contains a little bit of docs removal :)

Coverage increased (+3.8%) to 87.997% when pulling 3f2e7c14e1bee576aaca53beb09cd5af1a5c6a2c on vxsx:feature/remove-deprecated-structure-mode into e48d54c06e4c1f462a15e84b7fbb7cae92e0d92d on divio:develop.

Coverage increased (+4.6%) to 88.721% when pulling 3f2e7c14e1bee576aaca53beb09cd5af1a5c6a2c on vxsx:feature/remove-deprecated-structure-mode into e48d54c06e4c1f462a15e84b7fbb7cae92e0d92d on divio:develop.


extend list of plugins

How to extend list of plugins?
If I add them in .zshrc.local it doesn't affect list of plugins

Use zsh_antigen_bundles_extras variable in playbook, see example:
- hosts: all
  vars:
    zsh_antigen_bundles_extras:
      - nvm
      - joel-porquet/zsh-dircolors-solarized
    zsh_autosuggestions_bind_key: "^U"
  roles:
    - viasite-ansible.zsh

@popstas I tried with playbook and command sudo ansible-playbook -i "localhost," -c local playbook.yml but it doesn't work
- hosts: all
  vars:
    zsh_antigen_bundles_extras:
      - redis-cli
    zsh_autosuggestions_bind_key: "^U"
  roles:
    - viasite-ansible.zsh

In this example I want to add redis-cli plugin from main repo.

Maybe, you want to apply config for current user, but applied it to root.
Check /root/.zshrc for redis-cli presence, if it present, add your user to playbook vars:
- hosts: all
  vars:
    zsh_user: myuser
    zsh_antigen_bundles_extras:
      - redis-cli
    zsh_autosuggestions_bind_key: "^U"
  roles:
    - viasite-ansible.zsh

@popstas sorry for big delay, yes I found redis-cli in /root/.zshrc but when I tried to add this to me like you said I got an error:
sudo ansible-playbook -i "localhost," -c local playbook.yml
PLAY [all] **************************************************************************************

TASK [Gathering Facts] **************************************************************************
ok: [localhost]

TASK [viasite-ansible.zsh : Install zsh, git, wget] *********************************************
ok: [localhost] => (item=zsh)
ok: [localhost] => (item=git)
ok: [localhost] => (item=wget)

TASK [viasite-ansible.zsh : Clone antigen master] ***********************************************
fatal: [localhost]: FAILED! => {"changed": false, "cmd": "/usr/bin/git clone --origin origin https://github.com/zsh-users/antigen.git /home/mikhail/.antigen/antigen", "failed": true, "msg": "fatal: could not create work tree dir '/home/mikhail/.antigen/antigen': Permission denied", "rc": 128, "stderr": "fatal: could not create work tree dir '/home/mikhail/.antigen/antigen': Permission denied\n", "stderr_lines": ["fatal: could not create work tree dir '/home/mikhail/.antigen/antigen': Permission denied"], "stdout": "", "stdout_lines": []}
	to retry, use: --limit @/home/mikhail/playbook.retry

PLAY RECAP **************************************************************************************
localhost                  : ok=2    changed=0    unreachable=0    failed=1

@lcd1232, sorry for loooong delay ) Check #19, you can change ~/.antigen owner to your user.


Sourcelink no longer works

After switching to github actions for nuget upload, we broke sourcelink.
quoting smoogi from discord:

yeah, it would need to generate + push the .snupkg, probably have to read into how the cake build used to work to generate it
This + making the action upload that

Last release deployment confirms that this was fixed by #5705.


File activejdbc.properties is loaded after an attempt to build connection specs

This results in inability to override a property env.connections.file, since the connection specs are  formed before this file is loaded.

related: https://github.com/javalite/simple-example/issues/3


Clean up the function naming in TextMeasureCache.h

Summary:
Clean up the function naming in TextMeasureCache.h. One name was clearly a human mistake. Make the naming consistent.
This is a minor improvement in the context of my multi-PR work on https://github.com/react-native-community/discussions-and-proposals/issues/695.
Changelog:

[INTERNAL] [CHANGE] - Clean up the function naming in TextMeasureCache.h
Test Plan:

@christophpurrer Any chance you could review this?

@sammy-SC
Thanks for assigning yourself!
Let me know what you think. It's a very trivial change, but I wanted to make it separate so it's clear what is being changed and why.
Sorry about the failing lint; is this related to line lengths? Is there a simple way to fix it?
Why is "Builds & Tests" failing?


Add validation to the gift secret hash input box

currently, if you enter a none secret in the gift secret box it will throw an unhandled error:
Unhandled Rejection (Error): Unable to match provided value to a secret URI
the app should:
-verify the gift secret is in valid format before doing the claim and in case it is not it should show an input alert.
-validate the gift amount before performing the actual transaction (query the gifts and NFTs before doing the actual transaction!)

fixed:
https://github.com/hamidra/dotdrop/commit/f95f3c0f431e6a31958788172783729443059f62


Need a way to switch between engines/daemons on Docker Desktop for Windows from CLI

Tell us about your request
With the recent removal of DockerCLI.exe, there doesn't appear to be a way in Docker Desktop for Windows to be able to switch between Windows and Linux container engines/daemons from the CLI.  Please add one.
Which service(s) is this request for?
Docker Desktop for Windows
Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?
I build and test and sometimes run Windows and Linux containers on my Windows laptop and frequently switch between Windows and Linux containers. I have some workflows scripted for build-and-test and the removal of DockerCLI.exe breaks my automation requiring me to manually intervene several times in the middle of scripts that used to be fully automated.
Are you currently working around the issue?
Yes, manual intervention to click on the systray icon and switch engines which costs me a lot of time and prevents me from fully automating what was previously automated and working before the removal of DockerCLI.exe
Additional context
Perhaps I missed it, but I feel that the removal of DockerCLI.exe was rather sudden and poorly communicated and handled. Many devs and testers in the community relied on this tool and its surreptitious removal has cost them much time and frustration.

The removal of the dockercli.exe tool completely killed a good portion of the automation in my build and release pipeline. PLEASE GIVE BACK THE ABILITY THAT YOU JUST RANDOMLY TOOK AWAY.


New Feature: Introduce Hooks

It would be great to use this component using hooks in React 16.8.1.
Some things that can be done as part of this:

Internal rewrite using them (maybe?)
Context based approach (i.e <Collapse> becomes a context.Provider)
Expose useToggle and useCollapsible hooks to get the props for the toggle button and the collapsible container respectively (naming TBD)

Resolved in 2.0.0 🎉


 Even the way you roll the dice can create biases (e.g. not using a flat surface). Would you be interested in adding a section, and possibly a link to a webapp, where people can input some rolls for the entropy to be calculated?

I appreciate you asking about this. The topic feels like it is a little outside of the intended scope, but it couldn't hurt to throw a sentence or two and a link in.


Can Oni run commands in login shell?

I am trying to integrate Oni with Ale (https://github.com/w0rp/ale) for managing asynchronous linting and testing.
In particular the tools that I use in Ruby for that require a login shell to be able to access the PATH changes, however it seems that the simple setup does not handle that. Also, it must be run under the current project directory as each project can have different ruby versions and binaries available.
Is there a way to enable that? If not, can we provide an option for this?

Hmm, do you have more specifics of how you're setting it up? It seems doable to me (naively, you can always spin up a bash shell via bash -l IIRC) - but are you running these tools through Ale, or through the javascript layer and piping the output to Ale?
How do the values of PATH compare in Oni (process.env.PATH) vs in Neovim (:echo $PATH)?

Also, it must be run under the current project directory as each project can have different ruby versions and binaries available

Our language client processes do this today (and could be reused for spinning up arbitrary processes), but I'm not sure if that helps you here.

@bryphe Ale has a set of defaults for the commands, which assume you have the local PATH setup. I'd prefer to use that.
As a workaround I'll try defining the commands preceded by zsh -l, thanks!


Fix Discord cd issue & Add mute/unmute function to devzat

I modified the discordMessageHandler function, which has been changed  to skip processing when the message content is cd or cd
I have also added
/mute  - Toggles muting for the specified . When a user is muted, their messages will not be broadcasted to the chat room.
/unmute  - Toggles unmuting for the specified . When a user is unmuted, their messages will be broadcasted to the chat room as usual.
I hope this works :P
-Caen

None of the types used by github.com/shazow/ssh-chat are compatible with devzat.


Adding to domains to LETSENCRYPT_HOST breaks proxy-companion

adding LETSENCRYPT_HOST=csis.ait.ac.at,csis.clarity.cismet.de results in

nginx-letsencrypt    | Creating/renewal csis.ait.ac.at certificates... (csis.ait.ac.at csis.clarity.cismet.de)
nginx-letsencrypt    | 2020/02/07 11:31:44 Received event start for container 0e52378dda55
nginx-letsencrypt    | 2020-02-07 11:31:44,116:INFO:simp_le:1414: Generating new certificate private key
nginx-letsencrypt    | 2020/02/07 11:31:44 Received event die for container 0e52378dda55
nginx-letsencrypt    | 2020/02/07 11:31:45 Received event start for container 0e52378dda55
nginx-letsencrypt    | 2020/02/07 11:31:45 Received event die for container 0e52378dda55
nginx-letsencrypt    | 2020-02-07 11:31:47,460:ERROR:simp_le:1396: CA marked some of the authorizations as invalid, which likely means it could not access http://example.com/.well-known/acme-challenge/X. Did you set correct path in -d example.com:path or --default_root? Are all your domains accessible from the internet? Please check your domains' DNS entries, your host's network/firewall setup and your webserver config. If a domain's DNS entry has both A and AAAA fields set up, some CAs such as Let's Encrypt will perform the challenge validation over IPv6. If your DNS provider does not answer correctly to CAA records request, Let's Encrypt won't issue a certificate for your domain (see https://letsencrypt.org/docs/caa/). Failing authorizations: https://acme-v02.api.letsencrypt.org/acme/authz-v3/2689925829

and

nginx-web            | nginx: [emerg] cannot load certificate "/etc/nginx/certs/csis.ait.ac.at.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/etc/nginx/certs/csis.ait.ac.at.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

Never change a running system! After removing 2nd domain from LETSENCRYPT_HOST:

nginx-letsencrypt    | 2020-02-07 11:45:54,824:INFO:simp_le:1414: Generating new certificate private key
nginx-letsencrypt    | 2020-02-07 11:45:58,337:ERROR:simp_le:1396: CA marked some of the authorizations as invalid, which likely means it could not access http://example.com/.well-known/acme-challenge/X. Did you set correct path in -d example.com:path or --default_root? Are all your domains accessible from the internet? Please check your domains' DNS entries, your host's network/firewall setup and your webserver config. If a domain's DNS entry has both A and AAAA fields set up, some CAs such as Let's Encrypt will perform the challenge validation over IPv6. If your DNS provider does not answer correctly to CAA records request, Let's Encrypt won't issue a certificate for your domain (see https://letsencrypt.org/docs/caa/). Failing authorizations: https://acme-v02.api.letsencrypt.org/acme/authz-v3/2690098044

"Invalid response from https://csis.ait.ac.at/.well-known/acme-challenge/uYA0vExyFVMrzfkdv0LqB-CqWS7zCxWjAuy1jOU2vpk [<IP_ADDRESS>]: "\r\n500 Internal Server Error\r\n\r\n500 Internal Server Error\r\n""

Still broken after taking the 'atomic nuke option':

nginx-letsencrypt    | 2020-02-07 13:14:30,357:ERROR:simp_le:1396: CA marked some of the authorizations as invalid, which likely means it could not access http://example.com/.well-known/acme-challenge/X. Did you set correct path in -d example.com:path or --default_root? Are all your domains accessible from the internet? Please check your domains' DNS entries, your host's network/firewall setup and your webserver config. If a domain's DNS entry has both A and AAAA fields set up, some CAs such as Let's Encrypt will perform the challenge validation over IPv6. If your DNS provider does not answer correctly to CAA records request, Let's Encrypt won't issue a certificate for your domain (see https://letsencrypt.org/docs/caa/). Failing authorizations: https://acme-v02.api.letsencrypt.org/acme/authz-v3/2691193142

"Fetching http://csis.ait.ac.at/.well-known/acme-challenge/ZiT8VMCpOrOVKM6A0tneBpd-DW-avK9QEzevX-ToFTQ: Connection refused"

@Itsman-AT Please ensure that port 80 incoming is allowed for <IP_ADDRESS> and <IP_ADDRESS> .

curl -v https://csis-dev.ait.ac.at
* Rebuilt URL to: https://csis-dev.ait.ac.at/
*   Trying <IP_ADDRESS>...
* TCP_NODELAY set
* Connected to csis-dev.ait.ac.at (<IP_ADDRESS>) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS Unknown, Certificate Status (22):
* TLSv1.3 (IN), TLS handshake, Unknown (8):
* TLSv1.3 (IN), TLS Unknown, Certificate Status (22):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (OUT), TLS alert, Server hello (2):
* SSL certificate problem: self signed certificate
* stopped the pause stream!
* Closing connection 0
curl: (60) SSL certificate problem: self signed certificate
More details here: https://curl.haxx.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.

Still getting

nginx-letsencrypt    | 2020-02-07 13:45:00,895:ERROR:simp_le:1396: CA marked some of the authorizations as invalid, which likely means it could not access http://example.com/.well-known/acme-challenge/X. Did you set correct path in -d example.com:path or --default_root? Are all your domains accessible from the internet? Please check your domains' DNS entries, your host's network/firewall setup and your webserver config. If a domain's DNS entry has both A and AAAA fields set up, some CAs such as Let's Encrypt will perform the challenge validation over IPv6. If your DNS provider does not answer correctly to CAA records request, Let's Encrypt won't issue a certificate for your domain (see https://letsencrypt.org/docs/caa/). Failing authorizations: https://acme-v02.api.letsencrypt.org/acme/authz-v3/2691525574

https://csis-dev.ait.ac.at/.well-known/acme-challenge/4UsZGjBuxXZo_5_Np9vefwpErrioWiEnC9qSZ2tMLuk
-> 500 Internal Server Error

nginx-letsencrypt    | Challenge validation has failed, see error log.
nginx-letsencrypt    |
nginx-letsencrypt    | Debugging tips: -v improves output verbosity. Help is available under --help.

Where are the logs? where to append the -v option?

@therter @jeanatcismet
Any idea what is going on here? Are there more logs? Where? data/logs/error.log is empty.

Removed vhost.d directory with custom configuration and it's working but it did work with the very same configuration before ?!

-> remove all symlinks in vhost.d. Don't use git symlinks any more.

Again:

nginx-letsencrypt    | 2020-02-10 08:04:14,667:ERROR:simp_le:1396: CA marked some of the authorizations as invalid, which likely means it could not access http://example.com/.well-known/acme-challenge/X. Did you set correct path in -d example.com:path or --default_root? Are all your domains accessible from the internet? Please check your domains' DNS entries, your host's network/firewall setup and your webserver config. If a domain's DNS entry has both A and AAAA fields set up, some CAs such as Let's Encrypt will perform the challenge validation over IPv6. If your DNS provider does not answer correctly to CAA records request, Let's Encrypt won't issue a certificate for your domain (see https://letsencrypt.org/docs/caa/). Failing authorizations: https://acme-v02.api.letsencrypt.org/acme/authz-v3/2738384011, https://acme-v02.api.letsencrypt.org/acme/authz-v3/2738384014

-> 500 Internal Server Error

docker logs nginx-web: nothing!

more /var/log/nginx/error.log: empty.
Probably a problem in the configuration files in in vhost.d, but this seems impossible to debug.

Getting closer:
nginx-web            | nginx: [emerg] unexpected end of file, expecting ";" or "}" in /etc/nginx/vhost.d/csis-dev.ait.ac.at:1
nginx-web            | nginx: [emerg] unexpected end of file, expecting ";" or "}" in /etc/nginx/vhost.d/csis-dev.ait.ac.at:1
nginx-web            | nginx: [emerg] unexpected end of file, expecting ";" or "}" in /etc/nginx/vhost.d/csis-dev.ait.ac.at:1
nginx-web            | nginx: [emerg] unexpected end of file, expecting ";" or "}" in /etc/nginx/vhost.d/csis-dev.ait.ac.at:11
nginx-web            | nginx: [emerg] unexpected end of file, expecting ";" or "}" in /etc/nginx/vhost.d/csis-dev.ait.ac.at:11
nginx-web            | nginx: [emerg] unexpected end of file, expecting ";" or "}" in /etc/nginx/vhost.d/csis-dev.ait.ac.at:11
nginx-web            | nginx: [emerg] unexpected end of file, expecting ";" or "}" in /etc/nginx/vhost.d/csis-dev.ait.ac.at:11
nginx-web            | nginx: [emerg] unexpected end of file, expecting ";" or "}" in /etc/nginx/vhost.d/csis-dev.ait.ac.at:11
nginx-web            | nginx: [emerg] unexpected end of file, expecting ";" or "}" in /etc/nginx/vhost.d/csis-dev.ait.ac.at:11
nginx-web            | nginx: [emerg] open() "/etc/nginx/vhost.d/csis-dev.ait.ac.at" failed (2: No such file or directory) in /etc/nginx/conf.d/default.conf:74
nginx-web            | nginx: [emerg] open() "/etc/nginx/vhost.d/csis-dev.ait.ac.at" failed (2: No such file or directory) in /etc/nginx/conf.d/default.conf:74
nginx-web            | nginx: [emerg] open() "/etc/nginx/vhost.d/csis-dev.ait.ac.at" failed (2: No such file or directory) in /etc/nginx/conf.d/default.conf:74
nginx-web            | nginx: [emerg] open() "/etc/nginx/vhost.d/csis-dev.ait.ac.at" failed (2: No such file or directory) in /etc/nginx/conf.d/default.conf:74
nginx-web            | nginx: [emerg] open() "/etc/nginx/vhost.d/csis-dev.ait.ac.at" failed (2: No such file or directory) in /etc/nginx/conf.d/default.conf:74
nginx-web            | nginx: [emerg] open() "/etc/nginx/vhost.d/csis-dev.ait.ac.at" failed (2: No such file or directory) in /etc/nginx/conf.d/default.conf:74
nginx-web            | nginx: [emerg] open() "/etc/nginx/vhost.d/csis-dev.ait.ac.at" failed (2: No such file or directory) in /etc/nginx/conf.d/default.conf:74
nginx-web            | nginx: [emerg] open() "/etc/nginx/vhost.d/csis-dev.ait.ac.at" failed (2: No such file or directory) in /etc/nginx/conf.d/default.conf:74
nginx-web            | nginx: [emerg] open() "/etc/nginx/vhost.d/csis-dev.ait.ac.at" failed (2: No such file or directory) in /etc/nginx/conf.d/default.conf:74
nginx-web            | nginx: [emerg] open() "/etc/nginx/vhost.d/csis-dev.ait.ac.at" failed (2: No such file or directory) in /etc/nginx/conf.d/default.conf:74

Is this configuration sufficient?

No chance:

nginx-letsencrypt    | 2020-02-10 12:37:03,208:ERROR:simp_le:1396: CA marked some of the authorizations as invalid, which likely means it could not access http://example.com/.well-known/acme-challenge/X. Did you set correct path in -d example.com:path or --default_root? Are all your domains accessible from the internet? Please check your domains' DNS entries, your host's network/firewall setup and your webserver config. If a domain's DNS entry has both A and AAAA fields set up, some CAs such as Let's Encrypt will perform the challenge validation over IPv6. If your DNS provider does not answer correctly to CAA records request, Let's Encrypt won't issue a certificate for your domain (see https://letsencrypt.org/docs/caa/). Failing authorizations: https://acme-v02.api.letsencrypt.org/acme/authz-v3/2741845094, https://acme-v02.api.letsencrypt.org/acme/authz-v3/2741845095

Please check your domains' DNS entries, your host's network/firewall setup and your webserver config. If a domain's DNS entry has both A and AAAA fields set up, some CAs such as Let's Encrypt will perform the challenge validation over IPv6. If your DNS provider does not answer correctly to CAA records request, Let's Encrypt won't issue a certificate for your domain

@p-a-s-c-a-l : I can check back with our ITO, if you want, to be clear that there is no issue with AIT's firewall here.

resolved. maybe. maybe not. 🤦♂


[CARBONDATA-1458] Fixed backward compatibility issue with decimal

The table loaded in 1.1 version cannot be queried in 1.2 branch as decimal min/max are hard coded to double.

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/622/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/623/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/624/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/628/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/629/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/630/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/631/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/632/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/633/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/636/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/637/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/638/

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/639/

retest this please

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/640/

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/646/


[5.7] Container bindMethod improvement

resubmit of https://github.com/laravel/framework/pull/24199 to master

Added a InvalidArgumentException if $method in bindMethod is array with array count < 2
added \ to phpdoc
Changed message formatting
Apply changes after review.

(cherry picked from commit d26c89c)

No explanation for what this does.


Add Spanish internationalization

Hey, I didn't see a PR from @CRomano31415 or @fportela-ns so I figured I'd go ahead and make the PR.
However, I do NOT deserve all the credit. @CRomano31415 scraped all these words together and @fportela-ns combed through and assigned the appropriate numerical values for all of this. I just turned it into JSON and added maybe 2 or 3 words. My contribution is minimal compared to the work of these two individuals.
Yay internationalization!

No worries @wooorm - Feel free to close this and give the credit to the others ;). I already got my 5 PR's so the others should definitely get theirs ;).

In that case, @CRomano31415 or @fportela-ns, need a PR?

I'm good, this is my work account anyways and it's not registered for the hacktoberfest 😄

I honestly would be okay if either @MrBenJ or @fportela-ns got it - no worries :)

You're all wonderful and polite people :D. Open Source, full of nice people!

@CRomano31415 @fportela-ns Awesome, thanks for getting back to us!
@MrBenJ Could you add Spanish to the [Language support section]https://github.com/words/cuss#language-support), and add something to Support about where this list came from?

Donion rings!


input text - increase clear button touchable area

What kind of PR is this?:

/kind fix
What this PR does / why we need it:

To increase touchable area of clear input

Which issue(s) does this PR fixes?:

Fixes #972
Additional comments?:
Developer Checklist:

[x] Read your code changes at least once
[ ] Tested on iOS/Android device (e.g, No crashes, library supported etc.)
[x] No console errors on web
[ ] Tested on Light mode and Dark mode*
[ ] Your UI implementation visually matched the rendered design*
[ ] Unit tests*
[ ] Added e2e tests*
[ ] Added translations*

@thedoublejay updated to use touchableopacity, can you help to test again to see if it works on your device? Works on mine


Request new version

The plugin is not supported anymore because of the new version of CLion. Incompatibility with the new build.

After verification with jetbrains everything is compatible, can you please describe your issue so that I work on it.

The fix is pushed, it was just a version match error as jetbrains doesnt support latest and make it like this so you review your plugin everytime.


Sanitizing task input.

Fixes #109.

Coverage increased (+0.4%) to 47.144% when pulling d37d5de71e4b14878446e48887626b8cd9cfd1c4 on TOA-109/task_input_santization into 3f022839699376df2cb77c94bc201c2b9959a066 on development.


Added validation for Input text for dates

closes #66

Any update on this @RichardLindhout ??

I'm going to close due to lack of movement. If it is still applicable, please update and we can readdress it.


Randomness and MongoObserver

After a bit of deep debugging, I realized that the MongoObserver makes a call to the random.choice function (here) during each heartbeat, making it basically impossible to guarantee reproducibility if the random module is used directly without making use of a specific random.Random instance.
I think that there is not much to do about it on Sacred side, but a note in the docs making clear that random should be used carefully when coupled with the MongoObserver could help other users observing this behaviour.
Or can you see a way of solving this problem that would be transparent to the user ?

Thanks for reporting! I would at leas think that you should get around this by explicitly injecting individually seeded random number generators into your captured/main functions as described in https://sacred.readthedocs.io/en/latest/randomness.html#special-arguments. Could you try this out and check if this makes your experiments reproducible?

Agree with @JarnoRFB. The problem of libraries or other code using the global sources of randomness is the main reasons the _rnd parameter exists.
It is good to know that pymongo is one of these gotcha libraries, and it might be worth pointing this out in the documentation.

Thanks for your answer!
Yes, using a specific Random or RandomState instance like the one provided by the _rnd parameter solves the problem. I agree that this is not a big issue since sacred provides a way of properly seeding experiment, but having a specific note about this behaviour in the docs could help the debugging for users using the global random state.

Hello,
I think I have got a relative problem. When I was training my PyTorch model, I realized that the training progress (loss per epoch) with and without MongoObserver is different, although I have set the same global seed. If I train many time WITHOUT MongoObserver, I got the same result. If I train many time WITH MongoObserver, I also got the same result. However, the result of with and without MongoObserver is different

Are you using a globally seeded random number generator? If so, your can try to replace it with the _rnd parameter in your captured function as @JarnoRFB suggested.
Since the MongoObserver is directly sampling from the random module, it alters the global state and can cause the behavior you are describing.

Hello @TomVeniat , Thank for your response. I have set the global seed by command line "python script.py with seed=". So, I don't really know how can I make use of the _rnd parameter?
For the mentioned problem, If I replace the random.choice in pymongo library by selecting only the first item in the list, then I am able to get the same result with and without MongoObserver. This is a simple hack I am using for now. But modifying vendor library is not a good way, I think.

Your seeding is correct. The _rnd parameter should be used in your code each time you want to use a random operation.
For example, replacing all calls to random.randint with _rnd.randint. This way the global state will have no impact on your code and you won't have to modify PyMongo's code.

Hey @TomVeniat I see what you mean. However, the calling to random module is inside the PyMongo's code, and to be able to use MongoObserver, I have to include the PyMongo's library. There is no way I can replace those calls to random module from my side except modifying the library. If you know another way to workaround, please let me know.

Are you using the random module in your code? If so you should use _rnd on these calls instead of directly using random.xxx.
Once its done, PyMongo can do its random.choice thing without impacting your random state.

Ah, I see what you mean. I will have to change all of my calls to random module to avoid the impact from random.choice from PyMongo.
Thanks a lot


[Feature] Multi-Node Batch Support

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Description
Looking at AWS Batch and the support Batch has for  Multi-Nodes, I was wondering if perhaps there may be a way to incorporate into the Ray Cluster Configuration support to use the Mulit-Node Batch jobs.  What I find appealing with this is that if I were to terminate the head node Batch Job, all the worker nodes would terminate as well.  The other appealing aspect is that AWS Batch has a Step Function integration.  It would be nice to invoke a Batch Job that would spin up a mult-node cluster for Ray to use.  With the limited tests I have done, I liked how if you abort a step function execution, the Multi-Node Batch job is terminated and all the nodes (head and worker) terminate.
I am happy to work on the code and submit a Pull Request, But I would need some help from the Multi-Node Batch team at AWS as there are a few questions about the Multi-Nodes Batch service that i am not real familar with yet.
Use case
Our basic use case is in imagery processing.  We use Ray in a producer/consumer model to spin up consumers across a cluster of  compute instances to process large blocks of imagery in parallel.  The current issue is clean up when things go wrong.  There are two ways things go wrong currently (the ray cluster has worker nodes that die and leave the cluster in a bad state, and something happens with logging in ray and the jobs never end even though the processing is complete).  When these things happen we have defensive services that try to cleanup.  These defensive services need to do a lot because the Ray cluster isn't a managed service.  Running in Batch, which is a managed service makes clean up easier.  We can terminate a batch job and the step function retry logic will spin up a new batch job and retry.  In a Multi-Node scenario, it would spin up a new cluster and retry.
Related issues
No response
Are you willing to submit a PR?

[X] Yes I am willing to submit a PR!

I would also be interested in this.
I thought this would be straightforward, spin up the nodes with batch and collection the IPs to build a cluster of resources, but it looks like Ray is designed differently and the pattern would be to start a cluster then submit a job to that cluster and terminate the cluster when that job is done.
The patterns for using kubernetes and VMs make more sense, but I am still interested if this is possible.


URL Path for backend is not used for reverse proxy

In this case, I want my redirection /test to be forwarded to http://localhost:8000/path1/test or http://localhost:8000/path2/test
The problem is that Traefik only forward to http://localhost:8000/test. The server Path is never used.
[backends]
  [backends.backend1]
    [backends.backend1.servers.server1]
    url = "http://localhost:8000/path1/"
    [backends.backend1.servers.server2]
    url = "http://localhost:8000/path2/"

[frontends]
  [frontends.test]
    backend = "backend1"
    [frontends.test.routes.test_1]
    rule = "PathPrefix: /test"

We are running into this issue as well.
It appears the backend path is being ignored, and there is no apparent way to add or rewrite paths on the frontends.

You can use
https://docs.traefik.io/basics/#modifiers

It works perfectly
Well done guys


Cleanup Based on Changes in Generated Code

Description
Contains cleanup due to changes in generated code.
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-storage-blob


Unable to Use in Servers

When I enter "/crackseed" in a server, it will prompt up "unknown command". Since this mod is client-side, I think it might need another command prompting character like "#" or "." instead of "/", otherwise it might cause confusion between client-side command and server-side command.

Hm, maybe just using the dot as a prefix would be good enough


PyTTI-Tools and FILM colab don't work

PyTTI-Tools and FILM colab don't work. Many issues also mentioned on reddit.

The colab works fine. Follow the steps and provide the full path of where your input images live.
E.g., to interpolate the "frame-interpolation/photos" in the FILM repo, I entered the full path into the frame_dir box, as: "/content/drive/MyDrive/interpolation/frame-interpolation/photos".
Several people seem to report problems, so I'm sharing a snapshot of my attempt at using the PyTTI-Tools Colab, it simply shows where the input images come from, and where the outputs will be saved.

Thank you for answer.
If using Windows 11, why do I have to delete the "frame_interpolation." part from "python3 -m frame_interpolation.eval.interpolator_test" ?
When running "python3 -m frame_interpolation.eval.interpolator_test" I get error, that module is not found.
But when I run "python3 -m feval.interpolator_test", it works?

Glad it worked out for you!
If your current-working-directory is inside ‘frame_interpolation’, you have to delete the folder name when running the python3 commands.


Sample background rather than using a fixed value when training

@jeff-regier  mentioned that this might be a good thing to do down the line and might make the algorithm more robust. Not sure if redundant with or related to #464

I think this might be a potential solution to the low precision problem. Training on a constant background means the Poisson noise is homoscedastic (same variance everywhere) when there are no objects. On a real image, the background varies, so the Poisson noise is heteroscedastic when there are no objects.
Since the encoder is trained to expect the same amount of noise everywhere, it is less robust to changes in background. Specifically, it may detect object that aren't there when the background is higher.


docs(plugins): plugin creators docs

Documentation for how plugin creators can create plugins. This
references a repo that contains a working plugin:
https://github.com/armory/stage-plugin. This is based on the work that
has already been merged into Orca and this open PR in Deck:
https://github.com/spinnaker/deck/pull/7474

I made a commit that fixed some nits I had. Still have the question for the last sentence with "the first" and "the second." Other than that, LGTM.


fix big negative integer

https://github.com/uwiger/sext/issues/14
Use same strategy as for big positive integer

Thanks for noticing this! A bit embarrassing that we didn't think to fix it at the same time as we fixed the positive bignums. :)
I have pushed a version of your branch to https://github.com/uwiger/sext/tree/uw-fix-big-neg-integer where I've added the corresponding tests in the EQC test suite. I've run it a number of times, including with pretty high 'numtests'.
If you want, you can pull those changes into this PR and I'll merge it. FWIW, it seems that this would put credit in the right place (for those who dig though old PRs).

I have merged you changes into this PR.

Great! Thanks.


WIP: Adding mypy + Cleanup

Cleanup of unused code, getting rid of star import from pypuppetdb and replacing imported libraries with local imports.
Added mypy to tests.

Coverage remained the same at ?% when pulling 7776e0b67a1a4843cf56e0a08b7a98e991d3a8ca on dom-nie:mypy_cleanup into 04cfe062e4cd6b66913a3cccb8acd9f357a36ea0 on voxpupuli:master.

Coverage remained the same at ?% when pulling 7776e0b67a1a4843cf56e0a08b7a98e991d3a8ca on dom-nie:mypy_cleanup into 04cfe062e4cd6b66913a3cccb8acd9f357a36ea0 on voxpupuli:master.

Thanks for the PR!


The markdown preview page sometimes has confusing lines

VSCode Version: May 2019 (version 1.35)
OS Version: Windows_NT x64 10.0.14393

Steps to Reproduce:

Code with markdown， Preview with the plugin is"Markdown Preview Enhanced".
The preview page sometimes has one more confusing line.

e.g. :
Source code in markdown:
C:\tmp>git checkout master
Switched to branch 'master'
C:\tmp>git status
On branch master
nothing to commit, working tree clean

Preview page display:
C:\tmp>git checkout master
Switched to branch 'master'
C:\tmp>git status
On branch master
nothing to commit, working tree clean

Please file this against Markdown Preview Enhanced


react-native-reanimated

Add to the project react-native-web, I set this
alias: {
  // Custom Aliases
  'react-native$': 'react-native-web', //this
  ...require('./webpack.aliases'),
},

in webpack.renderer.js
Now I'm trying to use react-native reanimated but I'm having difficulties, the installation is like this: https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/installation
I created a .babelrc file this is the content:
{
  "presets": [
    "@babel/preset-env",
    "@babel/preset-react"
  ],
  "plugins": [
    ["react-native-web", { "commonjs": true }],
    "@babel/plugin-proposal-export-namespace-from",
    ["react-native-reanimated/plugin", {
      "relativeSourceLocation": true
    }]
  ]
}

and specify it in webpack.rules.js:
module.exports = [
  {
    test: /\.(tsx|ts|jsx|js)$/,
    exclude: /node_modules/,
    use: {
      loader: 'babel-loader',
    },
  },
  ...
];

But I get the following error:
Module parse failed: Unexpected token (511:20)
node_modules/react-native-reanimated/lib/createAnimatedComponent.js
File was processed with these loaders:
 *<EMAIL_ADDRESS>You may need an additional loader to handle the result of these loaders.
|                 default: { collapsable: false },
|             });
>             return ();
|         }
|     }

Any idea how to fix it?
I tried it in a next.js project it works without problems

The errors you mentioned were caused due to some additional loader requirement for those react-native-animated modules.
Have you tried using existing documentation regarding webpack support of that plugin?

I made some changes to the webpack rule and added this setting:
entry: [
  'babel-polyfill',
  './src/main/app.ts'
]

in webpack.main.js pero seguia obteniendo un error, asi que tambien lo agregue en webpack.renderer.js asi:
entry: [
  'babel-polyfill',
]

I also added new webpack.EnvironmentPlugin({ JEST_WORKER_ID: null }) to webpack.plugins.js, I only added that one because if I add new webpack.DefinePlugin({ process: { env: { env: {} } }) I get this error:
Uncaught TypeError: Cannot read properties of undefined (reading 'chrome')
    at appPreload.tsx:16:38

And that's because new webpack.DefinePlugin({ process: { process: { env: {} } }) sets env to {} and in appPreload.tsx it's used like this
// Process versions
for (const type of ['chrome', 'node', 'electron']) {
  versions[type] = process.versions[type];
}

Configure all this as described in the reanimated documentation on webpack https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/web-support/#webpack-support
After configuring all this, finally the app worked without errors but now no component is rendered, just a blank screen.
any idea how to fix it?


Don't use 0-indexed locations

Instead we should convert it as late as possible in the IDE code

Duplicate of #72, closing to consolidate information there instead.

Thanks!


Fix link to issues and remove broken link to fork

Thanks @kaelig! If I restore the fork link, I’ll be sure it points to the right URL, https://github.com/10up/sanitize.css/fork

Oh great, I didn't know the /fork link was a thing that worked on github!


Adan Optimizer

Is there any interest in adding the Adan optimizer to optax? If so I can do it

Interesting, I think that would be great! Thanks a lot!
Let us know if you'd like to discuss anything about the implementation as you write it. How much of the Adam code do you think can be reused?

This looks very interesting, it would be an amazing contribution!

I see there is an issue with the replicability of the pull request. It appears there is another implementation in jax for optax here, which might be worth looking at.
https://github.com/hr0nix/optax-adan

Thanks for the pointer @adam-hartshorne! Sadly when testing that implementation on my colab it gets a 3 order of magnitude larger error compared to mine (not sure where the difference comes from, the only difference I can see is the epsilon placement)

Hi, author of optax-adan here. Is it possible to share a collab where you've compared both implementations? I'd like to figure out where does the difference come from.

Oh, found the link in the pull request, so no worries.

Yep, the difference between implementations comes from epsilon placement. If I move it outside sqrt, the results are equal.

After this change is merged and released, I'll put a note in README.md of optax-adan that there is no need to use the package as adan is now implemented in optax.


Adding credential-provider-package image/helm build

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/retest

/retest

/test eks-anywhere-packages-image-tooling-presubmit


cannot load submodule from containing repo

submodules are displayed like a file in the code view and when tapping on them there is a loading error.

Bug Report Dump (Auto-generated)

Version 1.21.0<PHONE_NUMBER>)
Device: iPhone 6s (iOS 11.4)
TestFlight: false

Good find! Would love a hand implementing this if anyone needs this feature.
Sent with GitHawk

@rnystrom i am getting  error while loading through
`    func fetchFiles(
owner: String,
repo: String,
branch: String,
path: String,
completion: @escaping (Result<[RepositoryFile]>) -> Void
) {
let query = RepoFilesQuery(owner: owner, name: repo, branchAndPath: "(branch):(path)")
    client.query(query, result: { $0.repository?.object?.asTree?.entries }) { result in
        switch result {
        case .failure(let error):
            completion(.error(error))`

what i am suspecting is . do i need to change this branchAndPath to fetch the submodules . can you help me with what the query should look like.

i am able to achive the ui here

it would be nicer to have something like github does to hint that it is a submodule:

@TheCodeTalker awesome! If there’s a way to pull hashes like @actelligent mentioned, that would be awesome. But even having this working is great. Feel free to PR!
Sent with GitHawk

@rnystrom @jdisho i am not able to load the file content of submodule any help with the query??


[REQUEST Membership]: New membership for fsl

GitHub Username
@fengshunli
Organization you are requesting membership in

openyurtio
Sponsors

@rambohe-ch  @Fei-Guo @kadisi
Requirements

[x] I have joined in the community Dingding and [WeChat]
[x] I often attend Openyurt Community Week
[x] I have reviewed the [community membership docs]
[x] I have spoken to my sponsors ahead of this application, and they have agreed to sponsor my application
[x] I have checked my affiliation in devstats (if it's not correct, please fix in cncf/gitdm)
[x] I am actively contributing to 1 or more OpenYurt subprojects

List of your contributions

PRs reviewed / authored:
https://github.com/openyurtio/openyurt/pull/1149
https://github.com/openyurtio/openyurt/pull/1152
https://github.com/openyurtio/openyurt/pull/1155

Issues :
https://github.com/openyurtio/openyurt/pulls

Brief Introduction

@fengshunli welcome you to apply community member, agree +1

agree +1

agree +1

agree +1

@fengshunli Congratulations you to become a member of OpenYurt community. We have sent a github message to invite you as member of OpenYurt, please check the message. and after joining member of OpenYurt, you need to check two points in this issue https://github.com/openyurtio/community/issues/14


standardize benchmarking weights

Right now the re-running of benchmarks to update weights in subtensor is fairly haphazard, is not occurring on a regular basis, and is not being done on consistent / reference hardware, to alleviate this I recommend:

[x] Set up a custom gh runner specifically for running benchmarking jobs that matches the minimum hardware we would want for a validator. When creating the self-hosted runner, set --max-jobs 1 so that only one benchmark job can run at a time
[x] Document the recommended/minimum validator hardware spec somewhere (if we don't already)
[ ] Set up a CI action that runs the benchmarking suite on the custom runner. This action would be able to add a commit committing the updated weights

CI job wpossibly would be triggered as part of the tagging/release process, or manually triggered, or possibly even whenever something goes into main, pros and cons to each of those
The end goal is that subtensor's on-chain benchmarking weights always reflect the current code on consistent reference hardware without any lift from the team

On-hold until reproducible builds are done.


Add object_method_name matcher

This new matcher allows you to do assertion on relationships that use a custom method to get the associations for a record.
class User < ActiveRecord::Base
  has_many :posts
end

class UserSerializer
  include JSONAPI::Serializer

  has_many :blog_posts, object_method_name: :posts
end

The new submatcher allows you to do this:
expect(serializer).to have_many(:blog_posts).object_method_name(:posts)

Thanks guys!

@musashinm @silviogreuel @stefantseng could any of you get this merged and released, please? I no longer have permissions to do so.

Glad to do it myself if you add me as a collaborator on this repo, though.

Closing this one out. I'm going to keep my fork updated instead.


Ensure that 'HTTP Version' is the latest if used to run the web app

Possible check to target the following resource

[ ] azurerm_app_service

closing, tracking in spreadsheet

closing, tracking in spreadsheet


Add some CI workflows, issue templates

@huard
This is effectively building for all (except macOS w/ conda). This likely has to do with my lack of knowledge when it comes to linking libraries with CMake on macOS (the process of setting relative run paths is different). In any case, we have something that seems to be working!

Relevant information: https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/RPATH-handling


fix(browser): allow for pretty-format as a sibling dependency

Description
Solves #4570 by adding a missing dependency of @vitest/snapshot to the dependency optimization.
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. If the feature is substantial or introduces breaking changes without a discussion, PR might be closed.
[ ] Ideally, include a test that fails without this PR but passes with it.
[x] Please, don't make changes to pnpm-lock.yaml unless you introduce a new test example.

Tests

[x] Run the tests with pnpm test:ci.

Documentation

[x] If you introduce new functionality, document it. You can run documentation with pnpm run docs command.

Changesets

[x] Changes in changelog are generated from PR name. Please, make sure that it explains your changes in an understandable manner. Please, prefix changeset messages with feat:, fix:, perf:, docs:, or chore:.

I've got the feeling 'vitest > pretty-format', can be removed from dependency optimization since vitest doesn't depend on pretty-format (anymore?). Let me know if this is correct, and I'll remove it.
Do you want me to add a test for this? If so, please point me in the right direction. For example, can I add pretty-format as a dependency to "test/browser"?

Tested this manually by patching node_modules using the linked minimal reproduction.
It also looks like this issue doesn't come up with pnpm. The vitest-tests repository has a browser setup with pnpm only: https://github.com/vitest-tests/browser-simple. As Vitest's main repository (this project) is using pnpm it's difficult to create failing test cases here. Maybe we'll need vitest-tests/browser-simple-npm.

I have no idea if that would work or not, but have you ever thought of maybe using corepack for some tests or a workflow? I never personally use corepack myself, but I was wondering if it could help here or not?

@sheremet-va sorry to bother you, but any chance you could cut another beta release for this fix?


create/edit replication repository: no generic S3 object storage available

in the add/edit replication repository only aws, gcp and azur is available.
please update aws with "aws and generic s3" or add another point with "generic s3"
otherwise user is confused.
see https://docs.openshift.com/container-platform/4.3/migration/migrating_4_1_4/configuring-replication-repository.html

Duplicate of 669, https://github.com/fusor/mig-ui/issues/669


Can you please update the license of the repository?

Hi, thanks a lot for your work. Can you please update the license of the repository so that other people can try out your work. Thanks a lot!

MIT License is added.


Fix tooltip appearing after every re-highlight and view focus

Bug:

Tooltip pops up after every lint highlight update
Tooltip pops up on view focus

Expected:

Linter tooltip should not appear on re-highlight or on view focus

To reproduce:

Highlight triggers tooltip

Enter code that will fail linter
Switch to another window before re-highlighting is finished
After a few seconds, linter tooltip will appear despite the original view not being in focus

View focus triggers tooltip

Select text with lint errors
Switch to another window and switch back
Tooltip appears automatically

This bug was caused by manually triggering on_selector_modified in the highlight and on_activated methods. I extracted the contents of the original on_selector_modified into a new method named display_errors with an optional flag tooltip. Within on_selector_modified, it calls the method with tooltip=True, while highlight and on_activated call it with tooltip defaulting to False.
Feedback is welcome! Currently the codebase seems to fail the lint test, presumably due to the pydocstyle v2.0.0 update, so perhaps we should test with pydocstyle . --add-ignore=D202,D401 for now. Let me know what you think.

I'm consolidating this and other related issues in #619

Hi @braver , just to check as your message makes me doubt: you wanted to close this PR? (it's not an issue)

Wow, thanks, I think I got confused yesterday. This is still open to be merged IMO

@maryqygao you've got two PR's open about tooltips. Is it possible to consolidate the two? Also, since you're already addressing some of the issues with tooltips, could you have a look at #619 and let me know which elements of that issue are addressed and which aren't? I'd love to get some traction on fixing the tooltips and if you're willing to help out that's beyond awesome. The efforts are missing clarity and focus right now, so that would really help us get your PR's in and improve the package.

I merged #577 and #579 and solved their merge conflicts in #636, so they're ready to be merged. Thanks for these contributions!


NJWE 13: Update Find Training Page Title

Summary
A change in navigation labels has required a need to change the page titles as well. In addition this required updating some of the Cypress tests for the Search / Find Training page.
Similar to PR #550 only it now includes Cypress tests and some Prettier clean up. Did it as a separate repo and PR because — I don't know, it's Friday and I blew up something locally and don't really know what I did. So…
References

https://fearless.jira.com/browse/NJWE-13

Test Plan

Running ./scripts/feature-tests.sh will pass.
Visual inspection, both English and Spanish subtitles match the above reference.

@ChelseaKR just did a bunch of updates (bringing up to date with master), can you pull this down and double check that your nav work didn't get majorly borked.
Also per your comment above about enforcing prettier, when you push code up to Github there's a script at ./scripts/ship-it.sh that will run all the tests, run lint/prettier, commit all the changes, and then do a git push.

LGTM!


Add deploy static resources target

Maybe same similar strategy as this one:
https://github.com/genexuslabs/deployment-targets/tree/master/src/StaticFrontEnd/deploy

Sorry. Its ok!


ITN - Reflect correct state of node

Daedalus ITN currently waits cardano-wallet-jormungandr process to start responding and report sync status, which in turn - is waiting for jormungandr bootstrap process to finish.
All this while what is presented to an end user is "Connecting to Network.." message - which not only gives a very bad UX, but also makes them restart nodes often, making it worse.
The status on the screen needs to be presented better. I understand this issue may need a feature to be enabled on cardano-wallet end, but given the issue classification (bug, failure of test, task with predefined decisions), I am opening the issue here instead from end user's point of view.

Thank you for opening this ticket. We are aware of this issue and the negative impact it has on the UX. However, Daedalus is helpless in this case as without the changes on the cardano-wallet side there is no way for us to know if we are in the initial boostrap phase or not.

Closing this one as Daedalus ITN is no longer in use.


Another fix for the google calendar icon

After you install the system update for 7.1.1 on your google pixel, you'll see that the calendar icon isn't showing anymore, AGAIN.
The method ContextCompat.getDrawable(Context, int) was throwing a Resources.NotFoundException.
This PR fixes the issue by using PackageManager.getApplicationIcon(String) instead of ContextCompat.getDrawable(Context, int)

Thanks! Please see my one comment, then will merge

updated, thanks for the prompt response :)


Publish forked documentation to GitHub Pages

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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 99.794%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
649

Relevant Lines:
650

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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 99.794%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
649

Relevant Lines:
650

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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 99.794%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
649

Relevant Lines:
650

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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 99.794%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
649

Relevant Lines:
650

💛  - Coveralls


GraphQL API - Beta

TODOs

Documentation
Documentation
Documentation
Clean-Up

[ ] have a concise title
[ ] close an accompanying issue if one exists
[ ] be against the correct branch
[ ] include migration scripts and documentation, if appropriate
[ ] pass automated tests
[ ] have a clean commit history
[ ] have proper commit messages (title and body) for all commits

FYI: Branch cut for OC 17 is on November 6!

From the Dev Meeting: Can probably also go into stable if it's actually self-contained, should be off by default, should be obvious that the API isn't stable and can be changed at any time without notice.


Fix duplicated cookie name on writing of cookie into request

Thank you, can't believe I missed that!


Release Google.Cloud.Batch.V1Alpha version 1.0.0-alpha28

Changes in this release:
New features

Update description on allowed_locations in LocationPolicy field (commit fb760fc)
Add UpdateJob API to update the job spec, only task_count is supported now (commit fb760fc)

Documentation improvements

Updated comments (commit fb760fc)

Created release for Google.Cloud.Batch.V1Alpha-1.0.0-alpha28


JSONB PostgresSQL Spring JPA

Hi, following the link in readme: https://vladmihalcea.com/jpa-query-setparameter-hibernate/
Is there an alternative solution when using Spring @Query ? Currently on Spring boot 3 + Hibernate 6 + PostgreSQL
I used @Type(JsonBinaryType.class) with the property type as generic Object but I'm getting the cannot convert bytea error. Removed all the TypeDefs annotation too.

You need to convert the Query method to a custom Repository method that allows you to call setParameter.
Check out this article for more details about custom Repository methods.


3D VOLUMES NOT AN ISSUE PER SEI rather a question.

your work is brilliant. We wanted to use segments of your code to build a Vision Transformer (ViT) using transfer learning. We run into an issue with the code
print("MAKING TOTAL-SEGMENTOR DATA")
meta = pd.read_csv(f'{PATHS.TOTAL_SEGMENTOR_FOLDER}/meta.csv', delimiter=';')
meta['abdomen'] = meta.study_type.apply(lambda x: 1 if 'abdomen' in x else 0)
meta = meta[meta['abdomen']==1].reset_index(drop=True)
SAVE_FOLDER = PATHS.TOTAL_SEGMENTOR_SAVE_FOLDER
os.makedirs(SAVE_FOLDER, exist_ok=1)
where is the meta.csv how is it generated.
Can we please have the meta.csv, 3d volume.npy  and the corresponding labelled csv
one of the issues in implementing a VIT is the 16x16 patch that is 3 layers. After the 3d volumes are created they are 32 layers

When you download TotalSegmentor dataset from https://zenodo.org/records/6802614
After unzipping, In the folder "Totalsegmentator_dataset", there will be a meta.csv file


Documentation link to 'latest' is broken and shows old docs

Issue description
The latest docs, v0.9.5, are here: https://snorkel.readthedocs.io/en/v0.9.5/
The 'latest' tag for docs are here: https://snorkel.readthedocs.io/en/latest/
This looks like an old API and is not I think the latest (v0.9.5). This should be fixed :)

You're right, should be fixed :).
Should be updated now!


In the debugger, if blocks DO introduce new scope.

According to the Julia performance manual, if blocks and begin blocks do not introduce new scope.   However, the Debug package alters this fact.
When running testfunction() outside the debugger, the object "value" exists for both iterations of k=1:2.
However, when running testfunction() inside the debugger, the object "value" only exists for the first iteration.  Then, on the second iteration, we get: ERROR: value not defined.
I realize the fix is quite simple, but for whatever it's worth, I found this aspect of the debugger to be quite confusing to me as a new Julian (coming from R and MATLAB).
using Debug
@debug function testfunction()
for k=1:2
if k==1
value=k
end
println(value)
end
end
testfunction()

I started to look into this, but it's a pretty perplexing error. @debug emits an instrumented version of code it gets, and the semantics should really be the same as for the original code. I hope I can get some more time to look into it.
For now, things seem to work fine if you introduce the value variable just before the for loop.


Set explicit height on infinite scroll target

Fixes #312.
Description
While I was reviewing #356, I think I discovered why the infinite scroll React component wasn't doing its job. For whatever reason, it requires that the scrollable target has its height explicitly set—so height 100% rather than height auto.
Pull request checklist

[x] Did you test this change locally?

Yes, but I only tested this with environments in a single namespace

[x] Did you update the documentation (if required)?

No docs to update

[ ] Did you add/update relevant tests for this change (if required)?

I need to see if there's a way to add an automated regression test for this

@PhilipNeffOnGithub could you try testing this locally?

Thanks for this! :rocket:


Add editorconfig?

The project includes idea-code-style.xml which requires a manual import into the IntelliJ settings before it takes effect (to my knowledge).
The project could include an .editorconfig file which would enforce indentation and required newline rules. See http://editorconfig.org/ for details. If the file exists it's used by default in IntelliJ.

I like this idea. +1

Good idea ^^


add deprecation notice if used as gem

related to #81

much yes 👍

master is just busted because of new ffi-yajl release that deprecates support for ruby 2.0


How to disable tracking or cookies dropped by hubspot?

Is there a way for us to only use the form and disable cookie tracking? We want to only collect data via Google Tag Manager since that shows and obeys a consent form.

I have no idea, to be honest.
You should probably look for the answer somewhere in the official docs / community forum:
https://knowledge.hubspot.com/account-and-setup/topics#privacy-and-consent
https://knowledge.hubspot.com/privacy-and-consent/customize-your-cookie-tracking-settings-and-consent-banner
https://community.hubspot.com/t5/GDPR/Disable-all-cookies-set-by-hubspot/m-p/423132
https://community.hubspot.com/t5/Reporting-Analytics/Disable-cookies-before-consent/m-p/419294
https://community.hubspot.com/t5/CMS-Development/How-to-disable-cookie-tracking-until-user-gave-consent/td-p/811540


A KeyRepeatEvent is dispatched, but the state shows that the physical key is not pressed.

Somtimes flutter windows hit this error,
that few minutes keyboard is not working
after restart only it will work.
A KeyRepeatEvent is dispatched, but the state shows that the physical key is not pressed. If this occurs in real application, please report this bug to Flutter. If this occurs in unit tests, please ensure that simulated events follow Flutter's event model as documented in HardwareKeyboard. This was the event: KeyRepeatEvent#85966(physicalKey: PhysicalKeyboardKey#700e2(usbHidUsage: "0x000700e2", debugName: "Alt Left"), logicalKey: LogicalKeyboardKey#00104(keyId: "0x200000104", keyLabel: "Alt Left", debugName: "Alt Left"), character: null, timeStamp: 906:59:47.132301)
'package:flutter/src/services/hardware_keyboard.dart':
Failed assertion: line 432 pos 16: '_pressedKeys.containsKey(event.physicalKey)'

Hi @BeamsHakeem, thanks for filing the issue.
I see there's an open issue addressing the case you described #107972 that has detailed reproduction steps and also has some reports for Alt key.
Closing this issue as a duplicate, so please follow up on it for further updates. You can leave there your comment and react an upvote to the original comment will help to raise the issue. Thank you!


Add option to set which indicators and displayed when the application is initialised

Is this only aimed at setting the indicators upon initialisation? It will cause layout issues if someone tries to change the indicators while the app is running.

Is this only aimed at setting the indicators upon initialisation?

No, should work at any time.

It will cause layout issues if someone tries to change the indicators while the app is running.

What sort of issues? Have you got an example/steps to reproduce?

If I run
var app = BitFlux.app()
    .fetchCoinbaseProducts(true)
    .indicators(['rsi']);

app.run('#app-container');

app.indicators(['rsi', 'macd']);

I get:

and for
var app = BitFlux.app()
    .fetchCoinbaseProducts(true)
    .indicators(['rsi', 'macd']);

app.run('#app-container');

app.indicators(['rsi']);

I get:


any issue if i will use elastic search 7.1.1?

new elastic search 7.1.1 is released .
Has anyone tried configuring geoportal server with ES 7.1.1?
Is it even possible?

We have not tested with ES 7.x yet. If you want to go ahead and test it, we can look at any issues that may arise.

Hi,
Thanks for reply ...
Since 'item' type of metadata index is hard coded at multiple places, it is becoming difficult to test.
I have remove 'item' type from hard coding and i was able to manage the connection with elastic search 7.1.1 .
but metadata ingestion module is not publishing the data into  elastic search 7.1.1 and throwing an error as "invalid request : 404 gateway not found".
how can i remove "item" type fully from the geoportal application 2.6.1 because elastic search 7.1.1 donot support index type like 'item'.
Thanks and Regards.


Rename photo and change file format

Wrong file format and naming for photos in AboutUs was causing a task to flag incomplete, this fixes it

Codecov Report

Merging #45 (4f719d9) into master (cb8c9a1) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #45   +/-   ##
=========================================
  Coverage     72.15%   72.15%
  Complexity      399      399
=========================================
  Files            70       70
  Lines          1232     1232
  Branches        125      125
=========================================
  Hits            889      889
  Misses          311      311
  Partials         32       32

Continue to review full report at Codecov.

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


Task419192

update Azure "A" icon in cloud-adoption-framework

Hi @v-savila - This pull request was created in the public repo. Would you work instead in the private repository? Thanks.
We'll close the pull request.

@ktoliver oops, my bad..thanks for closing the PR!


[Language Text] Add test for dynamic classification

[ ] Add tests for dynamic classification

Label prediction was below confidence level 0.6 for Model:ServiceLabels: 'Synapse:0.076764554,Storage:0.064869076,Notification Hub:0.055074163'


[UWP] Button displays a box behind the circle on mouse-hover.

On UWP Platform, when the mouse hovers over the button, a highlight box is displayed behind the button. Same issue when button is clicked.
See attached screenshots for clarification.
Normal

OnHover

Please see my PR for this: wilsonvargas/ButtonCirclePlugin#42


[Traefik Plugin Catalog] Plugin Analyzer has detected a problem.

The plugin was not imported into Traefik Plugin Catalog.
Cause:
failed to run the plugin with Yaegi: failed to eval `CreateConfig` function: 1:28: undefined: traefik_middleware_request_logger

Traefik Plugin Analyzer will restart when you will close this issue.
If you believe there is a problem with the Analyzer or this issue is the result of a false positive, please fill an issue on piceus repository.

Fixed.


Staining: Fields that shouldn't be able to go negative

The following fields shouldn't be able to go negative:
pH
Duration
Instrument Wattage

ready for review and merge on pull request #45


⚠ SceneTime has degraded performance

In ab0bc8e, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 10659 ms

Resolved: SceneTime performance has improved in c92f121 after 6 minutes.


Fitting images of differing resolutions and sizes

I am fitting two overlapping images of different resolutions, one of size 30x30:

and one of size 55 by 55:

I create a frame based on the high resolution image and match the observations to that frame:
frame_psf = scarlet2.GaussianPSF(0.7)

hst_frame = scarlet2.Frame(
                bbox=scarlet2.Box(shape=data_hst.shape),
                channels=channels_hst,
                psf=frame_psf,#psf_hst,
                wcs=wcs_hst
)

#obs_hst.match(hst_frame)
obs_hsc.match(hst_frame)

A scene is opened using that hst_frame, and initialize 5 sources (4 point sources on the outskirts, 1 extended source in the middle, for a test run):

The low resolution image has sources initialized in the correct locations, indicating the wcs is correct:

However, in the current setup, when the model is rendered to the low resolution observation, it has the size of the high resolution image (55 by 55). However, this causes problems when the data needs to be subtracted from the model, both in scene.fit:
TypeError                                 Traceback (most recent call last)
Cell In[13], line 1
----> 1 scene_ = scene.fit(observations, parameters,max_iter=stepnum, e_rel=1e-8)
      2 flux = scene.sources[0].spectrum.data
      3 print(flux)

File ~/scarlet_uptodate/scarlet2/scarlet2/scene.py:174, in Scene.fit(self, observations, parameters, schedule, max_iter, e_rel, progress_bar, callback, **kwargs)
    171 with tqdm.trange(max_iter, disable=not progress_bar) as t:
    172     for step in t:
    173         # optimizer step
--> 174         scene, loss, opt_state, convergence = _make_step(scene, observations, parameters, optim, opt_state,
    175                                                          filter_spec=filter_spec)
    177         # compute max change across all non-fixed parameters for convergence test
    178         max_change = jax.tree_util.tree_reduce(lambda a, b: max(a, b), convergence)

File ~/.conda/envs/scarlet/lib/python3.10/site-packages/equinox/_jit.py:103, in _JitWrapper.__call__(self, *args, **kwargs)
    102 def __call__(self, /, *args, **kwargs):
--> 103     return self._call(False, args, kwargs)

File ~/.conda/envs/scarlet/lib/python3.10/site-packages/equinox/_jit.py:99, in _JitWrapper._call(self, is_lower, args, kwargs)
     97         out = self._cached(dynamic, static)
     98 else:
---> 99     out = self._cached(dynamic, static)
    100 return _postprocess(out)

    [... skipping hidden 12 frame]

File ~/.conda/envs/scarlet/lib/python3.10/site-packages/equinox/_jit.py:37, in _filter_jit_cache.<locals>.fun_wrapped(dynamic, static)
     35 fun = hashable_combine(dynamic_fun, static_fun)
     36 args, kwargs = hashable_combine(dynamic_spec, static_spec)
---> 37 out = fun(*args, **kwargs)
     38 dynamic_out, static_out = partition(out, is_array)
     39 return dynamic_out, Static(static_out)

File ~/scarlet_uptodate/scarlet2/scarlet2/scene.py:317, in _make_step(model, observations, parameters, optim, opt_state, filter_spec)
    314         return loss_fn(model)
    316     diff_model, static_model = eqx.partition(model, filter_spec)
--> 317     loss, grads = filtered_loss_fn(diff_model, static_model)
    319 updates, opt_state = optim.update(grads, opt_state, model)
    320 model_ = eqx.apply_updates(model, updates)

File ~/.conda/envs/scarlet/lib/python3.10/site-packages/equinox/_ad.py:59, in _ValueAndGradWrapper.__call__(self, x, *args, **kwargs)
     56     return self._fun(_x, *_args, **_kwargs)
     58 diff_x, nondiff_x = partition(x, is_inexact_array)
---> 59 return fun_value_and_grad(diff_x, nondiff_x, *args, **kwargs)

    [... skipping hidden 8 frame]

File ~/.conda/envs/scarlet/lib/python3.10/site-packages/equinox/_ad.py:56, in _ValueAndGradWrapper.__call__.<locals>.fun_value_and_grad(_diff_x, _nondiff_x, *_args, **_kwargs)
     53 @ft.partial(jax.value_and_grad, has_aux=self._has_aux, **self._gradkwargs)
     54 def fun_value_and_grad(_diff_x, _nondiff_x, *_args, **_kwargs):
     55     _x = combine(_diff_x, _nondiff_x)
---> 56     return self._fun(_x, *_args, **_kwargs)

File ~/scarlet_uptodate/scarlet2/scarlet2/scene.py:314, in _make_step.<locals>.filtered_loss_fn(diff_model, static_model)
    311 @eqx.filter_value_and_grad
    312 def filtered_loss_fn(diff_model, static_model):
    313     model = eqx.combine(diff_model, static_model)
--> 314     return loss_fn(model)

File ~/scarlet_uptodate/scarlet2/scarlet2/scene.py:299, in _make_step.<locals>.loss_fn(model)
    296     model = _constraint_replace(model, parameters)
    298 pred = model()
--> 299 log_like = sum(obs.log_likelihood(pred) for obs in observations)
    301 param_values = model.get(parameters)
    302 log_prior = sum(param.prior.log_prob(value)
    303                 for param, value in zip(parameters, param_values)
    304                 if param.prior is not None
    305                 )

File ~/scarlet_uptodate/scarlet2/scarlet2/scene.py:299, in <genexpr>(.0)
    296     model = _constraint_replace(model, parameters)
    298 pred = model()
--> 299 log_like = sum(obs.log_likelihood(pred) for obs in observations)
    301 param_values = model.get(parameters)
    302 log_prior = sum(param.prior.log_prob(value)
    303                 for param, value in zip(parameters, param_values)
    304                 if param.prior is not None
    305                 )

File ~/scarlet_uptodate/scarlet2/scarlet2/observation.py:44, in Observation.log_likelihood(self, model)
     43 def log_likelihood(self, model):
---> 44     return self._log_likelihood(model, self.data)

File ~/scarlet_uptodate/scarlet2/scarlet2/observation.py:56, in Observation._log_likelihood(self, model, data)
     54 D = jnp.prod(jnp.asarray(data.shape)) - jnp.sum(self.weights == 0)
     55 log_norm = D / 2 * jnp.log(2 * jnp.pi)
---> 56 log_like = -jnp.sum(self.weights * (model_ - data) ** 2) / 2
     57 return log_like - log_norm

File ~/.conda/envs/scarlet/lib/python3.10/site-packages/jax/_src/numpy/array_methods.py:791, in _forward_operator_to_aval.<locals>.op(self, *args)
    790 def op(self, *args):
--> 791   return getattr(self.aval, f"_{name}")(self, *args)

File ~/.conda/envs/scarlet/lib/python3.10/site-packages/jax/_src/numpy/array_methods.py:258, in _defer_to_unrecognized_arg.<locals>.deferring_binary_op(self, other)
    256 args = (other, self) if swap else (self, other)
    257 if isinstance(other, _accepted_binop_types):
--> 258   return binary_op(*args)
    259 if isinstance(other, _rejected_binop_types):
    260   raise TypeError(f"unsupported operand type(s) for {opchar}: "
    261                   f"{type(args[0]).__name__!r} and {type(args[1]).__name__!r}")

    [... skipping hidden 12 frame]

File ~/.conda/envs/scarlet/lib/python3.10/site-packages/jax/_src/numpy/ufuncs.py:82, in _one_to_one_binop.<locals>.<lambda>(x1, x2)
     80   fn = lambda x1, x2, /: lax_fn(*promote_args_numeric(numpy_fn.__name__, x1, x2))
     81 else:
---> 82   fn = lambda x1, x2, /: lax_fn(*promote_args(numpy_fn.__name__, x1, x2))
     83 fn.__qualname__ = f"jax.numpy.{numpy_fn.__name__}"
     84 fn = jit(fn, inline=True)

    [... skipping hidden 7 frame]

File ~/.conda/envs/scarlet/lib/python3.10/site-packages/jax/_src/lax/lax.py:1579, in broadcasting_shape_rule(name, *avals)
   1577       result_shape.append(non_1s[0])
   1578     else:
-> 1579       raise TypeError(f'{name} got incompatible shapes for broadcasting: '
   1580                       f'{", ".join(map(str, map(tuple, shapes)))}.')
   1582 return tuple(result_shape)

TypeError: sub got incompatible shapes for broadcasting: (3, 55, 55), (3, 30, 30).

or when trying to plot the residual image:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In[14], line 1
----> 1 scarlet2.plot.scene(
      2     scene,
      3     observation=obs_hsc,
      4     norm=None,#normsingle[0],
      5     channel_map=None,
      6     show_model=False,
      7     show_observed=True,
      8     show_rendered=True,
      9     show_residual=True,
     10     add_labels=False,
     11     add_boxes=False,
     12     linear=True,
     13 )
     14 plt.show()

File ~/scarlet_uptodate/scarlet2/scarlet2/plot.py:892, in scene(scene, observation, norm, channel_map, show_model, show_observed, show_rendered, show_residual, add_labels, add_boxes, linear, fig_kwargs, title_kwargs, label_kwargs, box_kwargs)
    889     panel += 1
    891 if show_residual:
--> 892     residual = observation.data - model
    893     norm_ = LinearPercentileNorm(residual)
    894     residual_img = ax[panel].imshow(
    895         img_to_rgb(residual, norm=norm_, channel_map=channel_map, mask=mask),
    896         extent=extent,
    897         origin="lower",
    898     )

File ~/.conda/envs/scarlet/lib/python3.10/site-packages/jax/_src/numpy/array_methods.py:258, in _defer_to_unrecognized_arg.<locals>.deferring_binary_op(self, other)
    256 args = (other, self) if swap else (self, other)
    257 if isinstance(other, _accepted_binop_types):
--> 258   return binary_op(*args)
    259 if isinstance(other, _rejected_binop_types):
    260   raise TypeError(f"unsupported operand type(s) for {opchar}: "
    261                   f"{type(args[0]).__name__!r} and {type(args[1]).__name__!r}")

    [... skipping hidden 12 frame]

File ~/.conda/envs/scarlet/lib/python3.10/site-packages/jax/_src/numpy/ufuncs.py:82, in _one_to_one_binop.<locals>.<lambda>(x1, x2)
     80   fn = lambda x1, x2, /: lax_fn(*promote_args_numeric(numpy_fn.__name__, x1, x2))
     81 else:
---> 82   fn = lambda x1, x2, /: lax_fn(*promote_args(numpy_fn.__name__, x1, x2))
     83 fn.__qualname__ = f"jax.numpy.{numpy_fn.__name__}"
     84 fn = jit(fn, inline=True)

    [... skipping hidden 7 frame]

File ~/.conda/envs/scarlet/lib/python3.10/site-packages/jax/_src/lax/lax.py:1579, in broadcasting_shape_rule(name, *avals)
   1577       result_shape.append(non_1s[0])
   1578     else:
-> 1579       raise TypeError(f'{name} got incompatible shapes for broadcasting: '
   1580                       f'{", ".join(map(str, map(tuple, shapes)))}.')
   1582 return tuple(result_shape)

TypeError: sub got incompatible shapes for broadcasting: (3, 30, 30), (3, 55, 55).

I've tried skipping the observation matching steps, but that doesn't help.
So my question is: how do we set things up for fitting when we have different resolutions, so that when we render a model derived from a high resolution frame to look like a low resolution image, that the size of the model matches the data, as required for fitting? Sorry if I've missed something obvious here. I think ultimately it comes down to: how do I get the renderer for the low resolution observations to work correctly when the scene has been created in the high resolution frame?

Ah yes, I forgot about the 'from_observations' function! So now I'm setting up a frame:
observations = [obs_hsc,obs_hst]
frame = scarlet2.Frame.from_observations(observations,model_psf=frame_psf)

and using that frame for the scene: with scarlet2.Scene(frame) as scene: etc. So now the size bug during scene fitting looks like:
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In[42], line 1
----> 1 scene_ = scene.fit(observations, parameters,max_iter=stepnum, e_rel=1e-8)
      2 flux = scene.sources[0].spectrum.data
      3 print(flux)

File ~/scarlet_uptodate/scarlet2/scarlet2/scene.py:174, in Scene.fit(self, observations, parameters, schedule, max_iter, e_rel, progress_bar, callback, **kwargs)
    171 with tqdm.trange(max_iter, disable=not progress_bar) as t:
    172     for step in t:
    173         # optimizer step
--> 174         scene, loss, opt_state, convergence = _make_step(scene, observations, parameters, optim, opt_state,
    175                                                          filter_spec=filter_spec)
    177         # compute max change across all non-fixed parameters for convergence test
    178         max_change = jax.tree_util.tree_reduce(lambda a, b: max(a, b), convergence)

File ~/.conda/envs/scarlet/lib/python3.10/site-packages/equinox/_jit.py:103, in _JitWrapper.__call__(self, *args, **kwargs)
    102 def __call__(self, /, *args, **kwargs):
--> 103     return self._call(False, args, kwargs)

File ~/.conda/envs/scarlet/lib/python3.10/site-packages/equinox/_jit.py:99, in _JitWrapper._call(self, is_lower, args, kwargs)
     97         out = self._cached(dynamic, static)
     98 else:
---> 99     out = self._cached(dynamic, static)
    100 return _postprocess(out)

    [... skipping hidden 12 frame]

File ~/.conda/envs/scarlet/lib/python3.10/site-packages/equinox/_jit.py:37, in _filter_jit_cache.<locals>.fun_wrapped(dynamic, static)
     35 fun = hashable_combine(dynamic_fun, static_fun)
     36 args, kwargs = hashable_combine(dynamic_spec, static_spec)
---> 37 out = fun(*args, **kwargs)
     38 dynamic_out, static_out = partition(out, is_array)
     39 return dynamic_out, Static(static_out)

File ~/scarlet_uptodate/scarlet2/scarlet2/scene.py:317, in _make_step(model, observations, parameters, optim, opt_state, filter_spec)
    314         return loss_fn(model)
    316     diff_model, static_model = eqx.partition(model, filter_spec)
--> 317     loss, grads = filtered_loss_fn(diff_model, static_model)
    319 updates, opt_state = optim.update(grads, opt_state, model)
    320 model_ = eqx.apply_updates(model, updates)

File ~/.conda/envs/scarlet/lib/python3.10/site-packages/equinox/_ad.py:59, in _ValueAndGradWrapper.__call__(self, x, *args, **kwargs)
     56     return self._fun(_x, *_args, **_kwargs)
     58 diff_x, nondiff_x = partition(x, is_inexact_array)
---> 59 return fun_value_and_grad(diff_x, nondiff_x, *args, **kwargs)

    [... skipping hidden 8 frame]

File ~/.conda/envs/scarlet/lib/python3.10/site-packages/equinox/_ad.py:56, in _ValueAndGradWrapper.__call__.<locals>.fun_value_and_grad(_diff_x, _nondiff_x, *_args, **_kwargs)
     53 @ft.partial(jax.value_and_grad, has_aux=self._has_aux, **self._gradkwargs)
     54 def fun_value_and_grad(_diff_x, _nondiff_x, *_args, **_kwargs):
     55     _x = combine(_diff_x, _nondiff_x)
---> 56     return self._fun(_x, *_args, **_kwargs)

File ~/scarlet_uptodate/scarlet2/scarlet2/scene.py:314, in _make_step.<locals>.filtered_loss_fn(diff_model, static_model)
    311 @eqx.filter_value_and_grad
    312 def filtered_loss_fn(diff_model, static_model):
    313     model = eqx.combine(diff_model, static_model)
--> 314     return loss_fn(model)

File ~/scarlet_uptodate/scarlet2/scarlet2/scene.py:299, in _make_step.<locals>.loss_fn(model)
    296     model = _constraint_replace(model, parameters)
    298 pred = model()
--> 299 log_like = sum(obs.log_likelihood(pred) for obs in observations)
    301 param_values = model.get(parameters)
    302 log_prior = sum(param.prior.log_prob(value)
    303                 for param, value in zip(parameters, param_values)
    304                 if param.prior is not None
    305                 )

File ~/scarlet_uptodate/scarlet2/scarlet2/scene.py:299, in <genexpr>(.0)
    296     model = _constraint_replace(model, parameters)
    298 pred = model()
--> 299 log_like = sum(obs.log_likelihood(pred) for obs in observations)
    301 param_values = model.get(parameters)
    302 log_prior = sum(param.prior.log_prob(value)
    303                 for param, value in zip(parameters, param_values)
    304                 if param.prior is not None
    305                 )

File ~/scarlet_uptodate/scarlet2/scarlet2/observation.py:44, in Observation.log_likelihood(self, model)
     43 def log_likelihood(self, model):
---> 44     return self._log_likelihood(model, self.data)

File ~/scarlet_uptodate/scarlet2/scarlet2/observation.py:56, in Observation._log_likelihood(self, model, data)
     54 D = jnp.prod(jnp.asarray(data.shape)) - jnp.sum(self.weights == 0)
     55 log_norm = D / 2 * jnp.log(2 * jnp.pi)
---> 56 log_like = -jnp.sum(self.weights * (model_ - data) ** 2) / 2
     57 return log_like - log_norm

File ~/.conda/envs/scarlet/lib/python3.10/site-packages/jax/_src/numpy/array_methods.py:791, in _forward_operator_to_aval.<locals>.op(self, *args)
    790 def op(self, *args):
--> 791   return getattr(self.aval, f"_{name}")(self, *args)

File ~/.conda/envs/scarlet/lib/python3.10/site-packages/jax/_src/numpy/array_methods.py:258, in _defer_to_unrecognized_arg.<locals>.deferring_binary_op(self, other)
    256 args = (other, self) if swap else (self, other)
    257 if isinstance(other, _accepted_binop_types):
--> 258   return binary_op(*args)
    259 if isinstance(other, _rejected_binop_types):
    260   raise TypeError(f"unsupported operand type(s) for {opchar}: "
    261                   f"{type(args[0]).__name__!r} and {type(args[1]).__name__!r}")

    [... skipping hidden 12 frame]

File ~/.conda/envs/scarlet/lib/python3.10/site-packages/jax/_src/numpy/ufuncs.py:82, in _one_to_one_binop.<locals>.<lambda>(x1, x2)
     80   fn = lambda x1, x2, /: lax_fn(*promote_args_numeric(numpy_fn.__name__, x1, x2))
     81 else:
---> 82   fn = lambda x1, x2, /: lax_fn(*promote_args(numpy_fn.__name__, x1, x2))
     83 fn.__qualname__ = f"jax.numpy.{numpy_fn.__name__}"
     84 fn = jit(fn, inline=True)

    [... skipping hidden 7 frame]

File ~/.conda/envs/scarlet/lib/python3.10/site-packages/jax/_src/lax/lax.py:1579, in broadcasting_shape_rule(name, *avals)
   1577       result_shape.append(non_1s[0])
   1578     else:
-> 1579       raise TypeError(f'{name} got incompatible shapes for broadcasting: '
   1580                       f'{", ".join(map(str, map(tuple, shapes)))}.')
   1582 return tuple(result_shape)

TypeError: sub got incompatible shapes for broadcasting: (6, 64, 64), (3, 30, 30).

there's clearly something wrong with the renderer of the low-res observation. Can you post how you define both sets of observations and the model_frame, please.

Definitely - the renderers clearly don't know about the model frame! The observations are defined as follows (a bit gross because I had some trouble saving out galsim images in a simple format with the right WCS info...):
channels_hsc = ['g','r','i']
channels_hst = ['g','r','i']

# Load the HSC image data
data_hsc=[]
for band in channels_hst:
    obs_hdu = fits.open(os.path.join(data_path, "image_LSST_"+band+".fits"))
    data_hsc.append(obs_hdu[0].data)
    obs_hduw = fits.open(os.path.join(data_path, "image_LSST_"+band+"_wcs.fits"))
    wcs_hsc = WCS(obs_hduw[0].header)
data_hsc = jnp.array(np.asfarray(data_hsc).byteswap().newbyteorder(), jnp.float32)
# Load the HSC PSF data
psf_hsc_data  = fits.open(os.path.join(data_path, "psf_LSST.fits"))[0].data.astype('float32')
Np1, Np2 = psf_hsc_data.shape
psf_hsc_ = jnp.asarray([psf_hsc_data,psf_hsc_data,psf_hsc_data])
psf_hsc = scarlet2.ArrayPSF(psf_hsc_)

data_hst=[]
for band in channels_hst:
    # Load the HST image data
    hst_hdu = fits.open(os.path.join(data_path, "image_Roman_"+band+".fits"))
    data_hst.append(hst_hdu[0].data)
    # Load the HST image data
    hst_hdu = fits.open(os.path.join(data_path, "image_Roman_"+band+"_wcs.fits"))
    wcs_hst = WCS(hst_hdu[0].header)
data_hst = jnp.array(np.asfarray(data_hst).byteswap().newbyteorder(), jnp.float32)
# Load the HST PSF data
psf_hst = fits.open(os.path.join(data_path, "psf_Roman.fits"))[0].data
psf_hst = jnp.array(psf_hst, jnp.float32)
psf_hst_ = jnp.asarray([psf_hst,psf_hst,psf_hst])
psf_hst_ = (psf_hst_-np.min(psf_hst_))/(np.max(psf_hst_)-np.min(psf_hst_))
psf_hst = scarlet2.ArrayPSF(psf_hst_)

# Scale the HST data
n,n1, n2 = jnp.shape(data_hst)
data_hst *= data_hsc.max() / data_hst.max()

N,N1, N2 = data_hsc.shape
# define two observation packages and match to frame
obs_hst = scarlet2.Observation(data_hst,
                               wcs=wcs_hst,
                               psf=psf_hst,
                               channels=channels_hsc,
                               weights=None)

obs_hsc = scarlet2.Observation(data_hsc,
                              wcs=wcs_hsc,
                              psf=psf_hsc,
                              channels=channels_hsc,
                              weights=None)

And then the model frame is defined as:
frame_psf = scarlet2.GaussianPSF(0.7) #Should make this smaller...
frameall = scarlet2.Frame.from_observations([obs_hsc,obs_hst],model_psf=frame_psf,model_wcs=wcs_hst)
obs_hst.match(frameall)
obs_hsc.match(frameall)

And then the scene sources are initialized later in a loop with with scarlet2.Scene(frameall) as scene: etc.

And I just found the problem, which is entirely on my end, where I was effectively undoing the obs.match step when I redefine the images with updated weights. So, the code shown above actually works and I just needed to be more careful! Marking as resolved.