YARN-11090. [GPG] Support Secure Mode.

Description of PR
JIRA: YARN-11090. [GPG] Support Secure Mode.
How was this patch tested?
For code changes:

[ ] 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
0m 58s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  1s

codespell was not available.

+0 :ok:
detsecrets
0m  1s

detect-secrets was not available.

+0 :ok:
xmllint
0m  1s

xmllint 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 1 new or modified test files.

_ trunk Compile Tests _

+0 :ok:
mvndep
17m 58s

Maven dependency ordering for branch

+1 :green_heart:
mvninstall
24m  6s

trunk passed

+1 :green_heart:
compile
8m  1s

trunk passed with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1

+1 :green_heart:
compile
7m 24s

trunk passed with JDK Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

+1 :green_heart:
checkstyle
2m  6s

trunk passed

+1 :green_heart:
mvnsite
3m  0s

trunk passed

+1 :green_heart:
javadoc
3m  6s

trunk passed with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1

+1 :green_heart:
javadoc
2m 52s

trunk passed with JDK Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

+1 :green_heart:
spotbugs
5m 15s

trunk passed

+1 :green_heart:
shadedclient
23m 43s

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

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 32s

Maven dependency ordering for patch

+1 :green_heart:
mvninstall
1m 38s

the patch passed

+1 :green_heart:
compile
7m 42s

the patch passed with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1

+1 :green_heart:
javac
7m 42s

the patch passed

+1 :green_heart:
compile
7m 46s

the patch passed with JDK Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

+1 :green_heart:
javac
7m 46s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
2m  8s

the patch passed

+1 :green_heart:
mvnsite
2m 38s

the patch passed

+1 :green_heart:
javadoc
2m 39s

the patch passed with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1

+1 :green_heart:
javadoc
2m 33s

the patch passed with JDK Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

+1 :green_heart:
spotbugs
5m 19s

the patch passed

+1 :green_heart:
shadedclient
22m 19s

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

_ Other Tests _

+1 :green_heart:
unit
1m 18s

hadoop-yarn-api in the patch passed.

+1 :green_heart:
unit
5m 58s

hadoop-yarn-common in the patch passed.

+1 :green_heart:
unit
0m 45s

hadoop-yarn-server-globalpolicygenerator in the patch passed.

+1 :green_heart:
asflicense
1m  8s

The patch does not generate ASF License warnings.

170m 12s

Subsystem
Report/Notes

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

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

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets xmllint

uname
Linux 90dfef2f58fa 4.15.0-212-generic #223-Ubuntu SMP Tue May 23 13:09:22 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 6517aed325224ddfecc6f74629c901bd36c35c28

Default Java
Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

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

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

modules
C: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-globalpolicygenerator U: hadoop-yarn-project/hadoop-yarn

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

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

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

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
13m 39s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  1s

codespell was not available.

+0 :ok:
detsecrets
0m  1s

detect-secrets was not available.

+0 :ok:
xmllint
0m  1s

xmllint 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 2 new or modified test files.

_ trunk Compile Tests _

+0 :ok:
mvndep
17m 59s

Maven dependency ordering for branch

+1 :green_heart:
mvninstall
33m 38s

trunk passed

+1 :green_heart:
compile
7m 42s

trunk passed with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1

+1 :green_heart:
compile
7m 20s

trunk passed with JDK Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

+1 :green_heart:
checkstyle
2m  5s

trunk passed

+1 :green_heart:
mvnsite
3m  1s

trunk passed

+1 :green_heart:
javadoc
3m  6s

trunk passed with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1

+1 :green_heart:
javadoc
2m 50s

trunk passed with JDK Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

+1 :green_heart:
spotbugs
5m 16s

trunk passed

+1 :green_heart:
shadedclient
33m 49s

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

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 34s

Maven dependency ordering for patch

+1 :green_heart:
mvninstall
1m 37s

the patch passed

+1 :green_heart:
compile
6m 59s

the patch passed with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1

+1 :green_heart:
javac
6m 59s

the patch passed

+1 :green_heart:
compile
7m 12s

the patch passed with JDK Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

+1 :green_heart:
javac
7m 12s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
1m 52s

the patch passed

+1 :green_heart:
mvnsite
2m 36s

the patch passed

+1 :green_heart:
javadoc
2m 42s

the patch passed with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1

+1 :green_heart:
javadoc
2m 33s

the patch passed with JDK Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

+1 :green_heart:
spotbugs
5m 25s

the patch passed

+1 :green_heart:
shadedclient
34m 52s

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

_ Other Tests _

+1 :green_heart:
unit
1m 20s

hadoop-yarn-api in the patch passed.

+1 :green_heart:
unit
5m 56s

hadoop-yarn-common in the patch passed.

+1 :green_heart:
unit
0m 50s

hadoop-yarn-server-globalpolicygenerator in the patch passed.

+1 :green_heart:
asflicense
1m 10s

The patch does not generate ASF License warnings.

213m  9s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5782/3/artifact/out/Dockerfile

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

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets xmllint

uname
Linux 0c7120647416 4.15.0-206-generic #217-Ubuntu SMP Fri Feb 3 19:10:13 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 2ff031739cf0f5143c38d59bda24e8fa0b037953

Default Java
Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5782/3/testReport/

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

modules
C: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-globalpolicygenerator U: hadoop-yarn-project/hadoop-yarn

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5782/3/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

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

This message was automatically generated.

@goiri Can you help review this pr? Thank you very much!

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 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.

+0 :ok:
detsecrets
0m  0s

detect-secrets was not available.

+0 :ok:
xmllint
0m  0s

xmllint 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 2 new or modified test files.

_ trunk Compile Tests _

+0 :ok:
mvndep
16m 43s

Maven dependency ordering for branch

+1 :green_heart:
mvninstall
32m 45s

trunk passed

+1 :green_heart:
compile
7m 46s

trunk passed with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1

+1 :green_heart:
compile
7m 14s

trunk passed with JDK Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

+1 :green_heart:
checkstyle
2m  1s

trunk passed

+1 :green_heart:
mvnsite
2m 58s

trunk passed

+1 :green_heart:
javadoc
3m  4s

trunk passed with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1

+1 :green_heart:
javadoc
2m 55s

trunk passed with JDK Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

+1 :green_heart:
spotbugs
5m 15s

trunk passed

+1 :green_heart:
shadedclient
34m 55s

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

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 34s

Maven dependency ordering for patch

+1 :green_heart:
mvninstall
1m 39s

the patch passed

+1 :green_heart:
compile
7m  0s

the patch passed with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1

+1 :green_heart:
javac
7m  0s

the patch passed

+1 :green_heart:
compile
7m 11s

the patch passed with JDK Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

+1 :green_heart:
javac
7m 11s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
1m 53s

the patch passed

+1 :green_heart:
mvnsite
2m 43s

the patch passed

+1 :green_heart:
javadoc
2m 40s

the patch passed with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1

+1 :green_heart:
javadoc
2m 35s

the patch passed with JDK Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

+1 :green_heart:
spotbugs
5m 23s

the patch passed

+1 :green_heart:
shadedclient
34m 40s

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

_ Other Tests _

+1 :green_heart:
unit
1m 14s

hadoop-yarn-api in the patch passed.

+1 :green_heart:
unit
5m 57s

hadoop-yarn-common in the patch passed.

+1 :green_heart:
unit
0m 50s

hadoop-yarn-server-globalpolicygenerator in the patch passed.

+1 :green_heart:
asflicense
1m  6s

The patch does not generate ASF License warnings.

198m 53s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5782/4/artifact/out/Dockerfile

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

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets xmllint

uname
Linux 4455f46d3798 4.15.0-206-generic #217-Ubuntu SMP Fri Feb 3 19:10:13 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 2e2a63cd68d0293515aa66691d7192215e65a517

Default Java
Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5782/4/testReport/

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

modules
C: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-globalpolicygenerator U: hadoop-yarn-project/hadoop-yarn

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5782/4/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

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

This message was automatically generated.

@goiri Thank you very much for your help in reviewing the code!


Add .deployment file with scmDoBuild=true

This is to make transferring (deploying) the trial template to an app service app can be done without additional code within the Azure App Service extension for VS Code.

Closing in favor of adding additional code to our extension.


feat: adding files for varfish-server-worker (#50)

This depends on varfish-server-worker v0.8.0 being released.


Automated cherry pick of #2680: fix: azure create bucket failure due to empty storageClass

Cherry pick of #2680 on release/2.12.
#2680: fix: azure create bucket failure due to empty storageClass

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.12@2a4f848). Click here to learn what that means.
The diff coverage is n/a.

@@              Coverage Diff               @@
##             release/2.12   #2682   +/-   ##
==============================================
  Coverage                ?    7.1%
==============================================
  Files                   ?     466
  Lines                   ?   73481
  Branches                ?       0
==============================================
  Hits                    ?    5220
  Misses                  ?   67830
  Partials                ?     431

Flag
Coverage Δ

#aFlag
7.1% <ø> (?)

Continue to review full report at Codecov.

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

/approve
/lgtm


Set-VpnConnectionProxy : -ExceptionPrefix issue with "*"

Hi,
@velkovb did a great job giving us the solution to define the syntax of -ExceptionPrefix in this post
However a problem persists, it is the syntax for IP addresses as in this example :
-ExceptionPrefix '205.', '*.microsoft.com'
In this example *.microsoft.com will be well taken into consideration but not 205. , indeed will be necessary to manually add the asterisk after the .*   so that it can work.

Hi @e0i,
Do you have any news?
Thank you

Hi,
Nobody have an idea? Maybe I can get around this problem with a script?

Hi @e0i ,
Since you self-assigned this issue, could you please update us on a possible fix ?
I have the exact same needs and i can't find any workaround.
Thanks.

Thank you for following up. The issue is in the backlog for review.

Thanks @e0i.

@Vestarija Hi,
Really sad to hear it did not work for you. Last time, I was checking with some public addresses and it seemed to work. Could you give me more details on what you are trying to configure (of course without any sensitive data) ?

Hi @velkovb,
Here is an example of what the problem is :

Here is what i should have (which i manually edited without PowerShell) :

Here is the command that i use :

(Error says : "Parameter Incorrect")
Adding the wildcard (*) character causes that error, but only when it is used as a suffix, but if I type "*.domain.test",  it works fine (which is not what i need at the moment) .
As i've tried many solution :
- Adding the escape character before the wildcard ( \* )
- Using a list
- Using only one string with ";" separators inbetween each values
- Using double quotes
- Using single quotes
None of them worked,
Thank you in advance.

Hi @velkovb,
As @Vestarija just replied, i have the exact same problem, adding a new value using a wildcard character as a suffix such as "192.168.*" doesn't work.
Thank you for your attention.

@Vestarija @Cram0 ,
Thank you for your patience. It seems something somewhere is validating the input of this command and does not allow an asterisk sign unless it is at the beginning of the string (.192 would work but it is useless, test..lab will not work as well).
When setting the property through PowerShell it goes through WMI which performs this validation, while I can guess the GUI writes directly without this validation. This behaviour is most probably a bug and needs to be escalated.
Was not able to find a way to set this value manually only for VPN proxy settings. I would bet there is some registry setting that can help or configure the proxy via script.

