ARROW-12434: [Rust] [Ballista] Executor shows executed plans with metrics

Executor shows executed plan with metrics to help with debugging and performance tuning
Changes dependencies on Arrow/DataFusion to relative paths instead of pinned commits

This breaks the integration test script, but since the tests are producing the wrong results anyway, I think it is ok to fix this in a separate PR.

Codecov Report

Merging #10080 (b620578) into master (9c1e5bd) will decrease coverage by 0.00%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master   #10080      +/-   ##
==========================================
- Coverage   78.90%   78.90%   -0.01%
==========================================
  Files         286      286
  Lines       64717    64723       +6
==========================================
+ Hits        51068    51069       +1
- Misses      13649    13654       +5

Impacted Files
Coverage Δ

rust/ballista/rust/executor/src/flight_service.rs
0.00% <0.00%> (ø)

rust/datafusion/src/physical_plan/mod.rs
80.64% <0.00%> (-5.57%)
:arrow_down:

rust/parquet/src/encodings/encoding.rs
95.05% <0.00%> (+0.19%)
:arrow_up:

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 9c1e5bd...b620578. Read the comment docs.


pyorient.exceptions.PyOrientWrongProtocolVersionException: Protocol version 29 is not supported yet by this client.

i am trying to connect using your lybraries but show me this:
pyorient.exceptions.PyOrientWrongProtocolVersionException: Protocol version 29 is not supported yet by this client. Is the version of orientdb?

What OrientDB version you are using?

Studio version : 2.0
OrientDB version : 2.1-rc1

import pyorient
client = pyorient.OrientDB("<IP_ADDRESS>", 2480)
session_id = client.connect( "admin", "admin" )
Traceback (most recent call last):
File "/opt/mis_scripts/orientdb/crud.py", line 22, in
session_id = client.connect( "admin", "admin" )
File "/usr/local/lib/python2.7/dist-packages/pyorient/orient.py", line 207, in connect
return self.get_message("ConnectMessage")
File "/usr/local/lib/python2.7/dist-packages/pyorient/orient.py", line 344, in get_message
return _Message(self._connection)
File "/usr/local/lib/python2.7/dist-packages/pyorient/messages/connection.py", line 18, in init
super( ConnectMessage, self ).init(_orient_socket)
File "/usr/local/lib/python2.7/dist-packages/pyorient/messages/base.py", line 34, in init
sock.get_connection()
File "/usr/local/lib/python2.7/dist-packages/pyorient/orient.py", line 39, in get_connection
self.connect()
File "/usr/local/lib/python2.7/dist-packages/pyorient/orient.py", line 62, in connect
" is not supported yet by this client.", [])
pyorient.exceptions.PyOrientWrongProtocolVersionException: Protocol version 29 is not supported yet by this client.

OK, so, there is a change in the protocol version in the new release. I will add the Support in the next days.
I suggest to use, for now, a stable  OrientDB version like 2.0.8.

thanks for your quick answer!! nice software!
pd. now i am using OrientDB version : 2.0.7 and works ok.

But why was this closed? The issue persists on 2.1rc2

Hi @retrography ,
2.1 is not a stabile release, only a release candidate.
Pyorient Support all stable releases.
I will add the support soon.

Hi @Ostico,
Thanks, that would be great!
For the moment I am reverting back to 2.0.8. The issue is that I badly need the newly introduced "UNWIND" clause.

Hi @Ostico, I'm in a simillar situation to @retrography. I need to use the "UNWIND" function which is part of OrientDB v2.1 rc2. Is this something that's easy to fix?

@joelschw, if you have serious data in your database avoid using 2.1. I found several serious bugs in it with potential for data corruption. I solved my problem with some creative data wrangling and using some simple javascript server-side functions. Hopefully 2.1 will be released soon (so many other advantages apart from UNWIND).


Correction for raw affiliation INSERM CIC 1414, INPHY, Université de Rennes 1  Rennes France

Correction needed for raw affiliation INSERM CIC 1414, INPHY, Université de Rennes 1  Rennes France
raw_affiliation_name: INSERM CIC 1414, INPHY, Université de Rennes 1  Rennes France
new_rors: 015m7wh34;02vjkv261;02baj6743
previous_rors: 015m7wh34;02vjkv261
works_examples: W4321167764
contact: debd9adcf38f9a6c51f3281923c5df95:aa02dd0059c5fc54dc35b178e8ca9115 @ univ-rennes.fr

This issue was accepted and ingested by the OpenAlex team on 2024-10-10. The new affiliations should be visible within the next 7 days.


Email with empty text

Expected behavior
Email coming from orange or sfr app are empty, no text inside.
Actual behavior
If i open the same email with my webmail, it can be read with the text, without issue.
Steps to reproduce

Ask to a friend to send you an email from orange or sfr app ;)
2.
3.

Environment
K-9 Mail version:last
Android version:
5.0
Account type (IMAP, POP3, WebDAV/Exchange):
Pop3

I do receive emails sent from Orange accounts, no problem here. I'm
afraid you'll have to me more precise, are they sending HTML or plain
text emails? Signed? How are they sending these emails, from the Orange or SFR web mailer or from another app? Attaching a sample email file would probably help.

I do receive emails sent from Orange accounts, no problem here. I'm
afraid you'll have to me more precise, are they sending HTML or plain
text emails? Signed? How are they sending these emails, from the Orange or SFR web mailer or from another app? Attaching a sample email file would probably help.

Ok, to which @ i should forward the email?
Le 20 août 2016 20:59, "Tristan C."<EMAIL_ADDRESS>a écrit :

I do receive emails sent from Orange accounts, no problem here. I'm
afraid you'll have to me more precise, are they sending HTML or plain
text emails? Signed? How are they sending these emails, from the Orange
or SFR web mailer or from another app? Attaching a sample email file would
probably help.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/k9mail/k-9/issues/1569#issuecomment-241217507, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ASWheF8yjMi8qHEdrncZDNXfbRCXRTqsks5qh06IgaJpZM4JpIaz
.

If you can forward it to me (philip at whiuk dot com) as an attachment I'll take a look.
Thanks!

Please create a new issue if this is still a problem with the current K-9 Mail version.


[BUG] Fail to upgrade from v1.1.x to master-head if there is a backing image

Describe the bug
Fail to upgrade from v1.1.3 to master-head if there is a backing image
To Reproduce
Steps to reproduce the behavior:

Create a backing image in v1.1.3
Upgrade to master-head
Fail to upgrade

Expected behavior
Upgrade successfully
Log or Support bundle
2022/02/11 14:30:10 proto: duplicate proto type registered: VersionResponse
W0211 14:30:10.503615       1 client_config.go:552] Neither --kubeconfig nor --master was specified.  Using the inClusterConfig.  This might not work.
time="2022-02-11T14:30:10Z" level=info msg="cannot list the content of the src directory /var/lib/rancher/longhorn/engine-binaries for the copy, will do nothing: Failed to execute: nsenter [--mount=/host/proc/1/ns/mnt --net=/host/proc/1/ns/net bash -c ls /var/lib/rancher/longhorn/engine-binaries/*], output , stderr, ls: cannot access '/var/lib/rancher/longhorn/engine-binaries/*': No such file or directory\n, error exit status 2"
I0211 14:30:10.508936       1 leaderelection.go:242] attempting to acquire leader lease  longhorn-system/longhorn-manager-upgrade-lock...
time="2022-02-11T14:30:10Z" level=info msg="New upgrade leader elected: rancher50-worker1"
I0211 14:30:16.505029       1 leaderelection.go:252] successfully acquired lease longhorn-system/longhorn-manager-upgrade-lock
time="2022-02-11T14:30:16Z" level=info msg="Start upgrading"
time="2022-02-11T14:30:16Z" level=info msg="No API version upgrade is needed"
time="2022-02-11T14:30:16Z" level=info msg="upgrade from v1.1.0 to v1.2.0: Starting storageClass recurring job translation" namespace=longhorn-system translate=storage-class-recurring-jobs
time="2022-02-11T14:30:16Z" level=info msg="upgrade from v1.1.0 to v1.2.0: Finished storageClass recurring job translation" namespace=longhorn-system translate=storage-class-recurring-jobs
time="2022-02-11T14:30:16Z" level=info msg="upgrade from v1.1.0 to v1.2.0: Starting volume recurring job translation" namespace=longhorn-system translate=volume-recurring-jobs
time="2022-02-11T14:30:16Z" level=debug msg="upgrade from v1.1.0 to v1.2.0: Found 0 recurring job" action=create-recurringJob-CRs namespace=longhorn-system translate=volume-recurring-jobs
time="2022-02-11T14:30:16Z" level=info msg="upgrade from v1.1.0 to v1.2.0: Finished volume recurring job translation" namespace=longhorn-system translate=volume-recurring-jobs
time="2022-02-11T14:30:16Z" level=info msg="upgrade from v1.1.0 to v1.2.0: Starting volume cron job cleanup" action=cleanup-applied-volume-cron-jobs namespace=longhorn-system
time="2022-02-11T14:30:16Z" level=debug msg="upgrade from v1.1.0 to v1.2.0: Listing all cron jobs for volume pvc-23e187fd-e8ed-4db5-a47e-c6c6a330ca67" action=cleanup-applied-volume-cron-jobs namespace=longhorn-system
time="2022-02-11T14:30:16Z" level=info msg="upgrade from v1.1.0 to v1.2.0: Deleted 0 cronjob job for pvc-23e187fd-e8ed-4db5-a47e-c6c6a330ca67 volume" action=cleanup-applied-volume-cron-jobs namespace=longhorn-system
time="2022-02-11T14:30:16Z" level=info msg="upgrade from v1.1.0 to v1.2.0: Finished volume cron job cleanup" action=cleanup-applied-volume-cron-jobs namespace=longhorn-system
time="2022-02-11T14:30:17Z" level=error msg="Upgrade failed: upgrade CRD failed: upgrade from v1.1.1 to v1.2.0: UpgradeCRs failed: upgrade backing images failed: BackingImage.longhorn.io \"123\" is invalid: spec.sourceType: Unsupported value: \"\": supported values: \"download\", \"upload\", \"export-from-volume\""
time="2022-02-11T14:30:17Z" level=info msg="Upgrade leader lost: rancher50-master"
time="2022-02-11T14:30:17Z" level=fatal msg="Error starting manager: upgrade CRD failed: upgrade from v1.1.1 to v1.2.0: UpgradeCRs failed: upgrade backing images failed: BackingImage.longhorn.io \"123\" is invalid: spec.sourceType: Unsupported value: \"\": supported values: \"download\", \"upload\", \"export-from-volume\""

Additional context
Also need to check the other fields those are in master-head but not in v1.1.x and v1.2.x

Testing in progress,
Checking with the latest master-head, upgrade from v1.1.3 can be finished without problem, but the URL in backing image's  Spec: > Source Parameters:  > URL: is missing.
However cleanup and reuse the same backing image with empty url doesn't seems to have any problem, and the checksum can be valided.
ref: #3510

imageUrl of the backing image spec has been deprecated, but check the backing data source instead.
https://github.com/longhorn/longhorn-manager/blob/d88579453a06b9824c6c28d9feab6cfda7996b74/upgrade/v111to120/upgrade.go#L90-L105

