Use cobra cli

Signed-off-by: zaihaoyin<EMAIL_ADDRESS>Fix:
Fix #183 by using github.com/spf13/cobra to replace github.com/urfave/cli/v2, which is a cli package also used by oras-cli.
Compatibility:
According to the cli spec, there are two incompatible changes which are not well-supported by cobra:

It doesn't support multiple aliases, which will affect the user experience of notation push and notation pull.
Before this pr, when running notation push, you can use both -s or -f as an alias for --signature, as specified in spec.
Now, we don't have a -f flag as an alias. If running notation push --help, it will print the message below, which only supports -s as an alias for --signature:

notation push --help
Push signature to remote

Usage:
  notation push [reference] [flags]

Flags:
  -h, --help                help for push
  -p, --password string     password for generic remote access
      --plain-http          remote access via plain HTTP
  -s, --signature strings   signature files
  -u, --username string     username for generic remote access

It doesn't support string alias, which will affect the user experience of notation key add.
Before this pr, when running notation key add, we can use -pc as an alias for --pluginConfig:

notation key add --help
NAME:
   notation key add - Add key to signing key list

USAGE:
   notation key add [command options] [<key_path> <cert_path>]

OPTIONS:
   --default, -d                     mark as default (default: false)
   --id value                        key id (required if --plugin is set)
   --name value, -n value            key name
   --plugin value, -p value          signing plugin name
   --pluginConfig value, --pc value  list of comma-separated {key}={value} pairs that are passed as is to the plugin, refer plugin documentation to set appropriate values

Now we use a single char instead of a string as an alias. If running notation key add --help, it will print the message below, which use -c as an alias for --pluginConfig instead of -pc:
notation key add --help
Add key to signing key list

Usage:
  notation key add [key_path cert_path] [flags]

Flags:
  -d, --default               mark as default
  -h, --help                  help for add
      --id string             key id (required if --plugin is set)
  -n, --name string           key name
  -p, --plugin string         signing plugin name
  -c, --pluginConfig string   list of comma-separated {key}={value} pairs that are passed as is to the plugin, refer plugin documentation to set appropriate values

40 files seem a bit huge to me. I feel you could split it into 3 PRs, one for each cli set: notation, docker-notation and docker-generate.


Initial creation of the Envoy AI Gateway Site

Simple landing page
Links to get involved in community
Basis for future Docs
Blog setup, and a copy of the original announcement post from CNCF blog

We will need to set up the build and publish to github pages, and I've got the domain envoyaigateway.io for us to use.
Related to https://github.com/envoyproxy/ai-gateway/issues/29

Got myself into a mess with unsigned commits, so I raised a new PR https://github.com/envoyproxy/ai-gateway/pull/46


Error while generating the main dex list.

[ ] Review the documentation: https://facebook.github.io/react-native
[ ] Search for existing issues: https://github.com/facebook/react-native/issues
[ ] Use the latest React Native release: https://github.com/facebook/react-native/releases

Environment
Run react-native info in your terminal and paste its contents here.
React Native Environment Info:
System:
OS: macOS High Sierra 10.13.6
CPU: x64 Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
Memory: 129.66 MB / 16.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 10.4.1 - /usr/local/bin/node
Yarn: 1.7.0 - /usr/local/bin/yarn
npm: 6.1.0 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 11.4, macOS 10.13, tvOS 11.4, watchOS 4.3
IDEs:
Android Studio: 3.1 AI-173.4720617
Xcode: 9.4.1/9F2000 - /usr/bin/xcodebuild
npmPackages:
react: ^16.3.2 => 16.4.2
react-native: ^0.56.0 => 0.56.0
npmGlobalPackages:
create-react-native-app: 1.0.0
react-native-cli: 2.0.1
Description
Describe your issue in detail. Include screenshots if needed. If this is a regression, let us know.
wont build after updating com.android.tools.build:gradle to 3.1.0 and adding multidex enabled as it was hitting the limit of a single dex.
android/build.gradle

buildscript {
    repositories {
        jcenter()
        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        mavenLocal()
        jcenter()
        maven {
            url 'https://maven.google.com'
            name 'Google'
        }
        maven { url "https://jitpack.io" }
        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url "$rootDir/../node_modules/react-native/android"
        }
    }
}

subprojects {
    project.configurations.all {
        resolutionStrategy.eachDependency { details ->
            if (details.requested.group == 'com.android.support'
              && !details.requested.name.contains('multidex') ) {
                details.useVersion "26.0.1"
            }
        }
    }

    afterEvaluate {
        project -> if (project.hasProperty("android")) {
            android {
                compileSdkVersion 26
                buildToolsVersion '26.0.1'
            }
        }
    }
}

ext {
    buildToolsVersion = "26.0.3"
    minSdkVersion = 16
    compileSdkVersion = 26
    targetSdkVersion = 26
    supportLibVersion = "26.0.1"
}

error from yarn android
Execution failed for task ':app:transformClassesWithMultidexlistForDebug'.
> com.android.build.api.transform.TransformException: Error while generating the main dex list.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 1s
84 actionable tasks: 1 executed, 83 up-to-date
Could not install the app on the device, read the error above for details.
Make sure you have an Android emulator running or a device connected and have
set up your Android development environment:

what is my issue im not sure how to fix it.
im new to RN so im not sure what im actually looking at

+1


DID method refactor in order to improve communication

Analyze DID methods available in order to see what best suits the program communications and refactor of the code.

Following v0.8.0, DID method Name have been implemented, and the private sky dependencies have been updated to the latest


Oops, we couldn't connect to

Oops, we couldn't connect to
When i launch remoteApps application ...
Have you an idea ? ( no errors for log )
thanks for your reply !
[Enter feedback here]

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 38213294-2784-2341-ac3e-77d2b017e2a2
Version Independent ID: 8d30b4c5-68df-5fa2-d7e9-ede9b406527f
Content: Set up the Remote Desktop web client for your users
Content Source: WindowsServerDocs/remote/remote-desktop-services/clients/remote-desktop-web-client-admin.md
Service: unspecified
GitHub Login: @Heidilohr
Microsoft Alias: helohr

@dgnice If you are still seeing some connection issues, you can first take a look at the browser console to see if the error indicates where the problem might be. If not, please reach out using the email address found on the About page of the client.


Test for io tracer concurrent instances

Hello @Ostrokrzew! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file tests/functional/test_tracing.py:

Line 18:80: E501 line too long (81 > 79 characters)
Line 33:80: E501 line too long (88 > 79 characters)

In the file tests/utils/iotrace.py:

Line 39:80: E501 line too long (94 > 79 characters)
Line 66:80: E501 line too long (84 > 79 characters)

Can one of the admins verify this patch?

add to whitelist


Remove pack/unpack cache from linux jobs

The workaround for some issues of the azure cache task is not longer needed so we can save some time and make the script simpler

/azp run

One more run to check the use of the new cache


feat(ML-519): add project URL

and also fix all cli typing errors.
$ kili project describe ckyctp1bl006h0m0y0djm5jur
Title        Test5 - PDF classification
Description  PDF classification
URL          https://cloud.kili-technology.com/label/projects/ckyctp1bl006h0m0y0djm5jur/

Dataset KPIs
------------
Total number of assets      2
Number of remaining assets  1
Skipped assets              0
Progress                    50.0%

Quality KPIs
------------
Project consensus           N/A
Project honeypot            N/A
Number of reviewed assets   0
Number of open issues       0
Number of solved issues     0
Number of open questions    0
Number of solved questions  0

don't merge, tests are failing


Screenshot retake not working/displaying

Operating System: Windows
Description: After the user is allowed to retake a screenshot, the second screenshot is not displayed in the window at all.  In addition, the retake screenshot button is not functional after the second screenshot.

To Reproduce: Simply go through the tool until you have the option to click "Retake Screenshot".
Probable outcome: A very confused user.

I'm unable to repro this issue. @Brijbhuva have you experienced this problem?

Checked on windows laptop and the desktop not able to reproduce the issue

This issue is might be a laptop specific


Karma code coverage not working under windows

When using the library generator under windows the code coverage with karma-coverage-istanbul-reporter is not working. Neither the coverage console output is shown nor the files are generated. Running the "npm run test" command with different consoles (Powershell, Git Bash and Windows console) ended with the same result (see: console-log.txt)
I don't think it's a problem with karma-coverage-istanbul-reporter  because the code coverage is working in following project https://github.com/karin-exini/coverage-istanbul-reporter-path under windows. Also, it's working with OSX and Linux. So it could be a problem with the Karma configuration or some npm packages.
Could you please look after the problem?
Regards

I don't have a window machine handy but at a guess it's because of the path separator. Should be fixed now in v2.12.1. Thanks for reporting!


Frontend to create intents & entities

Do you have an Frontend in order to create intents and entities?
Would be nice to do that locally too.
Otherwise I would eventually build something small.

yep! thanks to @azazdeaz azazdeaz.github.io/rasa-nlu-trainer/


add "grafana.otel.trace-response-header.enabled" feature

Fixes #659
Changes
Please provide a brief description of the changes here.
Merge requirement checklist

[x] Unit tests added/updated
[ ] CHANGELOG.md file updated for non-trivial changes
[ ] Changes in public API reviewed (if applicable)

@cedricziel can you do manual test to see if everything works together?
just do a local build: https://github.com/grafana/grafana-opentelemetry-java/blob/main/CONTRIBUTING.md#build

Works perfectly! - https://github.com/cedricziel/grafana-java-demo/tree/main


Document array spreads

Available in v11.1.

Right, can't merge this until it's actually released (tests fail because of the syntax change, that needs a release to work). Let's wait a bit with this then.

The syntax lookup probably needs to have a ...-chapter as well. But not sure if that can even be called spread operator there, since ... also describes a partially applied function.

Yeah, maybe it'd be more confusing to document it as a single concept like that. We can think about it for a bit.

This can be merged as well?

Yes, update "rescript-1110" in compilers/package.json


[pgadmin4] Add support for ingressClassName to ingress resource

What this PR does / why we need it:
Since Kubernetes 1.18 (source) it is possbile to specify a ingressClassName on ingress resources, to specify which IngressClass should be used to handle the ingress. This allows for the Chart to generate an ingress resource for a specified IngressClass.
Which issue this PR fixes
None
Special notes for your reviewer:
None
Checklist

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [pgadmin4])

Yeah it was definitely to early for me, thought this was a request instead of a pull request. Thanks for creating this PR, can you however please remove: ingressClassName: "" in the default values, or comment it out.

Commented out ingressClassName as you requested and rebased on master. Should be ready now.


Support mhlo.collective_permute with NCCL

Adds support for mhlo.collective_permute.
During lowering, the source_target_pairs are converted into a table of send/recv ids which can be indexed by the local rank. The send/recv id pair is stored in the param field of HAL CollectiveKind::SendRecv. The send and receive ids are packed as 16 bit integers into the 32 bit param.
Fixes https://github.com/openxla/iree/issues/13100