@velkovb,
Good thing that we might have found a bug somewhere, I will try and see if i can set the VPN proxy through registry tinkering although it seems over complicated for such a simple thing.
Thank you for your reply, have a great afternoon. :+1:

@Vestarija @Cram0 ,
Thank you for your patience. It seems something somewhere is validating the input of this command and does not allow an asterisk sign unless it is at the beginning of the string (.192 would work but it is useless, test..lab will not work as well).
When setting the property through PowerShell it goes through WMI which performs this validation, while I can guess the GUI writes directly without this validation. This behaviour is most probably a bug and needs to be escalated.
Was not able to find a way to set this value manually only for VPN proxy settings. I would bet there is some registry setting that can help or configure the proxy via script.

I have since worked around the problem by editing the rasphone.pbk (VPN interfaces) file by GPO.

I find it's still a problem today in 2023 on Windows 11 😢


[FEATURE] Configure Tempo data source in UI

Description

extract HTTP Settings editor from PrometheusDatasourceEditor
for Prometheus, keep the "scrape interval" setting when switching between direct and proxy mode
add TempoDatasourceEditor

Screenshots

Checklist

[X] Pull request has a descriptive title and context useful to a reviewer.
[X] Pull request title follows the [<catalog_entry>] <commit message> naming convention using one of the
following catalog_entry values: FEATURE, ENHANCEMENT, BUGFIX, BREAKINGCHANGE, DOC,IGNORE.
[X] All commits have DCO signoffs.

UI Changes

[X] Changes that impact the UI include screenshots and/or screencasts of the relevant changes.
[X] Code follows the UI guidelines.
[ ] Visual tests are stable and unlikely to be flaky.
See Storybook
and e2e docs for more details. Common issues
include:

Is the data inconsistent? You need to mock API requests.
Does the time change? You need to use consistent time values or mock time utilities.
Does it have loading states? You need to wait for loading to complete.

The git diff looks large, but it's 90% moving code unchanged from PrometheusDatasourceEditor to HTTPSettingsEditor.


[Feature] Split bill amount and Tip Calculator

Description
This calculator is designed to compute the total cost of bill, add tip (like %5, %20, etc), and split bill according to members enter (like 2, 4, etc)
Please @Rakesh9100 assign labels and assign me this issue under GSSOC'24
Screenshots
No response
Checklist

[X] I have checked the existing issues.
[X] I follow Contributing Guidelines of this project.
[X] I am a GSSOC'24 contributor.
[ ] I am a IWOC'24 contributor.
[ ] I am a JWOC'24 contributor.
[ ] I am a SWOC'24 contributor.

Code of Conduct

[X] I agree to follow this project's "Code of Conduct".

We already have Bill Split Calculator and Tip Calculator. Pls create new issues @MadMax1311

ok my mistake sorry for that


Update references to EGI-FCTF to point to EGI-Foundation

As the repository was moved under the EGI-Foundation organisation it's appropriate to update references still present here and there.

Committed while flying over Europe, going to Bucarest... Git is really great :)

Merged after a brain-smashing FitSM course - git is the only thing that still makes sense


[Documentation] Provide information about Palantir CLA in Dev documentation

After creating my first PR for tslint project at #3230, I noticed that developers have to sign CLA (Contribution License Agreement) at https://cla.palantir.com/
This information is provided by palantirtech bot as the first comment on PR
I couldn't find information about this CLA in Developer documentation
Can you link this information in Developer Documentation so that developers know in advance about CLA before a PR is posted?

This issue can be closed, as TSLint will be deprecated some time in 2019 (announcement)


The configuration file client.php does not exist.

i cloned the repo  but is got this error am using valet
php 7.2

hey, required files are generated during setup


client, server: add support for boringssl TLS

Depends on #165.
This branch adds support for using BoringSSL as the TLS implementation,
instead of Rustls. New feature flags, "boring-tls" and "rustls-tls", are
introduced to select which TLS implementation is used.
Rustls is treated as the "default" implementation, with the "boring-tls"
feature overriding the "rustls-tls" feature if both are selected. If
"boring-tls" is selected, the BoringSSL TLS implementation will be used
by Kubert's client and server modules. If "rustls-tls" is enabled
(and "boring-tls" is not enabled), the Rustls TLS implementation is used
by Kubert's server module, and the kube-client feature flag
"rustls-tls" is enabled, so that the client module uses Rustls (unless
overridden by kube-client features enabled by the user).
If neither feature is enabled, the client module will be
plaintext-only unless the user enables kube-client's TLS features
directly, and the server module will always be plaintext-only. I
thought it was desirable to make the server module still compile if
neither feature flag is enabled. If we would prefer to require TLS, we
could also make the server module require one of the TLS features to
be enabled. Alternatively, we could also consider adding "rustls-tls" to
the crate's default features. This would be fine to do, since the
"boring-tls" feature flag overrides the "rustls-tls" feature if both are
enabled, and the user could still disable the rustls dependencies by
disabling default features. I'm open to suggestions here.
In addition to adding the new TLS features, I've also added some
documentation explaining Kubert's crate feature flags and their
relationships and behaviors.
This is a breaking change, as it modifies the public APIs of some
error types.

The cargo deny check failure is fixed by #166. I haven't been able to figure out why the client workflow fails, as I can't reproduce the failure running the same just recipe locally, and the CI output doesn't seem to include the actual error for some reason: https://github.com/olix0r/kubert/actions/runs/5626479477/job/15247356890?pr=167#step:12:123

hmm, not sure why just test-lease-build is now failing, this branch shouldn't have done anything that touched the OpenSSL build environment, and be187e39b517aeb78dcd4fd7bf5198cf66c204c1 built successfully...

I'm fine with just having it panic, will change it!

@olix0r as of https://github.com/olix0r/kubert/pull/167/commits/a2d7650e4e456758b7fa8ea9a56ebf09b20b569d, I've updated this branch so that Server::bind will panic at runtime if neither TLS implementation is enabled. LMKWYT?

Most recent CI failure appears to be due to hitting a timeout while building the client tests: https://github.com/olix0r/kubert/actions/runs/5836031882/job/15828777506#step:11:113
I'd restart it, but I don't have the appropriate permissions to restart CI.

@olix0r thanks for the approval! I think you're going to have to be the one to click the merge button on this, as I don't have commit permissions for this repo. :)


suggestion on how to go forward

Hi @derberg , let me rethink the function to suit the arrray for option for examples but I still dk how to decrease the complexity.

@DanielChuDC it is already decreased in my PR by doing this:
    if (variablesObj) {
      setNotValidExamples(variablesObj, srvrName, notProvidedExamplesInEnum);
    }

and
/**
 * extend map with info about examples that are not part of the enum
 *
 * @function setNotValidExamples
 * @private
 * @param  {Array<Object>} variables server variables object
 * @param  {String} srvrName name of the server where variables object is located
 * @param  {Map} notProvidedExamplesInEnum result map of all wrong examples and what variable they belong to
 */
function setNotValidExamples(variables, srvrName, notProvidedExamplesInEnum) {
  const variablesMap = new Map(Object.entries(variables));
  variablesMap.forEach((variable, variableName) => {
    if (variable.enum && variable.examples) {
      const wrongExamples = variable.examples.filter(r => !variable.enum.includes(r));
      if (wrongExamples.length) {
        notProvidedExamplesInEnum.set(
          `${tilde(srvrName)}/variables/${tilde(variableName)}`,
          wrongExamples
        );
      }
    }
  });
};

so basically moving some logic to another function


selects the wrong nic device for underlay

ZET adds static routes for each controller host's routeable IP. These are intended to except the controller traffic from intercept, but the logic is flawed. The wrong network adapter device is selected for the static route.
 ❯ ip route get $(dig +short 17ba74fe-afff-4d4d-aa69-c915c4d3aecf.production.netfoundry.io)
<IP_ADDRESS> via <IP_ADDRESS> dev br-e42ee9426c2f src <IP_ADDRESS> uid 1000
    cache

In this example the public IP of the NC host was routed to a linkdown docker bridge interface.

Additionally, the static routes are left behind when ziti-edge-tunnel exits gracefully.
 ❯ ip route sh
default via <IP_ADDRESS> dev enp4s0 proto dhcp metric 100
default via <IP_ADDRESS> dev wlp3s0 proto dhcp metric 600
<IP_ADDRESS>/21 dev wlp3s0 proto kernel scope link src <IP_ADDRESS> metric 600
<IP_ADDRESS>/21 dev enp4s0 proto kernel scope link src <IP_ADDRESS> metric 100
<IP_ADDRESS>/24 dev br-a99b4ce66e0c proto kernel scope link src <IP_ADDRESS> linkdown
<IP_ADDRESS> via <IP_ADDRESS> dev br-e42ee9426c2f linkdown
<IP_ADDRESS> via <IP_ADDRESS> dev br-e42ee9426c2f linkdown
<IP_ADDRESS> via <IP_ADDRESS> dev br-e42ee9426c2f linkdown
<IP_ADDRESS>/16 dev br-1c23dd5aef59 scope link metric 1000 linkdown
<IP_ADDRESS>/16 dev docker0 proto kernel scope link src <IP_ADDRESS> linkdown
<IP_ADDRESS>/16 dev br-1d31f30b517a proto kernel scope link src <IP_ADDRESS> linkdown
<IP_ADDRESS>/16 dev br-1c23dd5aef59 proto kernel scope link src <IP_ADDRESS> linkdown
<IP_ADDRESS>/16 dev br-e42ee9426c2f proto kernel scope link src <IP_ADDRESS> linkdown

I cleaned up the spurious routes with this command.
 ❯ docker network prune
WARNING! This will remove all custom networks not used by at least one container.
Are you sure you want to continue? [y/N] y
Deleted Networks:
docker-compose-servers_default
kentest-servers_default
tmp_ziti-dnsmasq
docker_ziti-host

~ 2s
 ❮ ip route sh
default via <IP_ADDRESS> dev enp4s0 proto dhcp metric 100
default via <IP_ADDRESS> dev wlp3s0 proto dhcp metric 600
<IP_ADDRESS>/21 dev wlp3s0 proto kernel scope link src <IP_ADDRESS> metric 600
<IP_ADDRESS>/21 dev enp4s0 proto kernel scope link src <IP_ADDRESS> metric 100
<IP_ADDRESS>/16 dev docker0 proto kernel scope link src <IP_ADDRESS> linkdown

I found another case for which the network device selection algorithm must be flawed: when the default route is assigned to a bridge device the managed network device is selected for exclusion routes, but the correct choice is the bridge device.
For example, I have this network device br0 that is the primary master interface, and wired Ethernet NIC enp2s0 that is selected erroneously for the exclusion routes despite being managed by br0.
$ ip link show br0
414: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether aa:47:c8:ed:0a:80 brd ff:ff:ff:ff:ff:ff