Validation - PASSED
With the latest images, the BackingImage CRD conversion no longer blocking the upgrade process.
Attaching longhorn-conversion-webhook pod log for the reference:
2022/02/15 03:15:25 proto: duplicate proto type registered: VersionResponse
time="2022-02-15T03:15:25Z" level=info msg="Starting longhorn conversion webhook server"
W0215 03:15:25.628917       1 client_config.go:552] Neither --kubeconfig nor --master was specified.  Using the inClusterConfig.  This might not work.
time="2022-02-15T03:15:25Z" level=warning msg="Failed to init Kubernetes secret: secrets \"longhorn-webhook-tls\" not found"
time="2022-02-15T03:15:25Z" level=info msg="generated self-signed CA certificate CN=dynamiclistener-ca,O=dynamiclistener-org: notBefore=2022-02-15 03:15:25.649930847 +0000 UTC notAfter=2032-02-13 03:15:25.649930847 +0000 UTC"
time="2022-02-15T03:15:25Z" level=info msg="Listening on :9443"
time="2022-02-15T03:15:25Z" level=info msg="certificate CN=dynamic,O=dynamic signed by CN=dynamiclistener-ca,O=dynamiclistener-org: notBefore=2022-02-15 03:15:25 +0000 UTC notAfter=2023-02-15 03:15:25 +0000 UTC"
time="2022-02-15T03:15:25Z" level=info msg="Creating new TLS secret for longhorn-webhook-tls (count: 1): map[listener.cattle.io/cn-longhorn-conversion-webhook.longho-6a0089:longhorn-conversion-webhook.longhorn-system.svc listener.cattle.io/fingerprint:SHA1=6271C6A830916AA8CB8280601BC5826B2CC83253]"
time="2022-02-15T03:15:25Z" level=info msg="Active TLS secret longhorn-webhook-tls (ver=5491) (count 1): map[listener.cattle.io/cn-longhorn-conversion-webhook.longho-6a0089:longhorn-conversion-webhook.longhorn-system.svc listener.cattle.io/fingerprint:SHA1=6271C6A830916AA8CB8280601BC5826B2CC83253]"
time="2022-02-15T03:15:26Z" level=info msg="Starting apiregistration.k8s.io/v1, Kind=APIService controller"
time="2022-02-15T03:15:26Z" level=info msg="Starting /v1, Kind=Secret controller"
time="2022-02-15T03:15:26Z" level=info msg="Building conversion rules..."
time="2022-02-15T03:15:26Z" level=info msg="Starting apiextensions.k8s.io/v1, Kind=CustomResourceDefinition controller"
time="2022-02-15T03:15:26Z" level=info msg="Updating TLS secret for longhorn-webhook-tls (count: 1): map[listener.cattle.io/cn-longhorn-conversion-webhook.longho-6a0089:longhorn-conversion-webhook.longhorn-system.svc listener.cattle.io/fingerprint:SHA1=6271C6A830916AA8CB8280601BC5826B2CC83253]"
time="2022-02-15T03:15:26Z" level=info msg="Update CRD for backingimages.longhorn.io"
time="2022-02-15T03:15:26Z" level=info msg="Update CRD for backuptargets.longhorn.io"
time="2022-02-15T03:15:26Z" level=info msg="Update CRD for engineimages.longhorn.io"
time="2022-02-15T03:15:26Z" level=info msg="Update CRD for nodes.longhorn.io"
time="2022-02-15T03:15:26Z" level=info msg="Update CRD for volumes.longhorn.io"
time="2022-02-15T03:15:35Z" level=info msg="Updating TLS secret for longhorn-webhook-tls (count: 2): map[listener.cattle.io/cn-longhorn-admission-webhook.longhor-59584d:longhorn-admission-webhook.longhorn-system.svc listener.cattle.io/cn-longhorn-conversion-webhook.longho-6a0089:longhorn-conversion-webhook.longhorn-system.svc listener.cattle.io/fingerprint:SHA1=A017559E7AEEF02233E40907F6263FC8197B9FB6]"
time="2022-02-15T03:15:35Z" level=info msg="Active TLS secret longhorn-webhook-tls (ver=5591) (count 2): map[listener.cattle.io/cn-longhorn-admission-webhook.longhor-59584d:longhorn-admission-webhook.longhorn-system.svc listener.cattle.io/cn-longhorn-conversion-webhook.longho-6a0089:longhorn-conversion-webhook.longhorn-system.svc listener.cattle.io/fingerprint:SHA1=A017559E7AEEF02233E40907F6263FC8197B9FB6]"

For the empty url issue will be track in here: #3621

Validation - PASSED
With the latest images, the BackingImage CRD conversion no longer blocking the upgrade process.
Attaching longhorn-conversion-webhook pod log for the reference:
2022/02/15 03:15:25 proto: duplicate proto type registered: VersionResponse
time="2022-02-15T03:15:25Z" level=info msg="Starting longhorn conversion webhook server"
W0215 03:15:25.628917       1 client_config.go:552] Neither --kubeconfig nor --master was specified.  Using the inClusterConfig.  This might not work.
time="2022-02-15T03:15:25Z" level=warning msg="Failed to init Kubernetes secret: secrets \"longhorn-webhook-tls\" not found"
time="2022-02-15T03:15:25Z" level=info msg="generated self-signed CA certificate CN=dynamiclistener-ca,O=dynamiclistener-org: notBefore=2022-02-15 03:15:25.649930847 +0000 UTC notAfter=2032-02-13 03:15:25.649930847 +0000 UTC"
time="2022-02-15T03:15:25Z" level=info msg="Listening on :9443"
time="2022-02-15T03:15:25Z" level=info msg="certificate CN=dynamic,O=dynamic signed by CN=dynamiclistener-ca,O=dynamiclistener-org: notBefore=2022-02-15 03:15:25 +0000 UTC notAfter=2023-02-15 03:15:25 +0000 UTC"
time="2022-02-15T03:15:25Z" level=info msg="Creating new TLS secret for longhorn-webhook-tls (count: 1): map[listener.cattle.io/cn-longhorn-conversion-webhook.longho-6a0089:longhorn-conversion-webhook.longhorn-system.svc listener.cattle.io/fingerprint:SHA1=6271C6A830916AA8CB8280601BC5826B2CC83253]"
time="2022-02-15T03:15:25Z" level=info msg="Active TLS secret longhorn-webhook-tls (ver=5491) (count 1): map[listener.cattle.io/cn-longhorn-conversion-webhook.longho-6a0089:longhorn-conversion-webhook.longhorn-system.svc listener.cattle.io/fingerprint:SHA1=6271C6A830916AA8CB8280601BC5826B2CC83253]"
time="2022-02-15T03:15:26Z" level=info msg="Starting apiregistration.k8s.io/v1, Kind=APIService controller"
time="2022-02-15T03:15:26Z" level=info msg="Starting /v1, Kind=Secret controller"
time="2022-02-15T03:15:26Z" level=info msg="Building conversion rules..."
time="2022-02-15T03:15:26Z" level=info msg="Starting apiextensions.k8s.io/v1, Kind=CustomResourceDefinition controller"
time="2022-02-15T03:15:26Z" level=info msg="Updating TLS secret for longhorn-webhook-tls (count: 1): map[listener.cattle.io/cn-longhorn-conversion-webhook.longho-6a0089:longhorn-conversion-webhook.longhorn-system.svc listener.cattle.io/fingerprint:SHA1=6271C6A830916AA8CB8280601BC5826B2CC83253]"
time="2022-02-15T03:15:26Z" level=info msg="Update CRD for backingimages.longhorn.io"
time="2022-02-15T03:15:26Z" level=info msg="Update CRD for backuptargets.longhorn.io"
time="2022-02-15T03:15:26Z" level=info msg="Update CRD for engineimages.longhorn.io"
time="2022-02-15T03:15:26Z" level=info msg="Update CRD for nodes.longhorn.io"
time="2022-02-15T03:15:26Z" level=info msg="Update CRD for volumes.longhorn.io"
time="2022-02-15T03:15:35Z" level=info msg="Updating TLS secret for longhorn-webhook-tls (count: 2): map[listener.cattle.io/cn-longhorn-admission-webhook.longhor-59584d:longhorn-admission-webhook.longhorn-system.svc listener.cattle.io/cn-longhorn-conversion-webhook.longho-6a0089:longhorn-conversion-webhook.longhorn-system.svc listener.cattle.io/fingerprint:SHA1=A017559E7AEEF02233E40907F6263FC8197B9FB6]"
time="2022-02-15T03:15:35Z" level=info msg="Active TLS secret longhorn-webhook-tls (ver=5591) (count 2): map[listener.cattle.io/cn-longhorn-admission-webhook.longhor-59584d:longhorn-admission-webhook.longhorn-system.svc listener.cattle.io/cn-longhorn-conversion-webhook.longho-6a0089:longhorn-conversion-webhook.longhorn-system.svc listener.cattle.io/fingerprint:SHA1=A017559E7AEEF02233E40907F6263FC8197B9FB6]"

For the empty url issue will be track in here: #3621


Add return type required by Symfony

Description
This add a missing return type expected by Symfony.
Manual testing steps
I need this MR so I can test in my CI
I will review the rest later.
Issues

#82

Pull request checklist

[ ] The target branch is correct

See picking the right version

[ ] All commits are relevant to the purpose of the PR (e.g. no debug statements, unrelated refactoring, or arbitrary linting)

Small amounts of additional linting are usually okay, but if it makes it hard to concentrate on the relevant changes, ask for the unrelated changes to be reverted, and submitted as a separate PR.