@benvanik @okkwon
Would appreciate a review whenever you have the time!

I cannot specify the date yet, but it is coming soon. The current mhlo op support is really based on the stablehlo semantic, and it should be just s/mhlo/stablehlo/g + some minor tweaks.

@okkwon @benvanik This is now ready for re-review whenever you have a chance.
@okkwon I've also opened a PR to spmd_tests.

@trevor-m can you update the code to use the switch op?
Here is a reference: https://github.com/openxla/iree/commit/e1af85dfc3e4ed6d5a1e74366bdc76852804c9c7#diff-e76b4d7bb75f288441d56a047d13a86f08d5347378530c74af74c47db3f5c260R163

@trevor-m can you update the code to use the switch op? Here is a reference: e1af85d#diff-e76b4d7bb75f288441d56a047d13a86f08d5347378530c74af74c47db3f5c260R163

For sure!


[engsys] upgrade dev dependency @types/node to ^14.0.0

for packages that missed the last version bump train.

API change check
API changes are not detected in this pull request.


Bring the MUSL version of siginfo_t up-to-date.

Background
As far as I can tell, the current MUSL version of siginfo_t includes fields like si_pid and si_uid.
Change
This update unifies siginfo_t support between GNU and MUSL.

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @JohnTitor (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see the contribution instructions for more information.

@bors r+

:pushpin: Commit e90e708724a67b00d1940e78779e1e2791a1dd63 has been approved by JohnTitor

:hourglass: Testing commit e90e708724a67b00d1940e78779e1e2791a1dd63 with merge 7b0b5f8d1e61df34956ab87dc4db077d6ce05eac...

:sunny: Test successful - checks-actions, checks-cirrus-freebsd-11, checks-cirrus-freebsd-12, checks-cirrus-freebsd-13
Approved by: JohnTitor
Pushing 7b0b5f8d1e61df34956ab87dc4db077d6ce05eac to master...


Flag 'dead' bills

All legislation must hit certain milestones by certain deadlines in order to be considered active. Otherwise it is considered 'dead' for the session. We should flag 'dead' bills for purposes of filtering and visual indication.

This state not appear to be directly exposed by the IGA API. I've sent a question to the API owners to confirm. We may have to deduce this state by comparing the bill.latestVersion.stage API ref to the relevant deadline, or by looking for actions that correspond to the appropriate stage event. The former would be preferable since the later would require certain inferences that can produce false positives / false negatives, but it would require us to query the full bill metadata more frequently.

Implemented in #7


Form data is sent to all the clients

If I understand correctly, this code pushes all the form data that the back end receives to all the clients. Clients will discard data that was not addressed to them based on the form token and response id. Am I understanding this correctly?
app.post("/hook", (req, res) => {
  res.status(200).end(); // Responding is important
  client.emit("create", req.body);
});

//our webhook is triggered by the post request above
io.on("connection", (socket) => {
  socket.on("create", (data) => {
    generateEmail(data.form_response).then((generatedEmail) => {
      io.emit("typeform-incoming", {
        formToken: data.form_response.token,
        generatedEmail: generatedEmail,
      });
      if (app.settings.env === "development") {
        // writeDataToExampleResponsesFile(data);
      }
    });
  });
});

This might be a security issue if the user finds out that he is receiving all that data.

@mattg95

Check our repo
https://github.com/etprocent/swedish_campaign


Installation errors

I get a couple of build errors on installation. I have Windows SDK 7.1, MongoDB 3.0 and Visual Studio 2015 already installed. Is there a compatibility issue?
Shell log:

<EMAIL_ADDRESS>install C:\projects\app\node_modules\connect-mongo\node_
modules\mongodb\node_modules\kerberos
(node-gyp rebuild 2> builderror.log) || (exit 0)

C:\projects\app\node_modules\connect-mongo\node_modules\mongodb\node_modu
les\kerberos>if not defined npm_config_node_gyp (node "C:\Program Files (x86)\no
dejs\node_modules\npm\bin\node-gyp-bin\....\node_modules\node-gyp\bin\node-gyp
.js" rebuild )  else (node  rebuild )
Building the projects in this solution one at a time. To enable parallel build,
please add the "/m" switch.
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targe
ts(366,5): warning MSB8003: Could not find WindowsSDKDir variable from the regi
stry.  TargetFrameworkVersion or PlatformToolset may be set to an invalid versi
on number. [C:\projects\app\node_modules\connect-mongo\node_modules\mong
odb\node_modules\kerberos\build\kerberos.vcxproj]
TRACKER : error TRK0005: Failed to locate: "CL.exe". The system cannot find the
file specified. [C:\projects\app\node_modules\connect-mongo\node_module
s\mongodb\node_modules\kerberos\build\kerberos.vcxproj]

<EMAIL_ADDRESS>install C:\projects\app\node_modules\connect-mongo\node_modu
les\mongodb\node_modules\bson
(node-gyp rebuild 2> builderror.log) || (exit 0)

C:\projects\app\node_modules\connect-mongo\node_modules\mongodb\node_modu
les\bson>if not defined npm_config_node_gyp (node "C:\Program Files (x86)\nodejs
\node_modules\npm\bin\node-gyp-bin\....\node_modules\node-gyp\bin\node-gyp.js"
rebuild )  else (node  rebuild )
Building the projects in this solution one at a time. To enable parallel build,
please add the "/m" switch.
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targe
ts(366,5): warning MSB8003: Could not find WindowsSDKDir variable from the regi
stry.  TargetFrameworkVersion or PlatformToolset may be set to an invalid versi
on number. [C:\projects\app\node_modules\connect-mongo\node_modules\mong
odb\node_modules\bson\build\bson.vcxproj]
TRACKER : error TRK0005: Failed to locate: "CL.exe". The system cannot find the
file specified. [C:\projects\app\node_modules\connect-mongo\node_module
s\mongodb\node_modules\bson\build\bson.vcxproj]
<EMAIL_ADDRESS>node_modules\connect-mongo
└──<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

No compatibility issue!
It's just a mongodb optional dependency which fail to build...
As it's not directly related to connect-mongo, if you want (and you should) to improve that output, please warn mongodb package maintainers.


Add a link to perlres

May I suggest to add a link to perlres (which is a king of awesome-perl not modules centric).
Thank you a lot.
Thibault

Thanks!


Data URI buffers in binary files not read

ran into this likely rare case, where a data uri  was used for a buffer inside of a glb file.     the parser skipped over it.
suggested change,  inside of ParseBuffer right after the !uri.empty()  check,
make sure to try to parse a datauri first,
see below.
snip---------------------------------------
if (is_binary) {
// Still binary glTF accepts external dataURI. First try external resources.
if (!uri.empty()) {
    if (IsDataURI(uri)) {   // <--- Here
        if (!DecodeDataURI(&buffer->data, uri, bytes, true)) {
            if (err) {
                (*err) += "Failed to decode 'uri' : " + uri + " in Buffer\n";
            }
            return false;
        }
    }
    else {
        // Assume external .bin file.
        LoadExternalFile(&buffer->data, err, uri, basedir, bytes, true);
    }
} else {
  // load data from (embedded) binary data

snip--------------------------------------------

where a data uri was used for a buffer inside of a glb file

I see.  @clintbrewer Do you have (minimal) reproducable .glb file for it?

yes, please find attached
box01.zip

Thanks! I have fixed an issue and added box01.glb to regression tests. Please double check the recent devel fixes an issue.


Refactor SCT

Remove most of the references to sct.run

Hi all,
I'm not sure we want to copy under scripts/ all the development that is currently undergoing. I think we should only include in scripts/ the necessary functions tailored towards the users. For example here, the function sct_detect_spinalcord_sdika_ferguson.py will certainly be renamed in the next release. If we copy all temporary scripts under scripts/, we will end up with a bunch of files (which means more maintenance task).
I would suggest instead of develop new features under a specific branch, which would regularly be updated from devel, and when the time comes to implement the new tools under devel (or master), then the file naming can be studied on a case-by-case basis.


ImageMagick v7 compatibility

Hi,
on my client’s (shared hosting) server is ImageMagick in version 7.0.2 installed. I’m afraid I can not change it to v6 (as suggested in https://github.com/aelvan/Imager-Craft/issues/77#issuecomment-277013066).
I tried a few manipulations (resizing, modulate, colorBlend, contrast) with Imager. No problems on my local dev machine with ImageMagick 6.9.6. But on my client's server I get the following error when I try load a page with image manipulations:

Undefined class constant 'IMGTYPE_TRUECOLORALPHA

From the craft.log:

Level: error
Category: exception.error
Message: Error: Undefined class constant 'IMGTYPE_TRUECOLORALPHA' in /PATH-TO-SITE/craft/app/vendor/pixelandtonic/imagine/lib/Imagine/Imagick/Image.php:880

I hope you could check out the issues with ImageMagick 7. I don’t no much about ImageMagick and the Imagick PHP extension but if you need me to run some tests I would be happy to help!
https://www.imagemagick.org/script/porting.php

I've tested Imager with ImageMagick 7 now, and apart from a small fix for the colorBlend effect, it all seems to work as it should. The error you were seeing was due to missing ImageMagick 7 support in the underlying Imagine library that ships with Craft. Seems like they have updated it now.


⚠ Bofrost.be has degraded performance

In 5b5abb4, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1490 ms

Resolved: Bofrost.be performance has improved in 3c7e2c3 after 6 minutes.


Pass through MPI_DIR.

Checklist before submitting

[x] Did you read the contributor guide?

Description
Fixes open-ce/open-ce#397

Need to update the build number.


382 parser warnings

WIP PR reference #382.
Uses a decorator to allow new "dashed" semantics (e.g. "--color-owner").
Does not decorate work with the core parser as yet, but does so with color/reminder parsers.
Very grateful for comments and feedback!

I've updated the 382_parser_warnings branch in this repo with an approach that removes the _warn function from gcalcli.py and which uses custom Argparse actions to implement the deprecation parsing.
I'd love any thoughts and feedback on it.  I still want to deprecate the options to the subcommands which don't have their own get_parser function, and are therefore not readily treatable with the decorator approach.

Unfortunately, I'm seriously pushed for time this week so unable to dig into this in detail. However I've updated by branch and taken a look. Like the idea of subclassing the bits of argparse to make this work without relying on the decorator. I often find that using decorators is a bit of a paradox - one one hand it makes it clear what the intention is, at the cost of making the code slightly more complex. In an ideal world, this wouldn't be necessary but I think it's a good contingency to solve this particular problem. Perhaps flag future work on tidying up the CLI options for after 4.0?

I wanted to try this. https://github.com/lasers/gcalcli/tree/standardize-cli-options

Ok, thanks to everyone in this thread for their help.  @lasers I really liked your loop in the get_color_parser function so I merged your commit and then edited it a bit.
One final note on this topic, all gcalcli options are now in alignment with standard cli syntax.  The existing exceptions from form oauth2client.tools which provides a parser that we import.  Those will have to stay for now.


Remove self keywords in additional API responses

This is a follow on fix for #354

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (7d8b0d0) 97.35% compared to head (6b9abde) 97.35%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #363   +/-   ##
=======================================
  Coverage   97.35%   97.35%
=======================================
  Files           9        9
  Lines         944      945    +1
=======================================
+ Hits          919      920    +1
  Misses         25       25

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Gradle Arquillian Adapter Improvements

Support for Gradle 5.0
Handle the scenario where the IdeaModule marks a library dependency as "provided", because it is being provided by a project-dependency.

[x] Have you followed the guidelines in our Contributing document?
[ ] [v2] Have you created a JIRA and used it in the commit message?
[ ] [v4] Have you created a GitHub Issue and used it in the commit message?
[x] Have you checked to ensure there aren't other open Pull Requests for the same issue?
[x] Have you built the project locally prior to submission with mvn clean install?

@Ladicek I can confirm that the changes work with Gradle 4.10.2 & 5.0 both from the command line as well as within the IDE. I have also verified that it works well with composite builds too. Please review and provide your comments.

Thank you @Ladicek.  Till then, I will keep hacking and using it.

I was playing with Gradle back in the 1.0-RCx days, but learned Maven a lot better since then. And Gradle changed massively as well. I need to try the Gradle Kotlin integration, that might be a very nice thing :-)


fix 3328: change directory before automatically generating client

fixes #3328
still using spawnSync as I don't know what was meant by "the programmatic implementation that runs the command directly without spawn" from the issue

@marktani:  Ah! I guess that it programmatically changes the directory and generates the client but after the execution the directory is still the same. Is this your understanding as well?

process.chdir changes the working directory of the Node process. So if after the automatic generate there would be another command that relies on the direction, it might fail.
However, process.chdir does not change the working directory of the shell. Therefore point 1 is still valid.
All in all this should not be a problem..


Multiple sandboxes found - Execute operation for first only

The fix sorts all sandboxes by creation date (latest on top), calls out a warning on the first sandbox but executes the operation anyway and throws an error for subsequent sandboxes.

Fixes #560


Cannot publish a single locale and keep other locales in draft

Link to reproduction
No response
Describe the Bug
When we create a content with :
payload.create({
        collection: collectionSlug,
        data: newPage,
        locale: locale,
      });

it create a content for every locales configured. So far, not amazing, but ok…
But when I try to publish an FR content for example, the EN content will be published too (even if the content is empty and we want to keep it in draft).
Also, if I want to delete the EN content, it will delete the FR content too.
To Reproduce

Configure multiple locales
Create a script to add content with payload.create({ locale: locale})
Try to publish only one of the locale content OR try to delete only one of the locale content

Payload Version
2.23.1
Adapters and Plugins
db-postgres

Hey @Rheaparks these are not bugs, what you are asking for would be features that add on to the current state of localization.
For now you could probably come up with a way to get around this for your use cases. You could try to add 2 checkboxes (localized fields), 1 for localeIsPublished and 1 for localeIsDeleted. And then you could adjust your queries to incorporate those two fields if you would like.
You can follow along and contribute to the discussion we have open here https://github.com/payloadcms/payload/discussions/4195!
We plan to move back over to P1 tasks after v3 is stable.


Drafttopic: Add utility to extract dependents from text and add word2vec feature

Add a utility that extracts a set of dependents from a file containing a list of observations, like:
./utility extract_from_text drafttopic.feature_lists.w2v.drafttopic input=enwiki.labeled_wikiprojects.w_text_500.json output=enwiki.labeled_wikiprojects.w_cache_500.json
Also adds the feature script to generate word2vec features, currently taking word2vec path from the environment variable WORD2VEC

Discarding in favour of revscoring extract


UvA DL Tutorials: Update API to PL 1.8

What does this PR do?
In the UvA DL Tutorial 8 (Deep Autoencoder), the generation callback used a deprecated and now removed API of on_epoch_end. This pull request updates it to on_train_epoch_end to be compatible with the new PL 1.8 version.
Did you have fun?
Make sure you had fun coding 🙃

@phlippe seems we have finally fixed the ci/cd and so we are fine to proceed... :rabbit:

btw, shall we in such a case also bump the min version? :otter:

Thanks @Borda for fixing the CI and merging the pull request!
Pushing up the minimum version sounds good, I noticed that the notebooks are still using progress_bar_refresh_rate which also became deprecated lately in Lightning. I will send another pull request with this update, then all notebooks should run smoothly with the newest Lightning version

@phlippe shall we bump all classes to use PL 1.8 as minimal version? What do you think?

Yes, agreed, there have been a few API changes since 1.4 which would be good to enforce with 1.8 (e.g. accelerator selection and progress bar). I think we may have to merge #222 beforehand though


Opentrons Lagging At on Robot Anaylsis

Hello, I have an OT-2 currently running 6.3.1.
I am currently experiencing an issue where protocols will take  far longer  to analyze on the robot than usual.  They can take up to 5 minutes to load a protocol with just a few lines.  It can stay stuck on analysis seemingly indefinitely  if there are multiple files on the robot and the first few analysis runs aren't cancelled and restarted. This issue has been getting worse and recently the robot has started to hang between transfers with lists of wells in them for up to 30 seconds. Deleting files  user_storage/protocol files through jupyter notebook or reinstalling the server does not help. Upgrading to 7.0.0 beta causes the app to stop communicating with the robot. What can I do?
A similar issue arose here a few versions ago:
https://github.com/Opentrons/opentrons/issues/2042
But it seems unrelated and was never solved anyways.

@rlenny123
Could you reach out to our support team<EMAIL_ADDRESS>if you still face the issue?

Closing, presuming this has been resolved. There have been a number of performance improvements since v6.3.1.


A function to remove ansi color flag, for get plane log.

How about add a flag for ansi_to_html, or add a function like ansi_to_plane_text?
add transform_to_plane like transform_to_html. (or just make with_state optional and make  optional?).
by this way, I can parse log conveniently and get html at the same time.

I found a library to do this.  https://github.com/chalk/strip-ansi is working well for me.


VZ-5157: Add yum security repo to fix CVE

please change the title of the PR, which will become the commit message

CVEs will be handled separately, hence closing this


Graph support

Based on the discussion @jlstevens and I had during SciPy sprints this PR adds a Graph Element to HoloViews. The outline below represents the discussion surrounding the API we had:
Terminology
Graph: Element that may or may not visualize itself.
Nodes: Element associating indices to positions and other information. Self-visualizing.
NodePaths: dataframe of connectivity information. Self-visualizing.
Graph - Composite Element

Can be abstract
.data represents the abstract graph (i.e. start and end pairs of node indices)
Can be visualized by a bokeh layout algorithm as a plot option.
Can be visualized with straight line connections if given Nodes.
Can be visualized with arbitrary paths if given NodePaths.

data: start and end columns (where start and end are the node indices)
kdims: [start, end]
vdims: [edge label and other metadata]
Nodes
Defines concrete position of each node using three columns/kdims, x/y position plus node index/label. Any value dimensions will be exposed as hover labels.
data: x,y positions + node index + anything else
kdims: [x, y, index]
vdims: [anything else (used as hover labels)]
NodePaths
Subclass of Path using multi-interface representing the concrete paths
data: [ dfs/array, ... ]
kdims: [x, y]
df/array: [xs,ys] Defines the path for each edge defined in abstract Graph
Graph Constructors
Graph(edges)  - Abstract graph (cannot be displayed).
Graph((edges, nodes)) - Defines concrete node positions
Graph((edges, nodes, nodepaths)) - Define concrete node positions and concrete paths for edges connecting paths
Graph attributes

.data - exposes just the abstract graph (i.e. start and end connections)
.nodes - exposes concrete nodes
.nodepaths - Computed automatically from .nodes (direct connections) or returns explicitly supplied paths.

ToDo

[x] Add matplotlib plotting code
[x] Add user guide
[x] Provide control over inspect and hover policy in bokeh
[x] Add better support for hover information
[ ] Add gallery examples
[ ] Add tests

Looks like a great plan to me.

@philippjfr Ping me when you think it is in a good state for me to test it out.

@jbednar @jlstevens This is ready for a review round. You should probably also play with it a bit so you get a feel for it. I'll mostly be focusing on tests at this point.

Also, there's no example of mapping edge "weight" onto anything visible ...

I agree, I think mapping a weight to an edge thickness/color is a very common case.

BTW, is there any way to turn off the x,y locations of graph nodes by default for hovering? The location is usually not informative at all, given that the layout is from some algorithm instead of the data.

I agree, I think mapping a weight to an edge thickness/color is a very common case.

Yes, I agree, not implemented yet. Any suggestion on plot options to control this? Ideally we'd have addressed that issue size/color/alpha_index options by now and there was a general way to do this mapping. I have some further ideas about that, which I'll have to write up. Not sure where that leaves us in the meantime.

The location is usually not informative at all, given that the layout is from some algorithm instead of the data.

I'll implement that.

One thing that I think is missing from this PR are element notebooks documenting Graph, Nodes and EdgePaths with the latter two obviously linking to Graph. One goal of this design was to have each element be meaningful with a visual representation in isolation and the element notebooks would be a good way to show that.

Yes, element notebooks and gallery examples are still missing.

There is a fair bit of documentation work that needs doing. For this reason, I wouldn't mind merging this PR to get the code in place with a separate PR improving the user guide in the ways Jim has suggested as well as adding the various other notebooks.

I'd prefer to just do it in this PR tbh. Also have to add tests still.

I agree we want tests! At least enough to turn coveralls green again. :-)

@jbednar @jlstevens I've now added Element reference and gallery examples for graphs, both are very similar to sections of the user guide and the element notebooks link to the user guide for further detail.

Ok, looks great!  Can you please look over our comments above, pull out anything that you haven't been able to deal with yet into an open issue, and then we can merge this?

My to do list is basically:

Once we have implemented the op aesthetic mapping suggestion we should add an example that maps egde weights to line_width or alpha.
Make a pure datashader example to show how datashader bundling shifts the nodes.

The tests are now green and I'm very happy with the API overall. There are three things I want us to follow up on:

Some of the new comments I have just made.
The example with edge thicknesses representing weight.
Dedicated Nodes and EdgePaths notebooks as these are elements too.

I don't think these issues should hold up this PR any longer as any PR adding a major new feature is going to need tweaks. I am happy to merge now so we can get testing and improving our new graph support!


Terminal doesn't work when launching napari from ipython

🐛 Bug
When launching napari from ipython, the terminal window is blank and is not responding (can't type).  However, it works just fine when launching napari from python.

To Reproduce
Steps to reproduce the behavior:

Create clean napari environment

mamba create -n napari-clean python=3.10 napari --channel conda-forge --override-channels

Execute the example code below in ipython or jupyter notebook

import napari
import numpy as np

arr = np.random.random((10,10,10))
viewer = napari.view_image(arr)

The terminal window in the napari program is blank and not responding.

Expected behavior
I expected that the terminal window in the napari looks like below screenshot, which I took when opening napari from python (not ipython).

Environment

Please copy and paste the information at napari info option in help menubar here:

napari: 0.4.16
Platform: macOS-12.6-x86_64-i386-64bit
System: MacOS 12.6
Python: 3.10.6 | packaged by conda-forge | (main, Aug 22 2022, 20:43:44) [Clang 13.0.1 ]
Qt: 5.15.4
PyQt5: 5.15.7
NumPy: 1.23.3
SciPy: 1.9.1
Dask: 2022.9.2
VisPy: 0.10.0

OpenGL:
- GL version: 2.1 ATI-4.8.101
- MAX_TEXTURE_SIZE: 16384

Screens:
- screen 1: resolution 1920x1080, scale 2.0

Plugins:
- console: 0.0.6
- napari-svg: 0.1.6
- scikit-image: 0.4.16

Any other relevant information:

Additional context

First, let me say I agree with you that this is confusing—I've also run into this.
But, the idea is the ipython console is the one you should use to continue interacting with napari. In fact—to resolve this confusion—the button to open the console should be disabled! https://github.com/napari/napari/pull/4240
And yet you get a button and then a blank panel.
🤔
Can you clarify if this is indeed ipython or jupyter? I can't reproduce with ipython.

I am sorry I wasn't entirely clear.  You are correct!  ipython gives disabled terminal, and jupyter gives you a button that doesn't actually work.

For the time being, I've made a PR to disable the button for the jupyter case.
I'm not sure this helps you, can you maybe explain more what you'd actually expect and how you'd like to interact with napari, the console, and jupyter?


Data discrepancy found

Invalid release year 3003 for Lost in Translation it should be 2003 :)

Date amended.


question: should we start padding inputs with 256 or -1 instead of 0?

The reason why is that a byte is a value 0-255. Using 0 makes this a bit ambiguous. Perhaps we should make it abundantly clear by choosing either 256 or -1.
-1 is a bit simpler to see/write when creating witness functions in Rust. My slight preference would be for that.

This is just a footgun waiting to happen -- changes priority to high.


Lock all the dependencies at specific version (remove carets)

There was a breaking change introduced between<EMAIL_ADDRESS>and<EMAIL_ADDRESS>in arguments forwarding. Because of the caret (^) all the new consumers download 0.25.0-alpha.3 which is breaking the relayer.
For now, I'm going to lock everything at very specific version, this is a good practice for libraries.

I would re-add the ^ to all the post-1.0 deps (and ~ to non-alpha pre-1.0)
Also, I am surprised the yarn.lock file was ignored, but that happens with npm install or I guess npx. Shall we also add a package-lock.json or are there major issues combining yarn and npm lock files? (That can be another PR)

yarn.lock or package-lock.json files are never published to npm registry, so when installing from registry it doesn't matter if yarn or npm is used. The lock files are only relevant for installation from the source.
We could use shrinkwrap file that can be published but it has some issues with yarn (read last section) so unless we migrate to npm as our primary package manager we shouldn't be using that.
In an ideal world, post-1.0 dependencies should support semver. Even if they do, people tend to make mistakes and mark breaking changes as patches or minors. I believe it's best to lock all the dependencies at specific versions to ensure the same deps on every install.


Adjust for modified C API that only returns a range for token nodes

Adjustments for the changes to the C API in https://github.com/apple/swift/pull/36249

https://github.com/apple/swift/pull/36249
@swift-ci Please test


fix top-n with top project should hit top-n opt (#29971)

in PR #29312, we limit top-n opt only enable in simplest cases. in this PR, we let go of some restrictions.
pick from master #29971
commit id ce89a9f07c561317fefe8023047269ea3b264038
Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


improve efficiency of cupy.fft.fftfreq and rfftfreq

This is a minor change to reduce the number of elementwise division kernels called in fftfreq and rfftfreq.
For fftfreq with n=16,  it reduces execution time from ~75 us to ~60 us.
For fftfreq with n = 10,000,000 it reduces execution time from ~1.4 ms to 1.0 ms.

Interesting...I wonder if doing only one multiplication (* (1.0 / (n * d)) would further speed it up?

You can generate the frequencies with a float step size so that there are no elementwise multiplications or divisions, but that results in subtly differences in the frequencies due to limited floating point precision (e.g. ~1e-17 instead of 0 at the center frequency, etc. which I think is undesirable).
I don't think its worth spending a lot of time refining it as I doubt this function is a real bottleneck in anybody's code. I just happened to be looking at it when working on #3654, which calls this function once per array axis.

Jenkins, test this please

Jenkins CI test (for commit a7d855918fade8f5a7d672e08de9445838c2b91c, target branch master) succeeded!

LGTM.


Listing down all open sessions

Environment

VerneMQ Version: 1.1.0
OS: ubuntu

I've been trying to fetch the list of all open sessions on a vernemq-node using the following command:
sudo vmq-admin session show
It lists down a default 100. When I tried to increase the limit, I get the following error:
sudo vmq-admin session show --limit=400
RPC to<EMAIL_ADDRESS>failed: {'EXIT',
{function_clause,
[{lists,zip,
[[6],[]],
[{file,"lists.erl"},{line,387}]},
{lists,zip,2,
[{file,"lists.erl"},{line,387}]},
{lists,zip,2,
[{file,"lists.erl"},{line,387}]},
{clique_table,'-max_widths/1-fun-0-',2,
[{file,
"/opt/vernemq/distdir/1.1.0/_build/default/lib/clique/src/clique_table.erl"},
{line,227}]},
{lists,foldl,3,
[{file,"lists.erl"},{line,1263}]},
{clique_table,get_field_widths,3,
[{file,
"/opt/vernemq/distdir/1.1.0/_build/default/lib/clique/src/clique_table.erl"},
{line,103}]},
{clique_table,autosize_create_table,3,
[{file,
"/opt/vernemq/distdir/1.1.0/_build/default/lib/clique/src/clique_table.erl"},
{line,72}]},
{clique_human_writer,write_table,1,
[{file,
"/opt/vernemq/distdir/1.1.0/_build/default/lib/clique/src/clique_human_writer.erl"},
{line,67}]}]}}

Interesting. Is this reproducable every-time you do this with --limit=400?

Yes .

I just tried with 500 clients connected (no subscriptions) and --limit=400 and couldn't reproduce it. I'm using 1.2.0  but I don't think that should really matter.
Could you describe your setup more in detail? I'm sure it's a bug, but since I couldn't reproduce this right away there must be something about the clients you've connected that's different than my stock setup, so any information might be helpful putting us on the right track.

So we do not have any subscriptions as well. We have about 3-4k thousand clients connected who are publishing data which is being consumed via webhooks. There is no cluster setup as well.  We have two nodes from which the client can connect to - and each of them are independent.
Please let me know if you need anything else to debug the same.

Is this still an issue? If it is, can you tell us if there is anything in the logs related to when you run the command in the cli? Note we did a number of fixes to the vmq-admin session show command in VerneMQ 1.2.2, so it would probably be good to upgrade to that version to get those fixes.

Closing this for now.


Two field type errors

main.go:161: [ERROR] infdb.Write(bp): {"error":"field type conflict"}
main.go:161: [ERROR] infdb.Write(bp): {"error":"partial write: field type conflict: input field "tx_power" on measurement "uap_radios" is type integer, already exists as type float dropped=16"}
The 2nd error repeats on every db write.
My unifi site in the controller has 12 APs with 8 on and 4 that are unplugged.
unifi version=<IP_ADDRESS>

Update:
I move the down APs to another site to hide them and then  dropped/recreated the database, after all of this the poller was happy and working.
As a part two I moved one of the APs back to the site and poller starting to error. I moved the AP back out of the site and poller started to work again.
TLDR: poller does not handle an AP down.

Is it possible this error began after you update unifi-poller, or the unifi library? This would happen if you ran make deps or dep ensure -update. I think, at one point, I changed the tx_power to an integer and it used to be a float, here. This may be the cause of the error. If you dropped the influx database it should not return. Am I understanding correctly that is what you did, and the error came back? Thanks!

I'm actually not sure. It looks like it was always a string and it got changed to an int. I'm not real sure when or how it was ever a float. This is an interesting error.

I think I found the bug. There is a place in the code where I set a field value with two different types. I created a contribution that should resolve it: https://github.com/golift/unifi/pull/4 - I need to do some more testing, but this is a start.


Example use of interrupt for LTR559 breakout

I have been getting started with the LTR559 breakout with my Pico, via the Explorer base, and would love to see if it's possible to get an example of how the interrupts could be used with the Pico. I found this example https://github.com/pimoroni/ltr559-python/blob/master/examples/proximity-interrupt.py for the ltr559-python library but it appears to be fairly different to the breakout-ltr559 library meant for the Pico.
Loving the products for the Pico. Explorer base has been really good fun to use.

The threshold for Light isn't very intuitive since it's given in raw counts and not the Lux value. We should probably figure out how to convert that.
Anyway,  here's an example that sets up and uses the interrupt on an LTR-559 plugged into a Breakout Garden base. Adjust pins as necessary for Explorer
import time
from machine import Pin
from pimoroni_i2c import PimoroniI2C
from breakout_ltr559 import BreakoutLTR559

PINS_BREAKOUT_GARDEN = {"sda": 4, "scl": 5}
PINS_PICO_EXPLORER = {"sda": 20, "scl": 21}
PIN_INTERRUPT = 22  # 3 for Breakout Garden

i2c = PimoroniI2C(**PINS_PICO_EXPLORER)
ltr = BreakoutLTR559(i2c, interrupt=PIN_INTERRUPT)
interrupt = Pin(PIN_INTERRUPT, Pin.IN, Pin.PULL_DOWN)

ltr.light_threshold(0, 10)  # COUNTS, NOT LUX!!!
ltr.proximity_threshold(0, 10)

def read(pin):
    reading = ltr.get_reading()
    if reading is not None:
        print("T: ", time.ticks_ms(), " Lux: ", reading[BreakoutLTR559.LUX], " Prox: ", reading[BreakoutLTR559.PROXIMITY])

interrupt.irq(trigger=Pin.IRQ_RISING, handler=read)

part_id = ltr.part_id()
print("Found LTR559. Part ID: 0x", '{:02x}'.format(part_id), sep="")

while True:
    pass

You don't get any control over the polarity of the interrupt pin (we could probably stand to add that) so you set it up as an input, pulled down and trigger an irq on the rising edge.

Closed as complete.


feat: implement command -p

Implements the missing command -p flag to use a default value of $PATH that is guaranteed to find all of the standard utilities.

Uses nix::libc::confstr with _CS_PATH (see confstr.3) similar to what Bash do.
If no value is returned falls back to the STANDARD_UTILS_PATH, which is taken from Bash.

Doesn't make sense on Windows though.

Thanks for working on this. A few higher-level comments...
We're not quite there today with the existing code, but I'm trying to keep platform-switched logic under brush-core/src/sys, as a sort of adaptation layer. There's already existing modules there around process management, signals, terminal configuration, etc. It seems reasonable to add a helper under fs there or under a new paths module that exposes the "default" search paths for executables on the platform.
For Windows, there's a set of paths reasonable to hard-code as fallbacks (e.g., %SystemRoot%\system32, %SystemRoot%, etc.) but I think it would be okay leaving that stubbed out for now and sorted out in a separate set of changes.
For Unix-like platforms, I didn't know about confstr(). Do you know if, in practice, it ever returns anything other than the usual dir paths (e.g., /bin, /usr/bin)? If it doesn't, then I'd prefer that we avoid the unsafe code calling into it and keep the fallback set of paths you added anyway. (In general, we're trying to limit the unsafe code in this crate; we acknowledge that nix and libc have a fair bit of it, but ideally trying to leverage those crates and stay at a higher level.)
Once we sort out the above, would also be great if you could add a compat test to cover command -p. Thanks!

@reubeno https://github.com/NixOS/nixpkgs/pull/586 nixos returns /run/current-system/sw/bin:/bin:/usr/bin
Checked with shell command getconf CS_PATH

@39555 -- that's helpful context, thank you for digging that up. I'd love to see confstr get properly wrapped in a higher-level Unix crate like nix, which we typically utilize to provide a higher-level API on top of libc-exported bindings. (It would be interesting to know how open they'd be to taking the wrapper you've added here, or some version of it.)
With that said, I'm supportive of keeping the unsafe code in brush for now (in a reasonable place under sys, like described above), but will want to take more time to carefully review the logic and the docs for confstr().

It is not the most urgent feature, so I think we should wait for https://github.com/rust-lang/libc/pull/3612 which makes confstr available on all unix systems. Than I will make PR to the nix library.

It is not the most urgent feature, so I think we should wait for rust-lang/libc#3612 which makes confstr available on all unix systems. Than I will make PR to the nix library.

That sounds like a great plan; thanks for finding that upstream PR and being willing to put in the effort to PR to nix. That will benefit other nix consumers.


Constructor accessors should add a module dependency

Fixes #67

I'll pull this down and poke around. I wouldn't expect that change.

Ah, there's an inlining heuristic that fires when deps is empty. I'll have to see if there's something I can do to avoid it. The rule is assuming that a completely closed term can be more aggressively inlined, though it's not obvious to me in hindsight that's a great rule.

I added a dep for OpIsTag as well.
I also tried removing the inline heuristic for the empty dep case but couldn't come up with a replacement heuristic.

I think that we should have a separate analysis instead of checking deps. If we do that, we should maybe defer dependency tracking altogether to a separate post-pass, as it's non-trivial analysis overhead to be doing over and over again.

I think that we should have a separate analysis instead of checking deps.

Analysis for what? You mean something to replace the empty deps check that triggers more inlining? I don't understand how the new analysis would replace the current heuristic.

I've pushed the mentioned analysis.

Awesome! I can confirm this works with the chez backend. Thanks!


Fix SQL syntax in PlayerbotMgr.cpp

When any player logs in with AiPlayerbot.BotAutologin = 1, worldserver crashes with the error:
AC> [1064] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1
Error while parsing SQL. Core fix required.

Just a simple sql fix.

Thank you for finding this!


Move to vm with more computational power

Move tool as well as other tools to vms for more computational power and to make sure they don't affect each other

Better: Deploy on IBMI Docker!


Fix TextSize::of docs to no longer suggest implementing TextLen

Addresses the misleading docs part of #45 by editing the docs back to their minimum. Does not yet provide advice on idioms for non-primitive types.

bors r+


chore/release: prepare 1.3.0 release

@homu r+

:pushpin: Commit c1e3217 has been approved by hobofan

:zap: Test exempted - status


Update patterns.yml

@Hanspagh want to open a PR that bumps the version? I can cut a new release (and add you to hex if you're not already)

The pleasure is mine. 👍  I will bump the version.
Same name on hex btw


⚠ Bofrost.lu has degraded performance

In ac50ca8, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1811 ms

Resolved: Bofrost.lu performance has improved in ca6bb55 after 46 minutes.


[🐛 Bug]: wrangler POST /api/payment 404 Not Found

The main question:
Is it possible to use a combination of Static export and POST Request function? If Yes, then it's a bug, if not, then should be documented better.
next-on-pages environment related information
System:
Platform: darwin
Arch: arm64
Version: Darwin Kernel Version 23.2.0: Wed Nov 15 21:53:18 PST 2023; root:xnu-10002.61.3~2/RELEASE_ARM64_T6000
CPU: (10) arm64 Apple M1 Pro
Memory: 32 GB
Shell: /bin/zsh
Package Manager Used: pnpm (8.10.5)
Relevant Packages:
@cloudflare/next-on-pages: 1.8.5
vercel: N/A
next: 14.0.4
Description
Which Cloudflare product(s) does this pertain to?
Pages
What version(s) of the tool(s) are you using?
Wrangler 3.22.5, "@cloudflare/next-on-pages": "1.8.5", "next": "14.0.4"
What version of Node are you using?
20.10.0
What operating system are you using?
macOS 14.2
Describe the Bug
Task: check POST request for path api/payment on local with @cloudflare/next-on-pages build and Wrangler

functions is placed in the root of the folder

For using TS, added "@cloudflare/workers-types": "4.20231218.0", according to https://developers.cloudflare.com/pages/functions/typescript/

and in tsconfig.json

In next.config.js is used output: "export", to generate static pages.

Build is run by pnpm dlx @cloudflare/next-on-pages

I don't know if after the build I should see this function in nop-build-log.json
but I don't

Run Wrangler with pnpm dlx wrangler pages dev .vercel/output/static --compatibility-flag=nodejs_compat

Navigate to POST /api/payment but got the error

[wrangler:inf] POST /api/payment 404 Not Found (19ms)

What should I do to have static exports and working API Requests from the routes?
Thank you in advance.
Would you like to help?

[X] Would you like to help fixing this bug?

The functions directory does not work with next-on-pages as we generate our own worker for your application that handles routing and whatnot. You should convert your functions directory to Next.js route handlers using the edge runtime.
https://nextjs.org/docs/app/building-your-application/routing/route-handlers#edge-and-nodejs-runtimes
If you would like to use a static export with output: 'export' and use the functions directory, you should just deploy your app normally without using next-on-pages.

The functions directory does not work with next-on-pages as we generate our own worker for your application that handles routing and whatnot. You should convert your functions directory to Next.js route handlers using the edge runtime.
https://nextjs.org/docs/app/building-your-application/routing/route-handlers#edge-and-nodejs-runtimes
If you would like to use a static export with output: 'export' and use the functions directory, you should just deploy your app normally without using next-on-pages.

Thank you for your quick response.
Correct. I want to use a static export with output: 'export' and use the functions directory,.
How to check the POST function locally? With wrangler?
If yes, my steps

pnpm build ("build": "next build",)
pnpm dlx wrangler pages dev .vercel/output/static --compatibility-flag=nodejs_compat --log-level=debug
But when I run the browser and send POST request:

curl -X POST http://localhost:8788/api/payment -H "Content-Type: application/json" -d '{"priceIds": ["price_1"], "jobPostUrl": "https://example.com"}'

Got error in Wrangler CLI:
[InspectorProxyWorker] RUNTIME INCOMING MESSAGE {
  method: 'Network.requestWillBeSent',
  params: {
    requestId: '67',
    loaderId: '',
    request: {
      url: 'http://localhost:8788/404',
      method: 'POST',
      headers: [Object],
      mixedContentType: 'blockable',
      initialPriority: 'VeryLow',
      referrerPolicy: 'unsafe-url',
      isLinkPreload: false
    },
    timestamp: 179424.787,
    wallTime:<PHONE_NUMBER>.839,
    initiator: { type: 'script', stack: [Object], lineNumber: 0 },
    type: 'Fetch'
  }
}
[wrangler-ProxyWorker:inf] POST /api/payment 404 Not Found (11ms)
[InspectorProxyWorker] RUNTIME INCOMING MESSAGE {
  method: 'Network.responseReceived',
  params: {
    requestId: '67',
    timestamp: 179424.792,
    type: 'Other',
    response: {
      status: 405,
      statusText: 'Method Not Allowed',
      headers: [Object],
      mimeType: 'text/plain;charset=UTF-8',
      connectionReused: false,
      connectionId: 0,
      remotePort: 0,
      fromDiskCache: false,
      fromServiceWorker: false,
      encodedDataLength: 0,
      protocol: 'http/1.1',
      securityState: 'unknown'
    }
  }
}
[InspectorProxyWorker] RUNTIME INCOMING MESSAGE {
  method: 'Network.loadingFinished',
  params: {
    requestId: '67',
    timestamp: 179424.793,
    encodedDataLength: 0,
    cfResponse: { body: '', base64Encoded: true }
  }
}
[InspectorProxyWorker] SEND TO RUNTIME {"method":"Runtime.getIsolateId","id":100000005}
[InspectorProxyWorker] RUNTIME INCOMING MESSAGE { id: 100000005, result: { id: '5f8c685b73776271' } }

Could you, please, help to understand why?
Thank you .

I think that the root cause is POST method not allowed (405 error code). Then the builder ignore api routes, accordingly to 404 not found. I am also finding the solution for 405 POST error, involving to form data submit, server actions with client data, and also edge API functions.

@rusakovic I've created this very quick example hoping that it can clarify how to use Next.js static exports with Pages functions: https://github.com/dario-piotrowicz/static-nextjs-app-with-cf-pages-functions-example
Hopefully this helps, please let me know 🙂

We have the same issue here. Issuing a GET request will work, but a POST will fail.
We are proxying requests, and we can confirm that the endpoint returns a 204. When constructing a response like this:
    return new NextResponse(proxiedRequest.body, {
      headers: responseHeaders,
      status: proxiedRequest.status, // 204 on POST
    });

Wrangler still returns:
[wrangler:inf] POST /api/events/1071519/favorite 404 Not Found (218ms)


Can't use header from AuthorizationPolicy in VirtualService match

Bug Description
I have a VirtualService, which defines a route match that must have a header present. This header is injected from the output of an AuthorizationPolicy with a CUSTOM action pointing at an internal plugin that does some stuff with PKI from x-forwarded-client-cert. I never match on this route, and see the following logs in my ingress gateway.
GET /headers HTTP/2" 404 NR route_not_found - ...

Instead, I've tried using an EnvoyFilter to counter this, but it doesn't appear that I'm able to inject an ext.authz filter before the HTTP connection manager.
See below for examples.
Version
client version: 1.15.0
control plane version: 1.15.0
data plane version: 1.15.0 (20 proxies)

Additional Information
For example, let's say my auth plugin talks over grpc with envoyproxy v3 and injects the header X-TEST-HEADER: SUCCESS. I'm using the httpbin example, with the following mesh config.
extensionProviders:
  - name: "ext-authz-plugin"
    envoyExtAuthzGrpc:
      service: "my-plugin-svc.istio-system.svc.cluster.local"
      port: "50051"

With the Gateway
apiVersion: networking.istio.io/v1beta1
kind: Gateway
metadata:
  name: my-gateway
  namespace: istio-system
spec:
  selector:
    istio: ingressgateway
  servers:
  - hosts:
    - '*'
    port:
      name: https
      number: 443
      protocol: HTTPS
    tls:
      credentialName: istio-ingress-credential
      mode: MUTUAL

The AuthorizationPolicy
apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
  name: ext-authz
spec:
  selector:
    matchLabels:
      istio: ingressgateway
  action: CUSTOM
  provider:
    name: ext-authz-plugin
  rules:
  - {}

and finally the VirtualService
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  name: httpbin
  namespace: default
spec:
  gateways:
  - istio-system/my-gateway
  hosts:
  - '*'
  http:
  - match:
    - headers:
        X-TEST-HEADER:
          regex: (?:.*?\bSUCCESS\b).*
      uri:
        prefix: /headers
    route:
    - destination:
        host: httpbin
        port:
          number: 8000

I’ve also tried applying that policy on a namespace basis, and workload basis for my deployment, but my logs never show an auth request being received. Instead what I see in the ingress gateway logs are
"GET /headers HTTP/2" 404 NR route_not_found - ... "

That makes sense if the plugin isn’t being called, and based on this it appears that routing happens before auth. So then I tried to remove the AuthorizationPolicy, and instead use an EnvoyFilter to inject the authz before the routing filter. This was built based on istio docs and envoy docs.
apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: authz-envoyfilter
  namespace: istio-system
spec:
  workloadSelector:
    labels:
      istio: ingressgateway
  configPatches:
  - applyTo: HTTP_FILTER
    match:
      listener:
        filterChain:
          filter:
            name: envoy.filters.network.http_connection_manager
            subFilter:
              name: envoy.filters.http.router
    patch:
      operation: INSERT_FIRST
      value:
        name: envoy.filters.http.ext_authz
        typed_config:
          "@type": type.googleapis.com/envoy.extensions.filters.http.ext_authz.v3.ExtAuthz
          grpc_service:
            envoy_grpc:
              cluster_name: ext-authz-plugin-filter
            timeout: 0.5s
          transport_api_version: V3
          include_peer_certificate: true
  - applyTo: CLUSTER
    patch:
      operation: ADD
      value: # cluster specification
        name: ext-authz-plugin-filter
        connect_timeout: 0.25s
        typed_extension_protocol_options:
          envoy.extensions.upstreams.http.v3.HttpProtocolOptions:
            "@type": type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions
            explicit_http_config:
              http2_protocol_options: {}
        type: LOGICAL_DNS
        lb_policy: ROUND_ROBIN
        load_assignment:
          cluster_name: ext-authz-plugin-filter
          endpoints:
          - lb_endpoints:
            - endpoint:
                address:
                  socket_address:
                    protocol: TCP
                    address: my-plugin-svc.istio-system.svc.cluster.local
                    port_value: 50051

But still, authz fires after routing with the gateway showing the same logs as above (also note that I’ve tried adding match contexts with no luck). The only way I’ve gotten this working is either converting the above EnvoyFilter to a NETWORK_FILTER, or replacing my typed_config with some Lua that makes an HTTP request to my plugin instead. I’ve also had luck with WASM plugins, but that’s not a desirable choice based on some custom auditing and monitoring.
I’d rather not use the NETWORK_FILTER, because there isn’t as much metadata (ex. x-forwarded-client-cert) and I’ll have to do a lot of refactoring. I’d rather not use the Lua filter, because I’ve run into issues with things like the content-length header being overridden and it’s just more difficult/inconvenient to manage/debug.

This is affecting us as well, should be reopened

I am also hitting this issue, is there a solution available now?


Fix gene trend plotting test

This is failing because some image is missing. Would be great if we could re-generate the image and fix the test.

There's deeper issue at play - the order of genes is not always preserved (across different scanpy/adata versions?) and I'm using indices. I will hardcode the gene names to prevent this issue from rising up again.

ok I see

Ah, so good to have that build=passing badge!


Dialogflow Import Fix for Issue 6137 in branch 1.10.x

Proposed changes:

Fixed passing the wrong value to get_nlu_data during training

Status (please check what you already did):

[ ] added some tests for the functionality

[ ] updated the documentation

[x] updated the changelog (please check changelog for instructions)

[x] reformat files using black (please check Readme for instructions)

This is a fix for existing functionality.

No documentation updates required. The steps in current documentation work as expected now.

@melindaloubser1 I recreated the pull request from scratch.


Fix seed decoding method to remove any extra checksum byte.

This fixes wallet creation when confirming the backup using the entire
33 word seed.
Fixes #126.

tACK, seed entry now works fine.


Re-organize the templates and static directories to support easy theming

Right now, we don't have a lot of themes that are compatible with Bartholomew.
There is the Bartholomew site template, and the Fermyon docs template, but trying to refactor a site to change the theme can be tricky.
We could reorganize the Bartholomew directories to allow pulling a submodule in a say themes/ directory, then controlling the used theme from site.toml.
This would mean allowing both user- and theme-defined templates and scripts, and there should be a pre-defined lookup order.

Hello, I'd like to work on this. I was thinking about two possible approaches.
Approach 1 - Create a templates/themes/ allowing you to access components from possibly multiple themes by including partials like {{> themes/<name of theme>/<theme component> }}.  Alternatively themes/ can be a separate directory from where all the templates are registered and can be included using `{{> / }}
Approach 2 -  Creating separate themes/  and using the configuration in site.toml to pick the themes in theme/<name of theme>/ as described originally with the user templates having higher precedence than the theme-defined templates allowing for the user to override the theme where required.
Approach 1 would allow for more flexibility as it can allow for multiple themes to be used at the same time while approach 2 might lead to a smaller solution.

Hi, @karthik2804!
Working on this would be great!
I'm familiar with Hugo as a static site generator, and approach 2 is what I would expect.

Hello @radu-matei!
I have implemented both approaches as described in the earlier comment on separate branches.
Approach 1 which is component-based can be found at Component-based approach while approach 2 which is an individual Theme-based approach can be found at Theme-based approach .
The pros of approach 1 are

It allows for more flexibility.
Allows borrowing components from more than one theme
No namespace clashes of the components as the partials are included as {{> / }} while templates are chosen as {{>  }}

The possible cons of approach 1 are

It may slow down the response as it needs to index more templates as it reads all the themes available.

an example of usage of approach 1: The navbar is provided by the template of theme-2 ( {{> theme-2/navbar }} ) while the sidebar is provided by the template in theme-1 ( {{> theme-1/sidebar }} ).
The pros of approach 2 are

It is simpler in that a single theme is chosen.

The cons of approach 2 are

It does not have the flexibility available in approach 1 to use components from multiple themes.

an example of usage of approach 2 is that the selected theme is defined using the site.toml configuration. If there is no theme defined only the user-defined tempaltes are loaded. When a theme is mentioned on site.toml, the templates of the theme are loaded along with the user-defined templates.
A thing to note is that there will be a namespace collision of the templates in approach 2, where the user-defined templates take higher precedence than the templates provided in the themes, This allows the user to override the theme wherever required.

closed by #87


SPIKE: Explore Typescript and Javascript libraries for instant messaging

[ ] Create a list of Typescript and Javascript libraries for instant messaging
[ ] The libraries must be 100% open source
[ ] Rank each library by package popularity, activity, and ease of use
[ ] Discuss findings as a team

do we need to just add the list ? we do not need any nav bar or footer right?

A spike is just a study. In the teams I worked with, spikes where either pure studies with no code involved, or the code usually was thrown away. You can check the following thread, however, to discover different kinds of “spikes.”
In this case, I'm expecting an answer in writing with the title “Research results” or “Spike results.” If you wish to try out various solutions you can create branches for that, and we can later discuss them together.
Concerning branches, I appreciate when team mates prefix their branches with three letters and a slash. For example, I would create a jjg/spike_im_solutions branch if I were to take that issue. (JJG stands for Jeffrey Jean GONZALES, Jean is my middle name.)
Do you feel like, picking that issue?
I'd suggest you started with issue #1 and issue #2 😊

I'll rename the issue so that it reads “” ;-)


CVE-2023-44487: bump golang.org/x/net to v0.17.0

These changes were generated with:
go mod edit -require<EMAIL_ADDRESS>--dropreplace golang.org/x/net && go mod tidy && go mod vendor

/cc @GunaKKIBM @ambiknai

This was superceded by https://github.com/IBM/vpc-node-label-updater/pull/23


HttpContext  is null when calling  _identityServerTools.IssueClientJwtAsync()

I am trying to use IdentityServerTools to generate token in MVC project, everything works as expected as long as I am calling the _identityServerTools.IssueClientJwtAsync() inside the controller class, but any time I call this method in any other class (not controller) I get System.ArgumentNullException error, the issue related to the HttpContext context parameter in GetIdentityServerIssuerUri(HttpContext context), the context is null so there is no way to get the IssuerUri
the error as the following:
System.ArgumentNullException
Value cannot be null. Parameter name: context

System.ArgumentNullException: Value cannot be null.
Parameter name: context
   at IdentityServer4.Extensions.HttpContextExtensions.GetIdentityServerIssuerUri(HttpContext context) in C:\local\identity\server4\IdentityServer4\src\Extensions\HttpContextExtensions.cs:line 122
   at IdentityServer4.IdentityServerToolsExtensions.IssueClientJwtAsync(IdentityServerTools tools, String clientId, Int32 lifetime, IEnumerable`1 scopes, IEnumerable`1 audiences) in C:\local\identity\server4\IdentityServer4\src\Extensions\IdentityServerToolsExtensions.cs:line 34

I think if we have an overload method of IssueClientJwtAsync() with IssuerUri parameter  so we can generate token in classes without context by passing the IssuerUri  value  might resolve this issue.

It feels wrong to "officially" allow issuing tokens with arbitrary issuer names.
If you need that level of flexibility - simply call the ITokenCreationService directly.
https://github.com/IdentityServer/IdentityServer4/blob/master/src/IdentityServer4/src/IdentityServerTools.cs#L53-L62


Client can't supply an explicit --host value

This bit of code isn't working: https://github.com/NVIDIA/sybil/blob/v1.0.0/src/bin/sybil.rs#L12-L14. The --host option isn't actually usable.
$ sybil kinit --help
Usage: sybil kinit [<principal>]

Obtains and caches an initial ticket-granting ticket for principal through protocol transition.

Positional Arguments:
  principal         principal to impersonate

Options:
  --help            display usage information

$ sybil kinit --host myserver.example.com:1234 myprincipal
Unrecognized argument: --host

Run sybil --help for more information.

Uh, I guess I never tried putting "-h" in front of kinit. Nevermind.


grid

UnoCSS version
0.59.4
Describe the bug
grid-cols-[1fr,2fr] 写法无效
必须写成grid-cols-[1fr_2fr]

Reproduction
none
System Info
No response
Validations

[X] Read the Contributing Guidelines.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

设计如此～

tailwind is compatible with this situation, maybe we can consider synchronization. What do you think？ @zyyv @antfu


Update puppeteer to version 9

Context

Summary

Relevant Technical Choices

To-do

User-facing changes

Testing Instructions

QA

[ ] This is a non-user-facing change and requires no QA

This PR can be tested by following these steps:

UAT

[ ] UAT should use the same steps as above.

This PR can be tested by following these steps:

Reviews
Does this PR have a security-related impact?

Does this PR change what data or activity we track or use?

Does this PR have a legal-related impact?

Checklist

[x] This PR addresses an existing issue and I have linked this PR to it in ZenHub
[x] I have tested this code to the best of my abilities
[x] I have verified accessibility to the best of my abilities (docs)
[x] I have verified i18n and l10n (translation, right-to-left layout) to the best of my abilities
[x] This PR contains automated tests (unit, integration, and/or e2e) to verify the code works as intended (docs)
[x] I have added documentation where necessary
[x] I have added a matching Type: XYZ label to the PR

Fixes #6876

Another merge conflict now (probably because of the percy update) 🙃

I restarted the e2e tests a few times now, but they keep failing 😞

I restarted the e2e tests a few times now, but they keep failing 😞

The issue seem to come from upgrade from 9.0.0 to 9.1.0. I locked to down to 9.0.0 and seems to fix the issue. I can't debug this issue locally.

@swissspidy Tests are now passing I had to do the following.

Lock puppeteer version to 9.0.0.
Ignore a new accessilibity rule.
Fixed another new accessilibity rule by adding aria that are invalid.

Note that now unit tests, integrations tests, and lints are failing

It seems like there are inadvertent changes to package-lock.json here. Undoing all these changes and then running npm install should fix this.
That might help with the failing checks here.


run-fbp-tests: Add test PASS/FAIL info to be compatible to ptest log format definition

According to package test (ptest) log format definition, the test case result recorded in log as
    PASS: <case name>
    FAIL: <case name>
The patch prints more output to be compatible to ptest log format when execute Soletta FBP tests
The Soletta test result mapping to ptest output logic is:
    Soletta test pass -> ptest output PASS
    Soletta test fail -> ptest output FAIL
    Soletta test skip by dependence test fail -> ptest output FAIL
    Soletta test skip by user specified       -> ptest output SKIP

Signed-off-by: Lei Yang<EMAIL_ADDRESS>

I re-submit the patch according to feedback. And it passed the CI check too.
Any more feedback? Or could anyone help review and merge the patch?
Thanks.

Can anyone help review and merge the patch? Thanks!

thanks @otcyanglei
merged


adds reverse dns support

This patch adds support for reverse dns queries (e.g. host <IP_ADDRESS>)
This works for me, but I'm a novice ruby coder and may be overlooking something.  In particular, I had to remove the "redirect" in Store.hosts.get() for my implementation to work.

Any chance to get this merged?

I believe you can merge #98 and close this.

Sorry for the long time to resolve on this folks - just merged @metcalfc's version and I'm in the process of cutting v0.16.0 :+1: :ship:


Panic when spillslot is too large

👋 Hey,
When a spill slot is larger than 256, we were silently truncating the top bits. This would cause the wrong spill size to silently be accepted. Instead panic when we can't support spills of that size.

To add some context on the impact: Cranelift currently uses spillslot sizes only of 1 (Int) or 2 (Float) words, so won't hit this. The issue arises when considering large-vector support (which @afonso360 is currently working on). The two possible resolutions are either to reject (with an actual panic) spillslots of >= 256 words, or support them. The former means we can't go as high as we'd like in supporting RISC-V's maximum vector size, on the one hand; but on the other hand, IMHO if we are spilling more than 2KB on a single spill decision, we probably should reconsider things more broadly, as that has potential for big performance cliffs. So I'm personally in favor of catching this with e.g. u8::try_from().unwrap(), but others please let us know if there are cases we should consider!
(FWIW, the u8 is because of struct-size efficiency tuning so we'd want to measure the impact on compile time if we increased it.)

The size field was removed from the SpillSet struct in 09371f0b7b5a51e7846b8a3f53969330b4aa1f60, so I'm going to close this PR.


Axis spec may need tightening

"If missing, the member "dataType" defaults to "primitive" and MUST not be included for that default case." - this is not clear to me
Is coordinates required for tuples and polygon axes?
Is bounds only valid for primitive-valued axes based on an array of values (I assume so)

"If missing, the member "dataType" defaults to "primitive" and MUST not be included for that default case." - this is not clear to me

It just means never include "dataType": "primitive". The reason for this is to enforce a canonical format. This is the same as for "timeScale" in "TemporalRS".

Is coordinates required for tuples and polygon axes?

It is required whenever there is more than one coordinate, and this should be spelled out. Polygons always have two, and tuples at least one. The 1-tuple degenerate case should probably be discouraged in favour of using a primitive axis.

Is bounds only valid for primitive-valued axes based on an array of values (I assume so)

In practice yes. I think we left it unconstrained in case there will be something non-primitive that could make use of it as well. I'm fine with tightening it up to make it clearer.


[BUG] -P filter plugin doesn't seem to work after -P duplicate plug

Bug description:
When merging a stream, I'm trying to duplicate a pid from the input stream, then filter out out the original pid and pass only the stream's new pid to the  output. I know that may seem strange, but we have conditions where we might duplicate the same pid to multiple output pids in a single output stream.
I'm using basically the "-P duplicate 0xa=0xb  -P filter -s -p 0xb" plugin structure.
It looks like the second filter isn't working, and I think both source streams with pid 0xa and 0xb are both being sent to the output stream. I'm getting a lot of "Warning: duplicate: buffer overflow, dropping packet" errors.
I've also tried adding a "-P filter -s -n -p 0xa" to specifically exclude 0xa from the output, but the results are the same.
How to reproduce:
Here's the tsp command I'm using:
tsp --control-source localhost --control-port 8000 --control-reuse-port -v -b 41209008 -I null -j -O ip localhost:8999 -P regulate \
-P merge -j -t --no-pcr-restamp "tsp -v -b 7000000 -I file -i \files\CAT_STREAM_0x0_0x21.ts -P filter -s -p 0x0-0x21 -P regulate" \
-P merge -j -t --no-pcr-restamp "tsp -v -b 1000000 -I file -i \files\INPUT_STREAM_8E0.ts -P filter -s -p 0x8e0 -P duplicate 0x8e0=0x8e1 -P filter -s -p 0x8e1 -P regulate"

I'm attempting to merge INPUT_STREAM_8E0.ts, filtering to pass only 0x8e0 pid then duplicating 0x8e0 to 0x8e1, then filtering to pass only 0x8e1.
I've also added "-P filter -s -n -p 0x8e0" before the "-P regulate" to specifically filter out 0x8e0 and got the same results.
Expected behavior:
Output stream should only include streams with the remapped pid without error.
Errors and logs:
Getting a continuous stream of "Warning: duplicate: buffer overflow, dropping packet" errors on the screen.
Environment:

OS: Windows
- The problem is also occurring in linux servers.
OS version: Windows 10 Enterprise 64 bit, version 21H2, build 19044.2364
TSDuck full version: 3.32-2983
Installation type: official binary "TSDuck-Win64-3.32-2983.exe"

Note that this used to work (don't remember what version of tsDuck was installed at the time).

Hi @lmoody1
Can you reproduce the problem with one single tsp command? Without the imbrication of merge plugins.
If you find packets with PID 0x0A on output, are you sure that they come from the second merged command? Maybe they come from the first merged command.

Yes. Here is the tsp command I'm using:
tsp --control-source localhost --control-port 8000 --control-reuse-port -v -b 41209008 -I file -i \files\INPUT_STREAM_8E0.ts -P filter -p 0x8e0 -P duplicate 0x8e0=0x8e1 -P filter -p 0x8e1 -O ip localhost:8999 -P regulate

Hi @lmoody1

Getting a continuous stream of "Warning: duplicate: buffer overflow, dropping packet" errors on the screen.

This means that there is not enough null packets in the stream to duplicate the PID. You need to make sure that the stream contains at least as many null packets as packets in the PID to duplicate. Otherwise, it will fail with this error, just like copying/duplicating a file into a file system where the free space is smaller that the file to copy.

It looks like the second filter isn't working, and I think both source streams with pid 0xa and 0xb are both being sent to the output stream.

I do not see how this is possible. I cannot reproduce your problem. I do not have your input file, but it should not make any difference.
 The various count plugins report the number of packets per PID. We can see that the last step only contains PID 0x08e1.
Please note the -s in -P filter -p 0x8e0 -s. This option converts removed packets into null packets instead of removing them. If you do not use it, there is no longer any null packet and there is no possibility to duplicate anything since there is no free space left.
Without -s, no packet is duplicated and the last filter plugin removes everything since there is no PID 0x08e1. But, in no circumstances, there will be PID 0x08e0.

Let me preface my questions by stating in advance that I am not intimately familiar with streaming. I'm learning as I go.
I have the following two examples that each duplicate 0x226 to 0x227 (without any filtering...also note that the file only  has one stream with pid 0x226):
tsp --control-local localhost --control-port 8000 -v -b 41209008 -I null -j  \
-P mux -b 1000000 c:\files\PID_226_File.ts \
-P duplicate 0x226=0x227 \
-O ip localhost:8999 -P regulate

And,
tsp --control-local localhost --control-port 8000 -v -b 41209008 -I null -j  \
-P merge -j -t --no-pcr-restamp "tsp -v -b 1000000 -I file -i c:\files\PID_226_File.ts -P duplicate 0x226=0x227 -P regulate"  \
-O ip localhost:8999 -P regulate

The "-P mux" plugin with the "-P duplicate" plugin doesn't cause any issues. We're not seeing any errors and we're seeing PIDs "0x226", "0x227" and "0x1fff" on the output.
However, the "-P merge" plugin with the "-P duplicate" plug causes the "* Warning: duplicate: buffer overflow, dropping packet" errors and we're only seeing output from "0x226", not "0x227" nor "0x1fff".
I guess my question is, how do these two run differently? We can't use the "-P mux" plugin option; we're pretty much locked into using "-P merge". Are there options I can set on the "-P merge" line that will emulate how the "-P mux" plugin works?
I don't know if this helps, but here is the tsanalyze output for the file (we get the same basic results with every file we've attempted this with, regardless of the pids of the streams):
===============================================================================
|  TRANSPORT STREAM ANALYSIS REPORT                                           |
|=============================================================================|
|  Transport Stream Id: ............. Unknown  |  Services: .............. 0  |
|  Bytes: ........................ 16,723,164  |  PID's: Total: .......... 1  |
|  TS packets: ....................... 88,953  |         Clear: .......... 1  |
|     With invalid sync: .................. 0  |         Scrambled: ...... 0  |
|     With transport error: ............... 0  |         With PCR's: ..... 0  |
|     Suspect and ignored: ................ 0  |         Unreferenced: ... 1  |
|-----------------------------------------------------------------------------|
|  Transport stream bitrate, based on ....... 188 bytes/pkt    204 bytes/pkt  |
|  User-specified: ................................... None             None  |
|  Estimated based on PCR's: ...................... Unknown          Unknown  |
|  Selected reference bitrate: .................... Unknown             None  |
|-----------------------------------------------------------------------------|
|  Broadcast time: ................................................. Unknown  |
|-----------------------------------------------------------------------------|
|  Srv Id  Service Name                              Access          Bitrate  |
|                                                                             |
|  Note 1: C=Clear, S=Scrambled                                               |
|  Note 2: Unless specified otherwise, bitrates are based on 188 bytes/pkt    |
===============================================================================

===============================================================================
|  SERVICES ANALYSIS REPORT                                                   |
|=============================================================================|
|  Global PID's                                                               |
|  TS packets: 0, PID's: 0 (clear: 0, scrambled: 0)                           |
|-----------------------------------------------------------------------------|
|     PID  Usage                                     Access          Bitrate  |
|   Total  Global PID's ................................. C          Unknown  |
|   Subt.  Global PSI/SI PID's (0x00-0x1F) .............. C          Unknown  |
|=============================================================================|
|  Unreferenced PID's                                                         |
|  TS packets: 88,953, PID's: 1 (clear: 1, scrambled: 0)                      |
|-----------------------------------------------------------------------------|
|     PID  Usage                                     Access          Bitrate  |
|   Total  Unreferenced PID's ........................... C          Unknown  |
|  0x0226  Unreferenced ................................. C          Unknown  |
===============================================================================

===============================================================================
|  PIDS ANALYSIS REPORT                                                       |
|=============================================================================|
|  PID: 0x0226 (550)                                            Unreferenced  |
|-----------------------------------------------------------------------------|
|  Unreferenced PID          Transport:                Discontinuities:       |
|  Bitrate: ....... Unknown  Packets: ........ 88,953  Expected: ......... 0  |
|  Access: .......... Clear  Adapt.F.: ............ 0  Unexpect: ......... 0  |
|                            Duplicated: .......... 0  Sections:              |
|                            PCR: ................. 0  Unit start: ... 4,100  |
===============================================================================

===============================================================================
|  TABLES & SECTIONS ANALYSIS REPORT                                          |
===============================================================================

The problem has nothing to do with merge. It is only in the command of the stream to merge:
tsp -v -b 1000000 -I file -i c:\files\PID_226_File.ts -P duplicate 0x226=0x227 -P regulate

Your analysis of the file shows that it contains only one PID: 0x0226. Nothing else, no stuffing, no null packet. The description of the duplicate plugin mentions "duplicate PID's, reusing null packets". How could this plugin duplicate a PID when there is no null packet at all? This is like trying to copy a file in a file system which is already full with that single file.
If your goal is to modify the PID number of all packets in the TS, I would use this:
tsp -v -b 1000000 -I file -i c:\files\PID_226_File.ts -P craft --pid 0x227 -P regulate

More generally, if the TS contains several PIDs and you want to change all packets from PID 0x226 to 0x227:
tsp ... -P filter --pid 0x226 --set-label 1 -P craft --only-label 1 --pid 0x227 ...

Note that this is slighty different from -P remap 0x226=0x227. The above command works at packet level, all packets from 0x226 are renamed, from the beginning. The remap plugin works at TS level, updating the structure of the TS and its signalisation and it won't update the packets until it understands to which structure they belong to. This is why I recommend the craft plugi in your case.
You do not get the problem with the mux plugin in this command:
tsp ... -b 41209008 ... \
    -I null \
    -P mux -b 1000000 c:\files\PID_226_File.ts \
    -P duplicate 0x226=0x227 \

There is a logical explanation. In this case, the mux plugin reads the file one time and replaces null packets with packets from this file. However, the replacement is performed at bitrate 1 Mb/s (-P mux -b 1000000) while you specified that the TS bitrate was 41 Mb/s (tsp -b 41209008). Thus, roughly, only 1 null packet every 41 null packets is replaced by a packet from the file. This leaves plenty of free space in the TS for the duplicate plugin to work.


Mailformed package error

Mailformed package error even after fresh install (npm i  eslint-plugin-react) or removing node_modules and reinstalling them from scratch.

eslint-plugin-react version 7.32.2
eslint version 8.35.0
node version 18.12.1

That's a file shipped with the resolve package. It's also a test fixture in that package. Where did you get "malformed package error"?
I would suggest immediately distrusting any tool that's foolish enough to naively scan for any file called "package.json" in node_modules, even ones that aren't the root of a package.


render nothing has been depreciated in Rails 5.1

the :nothing option has been removed in Rails 5.1 (https://github.com/rails/rails/blob/1099329be081297c16b02141ec13ca6a05ff037c/actionpack/lib/action_controller/metal/rendering.rb#L101)
This currently causes the following error
ActionView::MissingTemplate: Missing template contentful_rails/webhooks/create with {:locale=>[:"en-GB", :en], :formats=>[:json], :variants=>[], :handlers=>[:raw, :erb, :html, :builder, :ruby]}. Searched in: * "/app/app/views" * "/app/vendor/bundle/ruby/2.3.0/gems/devise_invitable-1.7.0/app/views" * "/app/vendor/bundle/ruby/2.3.0/gems/devise-4.3.0/app/views" * "/app/vendor/bundle/ruby/2.3.0/bundler/gems/contentful_rails-7658c4bc485f/app/views"

Proposing to use head :ok instead.

Thanks for the contribution
Merged


[Discussion] Vuejs Shards components

Hey :). What about Vue.js instead of jQuery?
There are a lot of benefits around this "migration".
Did you think about it ?

Modularization
Scalability
Vuejs support :D
SFC (single file components)
More maintainable code

Sorry if this isn't the best place to discussion

@hisk check this: https://bootstrap-vue.js.org/ this can help to build a new version of shards with vue.

Please, it would be awesome when you build using vue :D !

Adding my +1 for Vue.js.

@hisk what if you give us acces to a specific repo to work with vue / react?

Thanks for your support and patience so far everyone! 🙇
@abr4xas I don't think that would be necessary as both React and Vue versions are almost complete and scheduled to be released very soon (next month). I know this took a while and even though I found handling all the products on my own a bit challenging I reconsidered getting external help for the initial release.

@hisk no problem dude!!

I'll start some sketch at my own, just for practice and studies.
@hisk :)

Actually, I've been considering building out Vue.js components with Shards as part of the vuejsradar.com articles I write... so glad I came across this thread here! Shards is awesome and I think it would compliment Vuejs really well.

okay. I am done with patience. @rodrigorhas  @andreliem I have already done integrating it with Vue here :)

@rodrigorhas @Lahori-Jawan
I'm super excited to see how much demand has been around this and while I truly understand everyone, I'm making another step in asking you for a little bit more patience. 😁
Shards Vue is a few weeks closer to the launch and it will be released with at least 80%+ Bootstrap 4 compatibility (the remaining of which will be community-driven after the initial release), integrated documentation and many more awesome features. That's not only re-writing Bootstrap 4 as Vue components from scratch, but also adding Shards' extra functionality on top.
While I haven't talked much about this, DesignRevision is a one-man show and building projects worth using that is also meeting the quality standards I've been trying to meet so far, is taking time.
@andreliem That's really great to hear and I'm looking forward to see what you come up with. If you plan on building components that won't be available out of the box, I will definitely consider integrating them if you'd like. Keep up the great work with VueJS Radar. 👏

@rodrigorhas @Geczy @Lahori-Jawan @andreliem @abr4xas @sebastienvercammen @dionfananie
🎉Shards Vue is now available on GitHub and as an NPM package.
It covers more than 85% of all Bootstrap 4 components and also includes support for all the custom components that came with Shards.
All components are properly documented with minor features missing that will be obvious based on the component's props definition. I'm also working "as we speak" on deploying the documentation live and setting up the official product page.
Make sure to check it out, give it a spin and open a new issue in case you find anything.
Taking this project to a state that I am really happy with and comfortable to release took a while. However, I am really happy with the results so far and during the next couple of weeks, I will focus on updating and improving Shards while maintaining this project in order to get it to 100% Bootstrap 4 coverage.
Thank you for your support and patience! 🙇

Congrats on the release. React in sight?

@Geczy The React version is a little bit rough on the edges, but I plan to release it in 3-4 weeks, after another round of updates (Bootstrap 4.1.3) and improvements for Shards, Shards Dashboard Pro and Shards Dashboard Lite. 😁

Great work @hisk on the vue shards. I'm currently using shards for a new project and having a vue version will be super handy.

Loving the Shards UI kit. Holding out for the React version, can't wait!

Is it possible to get the sketch source for this like you've included with the vue pro version?

@blcarson Hey there! 👋 You can download the Sketch file here. 😄


Add Contribution Guidelines

The title says it all. This PR seeks to make the implicit explicit. It borrows heavily from the Atom contribution guidelines, making minor changes for linter (like requiring PRs to not have lint errors :wink:).

LGTM.

My god this is great. :+1:
I might start stealing this for other projects. :grinning:


fix: Remove vendor cp command

Remove vendor from the image.
Signed-off-by: cegao<EMAIL_ADDRESS>

Coverage remained the same at 71.59% when pulling 72269eef364fb31076d877109e609a4cb6955d40 on gaocegege:dockerfile into 8ec1acb78332751810f279ca4c8031d529a6ec0a on kubeflow:master.

/lgtm


Fixes deprecation warnings about bg-variant on 3.4.0.

Re-applying dea36c950956513732ebc2ab7a223a4ce4d91bd5
The warnings are (maybe accidentally) back again on a8db7aac538bab33f83ee5b918ead8a44105dcb8
Related to #154

@mrholek ping
I'll be happy if the fix is merged and then v3.4.1 is released.

@mrholek ping
I'll be happy if the fix is merged and then v3.4.1 is released.