$ ip link show enp2s0
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP mode DEFAULT group default qlen 1000
    link/ether d8:5e:d3:83:97:5e brd ff:ff:ff:ff:ff:ff

I have not experienced a recurrence of this issue.


Bug v1.10.0: Naming Community Issued Income

Desired Behaviour:

Naming of Community Issued Income should be Community Issued Income not Issauncex2

Maybe somerhing shorter like "issuance"?

Good thought. I suggest to add Issuance in address field and state "community income" / "income" instead of "No Name"

yeah, but fixing the bug doesn't resolve this issue. May I suggest the following for issuance events?

name of sender: "LEU Community" (or GBD Community....)
address of sender: "income issuance"

Yes, sure. I agree. I knew you would comment on that this was just a minimal comment during the meeting ;)


[RTU-02C] Redundant Conditional Clause

RTU-02C: Redundant Conditional Clause

Type
Severity
Location

Gas Optimization

RebaseTokenUpgradeable.sol:L78

Description:
The RebaseTokenUpgradeable::_disableRebase function is solely invoked within USTB::disableRebase whereby the new disable state of the account is guaranteed to be different.
Example:
function _disableRebase(address account, bool disable) internal {
    RebaseTokenStorage storage $ = _getRebaseTokenStorage();
    if ($.optOut[account] != disable) {
        uint256 balance = balanceOf(account);
        $.optOut[account] = disable;
        if (balance != 0) {
            if (disable) {
                RebaseTokenUpgradeable._update(account, address(0), balance);
                ERC20Upgradeable._update(address(0), account, balance);
            } else {
                ERC20Upgradeable._update(account, address(0), balance);
                RebaseTokenUpgradeable._update(address(0), account, balance);
            }
        }
        if (disable) emit RebaseDisabled(account);
        else emit RebaseEnabled(account);
    }
}

Recommendation:
We advise the referenced conditional to be omitted from the codebase, optimizing the gas cost of the function.

Thank you for your review and the suggestion made in the audit item RTU-02C regarding the redundant conditional clause in our RebaseTokenUpgradeable contract.
We understand and appreciate the importance of gas optimization and code efficiency. The conditional in question indeed appears redundant within the specific use case of the USTB::disableRebase function. However, we must consider the broader application of the RebaseTokenUpgradeable contract.
The framework we are developing aims to provide a versatile and robust foundation for various projects. The conditional clause within _disableRebase function offers a safeguard against potential misuse and unintended behavior when the function is used in different contexts where the precondition checked by USTB::disableRebase is not guaranteed.
We believe in writing code that is not only efficient but also secure and flexible enough to handle a range of scenarios. Therefore, we've decided to retain the conditional check to ensure that the contract remains resilient and functions correctly across all possible implementations.
While we acknowledge the gas optimizations your suggestion would bring in the current context, we prioritize maintaining the integrity and flexibility of the contract for its future uses.
We are committed to balancing efficiency with versatility and safety in our codebase. We are grateful for your recommendations and will continue to consider them carefully in our ongoing and future development efforts.


Update style and selects

This PR completely brings it up to speed with Hint vue dynamic form, the select we were using was the treeselect not a select tag and just tiny styling adjustments

should be ready to review!


fix ConcurrentModificationException

fix #101
Reference: https://stackoverflow.com/a/602660/6756246

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@adea44a). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #102   +/-   ##
=========================================
  Coverage          ?   63.99%
=========================================
  Files             ?       45
  Lines             ?     1408
  Branches          ?      153
=========================================
  Hits              ?      901
  Misses            ?      452
  Partials          ?       55

Continue to review full report at Codecov.

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


pmap sometimes fails under disable_jit() with jax.core.ConcretizationTypeError

I'm still working on getting an MVCE, but am not sure it's worth it. Basically, the function compiles with jit nicely and runs fine with and without disable_jit. But, when I compose with pmap and run with disable_jit it gives a ConcretizationTypeError. When I remove the disable_jit and leave pmap it works fine.
Clearly, this only happens sometimes since this is an example of a function that is fine.
def test_pmap():
    with disable_jit():
        def fun(x,z):
            print(x.shape, z.shape)
            return (x-z, x+z)
        x = jnp.ones((12,5))
        z = jnp.array([1.])

        pfun = jax.pmap(fun,in_axes=(0,None))
        pfun(x,z)

@Joshuaalbert any luck on a minimal repro? Actually, just having a stack traceback might be enough for us to figure out where the issue is! Without either I don't have any good guesses...

@mattjj I was unable to isolate the cause.
E     Use transformation parameters such as `static_argnums` for `jit` to avoid tracing input values.
E     See `https://jax.readthedocs.io/en/latest/faq.html#abstract-tracer-value-encountered-where-concrete-value-is-expected-error`.
E     Encountered value: Traced<ShapedArray(int64[])>with<SplitAxisTrace(level=0/1)>
E       with _trace = SplitAxisTrace(level=0/1)
E            __weakref__ = None

../../../../miniconda3/envs/born_rime_py/lib/python3.7/site-packages/jax/core.py:742: ConcretizationTypeError

Assertion failed


Apply #523 to Trident v20.10.2

Could you apply #523 to v20.10?
We would like to release v20.10.2 ASAP.
Because, NetApp/Trident v21.01 change to Trident orchestrator.
So our customer can't use NetApp/Trident v21.01.1 yet.
Also it's related #508.
When upgrade NetApp/Trident, our customer doesn't operate kubectl command.
It's like GitOps (#358 ）
I know the NetApp/Trident don't support #358 and #508 yet.
Therefore, it's difficult that we can't update NetApp/Trident v21.01 or later yet.

Issues #358 and #508 were addressed in the Trident 21.04 release. This issue can be reopened if it is not fully resolved.


Fix/split flyway scripts

Each flyway script in a sql file are executed in a transaction.
Currently there is a huge script 1.3.29 where a lot is happening and it's currently timing out on the production instance.
It was naive of me to put them all in one file, so I split them up in this PR in the hope they will now run.
This will require surgery on the prod db as flyway table will need manual fix.

@nemo83 We also need to disable the Flyway "group" option to ensure all migration files run in separate transactions.
https://documentation.red-gate.com/fd/group-224919719.html
I've fixed it.


lix: init at 2.90-beta.1

Description of changes
Lix is a fork of CppNix, the original Nix implementation. It behaves like nixVersions.* in terms of packaging with a big difference: it uses Meson for its build system.
Therefore, it is not possible to share the packaging trees.
The rest is pretty mundane:

Lix will passthru all the time to the nixosTests.misc to smoke test any critical regressions as a last line after all our regression battery on the Lix project side.
Cross compilation has been extensively tested.
Static compilation is known to fail on a test.

Internal API documentation is out of scope for this PR.
Things done

[x] Use RFC formatter on expressions
[x] Unit tests are run
[x] Functional tests are run
Built on platform(s)

[x] x86_64-linux

[x] .doc verified
[x] .debug verified
[x] .dev verified

[x] aarch64-linux
[x] cross compilation to aarch64-linux from x86_64-linux
[x] cross compilation to riscv64-linux from x86_64-linux
[x] cross compilation to armv7l-linux from x86_64-linux
[x] static compilation for x86_64-linux: :red_circle: -- this doesn't work: https://0x0.st/XKiG.txt -- marked broken, tracked under https://git.lix.systems/lix-project/lix/issues/306
[x] aarch64-darwin
[x] x86_64-darwin
[x] cross compilation aarch64-linux from aarch64-darwin: :red_circle:  -- this doesn't work: https://0x0.st/XK-A.txt, tracked under https://git.lix.systems/lix-project/lix/issues/307

Closure size / reference review, tracked under https://git.lix.systems/lix-project/lix/issues/308

[x] Darwin:

[x] aarch64-darwin: /nix/store/rb4s95dpl9s33zax58jp15dgg06a0m6h-lix-2.90-beta.1                        	 14.6M (+1MB with Nix!)
[x] x86_64-darwin: /nix/store/awcgvimn965qz3qyiqrxpd0cfi381fhl-lix-2.90-beta.1                        	 14.9M (+0.7MB with Nix!)

[x] Linux:

[x] x86_64-linux: /nix/store/23paa6b9ijxq6lwxl5ad0bmly01rrj52-lix-2.90-beta.1                                	 18.7M (+7MB with Nix)
[x] aarch64-linux: /nix/store/w4i6zfqh3i7kavn2hr4gyk645hbvfxz3-lix-2.90-beta.1                                 	 18.4M (+8MB with Nix)

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[x] sandbox = true

[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)

[x] Ran nixosTests.misc
[x] Ran nixosTests.installer.simple with it: https://0x0.st/XK-f.txt

[x] Tested basic functionality of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

misc = nixosTests.misc.lix.passthru.override { nixPackage = self; };

What does it do? It does not eval for me:
$ nix build -f. lix.tests
error: attribute 'passthru' missing
       at /home/slyfox/dev/git/nixpkgs-master/pkgs/tools/package-management/lix/common.nix:260:16:
          259|       tests = {
          260|         misc = nixosTests.misc.lix.passthru.override { nixPackage = self; };
             |                ^
          261|       };

Does it try to refer the package definition itself?

misc = nixosTests.misc.lix.passthru.override { nixPackage = self; };

What does it do? It does not eval for me:
$ nix build -f. lix.tests
error: attribute 'passthru' missing
       at pkgs/tools/package-management/lix/common.nix:260:16:
          259|       tests = {
          260|         misc = nixosTests.misc.lix.passthru.override { nixPackage = self; };
             |                ^
          261|       };

Does it try to refer the package definition itself?

I think I broke this when I fixed the channel blocker but the idea was that it could just reparametrize the misc test with that particular package.

I see. Looking at nixos/tests/all-tests.nix it looks like it strips passthru and only leaves it's value:
  discoverTests = val:
    if isAttrs val
    then
      if hasAttr "test" val then callTest val
      else mapAttrs (n: s: if n == "passthru" then s else discoverTests s) val

But in this case even that did not survive:
$ nix repl -f .
nix-repl> lib.attrNames nixosTests.misc.lix
[
  "config"
  "driver"
  "driverInteractive"
  "drvPath"
  "meta"
  "name"
  "nodes"
  "out"
  "outPath"
  "outputName"
  "outputs"
  "system"
  "type"
]

I see. Looking at nixos/tests/all-tests.nix it looks like it strips passthru and only leaves it's value:
  discoverTests = val:
    if isAttrs val
    then
      if hasAttr "test" val then callTest val
      else mapAttrs (n: s: if n == "passthru" then s else discoverTests s) val

But in this case even that did not survive:
$ nix repl -f .
nix-repl> lib.attrNames nixosTests.misc.lix
[
  "config"
  "driver"
  "driverInteractive"
  "drvPath"
  "meta"
  "name"
  "nodes"
  "out"
  "outPath"
  "outputName"
  "outputs"
  "system"
  "type"
]