[ ] The commit messages follow our commit message guidelines
[ ] The PR follows our contribution guidelines
[ ] Code changes follow our coding conventions
[ ] This change is covered with tests (or tests aren't necessary for this change)
[ ] Any relevant User Help/Developer documentation is updated; for impactful changes, information is added to the changelog for the intended release
[ ] CI is green

We can't merge this as because a method signature change is a breaking change, so we'd need to release a new major version (3.0.0) in order to do this.

I'm not sure why you'd close this, whether you need a new version or not the next version of console requires the return type so this will eventually need to be updated.


Support for FormattedHTMLMessage

Hi, I'm curious as to why you don't support FormattedHTMLMessage (as mentioned in your README).
I'm using this library in my project which uses FormattedHTMLMessage in a few places, so I've had to modify this library to support it, which only took a minor change and it seems to work well. I'd be happy to submit a PR for this if you're interested.

Because most of them can use FormattedMessage  instead. so

Thanks for the response. I was mainly curious to know whether you knew of any problems or difficulties in supporting FormattedHTMLMessage that I might have missed.
Most of the time FormattedMessage is fine. However, I have some text in the UI that needs formatting within the string (e.g. some words bold), which would need an ugly hack with the "dangerouslySetInnerHTML" property and a callback function, or splitting the string into incomplete parts, which I'd like to avoid.
I'll raise a PR to make the change to include support for it.

@jtimlin-immt you can try to make a PR and  then we can discuss it, but IMO i think we should not put any HTML tag in a locale message which needs translation. and translate the parts which we really needs it. Maybe some codes for this will explain it more clearly if you have some code snippets.

I don't think splitting the string is really an option. Consider something like this:
When receiving spam email, do not click on it, and instead delete it immediately.

It would be wrong to split the string into the following 4 strings and have them translated individually:
When receiving spam email,
do not
click on it, and instead delete it
immediately

Without context, a translator would have a hard time translating these individual strings. It also doesn't necessarily make sense in all languages to emphasize the same parts of the sentence to convey the same meaning.
FormattedMessage can't be used here, because the parts of the message to be affected by HTML tags are not values like numbers, so cant use placeholders.

On Wed, Sep 27, 2017 at 6:20 AM jtimlin-immt<EMAIL_ADDRESS>wrote:

I don't think splitting the string is really an option. Consider something
like this:
When receiving spam email, do not click on it, and instead delete it immediately.
It would be wrong to split the string into the following 4 strings and
have them translated individually:
When receiving spam email,
do not
click on it, and instead delete it
immediately
Without context, a translator would have a hard time translating these
individual strings. It also doesn't necessarily make sense in all languages
to emphasize the same parts of the sentence to convey the same meaning.
FormattedMessage can't be used here, because the parts of the message to
be affected by HTML tags are not values like numbers, so cant use
placeholders.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/bang88/typescript-react-intl/issues/8#issuecomment-332363595,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAacay0G5-1CHSItmbGH8LbaB-xpEkl5ks5smYa3gaJpZM4PetKE
.

Agree with you. Haha

So I just realized that HTMLFormattedMessage is not getting processed at all and was very surprised by this behavior, but it looks like passing it in options.tagNames works (gets added in here https://github.com/bang88/typescript-react-intl/blob/master/index.ts#L232), eg:
var results = parse(contents, {
  tagNames: ["HTMLFormattedMessage"],
});

Just leaving that in here in case it helps someone else.


Stalwart 81/infra reset user key

Signed-off-by: chaitali-mane<EMAIL_ADDRESS>:nut_and_bolt: Description: What code changed, and why?

Need to show Automate org details UI should have reset users modal
Added get server users API

:chains: Related Resources
https://chefio.atlassian.net/browse/STALWART-81
:+1: Definition of Done

Added automate org details UI should have reset users modal UI
Added get server users API

:athletic_shoe: How to Build and Test the Change
inside the hab studio

[default:/src:0]# build components/automate-ui-devproxy/
[default:/src:0]# start_automate_ui_background
[default:/src:0]# start_all_services

STEP 2
open new window
go to automate UI path

$ cd components/automate-ui
and run the command

npm run serve:hab

:white_check_mark: Checklist
All PRs must tick these:

[x] I have read the CONTRIBUTING document.
[x] All commits signed-off for the Developer Certification of Origin.

With occasional exceptions, all PRs from Progress employees must tick these:

[x] Is the code clear? (complicated code or lots of comments--subdivide and use well-named methods, meaningful variable names, etc.)
[x] Consistency checked? (user notifications, user prompts, visual patterns, code patterns, variable names)
[x] Repeated code blocks eliminated? (adapt and reuse existing components, blocks, functions, etc.)
[x] Spelling, grammar, typos checked? (at a minimum use make spell in any component directory)
[x] Code well-formatted? (indents, line breaks, etc. improve rather than hinder readability)

All PRs from Progress employees should tick these if appropriate:

[x] Tests added/updated? (all new code needs new tests)
[ ] Docs added/updated? (all customer-facing changes)

Please add a note next to any checkbox above if you are NOT ticking it.
:camera: Screenshots, if applicable

@chaitali-mane  @vinay033

[x] The users tab is now visible under Server details for admin.
[ ] Fetch Pem key button should fetch the new PEM key.
[x] The users tab under server should not visible for orgadmin or editor users
[x] An org admin should see all the users in users tab under his org
[ ] An org admin should see Reset Pem file option for his username only
[ ] An editor user should see only his username under the users tab under org
[ ] An editor user should see the Rest Pem File option for his username only


#28 Proposed changes of adding Record Key in list using Formatter

12 Hour

24 Hour

resolves #28

Thanks @dominikbraun silly mistakes, must have still haven't woken up then 😆

@aaronsheah I think you need to use the new Formatter for get and delete as well - then this PR can be merged 😄

@aligator PTAL

Looks good to me :-)

@dominikbraun updated :)


Demo?

How to see demo?

There is no demo at this moment, however you can check some gemini-scrollbar demos here.
react-gemini-scrollbar is just a wrapper of that library. But yeah, I should some demos for this as well.


Urls with %% characters cause Styx to respond with an HTTP 400

The problem
When Styx encounters requests with urls that contain % characters in them it responds with an HTTP 400. Addings % to unwise chars configuration makes it so that the encoder ends up double encoding already encoded chars.
I have created a commit to add details and context around the issue we are facing, but its unclear which direction should be taken to resolve this issue.
Detailed description
Test cases and comments adding context can be found here:
https://github.com/yashvyas/styx/commit/97089f6bf40be1dea231b001aa1b6950db24f274
Styx is able to handle unencoded urls that have % in them appropriately, as shown in the test cases.
In our use case, it is acceptable to not encode the %% encountered in the url (and seems like other Url libraries like the one discussed below do the same thing).
However, this is a problem for the Url class in Styx since it uses java.net.uri. The URI syntax specification states the following with regards to % data characters:

Because the percent ("%") character serves as the indicator for
percent-encoded octets, it must be percent-encoded as "%25" for that
octet to be used as data within a URI.  Implementations must not
percent-encode or decode the same string more than once, as decoding
an already decoded string might lead to misinterpreting a percent
data octet as the beginning of a percent-encoding, or vice versa in
the case of percent-encoding an already percent-encoded string.

reference: https://tools.ietf.org/html/rfc3986#section-2.4
Styx seems to depend on the configuration and encode any URL it encounters based on the configuration even it was partially encoded.
One potential fix could be to utilize a URL parsing library that can handle modern URL data characters by itself rather than needing the configuration, like https://square.github.io/okhttp/3.x/okhttp/okhttp3/HttpUrl.html which seems to not encode the %% but parse the URL appropriately as seen below:
        String encoded = "https://g.com/abc?%%=XYZ(%27blah%27)=%%";
        String unencoded = "https://g.com/abc?%%=XYZ('blah')=%%";
        HttpUrl encodedUrl = HttpUrl.parse(encoded);
        HttpUrl unencodedUrl = HttpUrl.parse(unencoded);

        System.out.println("\n\nfor encoded url: " + encoded);
        System.out.println("encoded queryStr is:" + encodedUrl.encodedQuery());
        System.out.println("queryStr is:" + encodedUrl.query());
        System.out.println("url str is: "+ encodedUrl.toString());

        System.out.println("\n\nfor unencoded url: " + unencoded);
        System.out.println("encoded queryStr is:" + unencodedUrl.encodedQuery());
        System.out.println("queryStr is:" + unencodedUrl.query());
        System.out.println("url str is: "+ unencodedUrl.toString());

Output:
for encoded url: https://g.com/abc?%%=XYZ(%27blah%27)=%%
encoded queryStr is:%%=XYZ(%27blah%27)=%%
queryStr is:%%=XYZ('blah')=%%
url str is: https://g.com/abc?%%=XYZ(%27blah%27)=%%

for unencoded url: https://g.com/abc?%%=XYZ('blah')=%%
encoded queryStr is:%%=XYZ(%27blah%27)=%%
queryStr is:%%=XYZ('blah')=%%
url str is: https://g.com/abc?%%=XYZ(%27blah%27)=%%

Not sure if the dependency on this library would be desirable. Additionally styx.api.Url seems to be somewhat analogous to this class. However, the okhttp implementation does not handle the case where a url has no authority which the Styx implementation does.
Another way would be to let users supply the encoding implementation, or Styx use an implementation that can handle these cases. Finally, its not clear from the RFC or the HttpUrl implementation above whether the %% in the query should actually be encoded. What we know is that the url with query of type "%%=XYZ(%27blah%27)=%%" does not cause issues with upstream consumers. Our current fix involes a combination of java URI and HttpUrl. To handle the cases where no authority is present and URI does not handle the parsing we add a localhost authority and use HttpUrl to parse the string url.
Acceptance criteria

Styx is able to accept urls with %% in them

As a short summary, Styx Url.Builder uses java.net.URI to parse URLs to their subcomponents (scheme, path, query, etc). It is the URI.create() method that rejects URLs with double percentages (%%).
A request is rejected in NettyToStyxRequestDecoder when it attempts to convert a Netty HTTP object to a Styx representation  in makeAStyxRequestFrom method:
    Url url = url(unwiseCharEncoder.encode(request.uri()))
            .build();

Which in turn calls:
    public static Builder url(String value) {
        URI uri = URI.create(value);     <---- The "%%"s are rejected here.
        return new Builder()
                .scheme(uri.getScheme())
                .authority(uri.getAuthority())
                .path(uri.getRawPath())
                .rawQuery(uri.getRawQuery())
                .fragment(uri.getFragment());
    }

My impression is that the spec (chapter 2.4) prohibits double percentages (%%) unless encoded to %25%25. In this regard Styx behaviour is correct, although I understand your requirement for allowing them.
Additionally, Styx must assume an URLs are already percent-encoded. Otherwise it would be impossible to parse them in their constituent components. For this reason Styx couldn't just encode URLs again: encoding would be applied twice.
Maybe we could introduce an "unwise character sequences" configuration where the encoding is applied for the full character sequence instead of individual characters? Or even better, we could introduce a regexp-based URL replacement facility that is applied before Styx HttpRequest object is built. This would allow you to replace %% to %25%25s before URI.create is called. Would this work for you @yashvyas ?

In this particular case it seems like the url comes in partially encoded, so "'" is already encoded and not an unwise char that we configure but %% is not. Styx doesn't check whether URL is encoded or not before attempting the unwise char encoding right? And the char based encoding results in the double encoding if urls are partially encoded, but works fine if urls are not encoded it seems like. For instance:
ConfigurableUnwiseCharsEncoder encoder = new ConfigurableUnwiseCharsEncoder(newStyxConfig("%,|"), logger);
        String urlWithUnwiseChars = "/user/abc?%%=XYZ(|blah|)=%%";
        assertThat(encoder.encode(urlWithUnwiseChars), is("/user/abc?%25%25=XYZ(%7Cblah%7C)=%25%25"));

works fine with the config, but the below failes because the %27 becomes %25%27.
      ConfigurableUnwiseCharsEncoder encoder = new ConfigurableUnwiseCharsEncoder(newStyxConfig("%"), logger);
        String urlWithUnwiseChars = "/user/abc?%%=XYZ(%27blah%27)=%%";
        assertThat(encoder.encode(urlWithUnwiseChars), is("/user/abc?%%=XYZ(%27blah%27)=%%"));
        verify(logger).warn("Value contains unwise chars. you should fix this. raw={}, escaped={}: ",
                urlWithUnwiseChars,
                "/user/abc?%%=XYZ(%27blah%27)=%%");

Seems like we are also dealing with partially encoded Urls though so second happens to be the case we encounter. Regex based seems like it would work well for the specific case of %%, but if partially encoded urls come in with a % then would that be handled as well? Because encoded chars would match and i'm not sure if there is a valid regex to match only the hex encoded chars, for example, what happens when there is a url with a %, %2Abacus (%2A is the encoding for *), and %27?
if we could make the encoder pluggable, something that is provided but can also be supplied then maybe we could use the regex based since our case is only for %%, but in general not sure if that would work for everyone. Also, then we could just implement ours and optionally submit to OSS Styx as an option if it seems like a useful alternative in general.

Hi @yashvyas

Styx doesn't check whether URL is encoded or not before attempting the unwise char encoding right?

