Is this piece of code in function 'transformer_model' useless?

In transformer_model(in modeling.py), I found one piece of code:
                attention_output = None
                if len(attention_heads) == 1:
                    attention_output = attention_heads[0]
                else:
                    # In the case where we have other sequences, we just concatenate
                    # them to the self-attention head before the projection.
                    attention_output = tf.concat(attention_heads, axis=-1)

then I searched and highlight the 'attention_output', I found that the length of attention_output is permanently 1!!! In other words, the segment of code under 'else' will be never reached. So, what is the code in the 'else' put for? Is there any intent of these codes that I can't figure out yet?

I have the same question too. I wonder if the author wants to implement the stacked self attention layers.

I have the same question too.

I am confused about that too

No doubt that it's useless, it's just a residual of coding

luuhaidang-patch-10

i am confused of this question too, and i am also confused that why the BertModel takes real data as input and do all thing in the init function. When i want to reuse bert, i have to split the Bert model into init function and call fucntion, so can anyone resolve my confusion?
\s


disable release-ff and add e2e target

https://github.com/open-cluster-management/backlog/issues/9091

/retest


Restrict css-minimizer-webpack-plugin version below 6 in the generator

Summary
Recently css-minimizer-webpack-plugin released v6.0.0 in which the minimum required Node version is 18.
We install this package in our generator, and we need this PR to ensure our generator doesn't break in an environment with an older Node.
⚠  We may need to make a release after this merge.
Alternatively, we can bump our Nodejs support to v18 (the current LTS)
Pull Request checklist

[x] ~Add/update test to cover these changes~
[x] ~Update documentation~
[x] ~Update CHANGELOG file~

Other Information

This change is

I close this PR regarding this comment. The required change is applied in #1592


version conflict of aiofile

when I execute "pip install -r requirements.txt" , I find a problem as the following:
Warning!!! Possibly conflicting dependencies found:

graphrag==0.1.1

aiofiles [required: >=24.1.0,<25.0.0, installed: 23.2.1]
gradio==4.38.1
├── aiofiles [required: >=22.0,<24.0, installed: 23.2.1]

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
graphrag 0.1.1 requires aiofiles<25.0.0,>=24.1.0, but you have aiofiles 23.2.1 which is incompatible.
I use conda with python==3.11.0 in my environment.
So how can I resolve it? Has anyone encountered the same installation issue as me?

Hey! Thanks for catching this. I haven't run into this so it might just be a matter of getting rid of the specific versions for aiofiles and see if that works. Also, try deleting your pycache and relaunching the app before reinstalling. That can help give you a clean start


Added SecDim to Free-Courses-EN Security

What does this PR do?
Adds online learning resources for learning application security along with a Playground platform for security of the same.
For resources
Description
An online platform that teaches developers about application security through a game, explores various security vulnerabilities across a wide variety of languages and systems.
Why is this valuable (or not)?
Security is becoming increasingly important in todays programming landscape, it is important for developers to be aware of security vulnerabilities as well as how to address them defensively from the ground up instead of patching them when exploited.
How do we know it's really free?
All you need to do is sign up an account and go try all of the free publicly listed games. Many of which have been made thanks to community contributions and hence are kept free for everyone. There is no need to pay anything nor register a credit card to start learning about AppSec especially since the resource covers most of the popular languages like JavaScript and Python for free. Even the account registration is for setting up SSH so you can securely fork the repositories and play around with them, otherwise the content on Learn can be accessed without the need to sign up.
For book lists, is it a book? For course lists, is it a course? etc.
There is a learning website that accompanies the platform which provides open free courses for learning application security, valuable to learn before attempting the game challenges.
Checklist:

[x] Read our contributing guidelines.
[x] Search for duplicates.
[x] Include author(s) and platform where appropriate.
[x] Put lists in alphabetical order, correct spacing.
[x] Add needed indications (PDF, access notes, under construction).
[x] Used an informative name for this pull request.

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

Be sure to check the free-programming-books-lint output for linter errors. Alphabetical order and spacing are the most common problems.
It's usually not helpful to add a category for a single resource. Try to find another category, or see if there are other books in our lists that would fit into your category.
This website doesn't fit well in courses or playgrounds, but we'll accept a single link in the interactive tutorials list under "language agnostic".
Don't add an author "Hamza" attribution if it's not on the website. Use just a corporate author - "Security Dimension" or "SecDim".
Thanks for making the resource free!

Could also work in "Problems Sets and Competitive Programming"; there's a section for "Information security"


Using get raw abi in cleos

Change Description

Replace get_abi with get_raw_abi to fetch abi file, then convert the raw abi to abi before sending back to the requestor.
Consensus Changes

[ ] Consensus Changes

API Changes

[ ] API Changes

Documentation Additions

[ ] Documentation Additions

Note: get_raw_abi was added in v1.3.0 so this will break interacting with nodeos older than that version. Since all recent supported versions should work this is just an FYI.


How to add Config when client request?

current:

BSServer : add new client bootstrap configuration
1.1 e.g

Client : java -jar leshan-client-demo-2.0.0-M1-jar-with-dependencies.jar -b -i 0032603 -p<PHONE_NUMBER>1894

This is working...
But I want to add bootstrap configuration when the request comes from client.
How to do I?
Thanks!

You mean you want dynamically create the bootstrap config when you receive a bootstrap request from a client ?
How this bootstrap config is created, I mean where do you find the data which allow you to create the config on the fly ?
In you example, your are using leshan-bsserver-demo but I suppose your question is not about the demo but the implementation of your own LWM2M bootstrap server based on leshan-server-cf ?

You mean you want dynamically create the bootstrap config when you receive a bootstrap request from a client ?
How this bootstrap config is created, I mean where do you find the data which allow you to create the config on the fly ?
In you example, your are using leshan-bsserver-demo but I suppose your question is not about the demo but the implementation of your own LWM2M bootstrap server based on leshan-server-cf ?

You mean you want dynamically create the bootstrap config when you receive a bootstrap request from a client ?
How this bootstrap config is created, I mean where do you find the data which allow you to create the config on the fly ?
In you example, your are using leshan-bsserver-demo but I suppose your question is not about the demo but the implementation of your own LWM2M bootstrap server based on leshan-server-cf ?

Thanks for reply..
I have the logic to create the configuration using endpoints on the client and bsserver.
but,  when I use the -i -p option on the leshan client,
it looks like it first send the identity and psk key to the BS server and then sends the endpoint after the DTLS handshake.
I would like to know the client endpoint before or when performing a DTLS handshake.
Thanks..

You mean you want dynamically create the bootstrap config when you receive a bootstrap request from a client ?
How this bootstrap config is created, I mean where do you find the data which allow you to create the config on the fly ?
In you example, your are using leshan-bsserver-demo but I suppose your question is not about the demo but the implementation of your own LWM2M bootstrap server based on leshan-server-cf ?

Thanks for reply..
I have the logic to create the configuration using endpoints on the client and bsserver.
but,  when I use the -i -p option on the leshan client,
it looks like it first send the identity and psk key to the BS server and then sends the endpoint after the DTLS handshake.
I would like to know the client endpoint before or when performing a DTLS handshake.
Thanks..

I have the logic to create the configuration using endpoints on the client and bsserver.

I don't get you :confused:, maybe you can do a step by step description ?

I would like to know the client endpoint before or when performing a DTLS handshake.

The endpoint name is sent in the register request (LWM2M/CoAP layer)
DTLS is used to encrypt the LWM2M/CoAP layer.
You first need to decrypt DTLS application data to then get LWM2M/CoAP message/data.
And so first need DTLS credentials to get LWM2M endpoint name.
You can eventually workaround this by :