Yeah, that's annoying… I need to modify that discovery logic to re-inject it at some other level, maybe.

Proposed trivial fix to get at least some test coverage and unbreak the eval as https://github.com/NixOS/nixpkgs/pull/317956


http://vis.mmdnn.com/ redirects to Bing

There's a link in the README that goes to http://vis.mmdnn.com/. But that resolves to Bing...
$ curl -v http://vis.mmdnn.com/
*   Trying <IP_ADDRESS>:80...
* Connected to vis.mmdnn.com (<IP_ADDRESS>) port 80 (#0)
> GET / HTTP/1.1
> Host: vis.mmdnn.com
> User-Agent: curl/7.71.1
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 302 Found
< Cache-Control: private
< Content-Type: text/html; charset=utf-8
< Location: http://www.bing.com/search?q=vis mmdnn&form=MSDTR1
< Server: Microsoft-IIS/10.0
< X-AspNet-Version: 4.0.30319
< X-Powered-By: ASP.NET
< Date: Thu, 06 Aug 2020 22:32:30 GMT
< Content-Length: 113
<

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>

</title></head>

</html>
* Connection #0 to host vis.mmdnn.com left intact

I think previous server is down and you might follow the construction here for the visualization though the code is old here.

@jonashaag, thank you very much for the feedback. Such a server has been shut down and we will update the document.
@JiahaoYao , thank you very much for the explanation.


[POI-Bug-67475] Better support for edge cases in TEXT function.

Bugzilla URL: https://bz.apache.org/bugzilla/show_bug.cgi?id=67475
SVN revision: https://svn.apache.org/viewvc?view=revision&revision=1912973
This also fixes parsing of doubles in DataFormatter as it will now pass current culture object to double.Parse() method.

The changes in FormatRawCellContents method caused the failure of TestDataFormatter.TestGrouping and TestDataFormatter.TestLocale. I have to revert the changes.


Behaviour when all redis master shards go down simultaneously.

Hi @bjosv,
Let me explain the scenario. We have a set of redis pods(say 3 master shards, each having 1 replica associated) behind a kubernetes Service IP. So initially, while connecting to hiredis-cluster we pass the Service IP as the target IP. hiredis-cluster then discovers the set of ips behind the service later by means of 'cluster nodes' command and updates its internal map to have all the new ips (3 master ips) as reachable ips.
But let's say at some point in time all the 3 master ips (and its replicas as well) went down simultaneously. I wanted to understand what the recovery mechanism is in such a scenario. Since hiredis-cluster doesn't have the k8s service Ip stored, it won't be able to relearn the new IPs (after reboot) if my understanding is correct.
Is reinitialising the hiredis-cluster the only way forward?

Interesting, as of now you assessment that a re-initialization is needed in this scenario is correct.
The initially given addresses are replaced with the knowledge (addresses) from the Redis cluster.
Is this triggered by tests or is it a likely scenario with the Redis operator you are using?
What do you believe is the best way to handle this scenario?
Should the initially added nodes be kept and used as a last resort when attempting to get the slot information from the cluster.
..or should there be an additional API for this?

Ya as part of some resiliency tests, this particular scenario was attempted.
I was thinking storing the k8s fqdn/ip which is initially passed to hiredis-cluster in the cache would be the best option. Since service is not bound to change at any point (for power failure sort of scenarios), if we tag that to the current cluster discovery mechanism, we could fallback to the k8s service if all the previously learned nodes return an error or something like that.


Fix/inaccessible struct initializer

Structs must have manually implemented public initializers.

Yep, pretty unintuitive at first, but makes sense...


The session file is created repeatedly when use multiple middleware

Laravel Version: 5.5.40
PHP Version: 7.0.30
Database Driver & Version: mysql 5.7.22

Description:
1.The session file is created repeatedly when use multiple middleware (code 1).
2.Using multiple middleware as array,only the first middleware will take effect (code 2).
Steps To Reproduce:
code:

   Route::group(['middleware' => ['web']], function () {
        //route one
   });
   Route::group(['middleware' => ['another_middleware']], function () {
        //route two
   });

   Route::group(['middleware' => ['web', 'another_middleware']], function () {
        //route
   });

Extra
I'm using the ubuntu 16.04(x64),session driver is file.

I've not been able to recreate the bug on Mac OS but I will look into it on Ubuntu this evening.
Can you tell us more about what your middleware are doing?
I'm working under the assumption that 'web' is the standard web middleware group?
And what is happening inside another_middleware?

Are these routes in web.php? Every route in web.php is already utilizing the "web" middleware by default. So it is unnecessary to use it again.

@andrewnclark @devcircus First of all, thank you for your guidance and help. I am defining the middleware in the routes/api.php file, I do not know if this will have any impact. I will post the relevant code below.

Middleware (app/Http/Middleware/VerifyAuthorizedToken.php This is 'another_middleware')

<?php

namespace App\Http\Middleware;

use App\Models\Admin;
use Closure;

class VerifyAuthorizedToken
{
    public function handle($request, Closure $next)
    {
        $token = "authorization token";
        //check $token
        if (!$token) {
            return response()->json([
                "status" => 1,
                "msg"    => "not authorized",
            ], 401, [], JSON_UNESCAPED_UNICODE);
        }
        $admin_instance        = new Admin;
        list($valid, $account) = $admin_instance->verifyToken($token);
        if ($valid === false) {
            return response()->json([
                "status" => 1,
                "msg"    => "not authorized",
            ], 401, [], JSON_UNESCAPED_UNICODE);
        } else {
            //refresh token ttl
            $admin_instance->saveToken($token, $account, 60 * 60 * 2);
        }
        return $next($request);
    }
}

Kernel(app/Http/Kernel.php)

//...

protected $middlewareGroups = [
        'web' => [
            \App\Http\Middleware\EncryptCookies::class,
            \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
            \Illuminate\Session\Middleware\StartSession::class,
            // \Illuminate\Session\Middleware\AuthenticateSession::class,
            \Illuminate\View\Middleware\ShareErrorsFromSession::class,
            \App\Http\Middleware\VerifyCsrfToken::class,
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
        ],
        "verify_authorized_token" => [
            \App\Http\Middleware\VerifyAuthorizedToken::class,
        ],

        'api' => [
            'throttle:60,1',
            'bindings',
        ],
    ];

//...

Route(routes/api.php)

Route::prefix("v1/account")->group(function(){
		Route::post("login", "UserController@postLogin");
		Route::post("logout", "UserController@postLogout");
	});
//only the first middleware(web) will take effect
Route::group(["middleware" => ["web","verify_authorized_token"]], function(){
	Route::prefix("v1/utils")->group(function(){
		//routes
	});
	Route::prefix("v1/article")->group(function(){
		//routes
	});
});

My web App is a single-page application(SPA), and I think the route that starts with the API as an AJAX-like access So I defined this type of routing in api.php, and he happened to help me implement the route at the beginning of the API, but I still wanted to be able to use the Csrf-token protection mechanism, and finally I defined this kind of routing rule in api.php. I don't know if it's reasonable.
I used the following routing definition in the previous 5.2 release and it works fine
Route::group(["middleware" => ["web"]], function(){
    //this route utilizing the 'web' middleware
   Route::post("route1", "...");
    Route::group(["middleware" => ["auth"]], function(){
        //this route utilizing the 'web' and 'auth' middleware
        Route::post("route2", "...");
    });
});

If I use such a definition in version 5.5.40, the session file will be created two times


DOC-2999: fixes note style

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app


IE11 userAgent() doesn't return 'IE'

Issue
[x] I've read above note and I'm quite sure I have a real issue with mobile-detect.js
Here's the userAgent string
Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729; Tablet PC 2.0; rv:11.0) like Gecko
I tried using the mobile-detect.min.js and failed to get userAgent(), it is just empty.

I suppose you haven't used the library as intended/documented.
Please send the code where you instantiate (new) MobileDetect.

var mobileDetect = new MobileDetect(window.navigator.userAgent);
console.log(mobileDetect.userAgent()); // returns empty
console.log(mobileDetect.userAgents()); // returns [] also empty

this library works only for mobile environments.
Most info (like userAgent) target mobile browsers.
See also #73


[typescript] --reference-workspaces issue?

We're using nimbus, built on beemo, for our monorepo vx project. We've recently started seeing CI failures due to typescript errors when e.g., package-b depends on types from package-a, and but during compilation the types from package-a are not defined:
##[error]packages/package-b/src/xxx.ts: error TS2305: Module '"../../node_modules/@vx/package-a/lib/types"' has no exported member 'YYY'.

From my understanding, monorepo typescript build order is specified by references in tsconfig.json files, and with beemo the --reference-workspaces flag constructs these dependencies from the dependency tree. Locally these reference dependencies look correct (e.g,. xychart references scale and axis, and axis references scale) and locally I don't see the typescript errors that we see in CI if I first remove all tsconfig.json and tsconfig.tsbuildinfo files in all monorepo package directories. I'm wondering if there's any way that in CI / a git workflow env these files might be cached or behave differently.
Thanks for the great library and for any thoughts! 🙌

@williaster So the order in which packages get "typed" is done by TypeScript, not Beemo. It's built into the project references layer itself.
Do you know which change caused these failures to start?

I tried to trace it down to the exact commit and was able to figure out that it was a rebase issue after publishing.
so the package I was working on referenced an old version in the monorepo, and it didn't have the type exports I was attempting to import. sorry for the back and forth, learned a lot about typescript references tho! 🙏

@williaster Awesome, glad you figured it out!


[BUG] SearchClient fails to delete scroll due to incorrect request path

Describe the bug
SearchClient.deleteScroll method sends a DELETE request to an incorrect path: /scroll/<id> instead of /_search/scroll/<id> (see docs).
This also affects SearchClient.scroll(response: SearchResponse), which is expected to delete the scroll at the end by using SearchClient.deleteScroll.
To Reproduce

Call SearchClient.deleteScroll(id)
Call SearchClient.scroll(id).

Expected: 404: No search context found for id
Actual: the next batch of search results is returned
Will you be able to help with a pull request?
I am going to open a PR that fixes the SearchClient.deleteScroll implementation right away.

Thanks for this! Somehow this slipped through. I think searchAfter is recommended now, which is what I mostly use.


type embeded support

Is your feature request related to a problem? Please describe.
swag init
...
2019/05/01 19:40:40 Generating model.User
2019/05/01 19:40:40 Field type of '*ast.SelectorExpr' is unsupported. Skipping
...
Describe the solution you'd like
feature support embeded field structure
Additional context
type User struct {
gorm.Model
UserName       string        json:"username" valid:"required"
FullName       string        json:"fullname" valid:"required"
....
}

Duplicated. See #376


added margin to the report form

My issue number is #152
Added margin to the report form

@K-kiran77  as this is very minor change,
you'll not get any levels,
Do some major change to get levels,


Bundeled server lambda - Unexpected syntax errors