Browsers and other clients must send URLs in percent-encoded form. Otherwise the receiver (styx) wouldn't know how to parse ambiguous URLs into their constituent components. The same URL, if not percent encoded, would have multiple different ways of parsing it. For this reason Styx can only assume URLs are already encoded.
If they are not, then it should be a client error.
The specific problem in this case is %% character sequence. (The spec)[ https://tools.ietf.org/html/rfc3986] doesn't seem to allow that. Understandably you need to pass these URLs through. Perhaps the %% is being used to escape the percent character itself?

Regex based seems like it would work well for the specific case of %%, but if partially encoded urls come in with a % then would that be handled as well?

Clients/senders should encode URLs to the extent that Styx (and URL.create) can parse them properly. As long as we deal with %% then perhaps URL.create will work just fine? Do you have specific examples where this would fall apart?

if we could make the encoder pluggable, something that is provided but can also be supplied then maybe we could use the regex based since our case is only for %%, but in general not sure if that would work for everyone. Also, then we could just implement ours and optionally submit to OSS Styx as an option if it seems like a useful alternative in general.

Support and bug fixing are my particular concerns about pluggable model. Investigating and interoperability issues can get tricky when there is 3rd party code involved.
I would start with simpler and less intrusive model like regex based, and introduce additional interfaces as needed basis. Like possibly opening a new builder interface in NettyToStyxRequestDecoder for injecting an URL encoder class, etc. But ideally avoiding a new SPI interface if possible.

Hi @mikkokar this got deprioritized since we tabled the migration for a bit. As we come close to using Styx 1.0 we will take a look at this. T
Thank you for your inputs, I agree that a simpler/less intrusive approach like the one you suggested might be best to resolve this particular issue.
With the pluggable model, I meant that Styx could pick up the UnwiseCharEncoder from an impl. provided by apps using Styx (if needed) and the impl would be defined and maintained in the app code base rather than Styx.
Regarding URL.create, the issue seems to be that the library is too outdated and doesn't support newer valid URL char sequences. Hence Styx provides the UnwiseCharEncoder. While %% is indeed an invalid sequence it should be encoded as %25%25 as per the spec, (referencing item 2.4):

Because the percent ("%") character serves as the indicator for
percent-encoded octets, it must be percent-encoded as "%25" for that
octet to be used as data within a URI.

Regarding examples, I can't come up with any that will fall apart given a regex based approach. In fact after revisiting it seems like an impl like RegexBasedUnwiseCharacterEncoder (impl. of ConfigurableUnwiseCharEncoder) might be the best way without needed to depend on OkHttp and other third party libs.
Thank you! We will engage you guys further as we get close to executing the upgrade.

This was deprioritized as part of the original migration, we are still tracking it though and will tackle it when we are ready to move to styx1.0 without using a fork.

Closing all issues over 3 years old. New issues can be created if problems are still occurring.


"rust-format-on-save" sometimes leads to a "stdin" buffer

Seems like I couldn't save the following code if I have (rust-format-on-save t). It always leads to a "stdin" buffer.
I think it's because of the empty lines between the arg blocks. If I remove them, it works fine.
use clap::{App, Arg, ArgMatches, SubCommand};

pub fn func() -> ArgMatches<'static> {
    App::new("test")
        .version("0.1.0")
        .subcommand(
            SubCommand::with_name("add")
                .about("Add a new entry")
                .arg(
                    Arg::with_name("ENTRY")
                )

                .arg(
                    Arg::with_name("DATE_MATH")
                        .takes_value(true)
                        .required(false)
                        .multiple(false)
                        .help("The date, can be in the form of 2019-12-20 or -1d/w (1 day/week before)"),
                ),
        )
        .get_matches()
}

The*rustfmt* buffer says:
error[internal]: left behind trailing whitespace
  --> stdin:13:13:0
   |
13 |
   | ^^^^^^^^^^^^^^^^
   |

warning: rustfmt has failed to format. See previous 1 errors.

Below is my environment:
GNU Emacs 27.0.50 (build 1, x86_64-apple-darwin19.0.0, NS appkit-1894.10 Version 10.15.1 (Build 19B88)) of 2019-11-26

$ rustfmt  --version
rustfmt 1.4.11-stable (18382352 2019-12-03)

$ elpa/rust-mode-20200322.1749/

Actually, I think this is a bug of rustfmt: https://github.com/rust-lang/rustfmt/issues/4037
Closing this issue.

Looks like #357 still alive.
For me problem occurs when I try to code bellow.
rust-mode          20200322.1749
GNU Emacs 26.3 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.10) of 2019-08-29
/// input data
/// output parity data
pub fn encode(data: [u8; 8]) -> u8 {
    let data = u64::from_le_bytes(data);

    let mut ret = 0u8;
    for (i, mask) in generated::PARITY_BITS_MASK.iter().enumerate() {
        let parity_bit = ((data & mask).count_ones() & 1) as u8;
        ret |= parity_bit << i;
    }
    ret = ((data.count_ones() & 1) as u8) << 7;
    ret
}

/// correct input data if there is one bit error,
/// return Err(()) if double bit error was detected
pub fn decode(data: &mut [u8; 8], parity: u8) -> Result<(), ()> {
    let data = u64::from_le_bytes(data);

    let overall_parity = ((data.count_ones() & 1) as u8) << 7;
    let overall_expected = (parity >> 7) & 1;
    let overall_correct =
    let mut index_of_error = 0;
    for (i, mask) in generated::PARITY_BITS_MASK.iter().enumerate() {
        let parity = ((data & mask).count_ones() & 1) as u8;
        let expected = (parity >> i) & 1;
        if parity != expected {
            index_of_error |= 1u8 << i;
        }
    }

    unimplemented!()
}

mod generated {
    pub const PARITY_BITS_MASK: [u64; 7] = [
        0xab55555556aaad5b,
        0xcd9999999b33366d,
        0xf1e1e1e1e3c3c78e,
        0x1fe01fe03fc07f0,
        0x1fffe0003fff800,
        0x1fffffffc000000,
        0xfe00000000000000,
    ];
}

This problem happens again.
If run rustfmt in terminal I got:
$ rustfmt parser.rs
error[internal]: left behind trailing whitespace
   --> parser.rs:122:122:0
    |
122 |
    | ^^^^^^^^^^^^
    |

warning: rustfmt has failed to format. See previous 1 errors.

May be just revert
a36c96ab556ddf9cd098ab0109acfdd94b106675
?
cc @nikodemus @mookid

I confirm I can reproduce the bug. I'll try to find some time to fix it this weekend.

Thanks for the report, please test.


Make files easier to traverse/query/filter/etc