for PSK :  using the endpoint name as PSK identify (with some consequences : https://github.com/OpenMobileAlliance/OMA_LwM2M_for_Developers/issues/451#issuecomment-474764798)
for x509 certificate : endpoint should be in the CN of the certificate
for RPK : I can not see any solution.

I have the logic to create the configuration using endpoints on the client and bsserver.

I don't get you :confused:, maybe you can do a step by step description ?

I would like to know the client endpoint before or when performing a DTLS handshake.

The endpoint name is sent in the register request (LWM2M/CoAP layer)
DTLS is used to encrypt the LWM2M/CoAP layer.
You first need to decrypt DTLS application data to then get LWM2M/CoAP message/data.
And so first need DTLS credentials to get LWM2M endpoint name.
You can eventually workaround this by :

for PSK :  using the endpoint name as PSK identify (with some consequences : https://github.com/OpenMobileAlliance/OMA_LwM2M_for_Developers/issues/451#issuecomment-474764798)
for x509 certificate : endpoint should be in the CN of the certificate
for RPK : I can not see any solution.

I have function makeIdentityAndPSK(String endpoint);
1.1 e.g makeIdentityAndPSK(String endpoint) {
// make identity, PSK key using endpoint...
return Identity and PSK key
}

I'll Use this function on both the client and BSServer to create the identity, psk.
I want dynamically create the bootstrap config when i receive a bootstrap request from a client.
But, I don't know the client endpoint information...
Thanks!!

I have function makeIdentityAndPSK(String endpoint);
1.1 e.g makeIdentityAndPSK(String endpoint) {
// make identity, PSK key using endpoint...
return Identity and PSK key
}

I'll Use this function on both the client and BSServer to create the identity, psk.
I want dynamically create the bootstrap config when i receive a bootstrap request from a client.
But, I don't know the client endpoint information...
Thanks!!

Is it possible to know the endpoint when doing DTLS handshaking?
If so, use the same endpoint, Identity  as you said.
Thank you 😊

Is it possible to know the endpoint when doing DTLS handshaking?
If so, use the same endpoint, Identity  as you said.
Thank you 😊

Is it possible to know the endpoint when doing DTLS handshaking?

No for reason explained above : https://github.com/eclipse/leshan/issues/963#issuecomment-768159854

If so, use the same endpoint, Identity as you said.

This sounds a strange idea to me but if you do that be aware of consequences exposed here : https://github.com/OpenMobileAlliance/OMA_LwM2M_for_Developers/issues/451#issuecomment-474764798

Is it possible to know the endpoint when doing DTLS handshaking?

No for reason explained above : https://github.com/eclipse/leshan/issues/963#issuecomment-768159854

If so, use the same endpoint, Identity as you said.

This sounds a strange idea to me but if you do that be aware of consequences exposed here : https://github.com/OpenMobileAlliance/OMA_LwM2M_for_Developers/issues/451#issuecomment-474764798

About dynamical creation :
To allow connection, you need to look at : BootstrapSecurityStore.
To create config look at : BootstrapConfigStore (v1.x) or BootstrapConfigurationStore (v2.x)
(maybe this comment can help a little bit to better understand those concept : https://github.com/eclipse/leshan/pull/950#discussion_r545957520)

About dynamical creation :
To allow connection, you need to look at : BootstrapSecurityStore.
To create config look at : BootstrapConfigStore (v1.x) or BootstrapConfigurationStore (v2.x)
(maybe this comment can help a little bit to better understand those concept : https://github.com/eclipse/leshan/pull/950#discussion_r545957520)

My endpoint name does not contain private information.
So, I can use endpoint name as PSK id.
Sorry for my inexperienced English.
Thanks!!😊

My endpoint name does not contain private information.
So, I can use endpoint name as PSK id.
Sorry for my inexperienced English.
Thanks!!😊


Multiple SKOS fixes version 2

Notation Errors still present. Will need further fixing. But this will be sufficient to progress UAT.


Sample hsm code to create, encrypt and decrypt a datakey.

Won't build on circleci as things stand.


Store verbatim source in imports.lock

This patch changes how imports.lock is handled internally, such that verbatim imported sources are now generally preserved for error reporting purposes, and information like criteria descriptions are consistently cached locally.
With this change, the imports.lock is now a list of URIs which have been fetched and imported into this repository's supply-chain. This is used for both imported criteria descriptions and imported audits. When loading the store, imports are now resolved, being injected into the relevant places where they were mentioned in the ConfigFile and AuditsFile data structures so that other code can use then easily.
The handling of criteria descriptions in this way was done to avoid needing to modify the imported source text, so that errors can continue to be reported relative to the original imported source text.
Each imported URL starts with a block of TOML "front-matter" (delimited by --- lines) which describes the URL and the number of lines. This was used rather than a more concise format to allow recording cache keys, metadata, or other sources in the future. The 'hrx' format was considered for this file, however was not used, as the design is meant to model archives and filesystem paths, meaning that URIs are not legal file names (due to containing a ':' character).
After this change, the first run of cargo vet on your repository will report a warning, and your imports.lock file will need to be re-generated. This should happen automatically.
This PR also includes the following other changes to make this possible:

Use a more transparent type for source files
This patch introduces our own implementation of miette's SourceCode trait which allows accessing the string value and holds the name. This is then used instead of NamedSource to allow things like parsers to run on an Arc<SourceFile>, reducing string copies.
In addition, this SourceFile kind has support for doing nested files, which will be used to avoid unnecessary string copies when reading files from the imports.lock file.

Also set implied criteria in CriteriaMapper::set_criteria
Without this change a mapped criteria of e.g. "safe-to-deploy" ->"safe-to-deploy" would not actually fulfil any requirements due to "safe-to-run" not being implied by the mapped criteria.

Based on discussions in #272 and on matrix, we probably don't want to keep the full verbatim source in imports.lock, so I'm going to close this out for now. We might take parts of this and land it seperately.


HDFS-16472. Make HDFS setrep tool cross platform

Description of PR
The source files for hdfs_setrep uses getopt for parsing the command line arguments. getopt is available only on Linux and thus, isn't cross platform. We need to replace getopt with boost::program_options to make this tool cross platform.
How was this patch tested?
hdfs_setrep
This tool was tested by running against a Hadoop cluster setup in pseduo-distributed mode. The details are as follows -
There's a file initially in the HDFS path ~/some-dir/some-data.txt that has an initial replication factor of 1.

We change it to 4 by running the following command.
$ ./hdfs_setrep 4 ~/some-dir/some-data.txt

Confirmation from UI.

If the path provided to hdfs_setrep happens to be a directory, it recursively sets the replication factor to all its children. Here, we set the replication factor to 6 from the root.
$ ./hdfs_setrep 6 /

Confirmation from UI.

For code changes:

[x] Does the title or this PR starts with the corresponding JIRA issue id (e.g. 'HADOOP-17799. Your PR title ...')?
[ ] Object storage: have the integration tests been executed and the endpoint declared according to the connector-specific documentation?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE, LICENSE-binary, NOTICE-binary files?

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
45m 24s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s

The patch appears to include 4 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
37m 22s

trunk passed

+1 :green_heart:
compile
3m 40s

trunk passed

+1 :green_heart:
mvnsite
0m 23s

trunk passed

+1 :green_heart:
shadedclient
64m  2s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 13s

the patch passed

+1 :green_heart:
compile
3m 33s

the patch passed

+1 :green_heart:
cc
3m 33s

the patch passed

+1 :green_heart:
golang
3m 33s

the patch passed

+1 :green_heart:
javac
3m 33s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
mvnsite
0m 15s

the patch passed

+1 :green_heart:
shadedclient
22m 26s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
114m 16s

hadoop-hdfs-native-client in the patch passed.

+1 :green_heart:
asflicense
0m 32s

The patch does not generate ASF License warnings.

252m 55s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4130/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/4130

Optional Tests
dupname asflicense compile cc mvnsite javac unit codespell golang

uname
Linux 29c424cb8230 4.15.0-163-generic #171-Ubuntu SMP Fri Nov 5 11:55:11 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / eeb5ad0a4fd7e7bae70e99b112ce9949ee999456

Default Java
Red Hat, Inc.-1.8.0_322-b06

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4130/1/testReport/

Max. process+thread count
599 (vs. ulimit of 5500)

modules
C: hadoop-hdfs-project/hadoop-hdfs-native-client U: hadoop-hdfs-project/hadoop-hdfs-native-client

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4130/1/console

versions
git=2.9.5 maven=3.6.3

Powered by
Apache Yetus 0.14.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
26m 57s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s

The patch appears to include 4 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
26m 12s

trunk passed

+1 :green_heart:
compile
3m 49s

trunk passed

+1 :green_heart:
mvnsite
0m 36s

trunk passed

+1 :green_heart:
shadedclient
53m 49s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 19s

the patch passed

+1 :green_heart:
compile
3m 36s

the patch passed

+1 :green_heart:
cc
3m 36s

the patch passed

+1 :green_heart:
golang
3m 36s

the patch passed

+1 :green_heart:
javac
3m 36s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
mvnsite
0m 26s

the patch passed

+1 :green_heart:
shadedclient
22m 32s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
120m 14s

hadoop-hdfs-native-client in the patch passed.

+1 :green_heart:
asflicense
0m 41s

The patch does not generate ASF License warnings.

230m 50s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4130/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/4130

Optional Tests
dupname asflicense compile cc mvnsite javac unit codespell golang

uname
Linux 1217d4ef97ee 4.15.0-163-generic #171-Ubuntu SMP Fri Nov 5 11:55:11 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / eeb5ad0a4fd7e7bae70e99b112ce9949ee999456

Default Java
Red Hat, Inc.-1.8.0_312-b07

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4130/1/testReport/

Max. process+thread count
597 (vs. ulimit of 5500)

modules
C: hadoop-hdfs-project/hadoop-hdfs-native-client U: hadoop-hdfs-project/hadoop-hdfs-native-client

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4130/1/console

versions
git=2.27.0 maven=3.6.3

Powered by
Apache Yetus 0.14.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
16m 36s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s

The patch appears to include 4 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
32m 45s

trunk passed

+1 :green_heart:
compile
3m 27s

trunk passed

+1 :green_heart:
mvnsite
0m 29s

trunk passed

+1 :green_heart:
shadedclient
68m 14s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 14s

the patch passed

+1 :green_heart:
compile
3m 27s

the patch passed

+1 :green_heart:
cc
3m 27s

the patch passed

+1 :green_heart:
golang
3m 27s

the patch passed

+1 :green_heart:
javac
3m 27s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
mvnsite
0m 16s

the patch passed

+1 :green_heart:
shadedclient
31m 16s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
111m 46s

hadoop-hdfs-native-client in the patch passed.

+1 :green_heart:
asflicense
0m 33s

The patch does not generate ASF License warnings.

234m 44s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4130/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/4130

Optional Tests
dupname asflicense compile cc mvnsite javac unit codespell golang

uname
Linux 1fbd5b2ab325 4.15.0-163-generic #171-Ubuntu SMP Fri Nov 5 11:55:11 UTC 2021 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / eeb5ad0a4fd7e7bae70e99b112ce9949ee999456

Default Java
Debian-11.0.14+9-post-Debian-1deb10u1

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4130/1/testReport/

Max. process+thread count
570 (vs. ulimit of 5500)

modules
C: hadoop-hdfs-project/hadoop-hdfs-native-client U: hadoop-hdfs-project/hadoop-hdfs-native-client

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4130/1/console

versions
git=2.20.1 maven=3.6.0

Powered by
Apache Yetus 0.14.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
1m  8s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  1s

codespell was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s

The patch appears to include 4 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
24m 46s

trunk passed

+1 :green_heart:
compile
4m  1s

trunk passed with JDK Ubuntu-11.0.14+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
compile
4m  4s

trunk passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
mvnsite
0m 24s

trunk passed

+1 :green_heart:
shadedclient
56m 31s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 14s

the patch passed

+1 :green_heart:
compile
3m 59s

the patch passed with JDK Ubuntu-11.0.14+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
cc
3m 59s

the patch passed

+1 :green_heart:
golang
3m 59s

the patch passed

+1 :green_heart:
javac
3m 59s

the patch passed

+1 :green_heart:
compile
4m 12s

the patch passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
cc
4m 12s

the patch passed

+1 :green_heart:
golang
4m 12s

the patch passed

+1 :green_heart:
javac
4m 12s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
mvnsite
0m 16s

the patch passed

+1 :green_heart:
shadedclient
23m  3s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
122m 37s

hadoop-hdfs-native-client in the patch passed.

+1 :green_heart:
asflicense
0m 32s

The patch does not generate ASF License warnings.

214m 54s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4130/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/4130

Optional Tests
dupname asflicense compile cc mvnsite javac unit codespell golang

uname
Linux 3bd1b8383bb2 4.15.0-163-generic #171-Ubuntu SMP Fri Nov 5 11:55:11 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / eeb5ad0a4fd7e7bae70e99b112ce9949ee999456

Default Java
Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.14+9-Ubuntu-0ubuntu2.20.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4130/1/testReport/

Max. process+thread count
520 (vs. ulimit of 5500)

modules
C: hadoop-hdfs-project/hadoop-hdfs-native-client U: hadoop-hdfs-project/hadoop-hdfs-native-client

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4130/1/console

versions
git=2.25.1 maven=3.6.3

Powered by
Apache Yetus 0.14.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.


Problems with Patches

Consider the following example.
this.set('itemdropped.Somedata$', 1);
this.set('itemdropped.Someotherdata$', 2);
this.set('itemdropped.Evenmoredata$', 3);
// Trigger the patch.
this.set('itemdropped.Trigger$', this.itemdropped.Trigger$+1);
The patch does not put the the values is natural order and all values is not set when reaching the handler. I guess there's logical explainations due to async/event mechanisms. But what's the best practice? It should be solved I think.
Icould make just one big string that is set with data and triggers the patch and then parse it on server. But that feels like a huge hack.
this.set('itemdroppen.Alldata$', '1,2,3');

Related: https://github.com/PuppetJs/PuppetJs/issues/29

Not sure this is the best practice, but I used setTimeout in such cases. So, the order depended values were sent in different patches.
This might now work in the last version of fast-json-patch as Object.observe is no longer supported.

@mattiasmak thanks for reporting. We will be solving this. The proposal of changes is tracked in #29. Please follow that issue.
In the meantime, please use some of the described workarounds.


Preprod studio using prod preview url.

@fernandolucchesi Please review this. I did not use feature flag.

Looks good!


Openstack support auth with projectName/ projectID

What this PR does / why we need it:
OpenStack has deprecated OS_TENANT_NAME / OS_TENANT_ID in favor or OS_PROJECT_NAME / OS_PROJECT_ID, but these variables contain the same value.
ref kubermatic/kubermatic#6248
Special notes for your reviewer:
The cloudProviderSpec has been updated to add projectName and projectID.
We first try to read project variables. If they are not defined, we fall back to tenant variables. Internally (ie Config struct), the values are stored under project variables, even if the user has specified it in tenant vars under cloudProviderSpec
Optional Release Note:

Add support for Openstack authentication with `project name` and  `project id`

/retest

/retest

/retest

/retest

/lgtm
/hold
holding it, because vSphere ATM experiencing some issues

/hold cancel

/override pull-machine-controller-e2e-vsphere-resource-pool
/override pull-machine-controller-e2e-vsphere
vCenter is down.


Add Array::to_h

Another one down for #39
delegates to Enumerable but changes owner of to_h to Array.

Dude you're on a roll.


Encoded commas (%2C) make proxy omit base directory

1. What version of Caddy are you running (caddy -version)?
0.9.4 (also happened with 0.9.1)
2. What are you trying to do?
Downloading an eBook from my local COPS instance. The (generated from COPS) URL is:
https://cops.myserver.com/download/2731/abc%2Cdef.mobi
3. What is your entire Caddyfile?
:80 {
    proxy / http://localhost:81/
    log stdout
    errors stderr
}

cops.myserver.com {
    proxy / http://otherserver:80/cops/ {
        header_upstream Host cops.myserver.com
        header_upstream Scheme https
    }
    log stdout
    errors stderr
}

4. How did you run Caddy (give the full command and describe the execution environment)?
/usr/sbin/caddy -log stdout -agree=true<EMAIL_ADDRESS>-conf="/etc/caddy/Caddyfile" -root=/var/tmp
Run from systemd as user www-data. Also tested it by running as root from command line. Same effect.
5. What did you expect to see?
A request to /cops/download/2731/abc%2Cdef.mobi on the upstream server.
6. What did you see instead (give full error messages and/or log)?
A request to /download/2731/abc%2Cdef.mobi on the upstream server. Which returns a 404 page.
Caddy shows:
Jan 18 16:05:37 myserver caddy[15171]: 145.243.xxx.xxx - [18/Jan/2017:16:05:37 +0100] "GET /download/2731/abc%2Cdef.mobi HTTP/2.0" 404 2968

Upstream Apache (otherserver) shows:
<IP_ADDRESS> - - [18/Jan/2017:16:05:37 +0100] "GET /download/2731/abc%2Cdef.mobi HTTP/1.1" 404 2968 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36"

7. How can someone who is starting from scratch reproduce this behavior as minimally as possible?
Setup Caddy as a proxy as above. Watch the requests on the upstream server. Experiment with URLs containing %2C.
If I omit the %2C from the URL, Caddy queries the correct URL on the upstream server.
(The abc%2Cdef part is irrelevant to COPS, because it only cares about the 2731 and the .mobi. If you remove the %2C, Caddy queries the correct URL including /cops in the front.)
Caddy:
Jan 18 16:05:52 myserver caddy[15171]: 145.243.xxx.xxx - [18/Jan/2017:16:05:52 +0100] "GET /cops/download/2731/abcdef.mobi HTTP/2.0" 200 271861

Upstream Apache:
<IP_ADDRESS> - - [18/Jan/2017:16:05:51 +0100] "GET /cops/download/2731/abcdef.mobi HTTP/1.1"<PHONE_NUMBER> "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36"

Hi @mbirth, maybe I'm understanding this incorrectly, but the upstream Apache server also returns a 404 when Caddy returns a 404.
Is request -> Caddy reverse proxy -> Apache the correct flow? If so, isn't Caddy correctly proxying the 404?

@julianvmodesto Yes, but the upstream Apache returns a 404 because Caddy queries the wrong URI.
Instead of /cops/download/2731/abc%2Cdef.mobi, Caddy queries /download/2731/abc%2Cdef.mobi on the upstream Apache which causes the 404.

Actually this might not be a bug. Change your proxy to:
proxy /cops http://otherserver:80 {

And see what happens.

@mholt But this would mean I'd have to call it with https://cops.myserver.com/cops/ from the outside, wouldn't it? That's not what I want.
Just for clarification:
The URL I request from the outside is:
https://cops.myserver.com/download/2731/abc%2Cdef.mobi

And Caddy should query:
http://otherserver:80/cops/download/2731/abc%2Cdef.mobi

(Which works fine with every other URL not containing %2C in it!!)
But instead, Caddy queries:
http://otherserver:80/download/2731/abc%2Cdef.mobi

which returns the 404.

Did you try it? :wink:

@mholt
I did now. And as expected: Instead of https://cops.myserver.com/index.php (which gives a 404 now), I have to use https://cops.myserver.com/cops/index.php and thus /cops/download/... in the external URL. That's not what I want.
And as I said earlier: Caddy proxies everything just fine with my previous setting, unless the URL contains %2C.

Oh, I see what you mean. So if you take the comma (%2C) out, it works fine. That probably is a bug.

Exactly! :+1:
To sum up:
URLs without comma
Query from outside:
https://cops.myserver.com/download/2731/abcdef.mobi

Query from Caddy to Upstream:
http://otherserver:80/cops/download/2731/abcdef.mobi
                      ^^^^

Result: File downloads, everything :ok:
URLs WITH comma
Query from outside:
https://cops.myserver.com/download/2731/abc%2Cdef.mobi

Query from Caddy to Upstream:
http://otherserver:80/download/2731/abc%2Cdef.mobi
                      ^^^^ missing!!

Result: 404 :no_entry_sign:

Please check the latest master to confirm the problem is fixed. Thanks.


Bug with apron-domains and rationals

Added test case in branch crab2 (commit 9a21877) that triggers the bug.
The test is actually quite simple. If we just add two constraints x >= 1/2 and x <= 1/2 we get bottom rather than x = 1/2.
If we use integers we get the expected result so something is wrong with how we handle rationals.

This issue was moved to seahorn/crab#6


Add support for streams and bytes as source for loading Font Info

@RRSantos Let me know what you think once you get time to take a look at this.

@RRSantos Let me know what you think once you get time to take a look at this.
Thanks @Solethia :)


Initialize current relay environment

Initializes the a current relay environment for situations in which useRouter is not called.

Closing in favor of #2370


modpagespeed.com lost its MapProxyDomain config

The modpagespeed.com front page has a demo for MapProxyDomain, but it does not work.  We need to add:
ModPagespeedMapProxyDomain http://modpagespeed.com/static  http://www.gstatic.com/psa/static
for 1.gif to be moved there.

I've added that MapProxyDomain command to modpagespeed, and http://modpagespeed.com/proxy_external_resource.html?PageSpeed=on&PageSpeedFilters=rewrite_images now has <img src="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH+BnBzYV9sbAAh+QQBCgABACwAAAAAAQABAAACAkwBADs="/>.  So MapProxyDomain is turning on, since it's adding that host to the domain lawyer, but it's inlining it so we're not really demonstrating it.  So we also need to update the demo page to be: http://modpagespeed.com/proxy_external_resource.html?PageSpeed=on&PageSpeedFilters=+rewrite_images,-inline_image .  I'll do that.

Actually, http://modpagespeed.com/static/1.gif.pagespeed.ce.JiBnMqyl6S.gif 404s.  Not sure why yet.

Error log has:
Rejected absolute url reference http://modpagespeed.com/static/1.gif
Fetch failed for resource url http://modpagespeed.com/static/1.gif.pagespeed.ce.JiBnMqyl6S.gif
Fetch failed for http://modpagespeed.com/static/1.gif.pagespeed.ce.JiBnMqyl6S.gif, status=404
http://modpagespeed.com/static/1.gif.pagespeed.ce.JiBnMqyl6S.gif resource_404_count: not found (404)

Poking around at this I see that
http://modpagespeed.com/static/1.gif works
http://modpagespeed.com/static/1.gif.pagespeed.ce.JiBnMqyl6S.gif  FAILS
It must be that our handler code for pagespeed resources with MapProxyDomain has a problem but I would think that would've been reported already.  Maybe it's particular to extend_cache.

Tried a local repro & it worked fine.  Maybe broken in 1.9 and working in trunk?

Just ran into this.. took a quick look at where the error message originates from.
rewrite_context.cc has:
bool RewriteContext::PrepareFetch(
....
      if (FindServerContext()->url_namer()->ProxyMode()
            == UrlNamer::ProxyExtent::kNone &&
          !driver->MatchesBaseUrl(*url)) {
        // Reject absolute url references unless we're proxying.
        is_valid = false;
        message_handler->Message(kError, "Rejected absolute url reference %s",
                                 url->spec_c_str());
        break;
      }

It seems FindServerContext()->url_namer()->ProxyMode() == UrlNamer::ProxyExtent::kNone will always be true, and the base url is also never going to match when we hit this case. What would be against querying the domain lawyer first, to see if the target url is authorized for fetching?

(Test 'Issue 609 -- proxying non-.pagespeed content, and caching it locally' flakes, and I suspect we can attribute that to this issue)

Created an experimental branch to try this, the change itself is trivial (but assessing the impact is not): https://github.com/pagespeed/mod_pagespeed/compare/oschaaf-experiment-rejected-abs-url

Proxy mode was largely a PSS thing, where .pagespeed. resources were moved
to a separate domain automatically --- e.g. foo.com/image.png would end up
something like
1-ps.googleusercontent.com/h/foo.com/image.png.
(Though there is an undocumented "measurement proxy" mode in MPS/NPS that
uses it too which I apparently did stuff on ;-) ).
Looking at your change, I think the new stuff isn't hit because it likely
hits resource == null first, as that happens every time resource isn't
authorized
unless  you set some very special flags.
I don't think it's the right solution, though, looking at jefftk's original
commit message:
"Reject requests for absolute urls unless they requested origin is us. We
should never generate these urls, but if abused they could force us to load
arbitrary content from domains approved with AddDomain/ModPagespeedDomain.
People AddDomain() because they want resources on that domain that appear
in html to be rewritten, and this doesn't    change that behavior.
Once we can't be suckered into loading arbitrary content we can remove
the content-type whitelist in CacheExtender::RewriteLoadedResource and
implement extension-based cache extension of non-resources (ex: linked
pdfs)."
The worry is that while you may be OK with, say, inlining an image from
example.com that you used yourself, you might not want people to be able to
inject an arbitrary thing, since who knows what
clever enough hacker would be able to do with it? Also, say, doing
AddDomain img.example.com would normally cause us to rewrite stuff on
img.example.com to img.example.com rather than to
www.example.com --- which is pretty important as img. normally can't access
cookies explicitly scoped to www., so it could potentially have lower level
of trust.
So it needs something more subtle, I think, that actually understands that
MapProxyDomain is involved, and this method might be too late, even...
though
RewriteContext::DecodeFetchUrls might just be the trickiest piece of code
in the entire codebase... and might not be the right place, either. The key
thing to note, I think,
is that e.g. on
www.modpagespeed.com/proxy_external_resource.html?PageSpeedFilters=extend_cache
you get http://modpagespeed.com/static/1.gif.pagespeed.ce.JiBnMqyl6S.gif,
which is perfectly expected, while something like
$HOST_NAME/,hexample.com.pagespeed.jm.0.js in the test isn't the sort of
thing that should happen in the first place.
On Fri, Jul 7, 2017 at 3:11 AM, Otto van der Schaaf <
<EMAIL_ADDRESS>wrote:

Created an experimental branch to try this, the change itself is trivial
(but assessing the impact is not): https://github.com/pagespeed/
mod_pagespeed/compare/oschaaf-experiment-rejected-abs-url
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/pagespeed/mod_pagespeed/issues/1155#issuecomment-313605586,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADl1RK4SB0FJjfi2oksgUV4Q2OVRNutYks5sLdoEgaJpZM4GRl4g
.

@morlovich thanks for the extended explanation! Let me think about that for a bit

Cross linking a similar ngx_pagespeed issue with MapOriginDomain:
https://github.com/pagespeed/ngx_pagespeed/issues/1279

@morlovich what do you think of https://github.com/pagespeed/mod_pagespeed/commit/11e6a6570e33e2bf615e98eddcad87f9d9bf779a ?

Some more context for what happens at modpagespeed.com:

Purge by requesting http://www.modpagespeed.com/pagespeed_admin/cache?purge=*
Request http://modpagespeed.com/static/x1.gif.pagespeed.ic.zaZh-vXmDi.webp

Observe the webp fails to load.

Purge by requesting http://www.modpagespeed.com/pagespeed_admin/cache?purge=*
Open http://www.modpagespeed.com/proxy_external_resource.html?PageSpeed=on&PageSpeedFilters=+rewrite_images,-inline_images in a browser

Observe the webp now loads fine in 2. and 3.
modpagespeed.com has an .htaccess which start with ModPagespeedDisallow *, and then goes on and whitelists some stuff (but not all we need for the MapProxyDomain example to work correctly).

i am getting the same problem. after uploading an image , after 2 days it dusappears  ,  and gives a 404 log error
X’’filename’’.jpg:0: Resource based on https://www.’mysite’.gr/wp-content/uploads/2018/09/’filename’.jpg but cannot access the original
[Sun Sep 30 15:07:40.907169 2018] [pagespeed:warn] [pid 9315:tid<PHONE_NUMBER>05632] [mod_pagespeed <IP_ADDRESS>-0 @9315] [0930/150740:WARNING:resource_fetch.cc(195)] Fetch failed for resource url https://www.mysite.gr/wp-content/uploads/2018/09/’’filename’’.jpg.pagespeed.ic.Y281WFqmAM.webp
[Sun Sep 30 15:07:40.908504 2018] [pagespeed:warn] [pid 9315:tid<PHONE_NUMBER>97056] [mod_pagespeed <IP_ADDRESS>-0 @9315] Fetch failed for https://www.’’mysite’.gr/wp-content/uploads/2018/09/x’filename’.jpg.pagespeed.ic.Y281WFqmAM.webp, status=404
have you figured out a solution?

will it ever be resolved???

mod page speed seems to 404 resources on a website after some time of running just fine.
How to fix?

So are the random 404s on cached (webp) resources easy to fix? Or am I doing something fundamentally wrong with my installation of PageSpeed Module?


Support proptype shape in a variable for sortShapeProp

Resolves #1749

Rebased and added test outputs for the fixer that was added recently.


BodySyncWebApp

https://github.com/user-attachments/assets/257b4fba-43fc-496d-ad4d-3048707fe633

https://github.com/user-attachments/assets/257b4fba-43fc-496d-ad4d-3048707fe633


Added more values with meanings

Replaced ?? with all the values I've determined for charging_state. Also added a few more values that are returned related to the user set limit and the charge port.

Coverage increased (+18.4%) to 99.123% when pulling 4c8c8a33e9fb9ff87de2d1d38aa939831a925ff7 on rondavis007:master into 1ad78e0f66688e5efe92c834179696fd310a389c on timdorr:master.

Neat. Thanks!


Positional parameters cannot follow a no-parameter option

If you have the following scenario:

Option -c that takes no parameters
Positional parameters

The the following command line works:
./example blah -c

However this command line fails:
./example -c blah
Argument ‘blah’ failed to parse

Since the -c option takes no parameters, it would be nice if it could be used anywhere in the command line and not just at the end.
In case it's relevant, if you have another option that takes a parameter then that does work:
./example -c -t test blah

So if a no-parameter option is followed by another dashed option then it works, but when it's followed by a potential positional parameter then it fails.

Just so you know what's going on: this was caused by 6c9bae4a071d6892069e6bd998fbae47193df0a8, which added parsing for boolean values, so that you can write things like --foo=false to explicitly disable an option. The problem is that it treated booleans as taking a parameter now, so -c blah tries to parse blah as a boolean value.
It works in a lot of use cases because you might write something like -c -f file, and the -f looks like an option, so it skips it.
The short story is that the handling of implicit values is a bit broken, and the entire parser loop is a bit of a mess. So I'll have to work out the best way to patch or rewrite this so that it behaves in a sane way.

No worries at all, thanks for the update!
Sounds like it could be tricky if you consider -c true as equivalent to -c.  I guess if only the long variant is allowed and only with an equals sign (--foo=false) then you could get away with it, but as soon as you allow a space I think you'll end up with ambiguity.  Take this for example:
(1) $ ./power-on true true          # Turn on devices 1 and 2
(2) $ ./power-on --delay=true true  # Turn on only device 1 with a delay
(3) $ ./power-on --delay true true  # Turn on devices 1 and 2 with a delay (or maybe only device 1 with a delay?)

I think (3) is always going to be ambiguous unless you require the equals as in (2).

Yes I think that's how I'll fix it. It's too ambiguous otherwise, especially when --delay --foo is parsed as two arguments because of the - at the start of --foo.


HACS Custom Repo Issue

Describe the bug
When attempting to add this repository to the custom HACS repositories an error is produced.
To Reproduce
Steps to reproduce the behavior:

Open HACS
Add Custom Repository
Use link: https://github.com/bropat/eufy-security-ws
Set category to integration
Add repository

Expected behavior
An Error is produced:
Repostitory structure for 0.3.2 is not compliant
Screenshots & Logfiles

Versions:

Client version: 0.3.2
Node version: na
Operating system: HASSPIAN

Additional context
na

It isn't a HACS Repo.


Check Schema Validation first before check permissions.

class UserPasswordSchema(Schema):
    password: str

    @login_required
    @model_validator(mode='after')
    @classmethod
    def check_password(cls, obj):
        check_user_password(password=obj.password)
        return obj

class UserResetPasswordSchema(UserPasswordSchema):
    pass

@http_post(
        path="{user_id}/reset-password/",
        response={
            HTTPStatus.OK: SuccessSchema,
            HTTPStatus.INTERNAL_SERVER_ERROR: ErrorSchema,
            HTTPStatus.BAD_REQUEST: ErrorSchema,
        },
        permissions=[AdminPermission],
        summary="Reset User Password",
        description="Allows admins to reset a user's password using their user ID.",
        url_name="reset_user_password"
    )
    def reset_password(self, user_id: int, payload: UserResetPasswordSchema):
           pass

why permissions check after the schema validation ??

@Elixir-MeetThoriya I don't get your question

when try to hit api,
can't check permission first
(here check schema validation first , after that check permission ) # not valid

Oh okay. This is a challenge currently. I will try and dedicate some time to fix this

@Elixir-MeetThoriya can you check with the latest release if the issue is resolved

sure, Thanks @eadwinCode


Replace zeustech.net with version from web archive

Following the link httpx://zeustech.net brings you to a website looking like this:

I don't want to expect from our users to endure this offence.

Thank you Josua, committed after making sure ASF legal was okay with it.


engine/schema: remove @Encrypt annotation from passphrase

Description
This PR is a workaround of #7299

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[ ] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[ ] Minor
[ ] Trivial

Screenshots (if appropriate):
How Has This Been Tested?

@blueorangutan package

@weizhouapache a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

closing in favor of #7302


This error has caused the process to crash！

Bug description
This error has caused the process to crash！
}
meta: { target: [ 'visitorId', 'masterId' ] }
clientVersion: '3.4.2',
code: 'P2002',
at cb (/app/node_modules/@prisma/client/runtime/index.js:38502:17) {
PrismaClientKnownRequestError: Unique constraint failed on the fields: (`visitorId`,`masterId`)
2021-11-16T01:27:06.656798653Z stderr F
throw new PrismaClientKnownRequestError(message, e.code, this.prisma._clientVersion, e.meta);
/app/node_modules/@prisma/client/runtime/index.js:38502

How to reproduce
Appeared inexplicably
Expected behavior
No response
Prisma information
model VisitorRecord {
  visitorId String
  visitor   User     @relation(fields: [visitorId], references: [id])
  masterId  String
  viewNum   Int
  read      Boolean
  createdAt DateTime @default(now())
  updatedAt DateTime @updatedAt

  @@id([visitorId, masterId])
}

Environment & setup
node 14.15.4
Prisma Version
3.4.2

Every time this error occurs, then the docker survival check fails, causing the nest.js service to restart！

The error message indicates there is already a data entry with the same values:
PrismaClientKnownRequestError: Unique constraint failed on the fields: (`visitorId`,`masterId`)

Is this not the case or does anything else not make sense?

When i simulate to deposit a unique value, The error log I get is like this.
The two error logs are different, the latter will not cause the process to exit.

The same block of code, why there are two different abnormal output?

@janpio
The same block of code, why there are two different abnormal output?

I unfortunately do not understand. Prisma returns a PrismaClientKnownRequestError your application can handle. If it does that, nothing should crash at all. From the last screenshot you posted, it seems like one if on the GraphQL level (first line), then a direct output of the error message (line 2), and then a (probably higher level) exceptions handler does something again (line 3). If the last one makes the application crash, then that could be the configured default behavior of your application on uncaught exceptions. Catching it earlier, probably around the query where you expect possible errors like this, should fix this.

@janpio
Thank you for your answer. It doesn't seem to be a problem with prisma. I will try other solutions.


feat: add file.rmdir

1. Does this PR affect any open issues?(Y/N) and add issue references (e.g. "fix #123", "re #123".):

[ ] N
[x] Y
Fixes #1267

2. What is the scope of this PR (e.g. component or file name):
kcl-lang/kcl/kclvm

3. Provide a description of the PR(e.g. more details, effects, motivations or doc link):

[x] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Other

4. Are there any breaking changes?(Y/N) and describe the breaking changes(e.g. more details, motivations or doc link):

[x] N
[ ] Y

5. Are there test cases for these changes?(Y/N) select and add more details, references or doc links:

[ ] Unit test
[ ] Integration test
[ ] Benchmark (add benchmark stats below)
[ ] Manual test (add detailed scripts or steps below)
[ ] Other

@Peefy is there a way to sign-off specific commit added file rmdir [725901e], due to which dco is failing.

@Peefy is there a way to sign-off specific commit added file rmdir [725901e], due to which dco is failing.

See https://github.com/kcl-lang/kcl/pull/1289/checks?check_run_id=24665928148

The CI failed and please rebase the main branch.

The CI failed and please rebase the main branch and squash the commit.

It should be noted that this implementation conflicts with the existing implementation file. delete function, so I will close this PR. https://www.kcl-lang.io/docs/reference/model/file#delete


Small fix for the Linux desktop file

Hi, I noticed that the name in the desktop file is not correct when installing it. This PR should fix it

thanks for your PR


Next

:tada: This PR is included in version 4.8.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Permissions on workspace directory

/kind bug
The permissions on the workspace directory is causing the steps of the Task to fail when using runAsUser as part of  securityContext.  As a matter of fact the when using securityContext  in stepTemplate is even preventing the git clone to happen because of permission issue.
Tekton version v0.9.2
Expected Behavior
The steps should honour the permissions via runAsUser
Actual Behavior
[git-source-git-source-kntsc] {"level":"error","ts":1578993616.4289017,"logger":"fallback-logger","caller":"git/git.go:40","msg":"Error running git [init /workspace/source]: exit status 1\n/workspace/source/.git: Permission denied\n","stacktrace":"github.com/tektoncd/pipeline/pkg/git.run\n\tgithub.com/tektoncd/pipeline/pkg/git/git.go:40\ngithub.com/tektoncd/pipeline/pkg/git.Fetch\n\tgithub.com/tektoncd/pipeline/pkg/git/git.go:56\nmain.main\n\tgithub.com/tektoncd/pipeline/cmd/git-init/main.go:40\nruntime.main\n\truntime/proc.go:203"}
[git-source-git-source-kntsc] {"level":"fatal","ts":1578993616.4289653,"logger":"fallback-logger","caller":"git-init/main.go:41","msg":"Error fetching git repository: exit status 1","stacktrace":"main.main\n\tgithub.com/tektoncd/pipeline/cmd/git-init/main.go:41\nruntime.main\n\truntime/proc.go:203"}

Steps to Reproduce the Problem

Create build resources using https://gist.github.com/kameshsampath/90a2031c0d3b55dc982e3789900dac4f
Create a tekton task using https://gist.github.com/kameshsampath/9602210425471d1104e16fb8ad953cdb
Run the Tekton task
tkn start build-and-list-target --inputresource=git-source

Additional Info
The task work works without issue in Tekton v0.8.0
CC: @vdemeester , @hrishin

@kameshsampath did @vincent-pli 's suggestion solve your issue?

Yes. It did thanks.
Get Outlook for iOShttps://aka.ms/o0ukef

From: Christie Wilson<EMAIL_ADDRESS>Sent: Friday, March 13, 2020 9:59:42 PM
To: tektoncd/pipeline<EMAIL_ADDRESS>Cc: Kamesh Sampath<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [tektoncd/pipeline] Permissions on workspace directory (#1872)
@kameshsampathhttps://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fkameshsampath&data=02|01||c31db82b6d404e5ccc5508d7c76bbc44|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637197137838820496&sdata=yRezA%2Bk1Guz9QWUFkRoJ3IZlDzeM6b4w8jRBf5EMiyE%3D&reserved=0 did @vincent-plihttps://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fvincent-pli&data=02|01||c31db82b6d404e5ccc5508d7c76bbc44|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637197137838830509&sdata=EMHhb8jKPlaDMDUGsg6IVeE%2FBllEf7zFUO%2Bw5M8g%2FuM%3D&reserved=0 's suggestion solve your issue?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftektoncd%2Fpipeline%2Fissues%2F1872%23issuecomment-598807708&data=02|01||c31db82b6d404e5ccc5508d7c76bbc44|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637197137838840513&sdata=IpfUS0gnPKCAAZueS6za5CDMsVx4xSxuVzE4ZaNlD1E%3D&reserved=0, or unsubscribehttps://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAAHHMILTYF6NSGAUISTE3SLRHJNPNANCNFSM4KGWZCRA&data=02|01||c31db82b6d404e5ccc5508d7c76bbc44|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637197137838840513&sdata=mgJapGZI8T5Pju0TzYxaurMU%2BNtK%2B7gSj5Mzx%2B1KLhw%3D&reserved=0.

/close

apiVersion: tekton.dev/v1beta1
kind: PipelineRun
metadata:
  generateName: clone-read-run-
spec:
  pipelineRef:
    name: clone-read
  podTemplate:
    securityContext:
      fsGroup: 65532

podTemplate:
securityContext:
fsGroup: 65532

That still didn't work for me, only happends when i try to use a persistentVolumeClaim
apiVersion: triggers.tekton.dev/v1beta1
kind: TriggerTemplate
metadata:
  name: tt-github-pr-trigger-template-{{ .Values.projectName }}
spec:
  params:
    - name: revision
    - name: deploy
    - name: repo-url
    - name: author
    - name: ref
    - name: repo-full-name
    - name: pr-ref
  resourcetemplates:
    - apiVersion: tekton.dev/v1beta1
      kind: PipelineRun
      metadata:
        generateName: pr-$(tt.params.pr-ref)-$(tt.params.author)-
      spec:
        serviceAccountName: service-account-{{ .Values.projectName }}
        pipelineRef:
          name: {{ .Values.projectName}}-pipeline
        podTemplate:
          securityContext:
            fsGroup: 65532
        workspaces:
          - name: shared-data
            persistentVolumeClaim:
              claimName: pvc-cache-{{ .Release.Name }}
        params:
          - name: repo-url
            value: $(tt.params.repo-url)
          - name: revision
            value: $(tt.params.revision)
          - name: repo-full-name
            value: $(tt.params.repo-full-name)
          - name: ref
            value: $(tt.params.ref)
          - name: deploy
            value: $(tt.params.deploy)

I've the same issue here, trying to run containers with security context but the workspaces are root access.


Fix Android BLE Zombie Problem

The Problem
Thali uses BLE to advertise the presence of a Thali device. In that advertisement is a Bluetooth MAC address and a one byte generation counter. In theory we should get a nice stream of events where each event has a higher generation (accounting for roll over) than the previous one.
However we are getting repeated situations where we get BLE discovery announcements for the same BLE MAC + Bluetooth MAC in an impossible generation order.
For example, we'll get Generation 0 and then 3 and then 2 and then 4 and so on. We also get repeated generations. For example, we'll get Generation 0 and then Generation 1 and then another Generation 0.
From the tests we have run the problem seems to be in Android itself. There is something screwy in the queue that discovery announcements are put into that causes them to come out in random orders and with repeats. We call these outdated announcements 'zombies'. Since we can't figure out how to fix the Zombies in Android, we have to deal with it.
Why we care
In theory we really could ignore this problem. If we treat generations not as integers but rather as a 'I have new data' flag then having generations go backwards and forwards or repeat won't matter. At worst it will just create spurious flags saying "I have new data" when in fact the remote peer doesn't. In that case we will just waste a Bluetooth connection talking to a peer who doesn't actually have anything for us.
But even that isn't a minor issue. It is really expensive to create a Bluetooth connection and while we are doing that we are largely unavailable for replication with other peers and even BLE discovery goes wobbly because of contention for the 2.4 GHz antenna. So fake "I have new data" flags are actually kind of expensive.
So we are motivated to try and filter out zombies.
How do we filter out zombies?
Ignoring roll over for just a second we can do some fairly simple things. For example, if our first discovery of a peer was on generation 0 and then 2 seconds later we get generation 4 we know something is wrong. The reason is that currently we only send generation updates no faster than once a second. So if we got generation 0 2 seconds ago and then get generation 4 we know something is very wrong.
Unfortunately there are three possibilities and there is no clear way to know which possibility it is:
Possibility 1 - The generation 0 was the 'real' value and generation 4 is a zombie from the very distant past (there would have to be a wrap around to account for it)
Possibility 2 - The generation 0 was the zombie and generation 4 is the real value.
Possibility 3 - Both values are zombies and we still haven't gotten the current real value yet
So in thinking about this problem we have two basic approaches.
Approach 1 - Limited Zombie Time Frame - If we know that Zombies couldn't be older than some reasonably small fixed value then we could reason in the face of Zombies. But we actually don't know how long a value could get stuck in the Bluetooth queue before it shakes lose and is sent to us.
Approach 2 - Unknown Zombie Time Frame - In this scenario we assume that a Zombie could be stuck in the Bluetooth queue for an unbounded time so we can't trust anything.
Now in thinking through this keep in mind that eventually we are going to switch to using a BLE GATT server and that will (as far as we know) make the Zombie issue go completely away. But until then we need to decide how to handle this mess.
Unknown Zombie Time Frame
I generally like to make as few assumptions as possible so the first place I want to start with is the unknown zombie time frame. What can we do to handle Zombies if we never know if any value is a Zombie or not?
One possibility is that we introduce our one 1 second rate limiter. Right now Android will forward us notification updates as soon as it gets them. So if we get updates faster than 1 a second then we know that those announcements must be zombies because announcements are only sent out at the rate of 1/second. So we can put in a filter that ignores any peerAvailabilityChanged events from the Android native layer that arrive more frequently than once a second.
The problem is that it's not clear how often zombies show up. If they all show up at once then this is a reasonable approach. But if they are going to trickle out then this will force us to create many unnecessary bluetooth connections which is bad. It really hurts our perf.
But what if we didn't use 1/second? What if we used say 1/5 seconds or 1 event every 10 seconds? This isn't as loony as it might sound. The main downside to this approach is that it might cause us to wait too long before doing an update but if we are in the background that isn't too bad. And if we are in the foreground and the app wants us to keep a replication going then it should just do that by extending the replication timeout rather than depending on notifications of changes and expensive bluetooth connection establishment.
Limited Zombie Time Frame
One suspects (but we have not proven) that the Zombie problem has a limit. That we aren't going to get Zombies from an hour ago if only because the queue that this data is stored in by Android (or the hardware) probably isn't that big. So what if there is a time limit to how old a Zombie could be? Let's call that limit L seconds.
In that case whenever we get a generation we know it could be 'off' by up to L seconds. In other words if L is say 60 seconds and we get a generation 0 then we know that the 'real' generation must be a value between 0 and 60 (remember that we already have logic that guarantees we won't publish generation updates to BLE faster than 1/second).
So once we get an advertisement with generation 0 we know:

It MUST NOT be possible for us to immediately get a generation with 61-195 because if we do then L is wrong and we have problems. Note that this window will obviously shift as time passes.
If we see future announcements with a generation less than our 'current value' (e.g. 0 + however many seconds have passed) then we can ignore it as a Zombie. Keep in mind roll over. This means that if 2 seconds pass and we get generation 199 then we can ignore this because even with the L error not enough time has passed for a roll over.
If we see a generation higher than ours that is within the legal window (e.g. L + time that has passed + generation, account for roll over) then that is our new base and we have to jump to it.

In essence we create a ratchet. So long as L is >= to the real Zombie time limit we will only move forward and will be able to ignore a lot of (but not all of) the noise.
function canIgnoreNewGeneration(lastGeneration, newGeneration) {
   assert(newGeneration is integer and >= 0 and <= 255);
   timeSinceLastGeneration = Time in Seconds that have elapsed since the last generation value was received
   // So much time has passed that any generation is possibly real
   if (L + timeSinceLastGeneration >= 256) return false;
   leftBorder = lastGeneration + 1;
   rightBorder = (lastGeneration + L + timeSinceLastGeneration) mod 256;
   if (leftBorder < rightBorder) {
      return !(newGeneration >= leftBorder && newGeneration <= rightBorder);
   }
   return !(newGeneration >= leftBorder || newGeneration <= rightBorder);
}

if (canIgnoreNewGeneration(lastGeneration, newGeneration) == true) {
  return
}

Fixing the generation counter
Android's behavior is a pain. We have to deal with Zombies. We have to deal with roll over. It makes life for those up the stack really hard. To simplify we need to not let the generation on the wire be sent up the stack from thaliMobile. Instead we should generate our own generation counter and every time we update the cached entry we should update that generation counter. It is the 'fake' generation counter that we should send up the stack. That way those up the stack only have to deal with a linearly increasing counter.
The Plan
For no particularly good reason I'm picking the limited Zombie Time Frame approach. And while we are there we also need to fix the generation counter.
thaliConfig

[ ] Add a value 'ANDROID_ZOMBIE_TIME_IN_SECONDS' and set it to 60, this will be the L value mentioned in canIgnoreNewGeneration

thaliMobile.handlePeer

[ ] If we get peerAvailable === false on the Android platform then immediately call changedCachedPeerUnavailable(peer). It doesn't matter what generation is being sent because !peerAvailable is generated via a heuristic in Android land (we didn't hear any announcements from the peer for a minute) not as part of an explicit message like 'byebye' or an advertiser being shut down in iOS. So if it says a particular peerID is gone then that peerID is gone regardless of generation. Note that the iOS logic doesn't change. It should work exactly as it currently does.
[ ] changed thaliMobile.handlePeer so that on Android if there is a cachedPeer and if peer.peerAvailable === true then we call something like canIgnoreNewGeneration(cachedPeer.generation, peer.Generation) and if it's false then we just return without taking any action since we assume we got a zombie. Don't even update peer.availableSince as this is a zombie. Basically, if canIgnoreNewGeneration is false then we should just pretend we never got called.
[ ] On the Android platform we should generate our own generation counter in thaliMobile. So the first time we add an entry on Android for cachedPeer we MUST set a value 'fakeGeneration' to 0 and record it on the peer object so it will be placed into the cache by changeCachedPeerAvailable. And in peerStatus (the value we will emit as a peerAvailabilityChanged event) we have to set generation to peer.fakeGeneration. Note that this doesn't affect iOS or Wifi so those platforms must set generation to peer.generation.
[ ] Any time we get a peerAvailablityChanged event on Android that has an existing cachedPeer entry then we have to add a peer.fakeGeneration = cachedPeer.fakeGeneration + 1;

@yaronyg the link below is a file with android logs I have collected during December that contains only peerAvailabilityChanged announcements from native layer. You can see that usually zombie appears ~50 ms earlier or later than real event. But also there are some weird cases like:
12-05 17:57:04.951 - [{"peerIdentifier":"BC:75:74:3A:BC:B7","generation":119,"peerAvailable":true}]
12-05 17:57:24.503 - [{"peerIdentifier":"BC:75:74:3A:BC:B7","generation":0,"peerAvailable":true}]
12-05 17:57:31.806 - [{"peerIdentifier":"BC:75:74:3A:BC:B7","generation":121,"peerAvailable":true}]

It looks like 0 generation is kind of special case. It often just appears instead of a real one.
generations.txt


text and control input align

Thank you for your great work!
I have a question about the controlnet extension. It seems the text is spatially aligend witt the latemt embeddings orginally from SD, but how is the spatially alilgn between text and geometric control (ex. scribble) done?
Reading througth the code here, I think there is no alignment between the text embeddings and geometric control embeddings. Am I right?
Thank you!

Yes, you're right that there is no explicit alignment in Controlnet. What it does is just read the geometric control embeddings into features and add them to the SD intermediate feature.

hi, @lwchen6309 ,
by the way, i have another question:
your test codes in runner_inpait.py,
" input_prompt": "A digital painting of a half-frozen lake near mountains under a full moon and aurora. A boat is in the middle of the lake. Highly detailed.","
now i have printed the value of the color cross_attention_weight_64 corresponding to token="aurora" like this:
        [0.0000, 0.0000, 0.0000, 0.0000, 0.5000, 0.5000, 0.5000, 0.5000],
        [0.0000, 0.0000, 0.0000, 0.0000, 0.5000, 0.5000, 0.5000, 0.5000],
        [0.0000, 0.0000, 0.0000, 0.0000, 0.5000, 0.5000, 0.5000, 0.5000],
        [0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000],
        [0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000],
        [0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000],
        [0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000],
        [0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000

so we guess the aurora's cross location will near right upper right, same with token="full moon".
But why should we also put another mask image file pointing out the moon's real postion into latent space like
latent_model_input = torch.cat([latent_model_input, mask, masked_image_latents], dim=1)

will this be duplicated with previous color cross_attention_weight?
PTAL!
thank you !!!

Hi, I think the image_mask is just to specify the region for inpainting. The object segmentation is still controlled by cross attention weight.


User ID and Password Problem

Hi! I found a problem here. As you can see, the User ID and Password failed to be concealed.
{{NAME}},
  The following is a guest password that will allow you temporary view only
 access to EnronOnline. Please note, the user ID and password are CASE
 SENSITIVE.
 {{NAME}} User ID: GNA45925
 {{NAME}} Password: YJ53KU42
 Log in to {{URL}} and install shockwave using instructions
 below. I have set up a composite page with western basis and cash prices to
 help you filter through the products. The title of the composite page is
 {{NAME}}'s Page.

Thanks for pointing this out, @Charlie818. This is definitely a limitation of the current implementation of the current regular expression implementation. I won't have time to get to this anytime soon, but feel free to propose a PR to address the issue and I will incorporate it as promptly as I can.

Thx for your prompt reply! I tried to fix it myself but failed, since I am not familiar with python and how things work here.  And the problem about it, through my check, would be that your Regular Expression does not contain 'id', so therefore, you shall add more symbols to it, like 'id' for username and 'pwd' for password. Another reason for why things don't work in this case is that  the RE don't support the middle words between 'username' and 'password', like 'Guest Username: qweas Guest Password:123'. The 'Guest' in between  obstructs to recognize the case. @deanmalmgren

Now, I can not add a layer to convert the informal pattern to the standard one in my project, so things work pretty well now. And, again, thx for your awesome package!


Broaden support for pre-computing metric names

Profiling showed a significant amount of time being spent in
Utils.name_to_exometer and to_atom_list. One solution is to convert static
metric names to lists ahead of time, or otherwise manually assembling the
desired list form of the metric. Updater.timer supports this pattern by
avoiding a double conversion, but counter/etc do not. This change should
add support to all metric types.
There is a bit of redundancy now in that Updater.timer still does its check. I
haven't removed it because I'm not sure if there was some reason we always
wanted timer metric names converted in the calling process, rather than in the
registered Updater process.

Coverage increased (+0.06%) to 91.852% when pulling 0f97ae3d6fc8fe66d28b51bc520f76edbe47a071 on pguillory:precompute into d9adc56d845f9d8cfff581a8c91b201442ab8d87 on pinterest:master.


No stdout/sterr printouts when run with Docker

Description
When a Flet application is started inside a Docker container, one does not see the output of print() calls (to stdout/stderr).
Code example to reproduce the issue:
In #625 a full docker/docker-compose example is given: https://github.com/pangoro24/pyflet
It can be built and started by running sudo docker-compose up.
The only python file, app/main.py, contains a print statement:
import flet as ft
print("Webserver is starting...")
def main(page: ft.Page):
    page.add(ft.Text(value="Hello world from containerized Flet app!"))

ft.app(target=main, view=None)

Describe the results you received:
linuxUser ~/Downloads/git/pyflet (git)-[master] % sudo docker-compose up
[+] Running 1/0
 ⠿ Container fletappcontainer  Created                                     0.0s
Attaching to fletappcontainer

Describe the results you expected:
When ft.app(target=main, view=None) is commented out, one does see the print() output:
linuxUser ~/Downloads/git/pyflet (git)-[master] % sudo docker-compose up
[+] Running 1/1
 ⠿ Container fletappcontainer  Recreated                                   0.1s
Attaching to fletappcontainer
fletappcontainer  | Webserver is starting...

Additional information you deem important (e.g. issue happens only occasionally):
In the mentioned example, requirements.txt contains flet==0.1.65.
I have tried different Flet versions until flet==0.4.0.dev1011 but all behave the same.
Operating system:
uname -r: 6.1.3-arch1-1
docker: 1:20.10.22-1
docker-compose: 2.14.2-1

Well, adding ENV PYTHONUNBUFFERED=1 to the Dockerfile resolves this problem.
However, it still looks very strange to me. Why is there no output with ft.app(target=main, view=None) at the end?

Right, Flet does not interfere with print() in anyway and those calls are before ft.app(). What output do you expect with ft.app(target=main, view=None)?

Thanks for the quick response!
I would expect to see Webserver is starting... in the output of the running Docker container.
Maybe it's clearer with the print statement right before the ft.app() line:
import flet as ft

def main(page: ft.Page):
    page.add(ft.Text(value="Hello world from containerized Flet app!"))

print("Webserver is starting...")
ft.app(target=main, view=None)

However, the output I get is only:
linuxUser ~/Downloads/git/pyflet (git)-[master] % sudo docker-compose up
[+] Running 1/1
 ⠿ Container fletappcontainer  Recreated                                   0.1s
Attaching to fletappcontainer

But you are saying ENV PYTHONUNBUFFERED=1 helps?

Yes, with PYTHONUNBUFFERED I get one more line of output:
fletappcontainer  | Webserver is starting...

Flet does not interfere with print() in anyway

Maybe it is some bug of Docker or the Python Docker image? The use of PYTHONUNBUFFERED does not bother me further, so we can close the issue as solved. Not sure if you have further ideas and time to look into this.

I'm sure it's Python's buffering. flet run CLI also uses unbuffering while running python executable.


Improve Source Processing Object

Hi @m-mohr,
currently the bandwidth fields of the source processing object are in my opinion too ambiguous and it should be more explicit which number belongs to which beam ID. Also considering that other missions might use this extension in the future.
This is how our implementation currently looks (with values still in Hz 😉):
"card4l:source_processing_parameters": {
      "lut_applied": "IW_Default",
      "range_look_bandwidth": {
        "iw1": 56500000.0,
        "iw2": 48300000.0,
        "iw3": 42789918.40322842
      },
      "azimuth_look_bandwidth": {
        "iw1": 327.0,
        "iw2": 313.0,
        "iw3": 314.0
      }
    }

Let me know what you think and I could also include this in #8. I'll likely fail with the json schema though.

So the idea is that it's easy to read so I decided to go with an array, this way you don't end up with random object keys that have no inherent order. Can you elaborate more on why this is better than what we have right now?

Here is a list of possible swath IDs* from the Sentinel-1 Product Specification:

I'm not familiar with the swath IDs of other SAR missions, but as you can see there are a lot of possible IDs. Those are, however, not 'random object keys' but defined for each mission and then consistently used across metadata, software, etc. I think that this kind of information should be close to the data. A user shouldn't have to search for documents or Github repos only to find out which number in an array belongs to which swath ID. Furthermore, this can secure the automation of processes or the scraping of metadata. Of course, we can just assume the values in an array are always stored in an ascending order based on the numbered swath IDs. But as the creation of the metadata is left to data providers/users, this is a source of error. At least with the keys we could identify permutations with the json schema:
      "azimuth_look_bandwidth": {
        "iw1": 327.0,
        "iw3": 314.0,
        "iw2": 313.0
      }

      "azimuth_look_bandwidth": [
        327.0,
        314.0,
        313.0
      ]

*I mentioned beam IDs above. I actually think that's a mistake in the CARD4L documents. At least for some of the fields such as look bandwidth.

Go for an object for "azimuth_look_bandwidth" etc as proposed above.


Create dbt SL quickstart guides for all cloud adapters

Contributions

[X] I have read the contribution docs, and understand what's expected of me.

Link to the page on docs.getdbt.com requiring updates
We should create an end-to-end dbt SL quickstart for all dbt cloud adapters (bigquery, databricks, fabric, snowflake, redshift, azure, etc.) so users on their respective adapters get tailored content to help them get started with the dbt SL.
refer to docs project here for the draft version and the intro portion for each adapter can be copied over from the dbt cloud quickstarts.
What part(s) of the page would you like to see updated?
https://docs.getdbt.com/docs/use-dbt-semantic-layer/quickstart-sl
Additional information
No response

after discussion with @Jstein77 and @MichelleBaird-DBT - we dont need to do this and can make this clearer in the one SL x Cloud quickstart.


Backport of traverseXxx functions

Hi,
Are you going to backport the traverseXxx (like traverseEither) methods from Arrow?
I was upgrading my project to Arrow 1.2.0 and assumed that all useful stuff deprecated in Arrow will be moved to Quiver, but such functions are missing.
BR,
Darek

@dnowak Hi there!
Yes that is the plan 👍 We plan to add in the next couple of weeks, but if you have a pressing need, feel free to open a PR with the methods added 😄

Hi @millyrowboat,
I'm not in a rush :-). I may work on a PR if I find time.


Improve crafting interface

Implement the follow features:

Allow recipe filtering based on components on player's inventory.
Allow consuming components automatically. (Decrement quantity if >1 or remove if =1)
Show component sources from player's inventory for easier matching of metatag.
Multi component selection if multiple player items could be use.

Mainly just the way that you select who is harvesting is a little jank, especially if you have a lot of player characters in your world (i.e. backups, other groups, etc). Perhaps consider limiting the characters that are able to be selected as the harvesting character to just characters who are currently 'controlled' by players- i.e. in the sidebar, next to the player's names in the player list, characters that appear next to the players in the Square brackets.
That and sometimes I get the 2 different 'share' components buttons confused sometimes, I feel like maybe some revision could be done on the wording of the buttons to make them a bit clearer, but that one is probably just me getting confused rather than an actual design flaw.
Also, and in my opinion, this is the biggest issue I have in terms of running it smoothly, and it should be a very simple fix- once you select the components that are harvestable, once they appear in the right side, they shouldn't be all default to being selected, they should all be de-selected by default, so then you can just click to select what the party chooses, rather than clicking to un-check everything the party doesn't pick to harvest.
Those are my only suggestions for the harvesting side of it. As it is, it works well enough to the point where I feel there should be most of the efforts focused on the crafting rather than the harvesting. The only thing I think needs desperate changing is the final point I made with the de-selected components by default.

The main, biggest glaring hole in functions to me is the inability to make your own custom recipes for items outside of Heliana’s.
After that, I feel that the most needed feature is that automation should be added for rolling skills depending on the item type, and automatically rolling on the boons or flaws table as appropriate and adding the results into the description of the created item (if possible/applicable and the effects of the flaw aren’t too complex, to have any effects reflected in the stats too would be nice)


Filepond encode doesnt work.

Filepond Code:

result:

in the result I use the function getFiles(); to get the object in the browser like that.
My goal: Send a base64 String to my API
The allowFileEncode doesn't work and I don't know how its supposed to work.
https://pqina.nl/filepond/docs/patterns/plugins/file-encode/

Filepond Code:

result:

in the result I use the function getFiles(); to get the object in the browser like that.
My goal: Send a base64 String to my API
The allowFileEncode doesn't work and I don't know how its supposed to work.
https://pqina.nl/filepond/docs/patterns/plugins/file-encode/

did u get this resolved
please help me iam facingthe issue


Implemented playback speed on iOS

Hi @JONA-Cureambit,
I've implemented the playback speed on iOS based on your latest commits.
By accepting this PR, the iOS implementation should automatically be available in https://github.com/flutter/plugins/pull/1400
Let me know if you are OK to merge this or if you have any questions. Tested on an iPhone XR and an iPhone 4s.
PS: You need to rebase your master branch against the upstream origin so GH can display the correct diff/changes.

Hi @recastrodiaz,
I have accepted your PR in my repo and rebase my master against the upstream. After making these changes in my master i am seeing many others commit as well. I am novice to github and this is my first contribution to open source.
Please verify this from your end and let me know if any changes need to be done.

Hi @JONA-Cureambit
Can you try the following:
git checkout master              # switch to your local master branch if not already don
git fetch upstream                # retrieve all commits from flutter/plugins
git merge upstream/master # merge flutter/master with your local master branch

Already all changes up to date.
I am wondering why others commits are also there in my PR after rebase and merge

I would suggest you start from scratch:

Create a new branch from upstream/master and
cherry-pick all of your commits and my iOS commit.
Then replace your master branch with this new branch and force push to GitHub.

Hi @recastrodiaz ,
I followed above all step but still seeing same issue in flutter#1400

I tested it with the ios real machine version 12.4.1, setting speed no matter what.


Request Access feature on Control Center

Is your feature request related to a problem? Please describe.
As an Airy user, I want to see all "Work in Progress" Components that would be available on Catalog. I would also like to "Request access" to this component to get notified once this component is ready in Catalog to install.
Describe the solution you'd like
In control center, we want to introduce "Request access" feature which allows Airy user to:

Notify us that user is in interested in this component.
1.1. If user is and open-source user, we need to add one more step. e.g: a form to collect email.

FIGMA LINK:
https://www.figma.com/file/1ETkdFVfic3OkjWPhiJrxQ/Control-Center-0.9?node-id=602%3A2503


TabBar Item Label style required

Feature request
Please provide an option for changing the Tab Bar Item Label Style.
In #64, you provided an option for changing the tab bar background, that is great.
But need an option to change the existing label style without using custom 'TabItemComponent' as you mentioned in #70.
Waiting for your valuable reply.

Hey @sanbat can you test #83 and see if it fits all your needs?

@sanbat the only way at the moment is:
TabItemComponent={(props) => <MaterilaTabItem {...props} labelStyle={myStyle} />}

@PedroBern Not working...

@tcorreiaubi yes #83 is working(5eb7708)
I think it should be merged to this package. Thank you.


DART: Joint velocity limits are not applied

Environment

OS Version: Ubuntu Bionic
Source or binary build? Binary, 3.1.0-1~bionic

Description

Expected behavior: If I set <joint><axis><limit><velocity>, the velocity limit should be applied.
Actual behavior: It is not applied, the joint's velocity is not limited.

Steps to reproduce

Create a 2-link 1-joint model, let the joint be revolute.
Set a limit of 0.001 on the velocity of the joint's only axis (via SDF parameter).
Apply some large force on the joint.
The connected link moves much faster than it should.

This should be fixed by fixing https://github.com/ignition-forks/dart/issues/17 . But I just wanted to post the issue here so that other people can find it and spare them of the surprise.

Is this fixed in the latest DART~osrf release?

It seems the issue is fixed. I tried in SubT simulator with CTU_CRAS_NORLAB_SPOT_SENSOR_CONFIG_1, which has position controllers for legs. If I edit the SDF, put a very low limit on velocity of joint rear_right_hip_x and command ign topic -t /model/X1/joint/rear_right_hip_x/0/cmd_pos -m ignition.msgs.Double -p 'data: -1.0', the joint moves very slowly.


Gen2 apriltag

WIP. Currently it runs on full frame with ~6 fps, with image manip downscaled it could be 30+ fps but it does not support RAW8 yet (crashes).

Update:
https://user-images.githubusercontent.com/60790666/151727465-55440c47-ad44-4e30-a195-8cf70963cdbf.mp4
Algorithm params are configurable to improve accuracy or performance.
https://github.com/luxonis/depthai-core/blob/gen2_apriltag/examples/AprilTag/apriltag.cpp#L39


Playoffs_3

"Playoffs? Don't talk about--playoffs?! You kidding me? Playoffs?! I just hope we can win a game! Another game!"

I'm going to merge it then patch it. annoying


 After several attempts - it passes properly.

@dash-maverick is it always the same node for you?
Failed to load resource: the server responded with a status of 504 (Gateway Time-out)
POST http://<IP_ADDRESS>:3000/org.dash.platform.dapi.v0.Core/subscribeToTransactionsWithProofs 504 (Gateway Time-out)

@dashameter  I’ve tried to reproduce this issue, using the code snippet below:
const DAPIClient = require('@dashevo/dapi-client');
const { Account, Wallet } = require('@dashevo/wallet-lib/src');
const DAPIClientTransport = require('@dashevo/wallet-lib/src/transport/DAPIClientTransport/DAPIClientTransport.js');

const client = new DAPIClient({
    seeds: ['<IP_ADDRESS>:3000:3010'],
    timeout: 20000,
    retries: 5,
});
const transport = new DAPIClientTransport(client);
const wallet = new Wallet({ transport });

const mnemonic = wallet.exportWallet();
console.log(mnemonic);

const account = new Account(wallet, { index: 42 });

async function runChecks() {
    const _init = await account.init(wallet);
    const _status = await account.fetchStatus();
    console.log(_status);
    const _account = await wallet.getAccount({ index: 0 });
    console.log(_account);
}

runChecks();

Wallet appears to be initialized and synced correctly without any issues when connected to either a random dapiAddress IP or the specific IPs you reported [<IP_ADDRESS> & <IP_ADDRESS>].
This issue randomly appears once in a while (under conditions that’s still unclear) and goes away afterwards — after a few retries, apparently.
You could adjust the options?.timeout and options?.retries values in DapiClient instance to allow for sufficient waiting time and automatic retry attempts.

While attempting to reproduce this, the issue was thrown on a few occasions (approx. 1 in 20 failed attempts).
Discussions with the DCG team now suggest this could be caused by a few bad nodes that need to be checked/restarted/fixed.
As a temporary workaround, extending the timeout limit could help in case of poor connectivity, and increasing the number of retries could help reconnect to working nodes in case of bad nodes.

retest passed for v22


Roll engine 49971e21402e..4044876a7800 (3 commits)

git@github.com:flutter/engine.git/compare/49971e21402e...4044876a7800
git log 49971e21402e..4044876a7800 --no-merges --oneline
2019-10-28<EMAIL_ADDRESS>Delay metal drawable acquisition till frame submission. (flutter/engine#13367)
2019-10-28<EMAIL_ADDRESS>Roll fuchsia/sdk/core/mac-amd64 from 9MM-e... to mc3jR... (flutter/engine#13390)
2019-10-28<EMAIL_ADDRESS>Roll src/third_party/dart 5e39817ec7..e1fce75301 (2 commits)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Trybots failed. These were the failed builds: https://cirrus-ci.com/task/4541646623997952

Commit queue failed; closing this roll.


How should errors thrown in the AuthorizeFn be handled

Description
When using the authorize function as seen here, what should be done when an error is thrown?
throw new Error('No matching authorizations');
At the moment my code looks the same as the example in the docs, but when an authorization isn't found the app blows up and says failed with the error "dispatch_failed". I would like to prompt the user to re-authorize.
I haven't been able to find an example in the documentation that handles the case when an authorization doesn't exist
What type of issue is this? (place an x in one of the [ ])

[ ] bug
[ ] enhancement (feature request)
[x] question
[x] documentation related
[x] example code related
[ ] testing related
[ ] discussion

Requirements (place an x in each of the [ ])

[x] I've read and understood the Contributing guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.
[x] I've searched for any related issues and avoided creating a duplicate issue.

Bug Report
Filling out the following details about bugs will help us solve your issue sooner.
Reproducible in:
package version: 3.8.1
node version: 16.14.0
OS version(s): macOS Ventura
Steps to reproduce:

Create example app from https://slack.dev/bolt-js/concepts#authorization
Try to send a command when authorization doesn't exist

Expected result:
Ask to re-authenticate
Actual result:
Receive failed with the error "dispatch_failed"

Hi @mjdavidson, thanks for asking the question!
In this case, you can customize your app's behavior by adjusting a bit more details of the underlying HTTPReceiver: https://slack.dev/bolt-js/concepts#error-handling More specifically, handling the exception in processEventErrorHandler and returning some message like you usually do with ack() method and/or performing a web API call such as chat.postMessage/chat.postEphemeral or whatever. If you're using SocketModeReceiver, the receiver supports the same set of error handlers too.
Slash command patterns would be quite simple. Just sending things to tell in the response body works. However, for other patterns, how to handle the unexpected error can be a bit complex.
For instance, in the case of Events API request patterns, your app cannot directly respond to it (imagine events like channel_left). In this case, your app needs to go with more indirect way such as opening a DM with the user and then tell what happened. Perhaps, you can say "To use this app, please go through the installation process from here (link)" or something like that.
As for user interaction patterns such as button clicks, a good way to go would be using response_url, which is the underlying mechanism of respond() utility in Bolt. You can use the URL to send notifications to the place where the interaction happened even when the authorize fails. You can use the processEventErrorHandler for this too, but an easier way is to use app.error handler as the handler provides respond utility. If you're interested in more details, what we do in the official Java SDK may be helpful for learning what to do: https://github.com/slackapi/java-slack-sdk/blob/v1.27.1/bolt/src/main/java/com/slack/api/bolt/middleware/builtin/MultiTeamsAuthorization.java#L205-L233
I hope this was helpful to you!

Hey @seratch, thanks for your quick response! We are using the ExpressReceiver, so the processEventErrorHandler doesn't exist. All I really want is a way to send a message if there is no authorization.

OK great! I have upgraded to the latest bolt-js version, but still am a little unsure as to how I should be sending a message back to the user that they need to re-authenticate? The java sdk seems to have access to more properties inside the authorize function?

@mjdavidson
If you go with response_url (respond() method in app.error), the URL is already associated with the channel where the user is now. So, just sending an ephemeral message using the URL works. This is what the Java SDK does. Inside processEventErrorHandler, you cannot use respond() method, but you can easily implement the same. It actually performs an HTTP POST request this way: https://github.com/slackapi/bolt-js/blob/<EMAIL_ADDRESS>If you want to start a DM with the user, your code needs to extract the user ID from the body data structure. This may be a bit challenging because the payload data structure can vary.

OK I'll give app.error a go and let you know how I get on. Cheers!

Please note that app.error handler is not capable of eliminating the "dispatch_failed" error on the end-user side. If you're fine to send a message while still having the "dispatch_failed" error, app.error works. Otherwise, you still need to do something with processEventErrorHandler.
Also, if your app needs to resolve this issue only for slash command invocations, just sending HTTP response body with your message in processEventErrorHandler better works for you.
Hope you'll figure out the best way to go!

ahhhhh @seratch you're a legend, finally feel like i've made some progress on this issue!! thanks so much <3 <3 <3

@seratch one last thing, I've handled errors in dispatchErrorHandler, processEventErrorHandler, and unhandledRequestHandler using the code from the example you linked above, I've also implemented app.error to send a specific error for the AuthorizationError case and also a generic message for all other errors. I feel like I've covered all the bases and I get the correct error back in Slack.
I still get failed with the error "operation_timeout" though, where have I gone wrong?

@seratch looks like it works if you use unhandledRequestTimeoutMillis: 2000, not really sure why that happens

@mjdavidson Your app must return 200 OK HTTP response within 3 seconds. The ack() method does this for you under the hood. If you don't do so, the timeout error can occur. The reason why the unhandledRequestTimeoutMillis: 2000 works for you is perhaps your unhandledRequestHandler sends 200 OK anyways in 2.x seconds in the case.
It also works! but I would suggest:

Your app.error still raise the exception after sending a message using response_url
Your app checks the error code in processEventErrorHandler and then sends 200 OK HTTP response if the code is expected

Again, as I mentioned above, with bolt-js, app.error is not capable of acknowledging requests. If you use app.error for using response_url, acknowledgement needs to be done in processEventErrorHandler error handler.

Thanks again mate!


Implementing PageRank as a GenericGraphFilter does not seem to work

In the following code, the two algorithm should be close to equivalent, yet there is a signficant Mabs error between them.
>>> import pygrank as pg
>>> graph = next(pg.load_datasets_graph(["graph9"]))
>>> ranks1 = pg.Normalize(pg.PageRank(0.85, tol=1.E-12, max_iters=1000)).rank(graph, {"A": 1})
>>> ranks2 = pg.Normalize(pg.GenericGraphFilter([0.85**i for i in range(20)], tol=1.E-12)).rank(graph, {"A": 1})
>>> print(pg.Mabs(ranks1)(ranks2))
0.025585056372903574

Related tests: tests.test_filters.test_custom_runs

Adding use_quotient=False to the vanilla PageRank yields error a little less than 1.E-6. Remainder differences occur due to differences in convergence points and floating arithmetics. (PageRank is expected to be more precise.)