I am trying to deploy freshly created next project<EMAIL_ADDRESS>using open-next on my own (without SST) using Cloudformation.
To build the project I am using following command:
npx --yes<EMAIL_ADDRESS>build --dangerously-disable-dynamodb-cache
:heavy_check_mark: The build goes through fine.
:heavy_check_mark: I am able to zip the serverFunction and deploy it using following config:
MyWebServerFunctionFunction:
    Type: AWS::Lambda::Function
    Properties:
      FunctionName: next-test-myWebServerFunction
      Code:
        S3Key: ee53a040691e593de5d4b28b8ba685901070068d.zip
        S3Bucket: stp-deployment-bucket-91f593ef
      Handler: index.handler
      MemorySize: 1024
      Timeout: 30
      Environment:
        Variables:
          CACHE_BUCKET_NAME:
            Ref: MyWebBucketBucket
          CACHE_BUCKET_PREFIX: _cache
          CACHE_BUCKET_REGION: eu-west-1
          REVALIDATION_QUEUE_URL:
            Ref: MyWebRevalidationQueueQueue
          REVALIDATION_QUEUE_REGION: eu-west-1
      Role:
        Fn::GetAtt:
          - MyWebServerFunctionRole
          - Arn
      Runtime: nodejs18.x

:crossed_swords:  however upon invocation, the lambda function crashes. After inspecting Cloudwatch logs this is what I found:
2023-10-17T12:38:41.680Z	undefined	ERROR	Uncaught Exception 	{
    "errorType": "Runtime.UserCodeSyntaxError",
    "errorMessage": "SyntaxError: Unexpected string",
    "stack": [
        "Runtime.UserCodeSyntaxError: SyntaxError: Unexpected string",
        "    at _loadUserApp (file:///var/runtime/index.mjs:1058:17)",
        "    at async UserFunction.js.module.exports.load (file:///var/runtime/index.mjs:1093:21)",
        "    at async start (file:///var/runtime/index.mjs:1256:23)",
        "    at async file:///var/runtime/index.mjs:1262:1"
    ]
}

Interestingly if I change something within my src/app/page.tsx the error varies a bit. I.e I can get
2023-10-17T12:53:30.208Z	undefined	ERROR	Uncaught Exception 	{"errorType":"Runtime.UserCodeSyntaxError","errorMessage":"SyntaxError: Unexpected token '}'","stack":["Runtime.UserCodeSyntaxError: SyntaxError: Unexpected token '}'","    at _loadUserApp (file:///var/runtime/index.mjs:1058:17)","    at async UserFunction.js.module.exports.load (file:///var/runtime/index.mjs:1093:21)","    at async start (file:///var/runtime/index.mjs:1256:23)","    at async file:///var/runtime/index.mjs:1262:1"]}

It is still a syntax error but somewhat different.
Do you have any idea what the problem might be here?

Ok seems like my zip is somehow getting corrupted so this will probably be mistake on my side... closing this one


Need help with configuration

Hello,
I have a couple of questions regarding the configuration of Dependabot in Azure DevOps since it seems like I have missed something.
Digest: sha256:a6517bb26d0342ccbce7a2ea0121ba7e8c2fc74c23667c1ebc1033936ed55868
Status: Downloaded newer image for tingle/dependabot-azure-devops:0.5
/home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-common-0.180.1/lib/dependabot/clients/azure.rb:239:in 'get': Dependabot::Clients::Azure::NotFound (Dependabot::Clients::Azure::NotFound)
	from /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-common-0.180.1/lib/dependabot/clients/azure.rb:95:in 'fetch_repo_contents_treeroot'
	from /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-common-0.180.1/lib/dependabot/clients/azure.rb:71:in 'fetch_repo_contents'
	from /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-common-0.180.1/lib/dependabot/file_fetchers/base.rb:309:in '_azure_repo_contents'
	from /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-common-0.180.1/lib/dependabot/file_fetchers/base.rb:208:in '_fetch_repo_contents_fully_specified'
	from /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-common-0.180.1/lib/dependabot/file_fetchers/base.rb:179:in '_fetch_repo_contents'
	from /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-common-0.180.1/lib/dependabot/file_fetchers/base.rb:163:in 'repo_contents'
	from /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-nuget-0.180.1/lib/dependabot/nuget/file_fetcher.rb:184:in 'csproj_file'
	from /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-nuget-0.180.1/lib/dependabot/nuget/file_fetcher.rb:55:in 'project_files'
	from /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-nuget-0.180.1/lib/dependabot/nuget/file_fetcher.rb:28:in 'fetch_files'
	from /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-common-0.180.1/lib/dependabot/file_fetchers/base.rb:65:in 'files'
	from ./update-script.rb:245:in '<main>'
Using hostname = 'dev.azure.com', protocol = 'https', port = '443'.
...

Do we have to add/install some other tasks to the pipeline except the Dependabot task?
We have a C# solution with several projects and one packages.config for each project. Is it enough to specify the top level folder or do we have to specify each folder/file?
If we want to check both NuGet and npm do we have to have two different tasks targetting NuGet and npm separately?
Is it possible to activate a debug mode for Dependabot with more verbose log?

Let me know if I need to provide additional information.
/Peter

Do we have to add/install some other tasks to the pipeline except the Dependabot task?

No you do not.

We have a C# solution with several projects and one packages.config for each project. Is it enough to specify the top level folder or do we have to specify each folder/file?

I have not used packages.config in years. When working with the newer csproj format (is it still new?), dependabot will update all projects in the repository if you specify directory: '/'.

If we want to check both NuGet and npm do we have to have two different tasks targetting NuGet and npm separately?

Yes. Each ecosystem gets is own task in the pipeline if you are not using the config file. If you are using the config file, you need one task with useConfigFile: true input and multiple updates in the config file. For more on the config file see this description

Is it possible to activate a debug mode for Dependabot with more verbose log?

Yes. You can do this by adding EXCON_DEBUG=1 to the env variables. Add the extraEnvironmentVariables inut e.g. extraEnvironmentVariables: 'EXCON_DEBUG=1'

To get the Dependabot::Clients::Azure::NotFound exception, there should be at least one HTTP call made to Azure. This should be visible with the input extraEnvironmentVariables: 'EXCON_DEBUG=1'. This is useful to determine the request, its path, the response code and error information, using which we can tell what the actual issue is. It is possible that it is an authentication issue or dependency directory issue.
Also, you can try a number of combinations of the directory locally on your machine using docker. See how to use docker here

To set the variable in the pipeline,
- task: dependabot@1
  inputs:
    packageManager: 'nuget'
    directory: '/'
    extraEnvironmentVariables: 'EXCON_DEBUG=1'

The task input named directory maps to the env named DEPENDABOT_DIRECTORY. The value to set here should be relative to the repository. To get access to the root of your repository use / as the value. This should work for NuGet. However, you may need to specify a different value depending on the structure; e.g. /src if all NuGet related items are under the src folder
When working in Docker you need to specify more items.

Here is some more details from the debug log. Hope I did not left out too much. Don't know how it resolved 'C:/Program%20Files/Git' as the path to the repository because that's not correct either locally (C:/Workspace/Git/transpa) or in Azure DevOps (/home/vsts/work/1/s).
excon.request
  :host                => "dev.azure.com"
  :method              => :get
  :path                => "/transpa/transPA/_apis/git/repositories/transpa/stats/branches"
  :query               => "name=development"
excon.response
  :status        => 200

excon.request
  :host                => "dev.azure.com"
  :method              => :get
  :path                => "/transpa/transPA/_apis/git/repositories/transpa/items"
  :query               => "path=C:/Program%20Files/Git&versionDescriptor.versionType=commit&versionDescriptor.version=a4db6de08f5f41a28aa562cf9fff3fc5760d8440"
excon.response
  :body          => "{\"$id\":\"1\",\"innerException\":null,\"message\":\"TF401174: The item 'C:/Program Files/Git' could not be found in the repository 'transpa' at the version specified by '<Commit: a4db6de08f5f41a28aa562cf9fff3fc5760d8440 >' (resolved to commit 'a4db6de08f5f41a28aa562cf9fff3fc5760d8440')\",\"typeName\":\"Microsoft.TeamFoundation.Git.Server.GitItemNotFoundException, Microsoft.TeamFoundation.Git.Server\",\"typeKey\":\"GitItemNotFoundException\",\"errorCode\":0,\"eventId\":3000}"
  :status        => 404

/home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-common-0.182.0/lib/dependabot/clients/azure.rb:239:in `get': Dependabot::Clients::Azure::NotFound (Dependabot::Clients::Azure::NotFound)
        from /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-common-0.182.0/lib/dependabot/clients/azure.rb:95:in `fetch_repo_contents_treeroot'
        from /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-common-0.182.0/lib/dependabot/clients/azure.rb:71:in `fetch_repo_contents'
        from /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-common-0.182.0/lib/dependabot/file_fetchers/base.rb:309:in `_azure_repo_contents'
        from /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-common-0.182.0/lib/dependabot/file_fetchers/base.rb:208:in `_fetch_repo_contents_fully_specified'
        from /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-common-0.182.0/lib/dependabot/file_fetchers/base.rb:179:in `_fetch_repo_contents'
        from /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-common-0.182.0/lib/dependabot/file_fetchers/base.rb:163:in `repo_contents'
        from /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-nuget-0.182.0/lib/dependabot/nuget/file_fetcher.rb:184:in `csproj_file'
        from /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-nuget-0.182.0/lib/dependabot/nuget/file_fetcher.rb:55:in `project_files'
        from /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-nuget-0.182.0/lib/dependabot/nuget/file_fetcher.rb:28:in `fetch_files'
        from /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-common-0.182.0/lib/dependabot/file_fetchers/base.rb:65:in `files'
        from ./update-script.rb:245:in `<main>'

@PCarlsson
Using a dependabot.yml file is optional. This repository only supports using it via the extension. It should be located at the root of the repository in a folder named .azuredevops.
The file looks the same as the official one, excluding sections for private registries.
Below is an example of one I use:
version: 2
updates:
  - package-ecosystem: "nuget" # See documentation for possible values
    directory: "/" # Location of package manifests
    schedule:
      interval: "daily"
      time: "02:00"
    open-pull-requests-limit: 10
  - package-ecosystem: "npm" # See documentation for possible values
    directory: "/src/website" # Location of package manifests
    schedule:
      interval: "daily"
      time: "10:00"
    open-pull-requests-limit: 10
    ignore:
      - dependency-name: "react"

Here is some more details from the debug log. Hope I did not left out too much. Don't know how it resolved 'C:/Program%20Files/Git' as the path to the repository because that's not correct either locally (C:/Workspace/Git/transpa) or in Azure DevOps (/home/vsts/work/1/s).

Could you just leave the path as / ?