Lots of plugins seem to implement the same type of logic over and over again: (I know I've done it on several occasions alone)

looping
filtering
sorting
grouping
etc...

Right now, the way plugins are forced to operate is with more verbosity than I think should be necessary:
Object.keys(files).forEach(function (key) {
  var file = files[key];
  // ...
});

Granted, it's not hard to do stuff like this, but it certainly obfuscates the original intent of the code somewhat.
Thus, I believe it makes sense for Metalsmith to add some help to plugin authors for accomplishing these types of things. Basically, I am proposing a smarter files object, with methods like:

files.each()
files.filter()
files.sort()
files.groupBy()
files.matches()

I don't think the internal data-structure needs to change necessarilly. (although I would certainly be willing to discuss options) In order to maintain backwards compatibility, we could add this advanced data-structure to the metalsmith instance instead.
function (_, metalsmith) {
  var files = metalsmith.files();
  // ...
}

Also, we could just augment the current files object to have these extra methods. Unfortunately, there's still the possibility of a filename clashing. (however unlikely)
I would be open to various alternatives for exactly what this collection lib should be implemented with. I'm sure there are plenty of npm modules out there.

I think the files object should be left the way it is. What you are suggesting would break current compatibility as files.each would be a result in Object.keys(files). There are packages that assist with these problems already.
https://lodash.com/
https://github.com/sindresorhus/multimatch

Agree with @unstoppablecarl on this one, but not so much for backwards compatibility as for scope of the library itself.
 But I think that's more of an issue for Javascript itself that we shouldn't try to solve at the Metalsmith level. If we did, then every library that might need to benefit from looping would be responsible for paving over Javascript's problems themselves, instead of pulling that logic into underscore or similar.
The problem gets worse because once we allow files.filter and files.matches (or similar) because then we'll be in the business of adding more and more types of mutations directly to core that people use in plugins. The logic for "why does this mutation belong in core" will be really hard to justify over time unfortunately, leading to bloat or other frustrations.
I feel your pain though. This kind of issue is really a problem with the spec writing process and spec writing people not being in touch with those who actually use it daily. Ridiculous that we can't use Object.values or Object.each or for (var key, value in obj) or even nicer solutions still. Makes me long for a language that is designed with both function and taste in mind.

Yeah, I can see your point. I think this is something I run into often enough that I think would be useful as an npm module. (not a raw plugin, but something you require and pass in your local files object)

FWIW, my plugin metalsmith-branch isolates the filtering logic, at least. (Needs to be brought up to the latest metalsmith deps but otherwise I think it works ok.) Haven't used it in awhile but I remember thinking I'd prefer a more controlled way of mutating the files object... often feels a little wild west-y with everything touching it asynchronously... but kind of too late to change that without breaking everything.


[Web-41] Load Departments and Search Results from BE

https://user-images.githubusercontent.com/42628074/219970196-c9c38919-0273-40bb-bd36-edccd4c40c3a.mov

load departments and course search results from BE

 [Web] Load all departments from BE


Added documentation for keystore

Worked with @kirahsapong on this.

Codecov Report

Merging #313 (2210922) into main (eb9daf7) will not change coverage.
The diff coverage is 0.00%.

@@           Coverage Diff           @@
##             main     #313   +/-   ##
=======================================
  Coverage   18.73%   18.73%
=======================================
  Files          36       36
  Lines        4292     4292
=======================================
  Hits          804      804
  Misses       3368     3368
  Partials      120      120

Impacted Files
Coverage Δ

pkg/server/router/did.go
7.92% <0.00%> (ø)

pkg/server/router/keystore.go
10.25% <0.00%> (ø)

pkg/server/router/webhook.go
0.00% <0.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


React Native SDK Yarn ios

Hi @warengonzaga  thank you for reaching out on the discord,
i could use some help/guidance on a project I am building. I am using the React Native SDK and started the build with "npx thirdweb create --template react-native-expo-starter" went through the whole environment set up and I'm up to the part where I could run "yarn iOS" when I run this everything seems to build fine and the IOS simulator does come up but then that's when I run into some errors preventing me from moving forward. I will attach images of this errors I'm seeing repeatedly, please help with any sort information you can provide. Im attaching photos below of my package.json and the errors im receiving in the console.
Thank You,
Navier Polanfco

Hello @iketw can you take a look into this? Thanks!

Thank you, @iketw if theres anything i could provide to help with diagnosing this problem of mine let me know. could use the help as soon as possible i've been trying to figure out the problem for 3 days now before coming for help.

Hi @Navip10, thanks for reporting this. The issue stems from the fact that since expo-application 5.8, the module has been migrate to a Native module. Please, run npx expo install expo-application in your app and re-run, this should fix your issue.
I'll make sure to update the templates.

Hi @Navip10, thanks for reporting this. The issue stems from the fact that since expo-application 5.8, the module has been migrate to a Native module. Please, run npx expo install expo-application in your app and re-run, this should fix your issue.
I'll make sure to update the templates.

thanks, it worked

@iketw it worked! thank you for getting back to me with a quick solution!

Closing this issue, thanks @iketw for the quick fix.
Should you require any further assistance @Navip10 and @huy-lv let us know.


Add preliminary ESM baseline

Adds a first version of an ESM baseline.
With random protein batches of batch size 4, a single forward pass takes approximately 8 seconds (on a CUDA-enabled device).

@amorehead @a-r-j we are missing a config for the ESM model.


Remove non-authenticated use of Django CSRF middleware

CSRF is a problem specific to authenticated pages and actions, and our use of it on feedback forms and the Financial Well-Being score prevent us from being able to cache those URLs.
This PR is an attempt to exempt all our non-authenticated URLs from CSRF. This is somewhat complicated by the fact that Django's CsrfViewMiddleware operates specifically on views, and we want to keep it enabled for authenticated URLs.  Because all our Wagtail URLs are served by a single view, Wagtail Sharing's ServeView, the Django csrf_exempt decorator is not going to be useful to us.
This is a known issue for the way in which Wagtail pages share a single serve view (by default, Page.serve), per https://github.com/wagtail/wagtail/issues/3066. The recommended approach in that issue is a custom middleware that subclasses CsrfViewMiddleware and exempts as necessary within its process_view method.
This PR adds just such middleware, PathBasedCsrfViewMiddleware. This middleware will check for the existence of a CSRF_REQUIRED_PATHS setting, and only enforce CSRF for requests that match the paths listed in that setting. If the setting does not exist, it will enforce CSRF everywhere, just as CsrfViewMiddleware does.
I've also set CSRF_REQUIRED_PATHS to our known-authenticated paths.
With this middleware in place, all public-facing uses of CSRF, and public-facing exemptions from CSRF, can be removed. The subsequent commits on the PR do that.
Checklist

[x] PR has an informative and human-readable title
[x] Changes are limited to a single goal (no scope creep)

@Scotchester Good point! Yes, disclosures don't need CSFR -- there is no authentication.
I wondered about satellite apps too, but I think we're clear there.

retirement, oah-api and ccdb5-api and curriculum-tool have references in little-used stand-alone test settings, but those up can be a followup task.
Only curriculum tool has a live reference that we should get: https://github.com/cfpb/curriculum-review-tool/blob/c74bed94ae9b55a3011136a89efab0fa854a7671/crtool/views.py#L13

Sounds good.
In my testing locally, the references shouldn't be blockers — the CSRF token simply won't be checked. I think cleaning up the satellites can happen asynchronously with this PR.
I'll open new PRs there and then a new PR here with updates once those are in. But this one can stand alone.

@Scotchester thanks for catching those! They're removed in 569a736.

This is great but I am wondering why not  including CsrfResponseMiddleware middleware.

@laminfaty we're subclassing Django's CsrfViewMiddleware, which is the successor to CsrfResponseMiddleware, which was deprecated in Django 1.4.

Got it!

I think everything in cfgov/legacy/templates/common/ in can be deleted now, as well. I can't find evidence of any of these templates still being used.

@willbarton Did you miss this comment?

@Scotchester Oh! No, I didn't, I just forgot to follow-up. In the interest of small, tightly-scoped PRs, I am going to open a separate PR to do that.

Following up on this:

I wondered about satellite apps too, but I think we're clear there, with one exception.
-retirement, oah-api and ccdb5-api and curriculum-tool have references in little-used stand-alone test settings, but those can be a followup task.
-Only curriculum tool has a live reference that we should get: https://github.com/cfpb/curriculum-review-tool/blob/c74bed94ae9b55a3011136a89efab0fa854a7671/crtool/views.py#L13

PRs to each of these to remove these references have been opened and referenced above.


🐛 VSCode Extension not reporting in Problems section

Environment

$ rome rage --summary

Summary
Object {
    COLORTERM: "truecolor"
    LANG: "en_US.UTF-8"
    PATH: "C:\\Users\\MatthewB\\Documents\\Github\\NodeJS-Boilerplate\\node_modules\\.bin;C:\\Program
    Files\\PowerShell\\7-preview;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files\\Microsoft SQL
    Server\\130\\Tools\\Binn\\;C:\\Program Files\\dotnet\\;C:\\Program Files\\Microsoft VS Code\\bin;C:\\Program Files (x86)\\Microsoft Emulator Manager\\1.0\\;C:\\Program
    Files\\ngrok;C:\\Users\\MatthewB\\AppData\\Roaming\\nvm;C:\\Program Files\\nodejs;C:\\WINDOWS\\System32\\OpenSSH\\;C:\\Program Files\\PowerShell\\7-preview\\preview;C:\\Program
    Files\\Git\\cmd;C:\\Program Files\\PowerShell\\7\\;C:\\Program
    Files\\Docker\\Docker\\resources\\bin;C:\\ProgramData\\DockerDesktop\\version-bin;C:\\Users\\MatthewB\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\MatthewB\\AppData\\Roaming\\npm;C:\\
    Users\\MatthewB\\AppData\\Local\\Programs\\Fiddler;C:\\Users\\MatthewB\\.dotnet\\tools;C:\\Users\\MatthewB\\AppData\\Local\\Programs\\Microsoft VS
    Code\\bin;C:\\Users\\MatthewB\\AppData\\Roaming\\nvm;C:\\Program Files\\nodejs;C:\\Users\\MatthewB\\AppData\\Local\\Microsoft\\WindowsApps"
    TERM_PROGRAM: "vscode"
  }

User Config
  unset

Rome Version
  10.0.3-beta

Node Version
  14.0.0

Platform
  win32 x64 10.0.19041

Terminal Features
  Object {
    background: "unknown"
    colorDepth: 24
    columns: 197
    cursor: true
    hyperlinks: true
    isTTY: true
    unicode: false
  }

Client Flags
  Object {
    clientName: "cli"
    cwd: "C:\\Users\\MatthewB\\Documents\\Github\\Boilerplate"
    realCwd: "C:\\Users\\MatthewB\\Documents\\Github\\Boilerplate"
    silent: false
  }

Server Status
  Object {
    projects: Array [
      Object {id: 0}
      Object {id: 1}
    ]
    server: Object {
      heapTotal: 26_079_232
      pid: 16_776
      uptime: 0.356969299
    }
    workers: Array [
      Object {
        astCacheSize: 0
        heapTotal: 26_079_232
        ownedBytes: 0
        ownedFileCount: 0
        pid: 16_776
        uptime: 0.356722
      }
    ]
  }

Visual Studio Code
Version: 1.47.3 (system setup)
Commit: 91899dcef7b8110878ea59626991a18c8a6a1b3e
Date: 2020-07-23T13:12:49.994Z (2 wks ago)
Electron: 7.3.2
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Windows_NT x64 10.0.19041

Steps To Reproduce

Install VSCode extension

Expected Results
I'd expect the Problems section to report what $ npx rome check does.

$ npx rome check
PS C:\Users\MatthewB\Documents\Github\Boilerplate> npx rome check

 .eslintrc.json:19:4 parse/json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  × Comments aren't allowed in JSON

    17 │   "ignorePatterns": "dist/**/*",
    18 │   "rules": {
    19 │     // disable the rule for all files
    20 │     "@typescript-eslint/explicit-module-boundary-types": "off"

 tsconfig.json:8:4 parse/json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  × Comments aren't allowed in JSON

    6 │     "charset": "utf8",
    7 │     "checkJs": true,
    8 │     // "declaration": true,
    9 │     "emitBOM": false,

 .devcontainer/devcontainer.json:1 parse/json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  × Comments aren't allowed in JSON

  > 1 │ // For format details, see https://aka.ms/vscode-remote/devcontainer.json or this file's README at:
      │ ^
    2 │ // https://github.com/microsoft/vscode-dev-containers/tree/v0.128.0/containers/javascript-node-12
    3 │ {

 .vscode/extensions.json lint/pendingFixes  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  × Pending formatting and safe fixes

     1  1 │   {
     2    │ - ··"recommendations":·[
     3    │ - ····"christian-kohler.npm-intellisense",
     4    │ - ····"coenraads.bracket-pair-colorizer",
     5    │ - ····"dbaeumer.vscode-eslint",
     6    │ - ····"esbenp.prettier-vscode",
     7    │ - ····"waderyan.nodejs-extension-pack"
     8    │ - ··]
        2 │ + → "recommendations":·[
        3 │ + → → "christian-kohler.npm-intellisense",
        4 │ + → → "coenraads.bracket-pair-colorizer",
        5 │ + → → "dbaeumer.vscode-eslint",
        6 │ + → → "esbenp.prettier-vscode",
        7 │ + → → "waderyan.nodejs-extension-pack"
        8 │ + → ]
     9  9 │   }

  i To apply fixes and formatting run
  $ rome check .vscode/extensions.json --apply

 .vscode/launch.json:2:2 parse/json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  × Comments aren't allowed in JSON

    1 │ {
    2 │   // Use IntelliSense to learn about possible attributes.
    3 │   // Hover to view descriptions of existing attributes.

 .vscode/settings.json lint/pendingFixes  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  × Pending formatting and safe fixes

     1  1 │   {
     2    │ - ··"[javascript]":·{
     3    │ - ····"editor.defaultFormatter":·"esbenp.prettier-vscode"
     4    │ - ··},
     5    │ - ··"[json]":·{
     6    │ - ····"editor.defaultFormatter":·"esbenp.prettier-vscode"
     7    │ - ··},
     8    │ - ··"[markdown]":·{
     9    │ - ····"editor.formatOnSave":·true,
    10    │ - ····"editor.wordWrap":·"on",
    11    │ - ····"editor.renderWhitespace":·"all",
    12    │ - ····"editor.acceptSuggestionOnEnter":·"off"
    13    │ - ··},
    14    │ - ··"editor.cursorBlinking":·"blink",
    15    │ - ··"editor.cursorStyle":·"block",
    16    │ - ··"editor.defaultFormatter":·"esbenp.prettier-vscode",
    17    │ - ··"editor.formatOnPaste":·true,
    18    │ - ··"editor.formatOnSave":·true,
    19    │ - ··"editor.trimAutoWhitespace":·true,
    20    │ - ··"[jsonc]":·{
    21    │ - ····"editor.defaultFormatter":·"vscode.json-language-features"
    22    │ - ··}
        2 │ + → "[javascript]":·{
        3 │ + → → "editor.defaultFormatter":·"esbenp.prettier-vscode"
        4 │ + → },
        5 │ + → "[json]":·{
        6 │ + → → "editor.defaultFormatter":·"esbenp.prettier-vscode"
        7 │ + → },
        8 │ + → "[markdown]":·{
        9 │ + → → "editor.formatOnSave":·true,
       10 │ + → → "editor.wordWrap":·"on",
       11 │ + → → "editor.renderWhitespace":·"all",
       12 │ + → → "editor.acceptSuggestionOnEnter":·"off"
       13 │ + → },
       14 │ + → "editor.cursorBlinking":·"blink",
       15 │ + → "editor.cursorStyle":·"block",
       16 │ + → "editor.defaultFormatter":·"esbenp.prettier-vscode",
       17 │ + → "editor.formatOnPaste":·true,
       18 │ + → "editor.formatOnSave":·true,
       19 │ + → "editor.trimAutoWhitespace":·true,
       20 │ + → "[jsonc]":·{
       21 │ + → → "editor.defaultFormatter":·"vscode.json-language-features"
       22 │ + → }
    23 23 │   }

  i To apply fixes and formatting run
  $ rome check .vscode/settings.json --apply

 src/index.js:1 parse/js ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  × import and export can only appear in a module

  > 1 │ import { v4 as uuidv4 } from "uuid";
      │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    2 │ import Logger from "./logger";

  i Change the extension to .mjs to turn this file into a module

  i Add "type": "module" to your package.json

 src/logger.js:2 parse/js ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  × import and export can only appear in a module

    1 │ /* eslint class-methods-use-this: ["error", { "exceptMethods": ["EVENTS"] }] */
  > 2 │ import Emittery from "emittery";
      │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    3 │
    4 │ const {

  i Change the extension to .mjs to turn this file into a module

  i Add "type": "module" to your package.json

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
i Fixes available. To apply safe fixes and formatting run
$ rome check --apply
i To choose fix suggestions run
$ rome check --review
× Found 8 problems

Most likely duplicate of #1028, also see #1001. It will be fixed in an upcoming release (<1 hour).

This remains an issue for me after upgrading the this version: "rome": "^10.0.4-beta"
I should note, I'm using rome locally and didn't install it globally.

What does it say in the Rome output channel in VS Code? Is it successfully discovering the path to Rome in node_modules and is it watching your project directory?

This is from the Output window:
No Rome path found. Waiting for workspace folder changes before trying again

Do you have Rome installed locally in your project directory? (i.e. npm install rome without a global flag)
If so, we'll need to figure out why the extension isn't finding it.

Yes, I tried both versions from a local install: "rome": "^10.0.3-beta" & "rome": "^10.0.4-beta".
Using npx works, but using VSCode after a npx rome init doesn't seem to work. I have not installed this globally to date.

If there's a debug/verbose logging mode for the extension, I'll give it a shot. I don't mind spending the time getting this up and running, so let me know how I can get you more information to troubleshoot.

Thanks for helping troubleshoot!
I don't think there's any extra logging that the extension can currently do while it's attempting to locate the Rome path.
Could you try adding a top-level field to your package.json called romeLSPBin with the relative path from your project directory to the rome/index.js in your node_modules?

Same here 😢

Rome check is reporting 3 problems, but VSCode with rome.rome extension does not :

Even with your suggestion @yassere

What errors are you expecting there to be visible? Keep in mind that we explicitly hide the "pending fixes and formatting" diagnostic as it's not useful in an editor and would be covered by auto formatting, the other diagnostic suggestions, and quick fixes.

I'm expecting to see the 3 problems rome check found.
Here for example, I just run rome check --apply and one problem still exists :

Why all these are considered useless to show ?
EsLint have warn & error severity levels and is well displayed in the VSCode problem tab because lint issues are sorted from error to warn.

Can anyone provide a code snippet that should display errors in this VSCode problem tab to verify that extension is working properly ?

They aren't useless to show. I was referring specifically to a single sort of diagnostic we output that was included in the CLI output from the example in the issue body.
We need to add additional logging to the extension output channel so we can more properly debug these sorts of issues.

Ok, let me know if I can help to investigate more.
I tried many folderpath & filepath for "romeLSPBin" and then reload my VSCode but I'm still seing No Rome path found. Waiting for workspace folder changes before trying again in the Rome extension output.

Is there a chance where you can share your project or a minimal repository where we can replicate the issue?

test-rome.zip

@Shuunen Did you try "node_modules/rome/bin/rome/index.js" for romeLSPBin?
You shouldn't have to specify the path yourself, but I'm just trying to see if it works for troubleshooting purposes.
You won't see diagnostics from Rome under "Problems" if you see "No Rome path found" because that means the extension couldn't find the LSP server to even start it.

Same result :

I spent some time debugging this using ProcMon. I found some things of interest. The NAME INVALID errors have a file path prefix of: C:\c:\, which would cause problems. Hopefully, it helps.
Also, should this issue be reopened?

@iOnline247 Thanks for the help.

Circling back on this... Any progress?
I could start a PR, but I'm not too sure where to look at in the code for sus out this bug. Can you give me some tips and I'll start poking around.

No news unfortunately :( most of us don't have a Windows OS, so it's difficult to triage the issue. Any help is welcome!
About where to look at:

https://github.com/rome/tools/blob/main/internal/core/server/lsp/LSPServer.ts: this is where the bulk of the job happens
https://github.com/rome/tools/blob/main/public-packages/vscode-extension/index.ts: this the VSCode extension, it doesn't do much other than sending instructions to the rome server


github/mergify: rename yaml -> yml

It seems mergify only checks for .yml (not .yaml) files. Currently the dashboard shows "no configuration",
and #1774 was merged before the merge_condition check-success=buildbot/nix-eval was met.
To quote Writing Your First Rule and Mergify Configuration File:

It reads the file named .mergify.yml, or, as a fallback, .mergify/config.yml or .github/mergify.yml from the repository root directory.
It reads the file from the default repository branch configured on GitHub — usually main.

We could also move the file out of .github to .mergify.yml if preferred.

@mergifyio queue


Implement a detail variation method of the image input

According to Sec 3.4 of the paper, I have implemented the detail variation method given the image input.
Pipeline:

Given a Z-up axis triangle mesh, it is voxelized(https://github.com/Forceflow/cuda_voxelizer) into active voxels (64^3 -> N x 4), in the same form of Sparse Structure Voxels
Skip the sparse structure sampler and directly run the 2nd stage, SLAT sampler, based on the input image condition.

I have provided a example script, texgen tab, as well as example data
It can composite meshes and images of different styles, producing some creative outputs.
Example outputs:
https://github.com/user-attachments/assets/a8eabe89-5035-48b4-8fcf-17ab8523a88f
https://github.com/user-attachments/assets/e3d8bf26-b73b-4094-a90e-b37f447827c1
https://github.com/user-attachments/assets/a122713c-f01b-4024-b83f-35e7c6709d68
Also other minor changes:
i.e. options to save intrinsics/extrinsics/renderings in the example
output sRGB texture
expose opt/fast mode in texture baking

@microsoft-github-policy-service agree

Nice implementation! The image-conditioned variation results are really cool! We have only tested text-conditioned variation in our experiments. This one seems to be more creative.


Every other .validate() request results in validation error on fields that have no error

I'm submitting a bug report

Library Version:
1.0.0

Please tell us about your environment:

Operating System:
Linux (Ubuntu 16.04)

Node Version:
4.8.3

Though I don't think it should matter, my rules use match. On the form submit I'm doing a .validate() on the validationcontrollerfactory to force a manual validation and looking for whether there were errors coming back from the promise. If there were I let the user correct and try to submit again.
On that first submit, I notice that the value the ValidationController.processResultDelta sends to the render is correct (i.e. only 1 field out of 5 had an error) and as such my custom render (I'm testing with currently the sample boostrap form validation render) shows everything correctly..
Once I correct the error field and I submit again, I now notice that the ValidationController.processResultDelta sends to the render that all the fields are not valid and of course the custom render shows them all as not valid though that's not at all true since they are now all valid.
I don't change anything on the fields and submit again, and .validate() shows everything is valid.

Hmm it does appear to be related to using matches as a rule. :( The moment I commented those out and replaced with a minLength and maxLength the issue is gone. But unless there's another way of doing this, I do need to use matches rules so that I can take advantage of additional validation checks on the fields like password for complexity rules.

I've created custom rules for the ones I need to use matches on and using satisfiesRule instead where I'm doing the RegExp compare myself and everything is working properly. Would be good to resolve whatever the issue is with using matches though as it appears to get confused every other .validate() call even if the values haven't changed.

@genachka if you could provide a gist we can look into this for you: https://gist.run/?id=381fdb1a4b0865a4c25026187db865ce


Filtering addresses with star symbol in console giving wrong results

When filtering addresses by symbol * (star ), all addresses from the address list disappear, however the results box show x results,
steps to reproduce:
in console, create 4 new topics with names:
*addr
addr*addr
addr*
addrwithnostars
and then filter addresses by * symbol
(for bonus points, you can remove the filter for * and add another one now for . and observe that all addresses remain even though they have no . in the names, its understood this may be due to some regex happening)
workaround:
escape the * when filtering produces the correct number of filtered addresses and results value

We need some clarity on exactly how wildcards are supposed to work.   What are the wildcard symbols?   Are there restrictions on where why are placed?  Are there different rules for the the different filters in the console?
We should also make sure that they are documented.

At present the filter can be a regex (not a simple wildcard though, so .* will match everything * alone will not). This was mostly an accident of implementation rather than any particular choice, so it can be changed if desired.

We can give an error message as below.

Alternatively, I can highlight the input filter box in red, and give a message similar to

This second options requires extending (copying the patternfly filter components), into our project and modifying them.  The patternfly team, would consider adding the ability to do it for patternfly version 4, but not in version 3.

@vbusch IMO, that first version works fine. Slight rewording suggestion: "**abc:" is not valid. Only regular expressions are supported." Does that second sentence make sense? If not, just the first sentence then. (Just trying to give the user a clue as to why it's not valid)

https://github.com/EnMasseProject/enmasse/pull/1746
regex alert working as expected


steven, protocol: cannot connect to servers - "unhandled packet *protocol.LoginDisconnect"

EDIT: Just tried connecting to a server with a different account, and this doesn't happen.  I assume it is related to being banned?

I'd assume so. I've forgot to handle disconnects so i'll go improve that now


Replace use of std HashMap with hashbrown

There are several places throughout the code where hashbrown's HashMap would benefit us. Namely, for its entry_ref API which provides the same as the standard entry API, but allows passing the key by reference.
Here are a couple of examples:
https://github.com/influxdata/influxdb/blob/2ddef9f8da1a0e23106bc190c641458af049435d/influxdb3_write/src/write_buffer/buffer_segment.rs#L345-L361
https://github.com/influxdata/influxdb/blob/2ddef9f8da1a0e23106bc190c641458af049435d/influxdb3_write/src/write_buffer/table_buffer.rs#L463-L468
https://github.com/influxdata/influxdb/blob/2ddef9f8da1a0e23106bc190c641458af049435d/influxdb3_write/src/write_buffer/buffer_segment.rs#L394-L415
There are several places in this function that could be cleaned up with the entry_ref API. Here is one example: https://github.com/influxdata/influxdb/blob/2ddef9f8da1a0e23106bc190c641458af049435d/influxdb3_write/src/write_buffer/table_buffer.rs#L181-L192

can i try this one?

Hey @LorrensP-2158466 - sure! You are welcome to try this one. Please keep in mind, you will need to read, understand, and sign InfluxData's CLA in order for your PR to be accepted.

Yes, I did! Do I need to prove I did it in my PR, or do you guys check that?

Do I need to prove I did it in my PR

Nope! There is a checkbox in the default PR template as a reminder for you and for you to indicate that you signed it, but we will check it in the back-end.

I also have some questions:

should every occurrence of std::HashMap be replaced with hashbrown::HashMap or only where the entry_ref API can be used?
you're last example shows !self.data.contains_key(...) but this is a BTreeMap, should I replace every BTreeMap with hashbrown::HashMap?

Should every occurrence of std::HashMap be replaced with hashbrown::HashMap or only where the entry_ref API can be used?

I would stick to the places where the entry_ref API is needed for now.

You're last example shows !self.data.contains_key(...) but data is a BTreeMap. Should I also replace every BTreeMap with hashbrown::HashMap where we can use the entry_ref API?

Ah, thanks for catching that. I will remove that from the description. We definitely don't want to replace BTreeMaps with HashMaps.


[release] Reduce run time of CI job

The Release job currently takes more than 7h to complete. We should investigate why it takes so long and optimize its run time.
See https://github.com/lowRISC/opentitan/pull/18991#discussion_r1236908699

This doesn't seem so surprising: The release job serializes all builds with --jobs=1.
Should we consider using the ordinary pipeline and only running an extra job to create the release archive from cached or published outputs from other jobs? Or do all builds need to happen on a single machine for the sake of provenance?

CC @GregAC @milesdai


How to install and compile?

Hi, I can't find any clear instructions on this.
I downloaded the project and did:
make
sudo make install
and then compile with -lhiredis_vip
but just get the error:  fatal error: 'hircluster.h' file not found
from the line #include<hircluster.h>

I'd also like to see this added to the docs or wiki. As well as an example on how to run some of the example code.


Use JavaScript modules

Update JavaScript to use the the module pattern, as set out in the govuk frontend toolkit.

#183 fixes this.

Closing in favour of including the JavaScript from the govuk_frontend_toolkit.


Non-null pipe ?|>

@STRd6 suggests the ability to short-circuit the rest of a pipe when the left-hand side is null:
x ?|> f
---
x != null ? f(x) : x
//or
x == null ? x : f(x)

A possible refinement/expansion could be ?> and !>  as pipe-if and pipe-unless.
foo := try line1() !> return
bar := try line2() !> return
...
vvv
let ref; try(){ref = line1()}catch(e){}; if(!ref) return ref; const foo = ref;

It passes the value to the pipe depending on the condition, then returns the value if not passed or the result of the of the pipe if it was passed.
It may need some finessing but that's the general idea.
Something else to consider could be a error/non-error pipe as well. It could pass if the value extends Error.
Some further questions:

Are non-null and falsey different enough to warrant different pipes?
Can we combine these easily? (pipe null or error, falsey or error, etc.)

👨🍳

Are non-null and falsey different enough to warrant different pipes?

There are four distinct falsy values a number? may have, but only one of them is nullish. (The other three are 0, -0, and NaN.)


Switch from Svelte to Leptos

Would be awesome if this project would use leptos, this would help to get rid of the entire just/npm stuff. :heart:
Also one idea about leptos is, the frontend could be behind a feature flag and vice versa, headless feature would be awesome. :)
Feel free to close this issue, if you are not interested in leptos, or reach out if you need help! :heart:

I am absolutely interested about leptos.
I am already thinking about it anyway since quite some time, how we could do a migration smoothly.
I am using leptos almost exclusively for all my other (newer) projects already. When Rauthy has been started, there simply was no leptos. The only real Rust framework was Yew. But unfortunately, this has huge payloads and wasm sizes, which is why I never really considered it.
We will for sure not get rid of just because of other reasons. The most important is that it sets the DATABASE_URL for you each time. I don't have a better idea for the current handling of these for the moment, because sqlx broke the Any driver when they released 0.7. The Any driver was the reason why I used it in the first place, because I could just use the same setup independent of the database. v0.7 basically kills this Driver. A lot of things broke with it and my issues about it where simply ignored, which is why I moved to the feature gated approach at some point.
If I would start over, I would prefer native DB drivers and not use sqlx anymore tbh.
That was a bit off-topic. :)
I really like leptos, I am using it at lot in other projects and a migration would make the whole UI development thing a lot easier. The only considerations, before we can actually do this, are:

Create at least a PoC and make 100% sure, that the whole Webauthn / Passkey flow does not have an issues on no device / browser (mobile especially) when used in a WASM context. This should work fine, but I would want to know this 100% beforehand.
Find a nice way (already thinking about this) how the migration can be as smooth as possible. Just migration everything in one go would be preferred, but this would be a really really huge PR and would possibly block other things in between like maybe important bugfixes, or we would need to implement them twice, which would be annoying too.
The idea for now is to feature gate it at least for the time of the migration. This would work, but it would make the whole process more complicated as well, because quite a lot of things need a different handling then.
Think about how to handle the backend calls. The server functions are very convenient to use and are my goto, usually, but I would not change the rauthy API layout like it is now. This means we would probably not use server_fns but actually do the requests manually with reqwasm or something. This is no big deal, but also removed some convenience in other places.
The other way of doing it would be to have server functions as duplicates for the current API. This would be the most simple setup, but also the one with the most resource usage later on.
Think about the above mentioned resource usage. One of Rauthy's goals is to be really efficient. Leptos SSR adds quite a bit of memory overhead right now. This will of course improve in the future, but it will always be a lot more than just the currently static HTML files.

In its current setup, a headless feature would be really easy - just don't add the API routes, but it does not give you any advantage tbh. There is simply almost no overhead at all with the UI. Svelte is not really running in production. Everything is compiled down to static HTML files. So the only overhead are a few kB of these files being cached in memory, that's it.
This is actually a very big con for leptos. All pre-rendered UI files together (in plain and pre-compressed gzip + br) are less then 3MB.
To make things short:
I am already thinking about leptos for quite a while now, because the DX would be a lot better, yes. :)

@kerkmann regarding the just usage you mentioned - I renamed all the -sqlite recipes with the latest push. Basically, all -sqlite additions have been removed and you can simply just run to run the sqlite version. I guess this is most often the one used for local dev, so all of the just commands are shorter. The same is true for executing tests. just test will simply be the sqlite version instead of just test-sqlite before.

@sebadob Thanks! I am a little bit busy, but I'll take a look within the next few weeks, thanks for all your support. :heart:

I did a few tests and played around with islands to see how far we can get with bringing down payload size.
As much as I like leptos and use it on different projects as well, I think you should always use the right tool for the job.
At the current state, it does not make sense to implement Leptos for different reasons:

The main reason why it does not make any sense is that we can't split WASMs easily. There are ways to do this and serve multiple frontends / WASMs from the same backend, but the setup is far from being straight forward.
When we take a quick look at the raw numbers for the UI currently:

static compiled payload (uncompressed) for all files is roughly 950kB
the "normal user facing part" without the admin UI is ~100kB

When we assume that we have a small instance with a few hundred users, then we would probably have a handful of admins. But this means that a few hundred users need to download ~9x the payload they actually need and use, because they will never even need the admin UI parts. This is not only a pretty huge waste of bandwith with many users, but it also slows down each single user dramatically.
When we then take into consideration, that at the current state leptos WASMs are ~9-10x bigger than svelte's, this gets even worse.

I can get rid of the switch between npm dev server and rust backend by implementing a simple reverse proxy for local dev. I am doing that in other projects already, where I do use svelte static HTML compiler as well.

It would be an awful lot of work just for the sake of "using leptos"

Rauthy is kind of the worst case scenario, when you can't split your frontend payloads. Only a fraction of all the users ever needs all the admin parts and all ways to solve this issue would be a way more complicated setup to run and build then it is now.
If the way browsers handle WASMs changes in the future and we will be able to split them easily (we can't right now because a WASM is loaded in a streaming way), then we can consider this again and open a new issue about it, but right now it does not make any sense and it would be weeks of work.

The main reason why it does not make any sense is that we can't split WASMs easily.

There is hope! https://github.com/rustwasm/wasm-bindgen/issues/3939#issuecomment-2089304054

@erlend-sh Yes I saw it as well that greg forked the testing repo for that and I am really hyped about it. This is still in very early babyb steps, but if we can get this stable in the next months, this would be one of the most awesome things for WASM. This is one of the 2 biggest pain points with wasm.
Also the wasm size will shrink quite a bit with leptos v0.7 + islands. Maybe in the future it would make sense to migrate Rauthy's UI as well, but this would be a lot of work.


error: A value of type 'Null Function(FirebaseUser)' can't be assigned to a variable of type 'void Function(AuthCredential)'.

For the following code the error is showing.
final PhoneVerificationCompleted verifiedSuccess = (FirebaseUser user){
      print('verified';)
    };

Even i was facing same issue and fix it. change your code like below and it will work.
final PhoneVerificationCompleted verifiedSuccess = (AuthCredential phoneAuthCredential) {
print('verified');
};

It worked for me but i am wondering why does that work ? is it due to the calling of a instance of another package or  what ?

@Ramesh21 thank you! @Developer-Anjan Is the issue still relevant?

Hi @Developer-Anjan
for what I can see the issue is related to a FlutterFire plugin,
please open the issue in the dedicated github.
Closing, as this isn't an issue with Flutter itself,
if you disagree please write in the comments and I will reopen it
thank you


Unable to set rc executable custom path

My rtags build directory is not in the system path, so I set cmake-ide-rdm-executable and cmake-ide-rc-executable to the absolute path of the executables. While rdm run as expected, rc is not found:
cmake-ide [Tue Mar 15 15:33:56 2016]: Running rc for rtags
error in process sentinel: rtags-call-rc: Can’t find rc
error in process sentinel: Can’t find rc
Looking at the code in cmake-ide.el, I suppose the problem is that the cmake-ide-rc-executable variable is declared but never used.
Manually setting the rtags-path variable to the path of the directory of rc and rdm executables solves the problem, but isn't there a way to get this automatically?

cmake-ide now uses rtags-calls-rc instead of calling rc directly. I'll delete the variable.

So the only way to get rc working when it is not in the system path is to set the rtags-path variable to my custom path?

Yes. It's an rtags feature, it was wrong of me to intrude.

Ok, thanks for your help!


TypeError: Cannot read property 'getEnd' of undefined

Is this a feature request or a bug report?
Bug report
What's gone wrong?
I'm trying to integrate aot-loader.
I'm getting error:
TypeError: Cannot read property 'getEnd' of undefined
    at TransformFile.convertImport (d:\Dev\angular-webpack-seed\node_modules\@ultimate\aot-loader\bundle\ultimate.aot.umd.js:191:77)
    at Object.<anonymous> (d:\Dev\angular-webpack-seed\node_modules\@ultimate\aot-loader\bundle\ultimate.aot.umd.js:354:43)
    at step (d:\Dev\angular-webpack-seed\node_modules\@ultimate\aot-loader\bundle\ultimate.aot.umd.js:309:27)
    at Object.next (d:\Dev\angular-webpack-seed\node_modules\@ultimate\aot-loader\bundle\ultimate.aot.umd.js:290:57)
    at fulfilled (d:\Dev\angular-webpack-seed\node_modules\@ultimate\aot-loader\bundle\ultimate.aot.umd.js:281:62)
    at process._tickCallback (internal/process/next_tick.js:109:7)

Line 191:
this.sourceText.prependRight(imports[imports.length - 1].getEnd(), "import {" + to.name + "} from '" + to.module + "';");

https://github.com/UltimateAngular/aot-loader/blob/7c33008abfeb514f734f57ca3406cc9361841eee/src/transform/file.ts#L163
imports is empty array here

Ok, found the root.
ts was transpiled, so findNode didnt find importDeclaration
But, you must handle this case.

@unlight : what was the solution to fix the issue, could you please advise.
Thanks in advance

@gajusp You must disable all other loaders for .ts files (or applying them after aot-loader)

@unlight Just wanted to say thanks, this issue probably saved me hours of work. 👍


Wait for 'daMainQuestion' on each new page?

Do we do that already? Something keeps timing out in MADE between "rental agreement" and "tenancy facts" and it fails pretty quickly even though continuing waits for navigation.

This does not solve the above stated problem. Also, it would hang when an error page occurred - we are working on looking for error pages explicitly now.


[proposal] ColocationProfile support skipping modify resources

What is your proposal:
ClusterColocationProfile always modify the resources's request and limits if the Pod matched and is BE QoSClass, but should support skipping modify resources.
Why is this needed:
There are some scenarios where the ability to reuse ColocationProfile injection is only desired, but modification of resource specifications is not desired.
Is there a suggested solution, if so, please add it:
Maybe we can add an annotation like config.koordinator.sh/skip-update-resources on ColocationProfile. If the value is true, the webhook will not update the resource spec.

/assign @ZiMengSheng


Typo - to do engage

We have started this process, but are eager for more conversations with social scientists about what experiments could be run, and encourage other AI safety efforts to do engage similarly.

Should probably be:

We have started this process, but are eager for more conversations with social scientists about what experiments could be run, and encourage other AI safety efforts to do engage similarly.

Thank you!  Arvind relayed this along and it should be fixed in the repo.  Will be redeployed soon.
https://github.com/distillpub/post--safety-needs-social-scientists/commit/36dbd2eb37a19426e79ffdf48ea901eab1a12d9e (apologies for not citing you, commit was before I saw this issue)


Change "wrapped gift" to colored  gift icons

During the "load gifts" phase, a user can enter multiple gifts for their family.
All the gifts entered by that user () should be identified by a gift icon of a specific color.
This allows players to not choose gifts they entered.
There is no code that prevents a user from choosing a gift of their color.

Need to add 'color' to the database!


configure: check for file program - fixes issue #1012

This fixes the following issue:
https://github.com/coreos/rkt/issues/1012
Signed-off-by: Djalal Harouni<EMAIL_ADDRESS>I modified Djalal's commit a bit by removing check for other utilities. It's a bit more work with them.

LGTM. Thanks!


loader/svg: optimize the path conversion.

Push the path data into a given shape directly.
This will skip unnecessary memory copies.
https://github.com/thorvg/thorvg/issues/1848

@JSUYA After considering a better approach, this would likely improve performance and issue handling.


Convert to TypeScript 💯

Initial pass

Also added retries to http, default set to 3, because I kept getting false negative tests due to bad internet connectivity.
Also added parcel. Browser tests seem to pass with it as well, but only if index.ts exports the class as es6 default, not cjs module that browserify needs, hence the src/parcel.ts file.
The typings in lib/ are still the old handcrafted ones, which is why definitions aren't set to output.
The only meaningful refactor is promise/error handling in index.js and parse.js, for example:

index.js:
$RefParser.prototype.bundle = function (path, schema, options, callback) {
  var me = this;
  var args = normalizeArgs(arguments);

  return this.resolve(args.path, args.schema, args.options)
    .then(function () {
      bundle(me, args.options);
      // If we put `maybe` on the outside, we can just return the value.
      return maybe(args.callback, Promise.resolve(me.schema));
    })
    .catch(function (err) {
      // If we put `maybe` on the outside, this becomes a noop rethrow function.
      return maybe(args.callback, Promise.reject(err));
    });
};

became
  $RefParser.prototype.bundle = function (path, schema, options, callback) {
    var me = this;
    var args = normalize_args_1.normalizeArgs(arguments);

    return maybe(args.callback, this.resolve(args.path, args.schema, args.options).then(function () {
      bundle_1.default(me, args.options);
      return me.schema;
    }));
  };

and likewise for the rest of the public methods.
parse.js
function readFile (file, options) {
  return new Promise(function (resolve, reject) {
    debug('Reading %s', file.url);

    // Find the resolvers that can read this file
    var resolvers = plugins.all(options.resolve);
    resolvers = plugins.filter(resolvers, 'canRead', file);

    // Run the resolvers, in order, until one of them succeeds
    plugins.sort(resolvers);
    plugins.run(resolvers, 'read', file)
      .then(resolve, onError);

    function onError (err) {
      // Throw the original error, if it's one of our own (user-friendly) errors.
      // Otherwise, throw a generic, friendly error.
      if (err && !(err instanceof SyntaxError)) {
        reject(err);
      }
      else {
        reject(ono.syntax('Unable to resolve $ref pointer "%s"', file.url));
      }
    }
  });
}

became
function readFile (file, options) {
  debug_1.default('Reading %s', file.url);

  // Find the resolvers that can read this file
  var resolvers = plugins_1.all(options.resolve);
  resolvers = plugins_1.filter(resolvers, 'canRead', file);

  // Run the resolvers, in order, until one of them succeeds
  resolvers = plugins_1.sort(resolvers);
  return plugins_1.run(resolvers, 'read', file).catch(function (err) {
    // Throw the original error, if it's one of our own (user-friendly) errors.
    // Otherwise, throw a generic, friendly error.
    if (err && !(err instanceof SyntaxError)) {
      throw err;
    }
    else {
      throw ono.syntax('Unable to resolve $ref pointer "%s"', file.url);
    }
  });
}

Only catching the error to decorate it, not re-resolving the success.
Becomes a linear function instead of using callbacks.

Also, I can swear I made this PR 4 hours ago, when I uploaded the commit, but now I can't find any trace of that. It wasn't a PR of my branch to my master or anything. Maybe I'm dying.

Travis failed because of a wrong typedef in https://github.com/BigstickCarpet/ono/pull/5
I had it corrected locally so didn't get this error.

@APIDevTools I'd be keen to pick this up if it's something you're interested in :)

@APIDevTools I'd be keen to pick this up if it's something you're interested in :)

Thanks @qm3ster and @G-Rath for your interest! There is a new library coming along which is going to replace this one, and it's still private, but so future people have some way of knowing: https://github.com/APIDevTools/json-schema-reader

Thanks @qm3ster and @G-Rath for your interest! There is a new library coming along which is going to replace this one, and it's still private, but so future people have some way of knowing: https://github.com/APIDevTools/json-schema-reader

@philsturgeon sounds exciting - do you know if its more performant than this one?
I found that this library was choking on dereferencing a large schema, which I was planning to make an issue for at some point.

@philsturgeon sounds exciting - do you know if its more performant than this one?
I found that this library was choking on dereferencing a large schema, which I was planning to make an issue for at some point.

@G-Rath the FHIR JSON Schema will melt the strongest CPU so I'm not surprised. A performance improvement was just made today in 9.0.7 so see if that helps.

@G-Rath the FHIR JSON Schema will melt the strongest CPU so I'm not surprised. A performance improvement was just made today in 9.0.7 so see if that helps.


Finalize redirects to My Itineraries

Fixes

Finalizing itinerary redirects to My Itineraries
Change handlePasswordChange to handleChange in Login.jsx

Closes #103,

Coverage increased (+0.2%) to 65.896% when pulling e8c5a319a4b055fdb851382d9dcb43a7257d5d61 on JohnWebb4:103-finalize into d71db0f3a82d96477e1f39bb7299a9c4ceb133b8 on TIRaveler:master.


feat: sticky endpoint titles

This is a draft just for playing around with.
I think we should consider making the endpoint titles sticky + putting the send request titles in them.
https://github.com/scalar/scalar/assets/6201407/6411a126-d41e-4d0a-a851-607e8e7b44ff

literally insane

I dig it

Closing for now after chatting with @cameronrohani! Probs going to revisit it down the road


Use version 1.16.246 of awscli

According to Travis-CI support, the new version of awscli present in the newer builds (1.16.247) is behind the build failure. I don't know yet how that's possible but it's worth a try.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Doesn't seem to help. Closing.


tsc --build mode: tsc crashes in situation involving global module augmentations

TypeScript Version:  3.0.0-dev.20180630
Search Terms:
build mode, crash
Steps to Reproduce:
Set up @RyanCavanaugh's learn-a sample repo as per his instructions. Now run lerna add @types/multer to add multer typings to all three packages. Run tsc -b packages --forceto confirm it still builds fine. Now add the following line to pkg1/src/index.ts:
export {Options} from 'multer';

Run tsc -b packages --force again.
Expected behavior:
Builds successfully.
Actual behavior:
tsc crashes due to a violated assertion. I looked briefly at the stack trace and assertion, and it seems to be something to do with the global augmentation of the Express namespace.
Related Issues:
Originally reported in https://github.com/Microsoft/TypeScript/issues/3469#issuecomment-401251508.

@sandersn super interesting - this hits the target !== source assert added to mergeSymbolTable despite not having any .js files. Doesn't seem to be related to --build (can repro this under normal tsc -p once upstreams are built)


Node guide

An attempt to flesh out additional node specification details.   Not sure if it is entirely consistent with the rendering code developed by @katyhuff (where is that?)

I've requested reviews from everyone on this because it has become clear that we need to really settle on some of these format questions.  Please take a look to see if there is anything missing from a structural point of view.  While this is still changing, there is a disincentive to submitting nodes because they may need a format overhaul when this changes.


[Feature, Request], How, do, I, cut, pictures, when,, I, upload, pictures

Existing Component
是
Component Name
upload
Description
How do I cut pictures when I upload pictures,Whether there are properties or methods to support cropping images

No there isn't.


Nominate Yilin as core contributor

I'd like to nominate @yilinxia to be a core contributor at ArviZ.
To @yilinxia:
Following our governance doc, the next step is for you  to accept the nomination which you can do commenting on this issue. If you accept the nomination, there will be a council vote (in private) and we'll publish the result here.
In case it helps or you are still wondering, arviz.org has a description of the
core contributor
role.

To ArviZ team members:
Yilin did a great job during GSoC and continues to be active and working in ArviZ and I think they'd be a great addition.

It is a tremendous pleasure to be nominated! I appreciate working with the ArviZ community greatly and would love to contribute more.


Consume the SDK dependency from the dep-server

Per https://github.com/paketo-buildpacks/dep-server/issues/45, we should start consuming the .NET Core SDK dependency from the dep-server (https://api.deps.paketo.io/v1/dependency?name=dotnet-sdk and https://deps.paketo.io/dotnet-sdk/...) instead of the https://buildpacks.cloudfoundry.org/dependencies/dotnet-sdk/... location we currently get the dependencies from.
This will make the dependency publishing/consumption process more transparent than the process we use for the dependencies available via the dependency-builds pipeline.
We have already done this switch-over in the Node Engine and Yarn Buildpacks. The outline of what this work will entail can be found in the dep-server issue linked at the top.

The dep server automation doesn't currently have any way of updating the compatibility table in the buildpack toml. Automation will need to be added that updates the compatibility table when the versions of the SDK are updated.

Looking into creating an action to do the compatibility table updates.


batch_intput_shape

Typo in batch_intput_shape should probably be fixed here and in other places.

Hi, could you give me a detailed suggestions or comments?

Hi @v-qjqs , I think batch_intput_shape should be renamed to batch_input_shape.

Hi @filaPro, thanks for your comments very much. Could you please create a PR to fix the type error?

Sure.


App crashes when a new shader pass is created

On a new project
When I try to create the first shader pass, I input a name for it, I select the PS and VS file paths for it and I Input the PS and VS entry. When I click OK the app crashes.
The same happens if I only input the name.
On an existing project
When I try to create a new shader pass, the pass is created but if I double click on it the app crashes.

I have just pushed a fix for this! I will release a binary version for this hotfix probably tonight since this is a pretty major bug. Thanks for reporting!

Thank you for fixing it and for this awesome piece of software. It's precisely what I was looking for.
I'm looking forward to get the binary with the fix.

I am glad you like it! I have just published the binary. Could you please test the fix? :D

Works fine now. Thank you.

Nice. Np