The odd thing is that I already had it set to / with DEPENDABOT_DIRECTORY=/. But perhaps that's not the right settings?
Now I added AZURE_VIRTUAL_DIRECTORY=/ and got the following error. Not a request error this time.
Please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.
/usr/lib/ruby/2.7.0/uri/rfc3986_parser.rb:67:in `split': bad URI(is not URI?): "https://dev.azure.com:443/C:/Program Files/Git//transpa/transPA/_apis/git/repositories/transpa/stats/branches?name=development" (URI::InvalidURIError)
        from /usr/lib/ruby/2.7.0/uri/rfc3986_parser.rb:73:in `parse'
        from /usr/lib/ruby/2.7.0/uri/common.rb:234:in `parse'
        from /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/excon-0.92.2/lib/excon.rb:121:in `new'
        from /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/excon-0.92.2/lib/excon.rb:250:in `get'
        from /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-common-0.182.0/lib/dependabot/clients/azure.rb:222:in `block in get'
        from /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-common-0.182.0/lib/dependabot/clients/azure.rb:286:in `retry_connection_failures'
        from /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-common-0.182.0/lib/dependabot/clients/azure.rb:221:in `get'
        from /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-common-0.182.0/lib/dependabot/clients/azure.rb:52:in `fetch_commit'
        from /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-common-0.182.0/lib/dependabot/file_fetchers/base.rb:73:in `commit'
        from /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-common-0.182.0/lib/dependabot/file_fetchers/base.rb:386:in `_full_specification_for'
        from /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-common-0.182.0/lib/dependabot/file_fetchers/base.rb:176:in `_fetch_repo_contents'
        from /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-common-0.182.0/lib/dependabot/file_fetchers/base.rb:163:in `repo_contents'
        from /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-nuget-0.182.0/lib/dependabot/nuget/file_fetcher.rb:184:in `csproj_file'
        from /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-nuget-0.182.0/lib/dependabot/nuget/file_fetcher.rb:55:in `project_files'
        from /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-nuget-0.182.0/lib/dependabot/nuget/file_fetcher.rb:28:in `fetch_files'
        from /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-common-0.182.0/lib/dependabot/file_fetchers/base.rb:65:in `files'
        from ./update-script.rb:245:in `<main>'
Using hostname = 'dev.azure.com', protocol = 'https', port = '443'.
Using 'https://dev.azure.com:443/C:/Program Files/Git//' as API endpoint
Fetching nuget dependency files for transpa/transPA/_git/transpa
Targeting 'development' branch under 'C:/Program Files/Git/' directory
Using 'auto' requirements update strategy

As per your log, the URI is wrong. The directory needs to be relative to the root of the repository and is not OS specific.
I suggest you try to get the extension working with simpler repositories where you can use the default settings.

Thank you for your patience!
It feels like I misunderstand something in the settings.
I get Targeting 'development' branch under '/' directory:
Status: Downloaded newer image for tingle/dependabot-azure-devops:0.5
warning: parser/current is loading parser/ruby27, which recognizes2.7.6-compliant syntax, but you are running 2.7.5.
Please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.
/home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-nuget-0.182.0/lib/dependabot/nuget/file_fetcher.rb:42:in `fetch_files': Dependabot::DependencyFileNotFound (Dependabot::DependencyFileNotFound)
	from /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-common-0.182.0/lib/dependabot/file_fetchers/base.rb:65:in `files'
	from ./update-script.rb:245:in `<main>'
Using hostname = 'dev.azure.com', protocol = 'https', port = '443'.
Using '[https://dev.azure.com:443/'](https://dev.azure.com/') as API endpoint
Fetching nuget dependency files for transpa/transPA/_git/transpa
Targeting 'development' branch under '/' directory
Using 'auto' requirements update strategy

I have also tested with /home/vsts/work/1/s where I can see the git repository is downloaded.
I thought that the setting Directory (Set the directory from where Dependabot should check for updates. Examples: / for root, /src for src folder.) should point to the directory where the git repository was downloaded by the Azure DevOps build pipeline. Or if set to / (root) it would search recursively for the correct folder. But maybe this should point on something else?
And I have not changed anything under the other settings (Auto Approval and Auto Completion of PR's, GitHub authentication, Advanced, Control Options or Output Variables)

@PCarlsson Could you share a sample repository preferably as a public project on Azure DevOps? You can remove anything sensitive.
This might be the only way to know the extract layout we're dealing with hence eventually help you out.

I will see what I can set up.


[Merge] records that seem to differ only in word order or punctuation

Note  this list may be out of date because it is based on the April release
mondo_id	name	mondo_id	name
MONDO_0010059	spinal muscular atrophy, type I, with congenital bone fractures	MONDO_0014806	spinal muscular atrophy with congenital bone fractures 1
MONDO_0013816	palmoplantar keratoderma, mutilating, with periorificial keratotic plaques	MONDO_0019014	mutilating palmoplantar keratoderma with periorificial keratotic plaques
MONDO_0013850	periodic fever, menstrual cycle-dependent	MONDO_0044660	menstrual cycle-dependent periodic fever
MONDO_0015425	lethal recessive chondrodysplasia	MONDO_0022725	chondrodysplasia lethal recessive
MONDO_0005302	attention deficit hyperactivity disorder	MONDO_0007743	attention deficit-hyperactivity disorder
MONDO_0007539	encephalopathy, recurrent, of childhood	MONDO_0023065	encephalopathy recurrent of childhood
MONDO_0007796	hypoparathyroidism, familial isolated	MONDO_0016390	familial isolated hypoparathyroidism
MONDO_0008408	scapuloperoneal spinal muscular atrophy	MONDO_0010058	spinal muscular atrophy, scapuloperoneal
MONDO_0008761	alpha-2-deficient collagen disease	MONDO_0022423	alpha-2 deficient collagen disease
MONDO_0010560	cleft palate with or without ankyloglossia, X-linked	MONDO_0017938	X-linked cleft palate with or without ankyloglossia
MONDO_0010682	myoclonic epilepsy, progressive	MONDO_0020074	progressive myoclonic epilepsy
MONDO_0016002	Ehlers-Danlos syndrome, kyphoscoliotic type	MONDO_0034024	kyphoscoliotic ehlers-danlos syndrome
MONDO_0016368	Rothmund-Thomson syndrome type 1	MONDO_0032840	rothmund-thomson syndrome, type 1
MONDO_0010898	Autosomal dominant epilepsy with auditory features	MONDO_0100031	autosomal dominant epilepsy with auditory features
MONDO_0020435	atrial septal defect, coronary sinus type	MONDO_0022512	atrial septal defect coronary sinus
MONDO_0001676	erythropoietic protoporphyria	MONDO_0008319	protoporphyria, erythropoietic
MONDO_0007450	neurohypophyseal diabetes insipidus	MONDO_0010582	diabetes insipidus, neurohypophyseal type
MONDO_0011261	spondyloepiphyseal dysplasia, Nishimura type	MONDO_0032835	spondyloepiphyseal dysplasia, nishimura type
MONDO_0011268	renal tubular acidosis, distal, autosomal recessive	MONDO_0018440	autosomal recessive distal renal tubular acidosis
MONDO_0014988	3-methylglutaconic aciduria, type VIII	MONDO_0044723	3-methylglutaconic aciduria type 8

MONDO_0007796 hypoparathyroidism, familial isolated MONDO_0016390 familial isolated hypoparathyroidism
Note: from GARD: they changed it in GARD too.

MONDO_0010560 cleft palate with or without ankyloglossia, X-linked MONDO_0017938 X-linked cleft palate with or without ankyloglossia
From GARD: Changed GARD term to “X-linked cleft palate and ankyloglossia” according to Orphanet and to the phenotype.

MONDO_0013850 periodic fever, menstrual cycle-dependent MONDO_0044660 menstrual cycle-dependent periodic fever
From GARD:  We don’t have this one but will add it to the list of disorders considered for inclusion

MONDO_0013816 palmoplantar keratoderma, mutilating, with periorificial keratotic plaques MONDO_0019014 mutilating palmoplantar keratoderma with periorificial keratotic plaques
From GARD:  We have this one as Olmsted syndrome but we have Mutilating palmoplantar keratoderma (PPK) with periorificial keratotic plaques as a synonym.

MONDO_0010898 Autosomal dominant epilepsy with auditory features MONDO_0100031 autosomal dominant epilepsy with auditory features
From GARD: We have this one as “Autosomal dominant partial epilepsy with auditory features” according to several sources

MONDO_0015425 lethal recessive chondrodysplasia MONDO_0022725 chondrodysplasia lethal recessive
From GARD:  We have “Lethal recessive chondrodysplasia” as per Orphanet

MONDO_0005302 attention deficit hyperactivity disorder MONDO_0007743 attention deficit-hyperactivity disorder
From GARD: Not a rare disease but according to the Manual of psychiatry the term is Attention-deficit hyperactivity disorder, even so I have seen it in different way depending on the source.

MONDO_0008408 scapuloperoneal spinal muscular atrophy MONDO_0010058 spinal muscular atrophy, scapuloperoneal
From GARD: I think the preferred term for the order should be scapuloperoneal spinal muscular atrophy.

MONDO_0016368 Rothmund-Thomson syndrome type 1 MONDO_0032840 rothmund-thomson syndrome, type 1
From GARD:  in GARD we don’t have subtypes of rothmund-thomson syndrome but the proposed term order seem correct to me.

MONDO_0020435 atrial septal defect, coronary sinus type MONDO_0022512 atrial septal defect coronary sinus
From GARD: Same as GARD

MONDO_0007450 neurohypophyseal diabetes insipidus MONDO_0010582 diabetes insipidus, neurohypophyseal type
From GARD: We have it as “Central diabetes insipidus”  according to Orphanet but has added neurohypophyseal diabetes insipidus as a synonym (please note the order of words)

MONDO_0011261 spondyloepiphyseal dysplasia, Nishimura type MONDO_0032835 spondyloepiphyseal dysplasia, nishimura type
From GARD: We don’t have this one but I will add it for consideration for inclusion to my list

MONDO_0011268 renal tubular acidosis, distal, autosomal recessive MONDO_0018440 autosomal recessive distal renal tubular acidosis
From GARD:  Same in GARD

MONDO_0014988 3-methylglutaconic aciduria, type VIII MONDO_0044723 3-methylglutaconic aciduria type 8
From GARD: We don’t have this one in GARD but I will add it for consideration for inclusion to my list

I agree that menstrual cycle-dependent periodic fever and periodic fever, menstrual cycle-dependent should be merged.

Everything here is done! The changes will be available in the next release. Closing.


ocw-www educator page

As a user, I'd like to find out more about OCW features that support educators
Designs and Mockups
desktop: https://invis.io/7Y12598HHF6E#/462148864_Educators_Start_Here
mobile: TBD, although I don't think it requires anything special
copy: https://docs.google.com/document/d/1DTD0cHXB_n3UH1HZwyD8adFOfrgxfY_zSzY5pTTyKyE
Acceptance Criteria:

[ ] for now, this should all be part of the ocw-www theme. In the future, we may consider exposing some of it through studio.
[ ] As much as possible, styles should follow existing styles (e.g. fonts & colors), especially those added in #303
[ ] One long, scrolling page
[ ] on-page nav should stay sticky, at top of viewport when user scrolls down (mobile UX TBD)
[ ] clicking on item in on-page nav should smooth-scroll down to the appropriate section, not jump.
[ ] SRC images should be available in InVision
[ ] video at https://www.youtube.com/watch?v=7UJ4CFRGd-U
[ ] Update the ocw-www home page to link "Educators Start Here" to this page

@pdpinch
Currently, I have redirected all the non ocw.mit.edu links in new tab and all the ocw.mit.edu links in the same tab.
Is there any convention to follow or it is fine this way?
Should we redirect this to Chalk Radio Podcast youtube or there's any other link?

@pdpinch If we scroll to a particular section, should its navbar item be highlighted (made active) automatically?
(e.g: If I scroll from "Welcome" section to "Discover OER" section, then "Welcome" link in the navbar becomes inactive, and "Discover OER" link becomes active.)

I think that's a good idea, if it's not too much work.

I think that's a good idea, if it's not too much work.

Sure, I'll look into it


Change onlinefaxes.com to www.efax.com

I rule and have completed some work on Case Manager that's ready for review!
This pull request makes the following changes:
references to onlinefaxes.com are now to www.efax.com
It relates to the following issue #s:

Fixes #1295

Codecov Report

Merging #1297 into master will increase coverage by 4.57%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1297      +/-   ##
==========================================
+ Coverage   89.04%   93.62%   +4.57%
==========================================
  Files          60       60
  Lines        1333     1333
==========================================
+ Hits         1187     1248      +61
+ Misses        146       85      -61

Impacted Files
Coverage Δ

app/models/user.rb
100% <0%> (+1.11%)
:arrow_up:

app/controllers/external_pledges_controller.rb
100% <0%> (+3.7%)
:arrow_up:

app/models/event.rb
96.66% <0%> (+10%)
:arrow_up:

app/lib/reporting/patient.rb
66.66% <0%> (+11.11%)
:arrow_up:

app/controllers/application_controller.rb
100% <0%> (+11.11%)
:arrow_up:

app/controllers/users_controller.rb
90.9% <0%> (+14.54%)
:arrow_up:

app/controllers/patients_controller.rb
100% <0%> (+29.33%)
:arrow_up:

app/models/concerns/exportable.rb
96.29% <0%> (+37.03%)
:arrow_up:

Continue to review full report at Codecov.

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

Can someone merge this in when they get the chance?

hey @mdworken would you mind reopening this so I can merge?

Sorry, I made a git mistake and some additional changes were pushed to this that shouldn't be approved, so make sure nothing after 17ca5a1 goes through.

thanks @mdworken !


AnimationInstance::start() function not called when looped

This is on purpose, looping is not the same as starting, most animations are stateless and shouldn't need to be notified when looping


Use correct index and bank for stm32 flash

The page index was wrong because it doesn't take FLASH_BASE into account.
For l4, the page index register also depends on a bank selection register.

Yes, but it's translated  to FLASH_BASE addresses in the 'outer' Flash blocking_write before handed to the family-specific code.

oh, oops! LGTM then, thank you! :)
bors r+


Quest: Add chess dataset for chess bot

Would require the normal routine of data input, has a lot of different tokens.
https://database.lichess.org/standard/lichess_db_standard_rated_2016-01.pgn.zst

This was added by klei22 at https://github.com/ReaLLMASIC/nanoGPT/pull/157


Columns root_id, lft, lvl, rgt not updating if using UUID in BINARY type

Hello
I am using ramsey/uuid-doctrine as ID generator with binary type column in Laravel 5.4, but after every insertion of node crucial values are NULL or zero.
After running SQLs in logs, UPDATEs affected 0 rows because of UUID as string in WHERE. Correct WHERE is id = UNHEX("103ea5ca9f9d4a2586d2978a857d0553").
I think that SQL logs have substituted values for readability but I don't know how to figure out real SQL sent to DB.
Can you please suggest workaround for this situation ?
Thank you
Composer requires:
"require": {
    "php": ">=5.6.4",
    "bshaffer/oauth2-server-php": "^1.10",
    "gedmo/doctrine-extensions": "^2.4",
    "guzzlehttp/guzzle": "^6.3",
    "laravel-doctrine/extensions": "^1.0",
    "laravel-doctrine/orm": "1.3.*",
    "laravel/framework": "5.4.*",
    "laravel/tinker": "~1.0",
    "lcobucci/jwt": "^3.2",
    "m7/oauth2-client": "^0.5.5",
    "ramsey/uuid-doctrine": "^1.5"
},

Table users_groups:

State after inserting nodes:

Logs from laravel:
(Ran Flush after every entity persist)
[2019-01-02 14:52:44] local.DEBUG: "START TRANSACTION" [0.00032186508178711]
[2019-01-02 14:52:44] local.DEBUG: INSERT INTO users_groups (id, name, lft, lvl, rgt, hidden, root_id, parent_id) VALUES ("103ea5ca-9f9d-4a25-86d2-978a857d0553", "Root", "0", "0", "0", "", "", "") [0.0010349750518799]
[2019-01-02 14:52:44] local.DEBUG: UPDATE users_groups SET root_id = "103ea5ca-9f9d-4a25-86d2-978a857d0553", lvl = 0, lft = 1, rgt = 2 WHERE id = "103ea5ca-9f9d-4a25-86d2-978a857d0553" [0.0012390613555908]
[2019-01-02 14:52:44] local.DEBUG: "COMMIT" [0.001492977142334]
[2019-01-02 14:52:44] local.DEBUG: "START TRANSACTION" [0.00023984909057617]
[2019-01-02 14:52:44] local.DEBUG: INSERT INTO users_groups (id, name, lft, lvl, rgt, hidden, root_id, parent_id) VALUES ("b243861d-8913-4a8b-8b6a-ca93b0f631a4", "M7", "0", "0", "0", "", "", "103ea5ca-9f9d-4a25-86d2-978a857d0553") [0.0010809898376465]
[2019-01-02 14:52:44] local.DEBUG: UPDATE users_groups SET lft = lft + 2 WHERE lft >= 2 AND root_id = "103ea5ca-9f9d-4a25-86d2-978a857d0553" [0.00052404403686523]
[2019-01-02 14:52:44] local.DEBUG: UPDATE users_groups SET rgt = rgt + 2 WHERE rgt >= 2 AND root_id = "103ea5ca-9f9d-4a25-86d2-978a857d0553" [0.0004730224609375]
[2019-01-02 14:52:44] local.DEBUG: UPDATE users_groups SET root_id = "103ea5ca-9f9d-4a25-86d2-978a857d0553", lvl = 1, lft = 2, rgt = 3 WHERE id = "b243861d-8913-4a8b-8b6a-ca93b0f631a4" [0.00050806999206543]
[2019-01-02 14:52:44] local.DEBUG: "COMMIT" [0.0011651515960693]
[2019-01-02 14:52:44] local.DEBUG: "START TRANSACTION" [0.00037693977355957]
[2019-01-02 14:52:44] local.DEBUG: INSERT INTO users_groups (id, name, lft, lvl, rgt, hidden, root_id, parent_id) VALUES ("4585388a-c287-4a7c-91ee-c1d2d0acc285", "GGT", "0", "0", "0", "", "", "103ea5ca-9f9d-4a25-86d2-978a857d0553") [0.00091886520385742]
[2019-01-02 14:52:44] local.DEBUG: UPDATE users_groups SET lft = lft + 2 WHERE lft >= 2 AND root_id = "103ea5ca-9f9d-4a25-86d2-978a857d0553" [0.00069212913513184]
[2019-01-02 14:52:44] local.DEBUG: UPDATE users_groups SET rgt = rgt + 2 WHERE rgt >= 2 AND root_id = "103ea5ca-9f9d-4a25-86d2-978a857d0553" [0.00071907043457031]
[2019-01-02 14:52:44] local.DEBUG: UPDATE users_groups SET root_id = "103ea5ca-9f9d-4a25-86d2-978a857d0553", lvl = 1, lft = 2, rgt = 3 WHERE id = "4585388a-c287-4a7c-91ee-c1d2d0acc285" [0.00059199333190918]
[2019-01-02 14:52:44] local.DEBUG: "COMMIT" [0.001147985458374]
[2019-01-02 14:52:44] local.DEBUG: "START TRANSACTION" [0.00026988983154297]
[2019-01-02 14:52:44] local.DEBUG: INSERT INTO users_groups (id, name, lft, lvl, rgt, hidden, root_id, parent_id) VALUES ("1f682d88-8739-4889-b01a-ba7865683caf", "RDS", "0", "0", "0", "", "", "4585388a-c287-4a7c-91ee-c1d2d0acc285") [0.0010881423950195]
[2019-01-02 14:52:44] local.DEBUG: UPDATE users_groups SET lft = lft + 2 WHERE lft >= 3 AND root_id = "103ea5ca-9f9d-4a25-86d2-978a857d0553" [0.00060296058654785]
[2019-01-02 14:52:44] local.DEBUG: UPDATE users_groups SET rgt = rgt + 2 WHERE rgt >= 3 AND root_id = "103ea5ca-9f9d-4a25-86d2-978a857d0553" [0.00070786476135254]
[2019-01-02 14:52:44] local.DEBUG: UPDATE users_groups SET root_id = "103ea5ca-9f9d-4a25-86d2-978a857d0553", lvl = 2, lft = 3, rgt = 4 WHERE id = "1f682d88-8739-4889-b01a-ba7865683caf" [0.0011091232299805]
[2019-01-02 14:52:44] local.DEBUG: "COMMIT" [0.0016400814056396]
[2019-01-02 14:52:44] local.DEBUG: "START TRANSACTION" [0.00024795532226562]
[2019-01-02 14:52:44] local.DEBUG: INSERT INTO users_groups (id, name, lft, lvl, rgt, hidden, root_id, parent_id) VALUES ("3e7adf53-eb66-4147-84ba-90373c41e044", "Parser", "0", "0", "0", "", "", "4585388a-c287-4a7c-91ee-c1d2d0acc285") [0.00071811676025391]
[2019-01-02 14:52:44] local.DEBUG: UPDATE users_groups SET lft = lft + 2 WHERE lft >= 5 AND root_id = "103ea5ca-9f9d-4a25-86d2-978a857d0553" [0.00065779685974121]
[2019-01-02 14:52:44] local.DEBUG: UPDATE users_groups SET rgt = rgt + 2 WHERE rgt >= 5 AND root_id = "103ea5ca-9f9d-4a25-86d2-978a857d0553" [0.0025498867034912]
[2019-01-02 14:52:44] local.DEBUG: UPDATE users_groups SET root_id = "103ea5ca-9f9d-4a25-86d2-978a857d0553", lvl = 2, lft = 5, rgt = 6 WHERE id = "3e7adf53-eb66-4147-84ba-90373c41e044" [0.00078105926513672]
[2019-01-02 14:52:44] local.DEBUG: "COMMIT" [0.0013329982757568]

Any insight on this?  I'm having the same issue. Specifically, the UPDATE query is converting the UUID parameters to normal strings instead of using the custom type's convertToPHPValue() method.
The query at issue is executed here. The routine I expected to be called to convert the parameter value is here.

Nope. Ended up with replacing BINARY with INT auto_increment and added binary uuid column separately.
On second thought I've decided that this column config is better. It has better maintanibility and readability

I think the solution is to use the third parameter to setParameter() to tell Doctrine about the custom type so the conversion is used.  So this
$qb->setParameter('id', $nodeId);

becomes
$qb->setParameter('id', $nodeId, $wrapped->getMetadata()->getTypeOfField($identifierField));

Need to find the other places where the $id field is referenced and pass the same info in.
I wonder if someone more familiar with Doctrine and this project could comment.


Error on [self-hosted, self-ubuntu-latest] ARC Runner

When I try to install any version of chrome I get this error in the workflow:
Installing chromium...
Error: Unable to locate executable file: ar. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.

I am not a Github Runner person or a linux person is there a simple fix I can add to the script?

I tried installing some dependency 👍 and it worked

name: Install required libraries
run: |
sudo apt-get update
sudo apt-get install -q -y libgconf-2-4 libatk1.0-0 libatk-bridge2.0-0 libgdk-pixbuf2.0-0 libgtk-3-0
libgbm-dev libnss3-dev libxss-dev libasound2 xvfb fonts-liberation libu2f-udev xdg-utils
shell: bash

The self-hosted runner doesn't have some dependencies.  The ar is an archive utility.  Please install binutils before setup-chrome
- run:
    sudo apt-get update
    sudo apt-get install -y binutils
- uses: browser-actions/setup-chrome@v1

Hello, I am also having this issue, do you have any workarround?


Added install and data paths to xSPInstall

@anlynes @camiloborges @caadam @ykuijs - Code review for this one. No issue recorded but it's been asked for informally a couple of times. Just added options to the xSPInstall resource to allow customisation of the installation directories.

This change is

Review status: 0 of 4 files reviewed at latest revision, 1 unresolved discussion.

Tests/xSharePoint/xSharePoint.xSPInstall.Tests.ps1, line 10 [r1] (raw file):
I know I am being a bit purist, perhaps pedantic , but shouldn't we have a test when you have the optional parameters and when you don't?

Comments from Reviewable

Review status: 0 of 4 files reviewed at latest revision, 1 unresolved discussion.

Tests/xSharePoint/xSharePoint.xSPInstall.Tests.ps1, line 10 [r1] (raw file):
Done

Comments from Reviewable

Reviewed 1 of 4 files at r1.
Review status: 0 of 4 files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

I tried to close the reviewable review. let me know if I screw it up again
On Mon, Apr 11, 2016 at 1:36 PM, Brian Farnhill<EMAIL_ADDRESS>wrote:

Review status: 0 of 4 files reviewed at latest revision, 1 unresolved
discussion.
Tests/xSharePoint/xSharePoint.xSPInstall.Tests.ps1, line 10 [r1]
https://reviewable.io:443/reviews/powershell/xsharepoint/266#-KF1xXj0OmX48iIA0MXV:-KF2NZjcMgHp7cN6-0wM:676635175
(raw file
https://github.com/powershell/xsharepoint/blob/55e3d47e245cf05fd37bfd231ebc681472f0e15d/Tests/xSharePoint/xSharePoint.xSPInstall.Tests.ps1#L10):
Done
Comments from Reviewable
https://reviewable.io:443/reviews/powershell/xsharepoint/266
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/PowerShell/xSharePoint/pull/266#issuecomment-208147870

Reviewed 1 of 4 files at r1.
Review status: 0 of 4 files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Reviewed 3 of 4 files at r1, 1 of 1 files at r2.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


parallel call returns an object rather than makes a call

This issue is not working as I would have expected. I am receiving the saga's CALL object rather than the results of each POST following this pattern:
const results = yield postOptionsCollection.map(option => call(parallelPost, option))
I expected results to be an array of API responses.
I ended up being able to complete parallel calls using this pattern:
    for (let i = 0; i < postOptionCollection.size; ++i) {
                    tasks[i] = yield fork(parallelPost, postOptionCollection.get(i));
                }

     for (let i = 0; i < tasks.length; ++i) {
                    yield join(tasks[i]);
                }

parallelPost code
function* parallelPost(options) {
    try {
        const { results } = yield call(postResource, options);
        yield put({ type: workingData.UPDATE, payload: results });
        yield put({ type: 'WAIT_BASTARD' });

    } catch (e) {
        yield put({ type: 'POST_FAIL' });
    }
}

https://github.com/redux-saga/redux-saga/issues/134

Seems as though this is expected via here
http://stackoverflow.com/questions/40043644/redux-saga-how-to-create-multiple-calls-side-effects-programmatically-for-yield
thus, how can we take that array of effects and actually instruct middleware to execute?

working as expected - http://www.webpackbin.com/N1hnEHTPM
are you sure you didnt forget to yield your array?

const results = yield postOptionsCollection.map(option => call(parallelPost, option))
that was my code copy pasted. The for-loop + fork + join is working for me, so I'll try it again next time the opportunity arises. if the above pattern is correct, I can conclude it must be my parallelPost call that was wrong.

code below
deleteResource returns a promise
I would expect packet.length requests to be made in parallel and instead, nothing happens
yield splitNodes.map(packet => call(deleteResource, {
            firstId: packet.getIn([0, 'id']),
            nodes: packet,
            resource: 'content'
        }));

Should be ok, can u post a reproduced issue on smth like codesandbox?

This thread got a little bit stale, so I'm closing it. If you need to discuss this further, please just reply back here.


Add contribution guide for Neuron exporter

Exporter guide
Example for ESM
Next step: open first good issue

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

Thanks for the pull-request. This applies only to models exported using the tracing API. I haven't yet find a good way to reflect that in the documentation, but we need to make sure someone does not try to contribute an unsupported causal model that way.

@dacorvo Added a note to clarify that the contribution guide does not apply causal tasks model supported through transformers_neuronx!


Feedback from User Testing

Based on feedback from @colinxfleming
This pull request makes the following changes:

Adds outputting vuln details
Switches color of vuln output based on vuln severity

cc @bhamail / @DarthHater / @brittanybelle / @gmohre

Thanks @gmohre !


game for kids

this is a game app for kids which will be fun to play and enjoy

why

what is it


View user profile

Fixes #37
Currently, Languages shows "None" because languages are not specified when user creates the account.
Guess we can add more stuff like analytics later below, so the page won't look so empty.
Light mode:

Dark mode:

after adding the structure from the comment above, can you also place the deregister button here as well? (maybe just below the edit button) thanks!

after adding the structure from the comment above, can you also place the deregister button #58 here as well? (maybe just below the edit button) thanks!

I've added here #67 because I think this PR might be outdated


Travis is persistently pushing an old image

Our ECR repo has a series of images pushed by Travis, all of which are the same size and seem to contain the same code. Oops.

Resolved by #211, #217.


new utilities for reshaping and predetermining the shapes of n-d DWT coefficients

The overall point of this PR is to introduce a few convenience routines for working with n-dimensional DWTs via wavedecn and waverecn.  I have found need for this type of thing in my own work involving wavelet thresolding as a form of regularization during iterative algorithms.
As a concrete example, the operator discreization library currently has a wavelet transform operator based on PyWavelets.  The backend code for this currently involves somewhat complicated bookkeeping and has become out of sync with some newer features of wavedecn (unique wavelet or boundary mode can be defined per axis).  With the addition of a few minor utility functions within PyWavelets we could remove the need for almost all of the backend code found here:
https://github.com/odlgroup/odl/blob/master/odl/trafos/backends/pywt_bindings.py
In this PR I add three primary things:
1.) ravel_coeffs (and unravel_coeffs):  This takes the output of wavedec, wavedec2 or wavedecn and stacks all coefficients into a single contiguous 1D array.  The inverse operation is done by unravel_coeffs.  In some specific cases this can already easily be done by just ravelling the output of the existing PyWavelets functions coeffs_to_array and array_to_coeffs.  The primary difference is that for some boundary-modes, coeffs_to_array does not produced a tightly packed n-d array so that the total array size is not always identical to the number of wavelet coefficients.
2.)  dwtn_max_level is an n-dimensional generalization of the existing dwt_max_level.  It just applies dwt_max_level along each axis to be transformed and then takes the minimum across the axes.  This allows an easy way to compute the maximum feasible level when calling wavedecn.
3.) wavedecn_shapes and wavedecn_size are new routines that compute the total number of coefficients or the shapes of all coefficients that are going to be produced by an n-dimensional transform.  The only way to easily do this currently is to actually first run a transform and then extract the shapes from the coefficients produced.  This is useful in the context of creating operators as in odl because one must specify appropriate shapes for the transform domain at the time of operator creation.
cc: @adler-j and @kohr-h as odl devs who may be interested and/or have feedback as well.  I can open a separate PR over at odl demonstrating how the code there could be simplified using these proposed routines.
TODO:
[ ] add tests for dwtn_max_level and wavedecn_shapes

Codecov Report

Merging #341 into master will increase coverage by 0.34%.
The diff coverage is 95.58%.

@@            Coverage Diff             @@
##           master     #341      +/-   ##
==========================================
+ Coverage   83.72%   84.06%   +0.34%
==========================================
  Files          21       21
  Lines        3300     3396      +96
  Branches      558      582      +24
==========================================
+ Hits         2763     2855      +92
- Misses        477      479       +2
- Partials       60       62       +2

Impacted Files
Coverage Δ

pywt/_multilevel.py
93.4% <95.58%> (+0.82%)
:arrow_up:

Continue to review full report at Codecov.

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

@grlee77 👍 This would be super useful!

Looks like a good idea. Still needs tests.

This should be ready for final review. I extended the test coverage and added the new functions to the API documentation.
A concrete demonstration of how this PR can be used to greatly simplify ODL pywt backend code (while also adding adding axes support to the WaveletTransform operator):
https://github.com/odlgroup/odl/compare/odlgroup:9020fd5...grlee77:5a6d373

Thanks. I agree with the comments and have addressed them in the first commit here. The last one made similar changes throughout the rest of the file. NumPy's docstring format documentation doesn't seem to put None in backticks so I did the same here.
One other question: If we want crosslinks to functions appear in the docstrings, don't we need to use the form:
:func:pywt.wavedec, :func:pywt.wavedec2 or :func:pywt.wavedecn? I tried locally in ravel_coeffs and doing it that way results in links to these other functions rather than just displaying the names in italics.

:func: should not be necessary. that'd be a bit ugly, the plain-text version becomes harder to read.
if that doesn't work right now then there's something on our Sphinx conf related to numpydoc not set up correctly. I'll have a look.

Okay, in it goes! Thanks Greg.