Enhancement: provide a bunch of example POSTs/PUTs to interact with our instance

We have a bunch of useful APIs defined in mongo.js with plenty of functions users should be encouraged to try out.
In our readme I expected to see examples, but I don't see any.
It'd be useful to include examples for each API we define. Currently going through the code figuring it out myself before testing the whole thing now that it's deployed.

Hey, btw, we're moving this app here: https://github.com/IBM/mern-app. This version has a couple enhancements but not the ones you have mentioned in the issues you're opening. We'll deprecate MERN-app soon and point all reference to mern-app


Metrics for portal

At the moment the trawler deliveres no metrics for the portal submodule. It would be nice to have some metrics to get an overview about the healthiness of the portal.

Totally agree, I've had several conversations about this in the past but never got to implementing.


POC: prevent downsides of getWidgetRenderState's refine identity

prevents the downsides of https://github.com/algolia/instantsearch.js/commit/c2f35464b347817152d5936e66252ac03e38794e#diff-fc3d2403c81ac8eda4a7c4982cfbfff1017b041f08bba731cac19cd47bb8e33d, while fixing https://github.com/algolia/vue-instantsearch/issues/911
basically we should check somehow whether the helper reference is still correct, in Vue InstantSearch SSR we call init with a different helper than gets created after .start()
https://github.com/algolia/vue-instantsearch/blob/4fb73136fac84cdd8149238004051ea3381a740c/src/util/createServerRootMixin.js#L226-L230
We could also possibly inject the helper created by Vue InstantSearch into InstantSearch, so the reference is actually correct when calling init.
Before getWidgetRenderState this wasn't an issue, since calling init multiple times is not really an issue (since it would then set those variables multiple times)
We could also possibly roll back the changes in https://github.com/algolia/instantsearch.js/commit/c2f35464b347817152d5936e66252ac03e38794e and set all inner references in init (like before)

We could also possibly inject the helper created by Vue InstantSearch into InstantSearch, so the reference is actually correct when calling init.

I feel like this makes more sense, than checking if helper has changed in IS.js.
If we bring a doubt to IS.js that helper may change, then it's going to be difficult to manage it in many places. Instead, it's Vue IS that changes the helper, we could inject that helper into IS.js and let IS.js be the same. What do you think?

We could also possibly inject the helper created by Vue InstantSearch into InstantSearch, so the reference is actually correct when calling init.

I feel like this makes more sense, than checking if helper has changed in IS.js.
If we bring a doubt to IS.js that helper may change, then it's going to be difficult to manage it in many places. Instead, it's Vue IS that changes the helper, we could inject that helper into IS.js and let IS.js be the same. What do you think?


Issue: Improve Error Handling and Provide Detailed Error Messages

Firstly, Thanks for the work on this library :)
Expected Behavior
When an error occurs while using the API, the error message should be structured in a way that makes it easy to extract the reason for the failure. Currently, the error message is all squashed into one, making it tedious to get the reason property from the object, as shown in the following image:

Additionally, since the error is of the type any, it makes it difficult to tap into the reason for the failure, as shown in the following image:

Workaround
To work around this issue, the user has to manually parse the error message to extract the reason for the failure, as shown in the following code snippet:
const makeTheCall = async (
    message: object,
    apikey: string,
    generationConfig: object,
) => {
    await run(message, apikey as string, generationConfig)
        .then((response) => {
            settledState(response as string);
        })
        .catch((error) => {
            if (error.message.includes('[GoogleGenerativeAI Error]')) {
                const errorMessage = error.message;

                if (errorMessage.includes('[400 Bad Request]')) {
                    // Extract the reason for the error
                    const reasonStart = errorMessage.indexOf('reason":"') + 9;
                    const reasonEnd = errorMessage.indexOf('","domain');
                    const reason = errorMessage.substring(
                        reasonStart,
                        reasonEnd,
                    );

                    console.log('Error reason:', reason);
                }
            }
            // errorState(error.reason as string);
            throw new Error(error.message as string);
        });
};

This workaround allows the user to extract the reason for the failure, as shown in the following image:

Proposed Solution
To improve the error handling and provide more detailed error messages, I suggest the following:

Implement a custom error class that extends the built-in Error class and includes properties for the error code, reason, and any other relevant information.
When an error occurs, create an instance of the custom error class and throw it instead of the raw error object.
Update the error handling logic in the client code to handle the custom error class, making it easier to extract the relevant information from the error.

This approach will provide a more structured and informative error handling experience for the users of the library.
Repo Link
The repository where I encountered this issue is Genie.

As a temporary solution, I implemented this function:
function parseStatusCode(error: Error): number {
  const regex = /\[(\d+)[\s\w]*\]/;

  const match = regex.exec(error.message);
  if (match === null) {
    throw new SyntaxError("Couldn't parse the status code from the message: " + error.message);
  }

  return parseInt(match[1]);
}

This function takes the Error object from the library and returns the HTTP status code of the request, which helps you distinguish different kinds of errors.
Example usage:
const genAI = GoogleGenerativeAI("invalid token");
const model = genAI.getGenerativeModel({model: "gemini-pro"});

try {
  model.generateContent("Hello world!")
catch (e) {
  const status = parseStatusCode(e);
  if (status === 400) {
    console.error("Invalid API key");
  }
  // other handlers
}

Consolidating additional feedback from another issue (https://github.com/google-gemini/generative-ai-js/issues/24):

Related, it doesn't appear that I can import GoogleGenerativeAIError so that I can do e instanceof GoogleGenerativeAIError. Also, guidance on how to differentiate errors would be nice. Currently I don't see a way to get the HTTP status code without parsing the message (e.g. [500 Internal Server Error], [503 Service Unavailable]).


Nexus Scaletest reports

Documented the Nexus Scale test reports with 100K objects

No longer needed, will create new PR


Fix editor behavior when core.commentChar is set to auto

Fixes #1512.
I didn't write a test for whether the feature works for releases; all that's changed is using # rather than auto, which doesn't seem very important. Other changes are tested.

Closed as I need to examine behavior some more.

Hi @e-beach thank you for proposing this PR. I had reviewed it over the weekend, but the implementation didn't sit well with me. You must have thought the same because you closed this PR.
I have an idea for another approach, and I'm going to try to implement it myself. It will require some shuffling of existing code around, since currently the code that sets up the text editor is a bit of a mess.

The behavior of this PR is broken in several ways, and, as a result, after this PR but before your response I had opened #1522, which includes some logical corrections. It probably does not resolve the root design issues you mention, so I'll close it as well.

Hey, @mislav, did you make any progress on this? If not, maybe share your thoughts with us and someone could contribute.


Defined new revisions for golang dep: github.com/joefitzgerald/rainbow-reporter

Ran component through the scanners since I noticed it had not been harvested yet. PR matches curation site. Closing.


python311Packages.meshtastic: 2.2.20 -> 2.2.21

Diff: https://github.com/meshtastic/Meshtastic-python/compare/refs/tags/2.2.20...2.2.21
Changelog: https://github.com/meshtastic/python/releases/tag/2.2.21
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 288549 run on x86_64-linux 1

2 packages built:

python311Packages.meshtastic
python311Packages.meshtastic.dist

Result of nixpkgs-review pr 288549 run on x86_64-linux 1

2 packages built:

python311Packages.meshtastic
python311Packages.meshtastic.dist


Rename stress test directory to match package name

What this PR does / why we need it:
As part of adding integration tests, I wanted to create an integration
package within the integration directory. However, the stress test that
already existed in that directory belongs to the stress package.
This change moves this package into its own directory with the same
name.
Which issue(s) this PR fixes

Related to #668

Codecov Report

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

@@            Coverage Diff             @@
##           master     #893      +/-   ##
==========================================
+ Coverage   47.29%   47.39%   +0.09%
==========================================
  Files          75       75
  Lines        5034     5034
==========================================
+ Hits         2381     2386       +5
+ Misses       2515     2512       -3
+ Partials      138      136       -2

Impacted Files
Coverage Δ

pkg/plugin/aggregation/aggregator.go
75% <0%> (+3.2%)
:arrow_up:

Continue to review full report at Codecov.

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


BPF host routing broken on EKS due to --egress-masquerade-interfaces helm flag

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
When running our cluster with the following values:
k8sServiceHost: ${k8s_service_host}
k8sServicePort: ${k8s_service_port}

kubeProxyReplacement: "strict"
eni:
  enabled: true
  updateEC2AdapterLimitViaAPI: true
  awsReleaseExcessIPs: true
  awsEnablePrefixDelegation: true
ipam:
  mode: eni
bpf:
  hostLegacyRouting: false
  masquerade: true
devices: "eth+"

We can observe the following output on the pod:
level=warning msg="BPF masquerade does not allow to specify devices via --egress-masquerade-interfaces (use --devices instead). Falling back to iptables-based masquerading." subsys=daemon
level=info msg="BPF masquerade could not be enabled. Falling back to legacy host routing (--enable-host-legacy-routing=\"true\")." subsys=daemon

Which is interesting as we did provide the --devices flag. The nodes did still have:
 --egress-masquerade-interfaces='eth0'" subsys=daemon

We temporarily solved it by providing:
extraConfig:
  egress-masquerade-interfaces: ""

We tried this on multiple versions of Cilium in 1.11.x, 1.12.x and even the 1.13.0-rc0 release. All reported the same issue. This seems to be an issue with the helm chart as we've seen the exact same issue occur with  enable-endpoint-routes being sticky while we did definitely set it to false.
If there is something you guys would like us to test, let us know!
Cilium Version
1.11.8, 1.12.0, 1.12.1, 1.13.0-rc0
Kernel Version
Amazon Linux 2
5.10.135-122.509.amzn2.x86_64
Kubernetes Version
v1.21.12-eks
Sysdump
No response
Relevant log output
level=warning msg="BPF masquerade does not allow to specify devices via --egress-masquerade-interfaces (use --devices instead). Falling back to iptables-based masquerading." subsys=daemon
level=info msg="BPF masquerade could not be enabled. Falling back to legacy host routing (--enable-host-legacy-routing=\"true\")." subsys=daemon

Anything else?
No response
Code of Conduct

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

I don't seem to find anything in either the helm template or the cilium-agent that would set this flag, e.g. its value can only come from the user. Was this set to "eth0" at some point earlier and for some reason is now sticking around?

We neither. We've also tried to fully remove Cilium and did reapply it to the cluster to be sure we did not have any lingering values. Even with a full reapply, we still observed this behaviour.

When you enable the eni mode then the endpoint routes are being enabled as well (helm template). It seems that still BPF host routing is not supported yet with endpoint routes enabled (relevant slack thread).

When you enable the eni mode then the endpoint routes are being enabled as well (helm template). It seems that still BPF host routing is not supported yet with endpoint routes enabled (relevant slack thread).

When you enable the eni mode then the endpoint routes are being enabled as well (helm template). It seems that still BPF host routing is not supported yet with endpoint routes enabled (relevant slack thread).

Based on the thread and the helm template you linked to, I believe Legacy Host Routing is the only supported option when using eni.
I'm I reading this correctly that this is being worked in in https://github.com/cilium/cilium/pull/22006 ?


Error when running colab demo

Traceback (most recent call last):
  File "/content/facechain/facechain/train_text_to_image_lora.py", line 1161, in <module>
    main()
  File "/content/facechain/facechain/train_text_to_image_lora.py", line 785, in main
    raise ValueError(
ValueError: --caption_column' value 'text' needs to be one of: image

Always get this error message when training on colab demo. Thank you.

Traceback (most recent call last):
  File "/content/facechain/facechain/train_text_to_image_lora.py", line 1161, in <module>
    main()
  File "/content/facechain/facechain/train_text_to_image_lora.py", line 785, in main
    raise ValueError(
ValueError: --caption_column' value 'text' needs to be one of: image

Always get this error message when training on colab demo. Thank you.

please refer to #171 ，see if it can solve your problem.

Seems like he solved it by adjusting the version of datasets, which I have already tried (he didn't specify what version).
I tried to remove the try-except and got another error:
Traceback (most recent call last):
  File "/content/facechain/facechain/train_text_to_image_lora.py", line 1161, in <module>
    main()
  File "/content/facechain/facechain/train_text_to_image_lora.py", line 748, in main
    dataset = load_dataset(
  File "/usr/local/lib/python3.10/dist-packages/datasets/load.py", line 1773, in load_dataset
    builder_instance = load_dataset_builder(
  File "/usr/local/lib/python3.10/dist-packages/datasets/load.py", line 1502, in load_dataset_builder
    dataset_module = dataset_module_factory(
  File "/usr/local/lib/python3.10/dist-packages/datasets/load.py", line 1221, in dataset_module_factory
    raise FileNotFoundError(
FileNotFoundError: Couldn't find a dataset script at /tmp/qw/training_data/ly261666/cv_portrait_model/demo1_labeled/demo1_labeled.py or any data file in the same directory.

File "/content/facechain/facechain/train_text_to_image_lora.py", line 193, in prepare_dataset
image = get_rot(image)
File "/content/facechain/facechain/train_text_to_image_lora.py", line 144, in get_rot
ort_session = onnxruntime.InferenceSession(model_path)
File "/usr/local/lib/python3.10/dist-packages/onnxruntime/capi/onnxruntime_inference_collection.py", line 432, in init
raise e
File "/usr/local/lib/python3.10/dist-packages/onnxruntime/capi/onnxruntime_inference_collection.py", line 419, in init
self._create_inference_session(providers, provider_options, disabled_optimizers)
File "/usr/local/lib/python3.10/dist-packages/onnxruntime/capi/onnxruntime_inference_collection.py", line 451, in _create_inference_session
raise ValueError(
ValueError: This ORT build has ['AzureExecutionProvider', 'CPUExecutionProvider'] enabled. Since ORT 1.9, you are required to explicitly set the providers parameter when instantiating InferenceSession. For example, onnxruntime.InferenceSession(..., providers=['AzureExecutionProvider', 'CPUExecutionProvider'], ...)

File "/content/facechain/facechain/train_text_to_image_lora.py", line 193, in prepare_dataset image = get_rot(image) File "/content/facechain/facechain/train_text_to_image_lora.py", line 144, in get_rot ort_session = onnxruntime.InferenceSession(model_path) File "/usr/local/lib/python3.10/dist-packages/onnxruntime/capi/onnxruntime_inference_collection.py", line 432, in init raise e File "/usr/local/lib/python3.10/dist-packages/onnxruntime/capi/onnxruntime_inference_collection.py", line 419, in init self._create_inference_session(providers, provider_options, disabled_optimizers) File "/usr/local/lib/python3.10/dist-packages/onnxruntime/capi/onnxruntime_inference_collection.py", line 451, in _create_inference_session raise ValueError( ValueError: This ORT build has ['AzureExecutionProvider', 'CPUExecutionProvider'] enabled. Since ORT 1.9, you are required to explicitly set the providers parameter when instantiating InferenceSession. For example, onnxruntime.InferenceSession(..., providers=['AzureExecutionProvider', 'CPUExecutionProvider'], ...)

for this ,you can fix up this mistake for following :
ort_session = onnxruntime.InferenceSession(model_path,providers=onnxruntime.get_all_providers())

Okay - I seem to have found the problem causing the main issue. I had the same error as @sshhaawwnn111 when running the colab-workbook on a free tier. Since google blocked running stable-diffusion with a webui the solution is pretty simple:
1.)  When you run the workbook the first time, it will fail with "context already set". Don't be disencouraged - just run !python3 app.py manually and it will work then.
6.) Profit!
So the main problem is googles ban on sd with a web-ui. See here for more info: https://decrypt.co/197428/google-colab-stable-diffusion-web-ui-ban

@Husky110 thanks for the detailed reply!!


Fix other migrated formats

https://trello.com/c/PX2ouzoX/597-check-migrated-routes
Some pages still reference towhitehall-frontend in the router. This should not happen for migrated formats, so we are going to republish
them.
HtmlAttachments and Collections were already fixed in other PRs.

Does this actually fix them? All of these documents have already been republished without the routes being updated.

It should be together with https://github.com/alphagov/router-api/pull/100, but yes I still have to test it in integration.

not needed as the routes still on whitehall-frontend result draft or withdrawn


adrgen ported to Windows ?

Hi,
adrgen looks great. I use it on Linux but some of the machine where I need it are under Windows.
I am quite new to GO. Do you think that porting adrgen to Windows platform could be tricky ?
Thx, Fred.

Ive compiled and used it on windows with no real issues so far

Ive compiled and used it on windows with no real issues so far

I will port to node the tool in the following weeks. Despite it will be not "officially" supported, I will do my best to ensure the best compatibility.


Examples: fix  warning in the TypeScript example

with-typescript example uses _document.tsx to demo strongly typed Document component from @types/next and set's custom <title> inside _document.tsx which logs the warning in the console.
This PR replaces custom _document.tsx with _app.tsx which still demos strongly typed API, sets custom title, but doesn't confuse newcomers with the warning.

Awesome, thank you very much 🙌


Allow the user to use the column names

For my usecase it has been proven useful to plot the column names instead of the chunk_size:

Maybe linked to #34  ?

Hey Rémi, thank you for the PR. tThis is indeed exactly what is suggested in issue https://github.com/gecko984/supervenn/issues/34
I'm not too sure about the implementation you suggested, because it will prove useful in a very small number of cases - namely, when all the sets are really small, like 1-2 items, and also the items' string representatation must be short. I think, at least the items names should be rotated 90 degrees. And the existing parameter rotate_col_annotations won't work here, because it will rotate the whole ', '.join(names) instead each of the names individually.
Also I wrote a couple more things in the code comments, otherwise I'll happily accept this PR

Hello,
I made another commit to take your comment into account, but sadly I haven't anytime left to spend on this PR.
Feel free to modify it as you want 😉


Fix SortedMap extension

Now SortedMap<K, V> extends Ordered<K> and there is two identical methods
Comparator<K> comparator();
Comparator<K> keyComparator();

I believe SortedMap<K, V> should extend Ordered<Tuple2<K, V>> to provide two different methods
Comparator<Tuple2<K, V>> comparator();
Comparator<K> keyComparator();

Ordered interface introduced in 2.1.0, so we can do it in this milestone.
This issue also belongs to Multimap case (see #1694)

Hi Ruslan, yes you are right, it is redundant. We can't assume that elements of type V are (naturally) comparable. Therefore A Comparator<Tuple2<K, V>> would effectively compare only the key elements (keys are unique, so this is sufficient).
I think we should leave it this way, deprecate keyComparator() and remove it in 3.0.0.

@danieldietrich or we can just mark keyComparator() as deprecated? I bow to that decision


Is this a cheat that allow me to see other player's cards?

Hey, not sure if ur still online but just wondering whether this is a cheat that can allow me to see other player's cards?
If not, would it be possible to make one? I'm willing to pay for it :)

Hey, not sure if ur still online but just wondering whether this is a cheat that can allow me to see other player's cards?
If not, would it be possible to make one? I'm willing to pay for it :)

Nah, but (as of the time that it was uploaded) it can read the DISPLAYED cards. It's essentially a real-time webscraper using webdrivers; I haven't touched the project in a while, but it would be possible, just not without extremely heavy reverse engineering.
I'd like to poke at it again sometime just out of pure curiosity, but I don't think I can share or release something like that without some actual serious legality issues
however, from what i remember , the project is pretty much built around the idea of trying to make my first Counterfactual Regret Minimization model, could potentially see something like that in the future, but i don't have any plans on this anytime soon, sorry sir


Markov chain based response algorithm

ChatterBot is allows alternate statement selection algorithms to be passed into it's constructor. The default selection algorithm is engram, which looks for the closest existing match to a statement in the database and then returns a known response to that statement.
At the moment there is a placeholder file in chatterbot/algorithms/markov.py that is intended to be created as an option for selecting statements.
The markov algorithm would retrieve a list of statements that can be recognized as matches to the input text. A Markov chain based algorithm can then be used to build a new response based on the collection of matching statements.

Ideally, a method to validate the grammatical correctness of the newly created statement could also be created. It may be useful to look into NLTK  to determine this validation.
I'm open to suggestions on how to determine the number of words required to satisfy the markov algorithm.

Closed by 32bd5977a51e7ced7f0068006c65c703a8130d51
I'm closing this one off because using a markov chain based algorithm to generate new statements isn't an accurate way to produce responses to statements.


resolve unmet peer dependencies

It looks like there are several unmet peer dependencies and forced package resolutions.
This PR installs the unmet dependencies to resolve these errors. Things like babel were missing, so our babel.config.js wasn't picking up specified presets in the config, causing some cascading errors that also required those plugins to be installed.
Console is clear now with the exception of the multifarm package. They shouldn't be requiring rollup as a peer dependency (it should be a devDependency for them). And recharts should be specified as @^ not a specific version.
I realize there's a lot going on here. But it's probably safest to explicitly include the peer dependencies that are throwing warnings. wdyt?
After:
✨  Done in 0.04s.
[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
[3/4] 🔗  Linking dependencies...
warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>warning "@multifarm/widget ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^2.0.0".
warning "@multifarm/widget > rollup-plugin-dotenv ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^2.0.0".
warning "@multifarm/widget > rollup-plugin-dotenv > @rollup/plugin-replace ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>
Before:
[1/4] 🔍  Resolving packages...
warning Resolution field<EMAIL_ADDRESS>is incompatible with requested version<EMAIL_ADDRESS>warning Resolution field<EMAIL_ADDRESS>is incompatible with requested version<EMAIL_ADDRESS>warning Resolution field<EMAIL_ADDRESS>is incompatible with requested version<EMAIL_ADDRESS>warning Resolution field<EMAIL_ADDRESS>is incompatible with requested version<EMAIL_ADDRESS>warning Resolution field<EMAIL_ADDRESS>is incompatible with requested version<EMAIL_ADDRESS>warning Resolution field<EMAIL_ADDRESS>is incompatible with requested version<EMAIL_ADDRESS>warning Resolution field<EMAIL_ADDRESS>is incompatible with requested version<EMAIL_ADDRESS>warning Resolution field<EMAIL_ADDRESS>is incompatible with requested version<EMAIL_ADDRESS>warning Resolution field<EMAIL_ADDRESS>is incompatible with requested version<EMAIL_ADDRESS>[2/4] 🚚  Fetching packages...
[3/4] 🔗  Linking dependencies...
warning "@coinbase/wallet-sdk > eth-block-tracker ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>warning "@coinbase/wallet-sdk > eth-block-tracker > @babel/plugin-transform-runtime ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>warning "@coinbase/wallet-sdk > eth-block-tracker > @babel/plugin-transform-runtime ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>warning "@coinbase/wallet-sdk > eth-block-tracker > @babel/plugin-transform-runtime ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>warning "@coinbase/wallet-sdk > eth-block-tracker > @babel/plugin-transform-runtime > babel-plugin-polyfill-corejs2 ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>warning "@emotion/react ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>warning "@lingui/cli ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>warning "@multifarm/widget ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^2.0.0".
warning "@multifarm/widget > rollup-plugin-dotenv ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^2.0.0".
warning "@multifarm/widget > rollup-plugin-dotenv > @rollup/plugin-replace ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^7.0.0 || ^8.0.0".
warning "react-scripts > eslint-config-react-app ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>warning "react-scripts > eslint-config-react-app ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>warning " ><EMAIL_ADDRESS>has unmet peer dependency "eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8".
warning " ><EMAIL_ADDRESS>has unmet peer dependency "eslint@^3 || ^4 || ^5 || ^6 || ^7 || ^8".
warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0".
warning "recharts ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>warning "web3modal ><EMAIL_ADDRESS>has unmet peer dependency "react-is@>= 16.8.0".
warning " ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>warning " ><EMAIL_ADDRESS>has unmet peer dependency "babel-plugin-macros@2 || 3".
warning " ><EMAIL_ADDRESS>has unmet peer dependency "babel-plugin-macros@2 || 3".
warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>warning " ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>warning " ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^7.0.0 || ^8.0.0".
warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^8.2.0".
warning "eslint-config-airbnb ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^8.2.0".
warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>warning " ><EMAIL_ADDRESS>has unmet peer dependency "eslint@^3 || ^4 || ^5 || ^6 || ^7 || ^8".
warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>warning " ><EMAIL_ADDRESS>has unmet peer dependency "jest@>= 25".
warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>

On the resolutions, we were forcing them to address security issues (discovered using Snyk) in react-scripts 4 dependencies (mainly) as we weren't upgrading to react-scripts 5. Now that we have upgraded, we might be able to remove a bunch of those resolutions. Not sure if you want to tackle that in this PR.

I realize there's a lot going on here. But it's probably safest to explicitly include the peer dependencies that are throwing warnings. wdyt?

I believe that's the recommended approach.


Metrics are not viewable with prometheus-community/prometheus

Describe the bug
Not all the metrics are viewable in Lens IDE in case of relabeling configuration changes in prometheus-community/prometheus helm chart.
To Reproduce
Steps to reproduce the behavior:

Connect to EKS / AKS cluster
Select "Cluster" or "Nodes" view.
See error "Metrics not available at the moment" in "Cluster" view and in my case only part of metrics in "Nodes" view.

Expected behavior
All metrics viewable correctly in all Lens dashboards / menus / views.
Screenshots

Environment (please complete the following information):

Lens Version: 5.3.4-latest.20220120.1 client
OS: Linux Mint 20.2
Installation method (e.g. snap or AppImage in Linux): .deb package

Additional context
Issue caused by changes in prometheus-community/prometheus helm chart starting from v.15... Relabeling config is modified. The next labels changed:

Official announcement in prometheus-community/prometheus :
"Version 15.0.0 changes the relabeling config, aligning it with the Prometheus community conventions. If you've made manual changes to the relabeling config, you have to adapt your changes."
As per my understanding Lens use the next queries to work with Prometheus : https://github.com/lensapp/lens/tree/master/src/main/prometheus
Looks like it should be some kind of handling if using updated Prometheus helm chart.

Related to #3955


giterm enters an everlasting loop

To reproduce:

launch another Git tool that performs any Git internal data change
this change causes giterm to update views
which seems to trigger the other tool that...
triggers giterm and so on...

My test case is the git SublimeText2 plug-in. When disabling it, the issue does not show.

To update information, giterm performs a git status command.
As discussed in this thread, the git status command alters the Git index (the Git internal representation of the working copy). Such changes in the .git folder trigs giterm to update, hence the loop.

The only changes to the .git folder implied by git status is the creation and deletion of the .git/index.lock file.
We should ignore watchdog events triggered for both:

the .git/index.lock file
the .git folder itself

Fixed.


Stew Pot Locations

We can pretty much eat at any stew pots, not necessary at our camp... so hope that we can add that in this map.

Stale.


BUG: Clicking mail does not redirect to gmail.

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
I like to work on this feature and moreover i want to fix the UI to page colour instead of random blue colour and add little spacing.
Please assign me this task as soon as possible under gssoc 2024.

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@Anushkabh I would like to work on this issue. Kindly assign it to me.


RDL file import in API is broken in several ways

Trying to automate RDL file upload using  Invoke-PowerBIRestMethod and the /groups/<group>/imports POST endpoint seems borderline impossible currently - there are several problems:

No examples online - every example uses Invoke-RestMethod (none of which work)

Content-Type header parsing is broken, for example "multipart/form-data; boundary=someboundary" (with or without quotes around the boundary) results in an error saying that the header value is invalid. Same header works in Invoke-RestMethod. This makes it impossible to send multipart data as the boundary can't be specified.

Every single permutation of trying to do an RDL import returns 400 with no other information and the documentation/Swagger doc doesn't really help. e.g do we need to supply datasetDisplayName with RDL even though there is no seperable dataset?

Any example of importing an RDL would be useful - I haven't found any at all using Invoke-PowerBIRestMethod and haven't found any with other cmdlets that work.

Any update on this?

I did get this to work finally - the only API that seems to work for upload of RDL reports is this one:
https://docs.microsoft.com/en-us/rest/api/power-bi/imports/post-import-in-group

I am using that one but having no luck, can you provide me with your example?

I am doing it like this with Powershell 7
Connect-PowerBIServiceAccount
$token = Get-PowerBIAccessToken -AsString
$headers = @{
  'Authorization' = $token
}

$path_to_rdl = ''some filesystem path for the .rdl"

# RDL only supports "Abort" Or "Overwrite" and will fail with anything else
$conflict = 'Abort'

$form = @{ file = Get-Item $path_to_rdl }
[string]$itemname = Split-Path $path_to_rdl -Leaf

$response = Invoke-RestMethod -Uri "https://api.powerbi.com/v1.0/myorg/groups/$workspaceID/imports?datasetDisplayName=$itemname&nameConflict=$conflict"-Method POST -ContentType "multipart/form-data" -Form $form -Headers $headers

Thank you very much, that works perfectly.


fix: pass region to iamserviceaccount command

The iamserviceaccount resource has region as a required field, but the information in the field is not used in the eksctl arguments.  This causes failures when the region in the resource does not match the region in the environment.
This change adds the region to the create and delete arguments to fix the issue.

@BrendanGalloway Thanks for your contribution


Readme - Missing info on adding/learning/discovering energenie 'Control & Monitor' or 'Monitor' devices

Readme seems to be missing info on adding/learning/discovering energenie 'Control & Monitor' or 'Monitor' devices.
I.E. Hold down button on device and....
I have "monitoring": true in the config, but cannot see how to add new 'Control & Monitor' or 'Monitor' devices.
Similar to the learning mode from node-red  "The device config node will open and perform an auto-scan; after 10 seconds it returns a list of devices that it has found. If your device is not found you can force it to transmit a 'join' request by holding the button on the device for 5 seconds. You can click the search button as many times as you like if the device is not found."

Similar to the node-red  "The device config node will open and perform an auto-scan; after 10 seconds it returns a list of devices that it has found. If your device is not found you can force it to transmit a 'join' request by holding the button on the device for 5 seconds. You can click the search button as many times as you like if the device is not found."

Ah, I see it auto-discovers and adds anything around, fair enough.

My issue was fixed (one of my smart Plug+'s was not showing up in MQTT auto discovery, no data in homeassistant/switch/ener314rt/5623-switch etc) by clearing out it's instance in "energenie/2/5623"

Do we still need to put instructions regarding:
"If your device is not found you can force it to transmit a 'join' request by holding the button on the device for 5 seconds" so similar?
Similar to this:


Impl FromStr for Uncased<'static>

This implementation is nearly identical to String's implementation: https://github.com/rust-lang/rust/blob/8a12be741290b16c29293f87bdb3e8e5129bd4a9/library/alloc/src/string.rs#L2330-L2336
Rationale: I'm using argh for CLI argument parsing, and it can parse anything that implements FromStr. Without this PR that doesn't include Uncased and makes it less convenient.

The FromStr trait is unfortunate in that the lifetime in &str isn't named and thus it is not possible to borrow from the string passed in to from_str. This is a rather unfortunate consequence; it means we must allocate to implement the trait for Uncased<'a>, even though we could trivially borrow. I don't think this would be expected and so I am not inclined to accept this PR.
For your case in particular, you should consider using the from_str_fn attribute from argh to "parse" into an Uncased.


[Bug]: HttpClient connection is very slow from Windows client to Linux server

What happened?
I expect the connection between the application and the Chromadb server to occur in every thousandth of a second, but in my case it is around 1:10 (mm:ss)
Versions
Client Side

Windows 11
Python: 3.12.6
chromadb-client:  0.5.6.dev0

Server Side

Linux Ububtu 24.04
Python: 3.12.3
chromadb:  0.5.5

Relevant log output
I don't get an error during the connection process, only the connection time is extremely high.
However, I tested connectivity from the Linux client to the Linux server and it was extremely fast (< 120ms)

<IP_ADDRESS> is my server running a chromadb server

Start Connection time:-  2024-09-13 14:53:30.196609
Finish Connection time:- 2024-09-13 14:54:37.814719

=====  Python Code  =================================

import chromadb
import datetime

print("Start Connection time:-", datetime.datetime.now())

chroma_client = chromadb.HttpClient(host='<IP_ADDRESS>', port=8000)

print("Finish Connection time:-", datetime.datetime.now())

@anderatt can you try to curl to /api/v1/heartbeat/ on your server from your windows machine and see if that is fast? that will help us reproduce. thanks!

@anderatt, adding on top of what @jeffchuber mentioned, also add -v flag so that you can see headers and timestamps in the curl output:
culr -v http://<IP_ADDRESS>: 8000

If you don't have curl available either thru WLS or minGW you can use powershell command as follows:
Invoke-WebRequest -Uri "http://localhost:8000/api/v1/heartbeat" -Verbose

There are many reasons why requests might be slow, granted some of them can be from Chroma client or server.
Some background information about how the Chroma client works.  When you create a new client chromadb.HttpClient(...), the client will attempt to connect to Chroma server immediately by verifying that tenant and database exist (that's two separate requests to the server):
INFO:     [16-09-2024 07:50:48] Uvicorn running on http://<IP_ADDRESS>:8000 (Press CTRL+C to quit)
INFO:     [16-09-2024 07:50:51] <IP_ADDRESS>:30408 - "GET /api/v1/tenants/default_tenant HTTP/1.1" 200
INFO:     [16-09-2024 07:50:51] <IP_ADDRESS>:30408 - "GET /api/v1/databases/default_database?tenant=default_tenant HTTP/1.1" 200

Let me ask a few clarifying questions:

How is your machine connected to the server: home, corporate etc. network?
Is your machine in a corporate network? - frequently in such networks there are proxies and additional firewalls
Does your computer have any configured proxies?
Do you have any firewall rules or an anti-virus program that might be inspecting the traffic?

@jeffchuber and @tazarov
Thanks for answer me.
So, let provide more information for you:
Answer for the command : curl -v http://<IP_ADDRESS>: 8000
Invoke-WebRequest : Cannot find a positional parameter that accepts the argument '8000'.
Row:1 caractere:1

curl -v http://<IP_ADDRESS>: 8000

  + CategoryInfo          : InvalidArgument: (:) [Invoke-WebRequest], ParameterBindingException
  + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

PS C:\Users\ander> curl -v http://<IP_ADDRESS>:8000
DETAILED MODE: GET with 0-byte payload
curl : {"detail":"Not Found"}
No linha:1 caractere:1

curl -v http://<IP_ADDRESS>:8000

  + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebExc
 eption
  + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

The next command works fine!! The execution were in miliseconds
PS C:\Users\ander> _Invoke-WebRequest -Uri "http://<IP_ADDRESS>:8000/api/v1/heartbeat" -Verbose_
MODO DETALHADO: GET with 0-byte payload
MODO DETALHADO: received 44-byte response of content type application/json
StatusCode        : 200
StatusDescription : OK
Content           : {"nanosecond heartbeat":1726492632483973753}
RawContent        : HTTP/1.1 200 OK
Content-Length: 44
Content-Type: application/json
Date: Mon, 16 Sep 2024 13:17:09 GMT
Server: uvicorn
                {"nanosecond heartbeat":1726492632483973753}

Forms             : {}
Headers           : {[Content-Length, 44], [Content-Type, application/json], [Date, Mon, 16 Sep 2024 13:17:09 GMT],
[Server, uvicorn]}
Images            : {}
InputFields       : {}
Links             : {}
ParsedHtml        : mshtml.HTMLDocumentClass
RawContentLength  : 44
How is your machine connected to the server: home, corporate etc. network?
I'm connecting in two ways, the first is the one I've used most, it's installing a VM on Oracle VirtualBox with Ubuntu 24.04 installed. The second, once the problems appeared, was to create the entire VM configuration on a LAPTOP on the same network, even so the problems persist and are identical
Is your machine in a corporate network? - frequently in such networks there are proxies and additional firewalls
It is not a corporate network and there are no firewalls or proxies between the machines or between the Windows machine and the VM. The Oracle VirtualBox is installed on the same development Windows machine.
Does your computer have any configured proxies?
On the Windows machine there is the default firewall and Antivirus that comes with the Windows installation, but I tested with both disabled and the problem persists.
Do you have any firewall rules or an anti-virus program that might be inspecting the traffic?
As mentioned previously, even with the standard Windows firewall and antivirus disabled, the problem persists. I do not have any type of firewall or additional antivirus on the development machine
The command to start the Chromadb in a server side is:
/bin/bash
source /home/tomzitz/.venv/bin/activate
/home/tomzitz/.venv/bin/chroma run --host <IP_ADDRESS> --port 8000 --path /home/tomzitz/chromadata

@anderatt Can you test with this:
python -c "import httpx; print(httpx.get('http://localhost:8000/api/v1/heartbeat').text)"

Make sure you have your virtual environment sourced.

@anderatt, as I suspected the problem may be with the httpx package. I'll dig a little deeper for any recently reported issues with the project


docs: rework configuration docs

Explanation
Rework configuration docs.

/cherry-pick release-0.2


Is it possible to connect with layout properties?

Hello,
Is it possible to connect with layout properties? If so, is it also possible to get variable names?

Hey @Tiberriver256, this isn't currently possible. It would be interesting to know a bit more about your use case, i.e. what do you want to access and why is it not a component prop? We're definitely interested to support as many use cases as possible.

Thanks @tomduncalf-figma!
Our designer uses layout properties and consistent variables quite a bit. We have props laid out on our React components that match the design variables similar to how React Spectrum uses styles and would like to map those values to his.
So for this screenshot:

I would want to see a code connect snippet that looked something like:
<MyComponent
    padding-top="3"
    padding-right="5"
    padding-bottom="3"
    padding-left="5"
    radius="m" />

The idea being that we could copy the code-snippet from figma and it would look identical to the design.


German translation for LuckPerms(submission)

Hey. So as I already wrote on Spigot(review), I made a de-DE translation, because there didn't seem to be one, I got the time, and I want to help. So I spent like 3 - 3.5 hours on this hopefully not too bad language file.
In case there are typos reported, I tried not to make too many, ofc you can tag me in the issue  to fix it.^^
https://itstyrion.de/random/lang.yml
There you got the file, uploaded on my own server, because GitHub doesn't like YAML as attachment ;)

There are some translations which aren't really complete. Example: Line 7 Untercommands should be Unterbefehle. However, it's better to not translate terms like Track, Group or Parent (Elter doesn't even exist).
Also, I detected a das/dass mistake in L13.

Actually, Elter does exist. It's the singular form of Eltern.. like parent and parents.
And I didn't translate some things on purpose, i.e. commands. I will change that though, as well as the grammar mistake in L13

Yeah it exists but it's extremly rare and it sounds very uncommon. How I mentioned before, I wouldn't translate it at all.

https://github.com/LuckPerms/locale/commit/51d93f080b8f55b3cea7c9c827f97c6a93c1af7a
Thanks


Improve key-management security

TBD.

What do you think should be improved about it? Please create issues with specific details.


Use constants instead of strings for class / id names in fides-js

Originally posted by @allisonking in https://github.com/ethyca/fides/pull/3191#discussion_r1188976970

@eastandwestwind  is this still an issue?


Add CodeQL Workflow for Code Security Analysis

Summary
This pull request introduces a CodeQL workflow to enhance the security analysis of this repository.
What is CodeQL
CodeQL is a static analysis tool that helps identify and mitigate security vulnerabilities. It is primarily intra-function but does provide some support for inter-function analysis. By integrating CodeQL into a GitHub Actions workflow, it can proactively identify and address potential issues before they become security threats.
For more information on CodeQL and how to interpret its results, refer to the GitHub documentation and the CodeQL documentation (https://codeql.github.com/ and https://codeql.github.com/docs/).
What this PR does
We added a new CodeQL workflow file (.github/workflows/codeql.yml) that

Runs on every pull request (functionality to run on every push to main branches is included as a comment for convenience).
Runs daily.
Excludes queries with a high false positive rate or low-severity findings.
Does not display results for git submodules, focusing only on our own codebase.

Validation
To validate the functionality of this workflow, we have run several test scans on the codebase and reviewed the results. The workflow successfully compiles the project, identifies issues, and provides actionable insights while reducing noise by excluding certain queries and third-party code.
Using the workflow results
If this pull request is merged, the CodeQL workflow will be automatically run on every push to the main branch and on every pull request to the main branch. To view the results of these code scans, follow these steps:

Under the repository name, click on the Security tab.
In the left sidebar, click Code scanning alerts.

Is this a good idea?
We are researchers at Purdue University in the USA. We are studying the potential benefits and costs of using CodeQL on open-source repositories of embedded software.
We wrote up a report of our findings so far. The TL;DR is “CodeQL outperforms the other freely-available static analysis tools, with fairly low false positive rates and lots of real defects”. You can read about the report here: https://arxiv.org/abs/2310.00205
Review of engineering hazards
License: CodeQL operates under the MIT License which grants anyone the right to use, copy, modify, merge, publish, distribute, sublicense, and/or sell (commercially or non-commercially) the software as-is.
False positives: We find that around 20% of errors are false positives, but that these FPs are polarized and only a few rules contribute to most FPs. We find that the top rules contributing to FPs are: cpp/uninitialized-local, cpp/missing-check-scanf, cpp/suspicious-pointer-scaling, cpp/unbounded-write, cpp/constant-comparison, and cpp/inconsistent-null-check. Adding a filter to filter out certain rules that contribute to a high FP rate can be done simply in the workflow file.

Thanks, I'll merge this and maybe one day it will detect something worth addressing.


Readme and structure update

-> No content has been added, I simply deleted broken or totally outdated stuff
-> Skaffold was broken and still pointing to old manifests
-> No reason to keep windows docs in this branch

I really hate super long lines, I would wrap them all, but the repolinter complains, this is why they are mixed 😠
I would not block this in the meanwhile for a discussion since we are going to revisit it as part of the doc effort:)


pr-reminder: add how-to doc

A "How to" document for adding a team's configuration to the pr-reminder config. This is meant to guide CI users who are interested in receiving pr reminders for their team in setting up the tool.
For: https://issues.redhat.com/browse/DPTP-3016

/cc https://github.com/orgs/openshift/teams/test-platform

/cc @openshift/test-platform

/cc @droslean

For some reason I can't cc the entire team here.

/cc @hongkailiu

/hold
Holding if you want to fix the links.

/lgtm

/label tide/merge-method-squash

Added an alt tag to fix the links job
/hold cancel

/lgtm


Error when entering logo bump screen

Describe your bug here.

I didn't do anything to the code, I took a break and then came back and attempted to open the game. For some reason this error keeps happening even though I changed nothing. And also for some reason lime keeps of disappearing from my computer constantly and I have to keep reinstalling it (about 19 times now).
Command Prompt/Terminal logs (if existing)
MainMenuState.hx (line 151)
flixel/FlxGame.hx (line 637)
flixel/FlxGame.hx (line 724)
flixel/FlxGame.hx (line 677)
flixel/FlxGame.hx (line 545)
openfl/events/EventDispatcher.hx (line 402)
openfl/display/DisplayObject.hx (line 1399)

Uncaught Error: Null Object Reference
Please report this error to the GitHub page: https://github.com/ShadowMario/FNF-PsychEngine

> Crash Handler written by: sqirra-rng

Are you modding a build from source or with Lua?
Source
What is your build target?
Windows
Did you edit anything in this build? If so, mention or summarize your changes.
I edited stuff but it all worked, it just randomly stopped working even though I changed nothing.

OK I FIGURED OUT WHAT HAPPENED!!! The achievements were accidentally deleted by me, which would normally be fine because if the weeks and stuff are deleted, then I can't crash the game getting them. However I got absolutely incredibly unlucky and managed to get the friday night achievement for playing on a friday night. So the achievement was granted, without the achievement existing, causing the game to crash.

It's a very obscure way for the game to crash but here we are.

restrore it and close this

show mainmenustate line 151


Cannot access some https in docker, when host machine under VPN.

Dear developer,
I met a very strange problem. Can you help me?
When I use VPN, part of https(not all) links cannot receive data. It's hard to scribe, so I made a table.
I thinks it's a mistake in iptables, but I do not understand iptables T_T
VPN-off
        http  https
docker  OK    OK
host    OK    OK

VPN-on
        http  https
docker  OK    PART FAIL
host    OK    OK

failed links:
    https://api.rubygems.org/api/v1/dependencies
    https://www.baidu.com
succeed links:
    https://www.google.com
    https://www.facebook.com

A failed curl report:
root@caba483189e1:/# curl https://api.rubygems.org/api/v1/dependencies -Iv
* Hostname was NOT found in DNS cache
*   Trying <IP_ADDRESS>...
* Connected to api.rubygems.org (<IP_ADDRESS>) port 443 (#0)
* successfully set certificate verify locations:
*   CAfile: none
  CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
( curl wait for a long time here, and then timeout )
* Unknown SSL protocol error in connection to api.rubygems.org:443
* Closing connection 0
curl: (35) Unknown SSL protocol error in connection to api.rubygems.org:443

Same environment, but access http
root@caba483189e1:/# curl http://api.rubygems.org/api/v1/dependencies -Iv
* Hostname was NOT found in DNS cache
*   Trying <IP_ADDRESS>...
* Connected to api.rubygems.org (<IP_ADDRESS>) port 80 (#0)
> HEAD /api/v1/dependencies HTTP/1.1
> User-Agent: curl/7.38.0
> Host: api.rubygems.org
> Accept: */*
>
< HTTP/1.1 200 OK
HTTP/1.1 200 OK
* Server nginx is not blacklisted
< Server: nginx
Server: nginx
( ignore ... )

Same command under host with VPN
jcz@jcz-pc:~/src/backend/jcz-im$ curl https://api.rubygems.org/api/v1/dependencies -Iv
* Hostname was NOT found in DNS cache
*   Trying <IP_ADDRESS>...
* Connected to api.rubygems.org (<IP_ADDRESS>) port 443 (#0)
* successfully set certificate verify locations:
*   CAfile: none
  CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS handshake, Server key exchange (12):
* SSLv3, TLS handshake, Server finished (14):
( ignore ... )

The dump of iptables
jcz@jcz-pc:~/src/backend/jcz-im$ sudo iptables-save
# Generated by iptables-save v1.4.21 on Tue May 26 18:35:28 2015
*mangle
:PREROUTING ACCEPT [273077:515912715]
:INPUT ACCEPT [272347:515703059]
:FORWARD ACCEPT [598:127461]
:OUTPUT ACCEPT [182453:12240305]
:POSTROUTING ACCEPT [183140:12379149]
-A POSTROUTING -o virbr0 -p udp -m udp --dport 68 -j CHECKSUM --checksum-fill
COMMIT
# Completed on Tue May 26 18:35:28 2015
# Generated by iptables-save v1.4.21 on Tue May 26 18:35:28 2015
*nat
:PREROUTING ACCEPT [2053:243335]
:INPUT ACCEPT [1951:234663]
:OUTPUT ACCEPT [1698:108997]
:POSTROUTING ACCEPT [1698:108997]
:DOCKER - [0:0]
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
-A OUTPUT ! -d <IP_ADDRESS>/8 -m addrtype --dst-type LOCAL -j DOCKER
-A POSTROUTING -s <IP_ADDRESS>/16 ! -o docker0 -j MASQUERADE
-A POSTROUTING -s <IP_ADDRESS>/24 -d <IP_ADDRESS>/24 -j RETURN
-A POSTROUTING -s <IP_ADDRESS>/24 -d <IP_ADDRESS>/32 -j RETURN
-A POSTROUTING -s <IP_ADDRESS>/24 ! -d <IP_ADDRESS>/24 -p tcp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s <IP_ADDRESS>/24 ! -d <IP_ADDRESS>/24 -p udp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s <IP_ADDRESS>/24 ! -d <IP_ADDRESS>/24 -j MASQUERADE
COMMIT
# Completed on Tue May 26 18:35:28 2015
# Generated by iptables-save v1.4.21 on Tue May 26 18:35:28 2015
*filter
:INPUT ACCEPT [272128:515682862]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [182400:12235274]
:DOCKER - [0:0]
-A INPUT -i virbr0 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -i virbr0 -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -i virbr0 -p udp -m udp --dport 67 -j ACCEPT
-A INPUT -i virbr0 -p tcp -m tcp --dport 67 -j ACCEPT
-A FORWARD -o docker0 -j DOCKER
-A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i docker0 ! -o docker0 -j ACCEPT
-A FORWARD -i docker0 -o docker0 -j ACCEPT
-A FORWARD -d <IP_ADDRESS>/24 -o virbr0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s <IP_ADDRESS>/24 -i virbr0 -j ACCEPT
-A FORWARD -i virbr0 -o virbr0 -j ACCEPT
-A FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -o virbr0 -p udp -m udp --dport 68 -j ACCEPT
COMMIT
# Completed on Tue May 26 18:35:28 2015

docker version
jcz@jcz-pc:~/src/backend/jcz-im$ docker -v
Docker version 1.6.2, build 7c8fca2

Hi!
If you are reporting a new issue, PLEASE make sure that does not have any duplicates already open.
We would like to take this time to remind you of the information we need to debug the problem you are seeing. This is an automated response so if this ticket is not about a bug, do not fret.
If you fail to provide this information within 7 days, we will close this because we cannot debug your issue. We can reopen whenever the information is provided.
Thank you.
Please see:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues
Description of problem:

`docker version`:

`docker info`:

`uname -a`:

Environment details (AWS, VirtualBox, physical, etc.):

How reproducible:

Steps to Reproduce:
1.
2.
3.

Actual Results:

Expected Results:

Additional info:

#ENEEDMOREINFO

Hi friend,
I have googled and searched and do not found solution or similar issues.
This problem is wide, both in my home and company's computer.
And I have to use VPN because of GFW. T_T
This is my home computer. If necessary, I can add my company's computer info tomorrow.
Description of problem:
    Cannot access part of https, when VPN is on

`docker version`:
    Client version: 1.6.2
    Client API version: 1.18
    Go version (client): go1.4.2
    Git commit (client): 7c8fca2
    OS/Arch (client): linux/amd64
    Server version: 1.6.2
    Server API version: 1.18
    Go version (server): go1.4.2
    Git commit (server): 7c8fca2
    OS/Arch (server): linux/amd64

`docker info`:
    Containers: 16
    Images: 45
    Storage Driver: aufs
     Root Dir: /var/lib/docker/aufs
     Backing Filesystem: extfs
     Dirs: 77
     Dirperm1 Supported: true
    Execution Driver: native-0.2
    Kernel Version: 3.19.0-15-generic
    Operating System: Ubuntu 15.04
    CPUs: 4
    Total Memory: 7.727 GiB
    Name: jcz-nuc
    ID: 5KEH:4FVL:KUG2:I2X5:TRKD:3UCN:UNIK:EI5U:GKEI:ASHU:CS3Y:VZTY
    WARNING: No swap limit support

`uname -a`:
    Linux jcz-nuc 3.19.0-15-generic #15-Ubuntu SMP Thu Apr 16 23:32:37 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Environment details (AWS, VirtualBox, physical, etc.):
    ubuntu 15.4 desktop
    PPTP

How reproducible:
    1. add a vpn to system (I use PPTP, and unity)
    2. $ docker run -i -t ubuntu /bin/bash
    3. $ apt-get update
    4. $ apt-get install curl
    5. turn VPN on
    6. $ curl https://api.rubygems.org/api/v1/dependencies -Iv

Actual Results:
    * Hostname was NOT found in DNS cache
    *   Trying <IP_ADDRESS>...
    * Connected to api.rubygems.org (<IP_ADDRESS>) port 443 (#0)
    * successfully set certificate verify locations:
    *   CAfile: none
      CApath: /etc/ssl/certs
    * SSLv3, TLS handshake, Client hello (1):
    ( remark: suspend for a long time, here ... )
    * Unknown SSL protocol error in connection to api.rubygems.org:443
    * Closing connection 0
    curl: (35) Unknown SSL protocol error in connection to api.rubygems.org:443

Expected Results:
    * Hostname was NOT found in DNS cache
    *   Trying <IP_ADDRESS>...
    * Connected to api.rubygems.org (<IP_ADDRESS>) port 443 (#0)
    * successfully set certificate verify locations:
    *   CAfile: none
      CApath: /etc/ssl/certs
    * SSLv3, TLS handshake, Client hello (1):
    * SSLv3, TLS handshake, Server hello (2):
    * SSLv3, TLS handshake, CERT (11):
    * SSLv3, TLS handshake, Server key exchange (12):
    * SSLv3, TLS handshake, Server finished (14):
    * SSLv3, TLS handshake, Client key exchange (16):
    * SSLv3, TLS change cipher, Client hello (1):
    * SSLv3, TLS handshake, Finished (20):
    * SSLv3, TLS change cipher, Client hello (1):
    * SSLv3, TLS handshake, Finished (20):
    * SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
    * Server certificate:
    * 	 subject: OU=Domain Control Validated; OU=EssentialSSL Wildcard; CN=*.rubygems.org
    * 	 start date: 2014-10-16 00:00:00 GMT
    * 	 expire date: 2015-10-16 23:59:59 GMT
    * 	 subjectAltName: api.rubygems.org matched
    * 	 issuer: C=GB; ST=Greater Manchester; L=Salford; O=COMODO CA Limited; CN=COMODO RSA Domain Validation Secure Server CA
    * 	 SSL certificate verify ok.
    > HEAD /api/v1/dependencies HTTP/1.1
    > User-Agent: curl/7.38.0
    > Host: api.rubygems.org
    > Accept: */*
    >
    < HTTP/1.1 200 OK
    HTTP/1.1 200 OK
    * Server nginx is not blacklisted
    < Server: nginx
    Server: nginx
    < Date: Tue, 26 May 2015 13:26:09 GMT
    Date: Tue, 26 May 2015 13:26:09 GMT
    < Content-Type: text/html;charset=utf-8
    Content-Type: text/html;charset=utf-8
    < Content-Length: 0
    Content-Length: 0
    < Connection: keep-alive
    Connection: keep-alive
    < X-Xss-Protection: 1; mode=block
    X-Xss-Protection: 1; mode=block
    < X-Content-Type-Options: nosniff
    X-Content-Type-Options: nosniff
    < X-Frame-Options: SAMEORIGIN
    X-Frame-Options: SAMEORIGIN
    < Vary: Accept-Encoding
    Vary: Accept-Encoding
    < Via: 1.1 vegur
    Via: 1.1 vegur

    <
    * Connection #0 to host api.rubygems.org left intact

Additional info:
    If you need a VPN, give me a mail in private.

Worth a try;
@xiaods If I remember correctly, you had some tips for people who are behind the GFW? Perhaps you are able to help out here?

@thaJeztah yeah, let me have a try.
@jinchizhong this is not Docker issue,  if you want to install rubygem, you can change the url to rubygem mirror site:  ruby.taobao.org. and if you want to access rubygems.org, you can use another type vpn to have a try. I don't think docker can resolve this specified issue.

@xiaods Thank you for your idea. I known how to set rubygem mirror. But I don't want to write it to Dockerfile. The image will be used in America, access Chinese server is another security issue. (Because GFW is a bidirectional weapon)
T_T

@jinchizhong you can select another vpn provider to check  if the issue always happened.

@xiaods I tried 2 VPN, one in San Francisco, another in HongKong.
Neither works.
But both are PPTP VPN, I don't tried another VPN type.
Because I don't known how to deploy other kind VPN.
BTW, last night, I did lots of experiments.
Maybe this is not a bug for docker, but for Linux kernel.
I tried LXC and KVM. They have same problem too.
And I checked the iptables for LXC and KVM, they are different.
Especially lxc, all rule is blank.
But neither works.
And I tried:
Other proto over 443(OK)
https over another port(Failed)
nmap -sT(443 is open)

@jinchizhong Please add --mtu=1400  parameter when your start your docker daemon and test it again.  I noticed that when I start the PPTP connection, the MTU of the ppp0 interface is 1400.
Problems about the MTU can be found here: https://github.com/docker/docker/issues/3596 and http://lartc.org/howto/lartc.cookbook.mtu-discovery.html

@mountkin Sorry for reply so later...
I add --mtu=1400 to docker, and it's works.
Thank you very much, that's help me a lot.

Closing since this seems like a non-issue and totally related to needing to adjust MTU's for vpn traffic (which is the case even w/o Docker).

Just to help others, I had this exact issue and also solved it by changing the docker daemon MTU configuration

How to set mtu value on OSX?

@simPod untested, but try this:

Thanks, will try


whichkey in android-studio

Which Key descriptions aren't showing up in android-studio
the only things I have enabled in .ideavimrc are spacemacs and which-key

Sorry! my bad didn't read the part, that I need the which-key plugin


Shards-vue don't trigger event modifiers - keydown

Expected Behavior

Inputs don't trigger event modifiers
Current Behavior

Usual input triggers event modifiers but d-input doesn't
<d-input
   v-model="myData"
   v-on:keydown="keydownMethod"
/>

Steps to Reproduce

Create new vue-cli project
Install and load ShardsVue
Add <d-input ... v-on:keydown="keydownMethod" />
Method is never triggered

@keydown.native fixes the issue.
https://vuejs.org/v2/guide/migration.html#Listening-for-Native-Events-on-Components-with-v-on-changed


Local variable for extract functions

Right now return value and local variable is just fill_in.  probably should do something here.

still thinking about this.

This has been resolved by checking/setting return values, closing.


Issue with index html resources paths when using a complex path as route prefix

Prerequisites

[X] I have written a descriptive issue title
[X] I have searched existing issues to ensure the bug has not already been reported

Fastify version
5.0.0
Plugin version
5.1.0
Node.js version
20.18
Operating system
macOS
Operating system version (i.e. 20.04, 11.3, 10)
15.0.1
Description
It's appears #178 is causing an issue when using a complex path in routePrefix, ie:
await this.instance.register(fastifySwaggerUI, {
  routePrefix: '/api/vi/$docs'
});

The resolved path looks like /api/v1/api/v1/$docs/static in that case.

See linked repo for MRE.
Link to code that reproduces the bug
https://github.com/jpb06/fastify-swagger-ui-routeprefix-issue-repro
Expected Behavior
index resources to load properly.

Thanks for reporting! Would you like to send a Pull Request to address this issue? Remember to add unit tests.

Hello.
I spent some time yesterday trying to solve the issue while retaining the behavior wanted by @DavidTanner. Sadly I'm needed elsewhere so I won't have much time to investigate further.

Please can you fix that? Have the same problem:
Instead of
const prefix = hasTrailingSlash ? .${opts.staticPrefix}:${hasLeadingSlash ? '.' : ''}${opts.prefix}${opts.staticPrefix}``
should be something like that...
const prefix = hasTrailingSlash ? .${opts.staticPrefix}:${hasLeadingSlash ? '' : '/'}${opts.prefix}${opts.staticPrefix}``
Sorry, but the code is pretty ambiguous anyway, I would generally go over it...

How do I solve this problem, I still can't?

Correct me if I'm wrong, but it kind of seems like this is a bad setup of the server.  Can someone please post a test example?  I'm going to try recreating in the project as well.
My first thought is that the fastify instance is already using that route prefix, and then you are specifying it again in the swagger config.  Again, that is my first thought and I could totally be wrong.

I figured out the issue, and will create a PR to fix.  I need to add a new parameter to specify a prefix that only affects the index.html file.

Good morning, everyone. Do you have an estimated time to approve this pull request?

FYI => https://github.com/fastify/fastify-swagger-ui/pull/189

@rozzilla @DavidTanner Thank you so much! I just tested it, and everything is working perfectly. Great job! 😊

Resolved on our side as well, thank you!

The previous version worked exactly as intended using relative paths. Now, I don’t quite understand how we’re supposed to proceed with this solution. If the application is run during development at, say, localhost:3000/help, and on the server at foo.com/myapi/v1/help, how can this combination be made to work? I don’t think it makes sense for the application to dictate where it is essentially 'parked' in terms of routing. Or am I missing something? I guess I am, could you fellows push me to a right direction?

@MikaKarjunen I have that same issue with dev vs production. I have an environment variable that I key off of for production that sets the prefix when deploying.
My first suggestion would be to set the indexPrefix to v1 using some env variable that is only set in the deployed environments.

@MikaKarjunen I have that same issue with dev vs production. I have an environment variable that I key off of for production that sets the prefix when deploying.
My first suggestion would be to set the indexPrefix to v1 using some env variable that is only set in the deployed environments.

This is exactly what I was afraid of. We can make it work like this but it's not exactly what I would've liked to hear.

You get my wheels spinning. We could propose an additional config option for the index to use relative paths.

You get my wheels spinning. We could propose an additional config option for the index to use relative paths.

That would solve this nicely David. We'd much appreciate it and I suppose so would other people as well.


Did you folks finish this?

@vsmalladi -- this is a tool I would love to have for other hackathon teams.
Is there more code that didn't get committed?

Ya we are continuing to work on this code. I will work with the team to commit the rest of the code


Running issue

When I run "python -m llmzoo.deploy.cli --model-name /path/to/weights/", the terminal occurs an error.
Could you please tell me what is the problem? Thanks a lot.

Hi @Tong010618,
Thanks for your attention. You should specify the path to the weights. E.g. for Phoenix, run
python -m llmzoo.deploy.cli --model-name FreedomIntelligence/phoenix-inst-chat-7b

Best,
Zhihong

I will try it. thanks！
获取Outlook for Androidhttps://aka.ms/AAb9ysg

From: Zhihong Chen @.>
Sent: Monday, April 17, 2023 4:12:32 PM
To: FreedomIntelligence/LLMZoo @.>
Cc: Tong Cai (SME, 119020092) @.>; Mention @.>
Subject: Re: [FreedomIntelligence/LLMZoo] Running issue (Issue #3)
Hi @Tong010618https://github.com/Tong010618,
Thanks for your attention. You should specify the path to the weights. E.g. for Phoenix, run
python -m llmzoo.deploy.cli --model-name FreedomIntelligence/phoenix-inst-chat-7b
Best,
Zhihong
―
Reply to this email directly, view it on GitHubhttps://github.com/FreedomIntelligence/LLMZoo/issues/3#issuecomment-1510900430, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A3YPI36MPZ5C2UD6VWQCFETXBT3PBANCNFSM6AAAAAAXAY2SOI.
You are receiving this because you were mentioned.Message ID: @.***>


Remove viewport contains from cannon/hunter plugin

Since we have the ability to render behind widgets now, the "check if viewport contains" is not necessary anymore. Instead replace it with distance check to remove it if ran off screen.

Needs rebase


Allow for endless contract event monitor

Currently, the user has to input start-block end-block when creating a contract monitor but most of the time the user only wants to add a start block, so we may establish if end-block==0 then it's endless.

I think this feature is enabled by default. Could you reproduce this issue when blockend is 0?


bumps up Go to 1.21.

also golangci-lint is updated for support Go 1.21

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


Deeplink for Paytm and other apps, that support upi

Hello, thank you for your realisation. Can you tell me, why deeplinks doesn't works in Paytm or other android apps?
I was searching the reason and seems to upi:// deeeplink doesn't wok in this apps.
For example the next links are work fine and open the app.
https://codepen.io/egrvfkmu-the-encoder/full/oNmYxeP
Any options to solve it? Thank you

Hello, thank you for your realisation. Can you tell me, why deeplinks doesn't works in Paytm or other android apps?
I was searching the reason and seems to upi:// deeeplink doesn't wok in this apps.
For example the next links are work fine and open the app.
https://codepen.io/egrvfkmu-the-encoder/full/oNmYxeP
Any options to solve it? Thank you

Hii bro can u pls tell me that how this link id generated.
Can u pls tell me that it can be created in android phone??


Error while running ClearSWI

Hello, I was reading your recent publication and decided to test your method in our 7T data (Siemens). The differences between my data and your test data are: 1) our data only have 2 echos; 2) our data include the whole brain; 3) we have different echo times.  Your test data runs fine but I'm getting the error below. I tested in both 2D and 3D GRE (the 3D GRE includes a high pass filter in the phase images while the 2D does not). I'm using julia version 1.6.1. To convert from Dicom to Nifti, I used the command dcm2niix -m y .. Please let me know if you have any suggestions.
ERROR: LoadError: MethodError: no method matching to_dim(::Matrix{Int64}, ::Int64)

You might have used a 2d row vector where a 1d column vector was required.
Note the difference between 1d column vector [1,2,3] and 2d row vector [1 2 3].
You can convert to a column vector with the vec() function.
Closest candidates are:
  to_dim(::AbstractVector{T} where T, ::Int64) at /home/ts/.julia/packages/MriResearchTools/IJXp0/src/utility.jl:139
Stacktrace:
 [1] getcombinedphase(data::Data, options::Options, mask::BitArray{3})
   @ CLEARSWI ~/.julia/packages/CLEARSWI/bAFSt/src/phase_processing.jl:43
 [2] getswiphase(data::Data, options::Options)
   @ CLEARSWI ~/.julia/packages/CLEARSWI/bAFSt/src/phase_processing.jl:5
 [3] calculateSWI(data::Data, options::Options)
   @ CLEARSWI ~/.julia/packages/CLEARSWI/bAFSt/src/functions.jl:8
 [4] calculateSWI(data::Data)
   @ CLEARSWI ~/.julia/packages/CLEARSWI/bAFSt/src/functions.jl:7
 [5] top-level scope
   @ ~/210522-testing_clear_SWI/testing:12
in expression starting at /home/ts/210522-testing_clear_SWI/testing:12

Here is my script:
using CLEARSWI

TEs = [14 28] # change this to the Echo Time of your sequence. For multi-echoes, set a list of TE values, else set a list with a single TE value.
nifti_folder = "/home/ts/210522-testing_clear_SWI" # replace with path to your folder e.g. nifti_folder="/data/clearswi"
magfile = joinpath(nifti_folder, "mag.nii") # Path to the magnitude image in nifti format, must be .nii or .hdr
phasefile = joinpath(nifti_folder, "phase.nii") # Path to the phase image

mag = readmag(magfile);
phase = readphase(phasefile);
data = Data(mag, phase, mag.header, TEs);

swi = calculateSWI(data);
mip = createMIP(swi);

savenii(swi, "/home/ts/210522-testing_clear_SWI/swi"; header=mag.header) # change <outputpath> with the path where you want to save the reconstructed SWI
savenii(mip, "/home/ts/210522-testing_clear_SWI/mip"; header=mag.header)

Thank you for reporting this error. Looks like I messed up a compatibility... I'll try to debug it tomorrow

I don't have access to my computer to verify at the moment, but a first thing you could try is to put a comma in the definition of the echo times.
TEs = [14, 28]
[14 28] creates a matrix (row vector) and [14, 28] creates a standard vector (column vector).
I think with adding the comma it should work. Still, I will add support to [2 3] type vectors as it is confusing like it is now

Thanks a lot, it works now!  Sorry, my bad, you were clear in your instructions regarding the comma. I'm just too used to other languages and I couldn't see the mistake. Congrats on your excellent work, it works beautifully in our data.


[2.9] Backup/Restore P0 Test Case

Issue:

resolves https://github.com/rancher/qa-tasks/issues/999

Problem

The need for automated validation tests of backup and restore operator functions. This PR specifically tests the in-place restore P0 test case.
Solution

Created new files and functions to install the Rancher Backups chart with or without storage configured on install as well as creating an opaque secret with S3 creds for use in the chart install. The test creates new Rancher resources, provisions a downstream RKE1 and RKE2 cluster, performs a backup, creates more resources, takes another backup, performs a restore using the first backup file, and then validates that the expected resources are present.
Automated Testing

Test types added/modified:

Validation (Go Framework)

Summary: Added automation for Rancher Backups P0 in-place restore test case
Associated Shepherd PR for BRO Extensions: https://github.com/rancher/shepherd/pull/140

Wasn't aware I could reopen a PR after accidentally closing it by removing the files 🙃 closing this one for the original - https://github.com/rancher/rancher/pull/45057


chore: add GitHub Actions and clean packages

Trying to setup a basic ci/test based on the setup from remark-lint-preset-node
Fixes #3

What's left to here?


Project Proposal  - Access Review and Edit

**Access, Edit and Propose **
Link to the working Google Doc we are using to build our Project Proposal
https://docs.google.com/document/d/1tFi3iaEbDX9kV_ZQcvSF9xWJDMufk0TkVkJzPm5yPMc/edit?usp=sharing

Designing an app to make eating fruits and vegetables fun for kids ! Here's a suggested flow for the app:

Welcome Screen:

Introduce the app and its purpose.
Have an option for the parent to create an account or log in.

Parent Account Creation/Login:

Parents can create an account with necessary information.
Secure login for parents.

Parent Dashboard:

Overview of their child's progress.
Set goals for the child (daily or weekly fruit/vegetable intake, exploring new foods, etc.).
Access to nutritional information and tips.

Child Login:

Child-friendly login with simple, colorful interface.

Dragon Creation Page:

Child can create their dragon character.
Choose dragon color and initial features.

Daily Tracking Page:

Daily blank slate for the dragon.
Child logs the foods they eat, mark if they liked them, and any other notes.
Display nutritional information and benefits of the chosen food colors.

Dragon Customization Page:

As the child eats different colored foods, options for dragon customization unlock.
Add features like skin color, eyes, hair, wardrobe, accessories, etc.
Include a "Mystery Reward" section for trying new foods.

Dragon Showcase:

Page where the child can see their dragon's progression throughout the week.
At the end of the week, all unlocked attributes are available for play.

Goal Achievement Page:

Show when the child reaches their goals.
Unlock new environments for the dragon based on achievements.

Learning and Exploration:

Dragon visits different countries, learns recipes, and collects colorful foods.
Provide educational content for both parents and children about the health benefits of various foods.

API Integration/Database:

Integrate an API to track date, time, and healthful information.
Use a database to store dragon images with various attribute combinations.

Settings:

Parental controls, notifications, and app preferences.

Logout:

Easy logout option for both parents and children.

Ensure that the app's design is intuitive, colorful, and child-friendly. Use gamification elements to make the experience enjoyable for kids and encourage healthy eating habits. Regularly update the app with new features to keep the children engaged.

https://docs.google.com/document/d/16NVxXf07pgCzDBtlZJX5E56FarzIxcFW1rYZJdkUNwA/edit#heading=h.8gsuogxpdil2
link to project proposal


Convert FormComponent proptype

Description
Make proptype for formComponent to be a function to avoid proptype error
Setup
Add any steps or code to run in this section to help others prepare to run your code:
make server_run
make tsp_client_run

If we wanted to keep the propType as an element then the solution to fix the warning would be something to the effect of:
<FormButton
  FormComponent={<PickupDateForm />}
  {...props}
/>

// FormButton.jsx

export class FormButton extends Component {
  enterFormView = () => {
    const { schema, onSubmit, FormComponent } = this.props;
    const formProps = {
      onCancel: this.setButtonState,
      schema: schema,
      onSubmit: onSubmit,
    };
    return React.cloneElement(FormComponent, [...formProps]);
  };
 render() { ...stuff }
}

Oh ok, I see that an uninstantiated element is not an element, which makes sense. This is better.


client_secret should not be required in path "/login/oauth/access_token"

Casdoor supports the Proof Key for Code Exchange (PKCE) protocol to make the app flow more secure.
But the “public” app (a mobile or single-page app) client cannot keep the client_secret confidential.
Now,the query string parameter "client_secret" is required in path "/login/oauth/access_token". It is recommended to design it as optional

I will work on this.


hello-world: No ref in pattern

I couldn't figure out why it was necessary, and I actually didn't know
about it off the top of my head (says something about how much Rust I
know). So I tried to remove it to see what compiler error would happen
if it wasn't there. Nothing, it worked.
Well, if it's not necessary, perhaps we should remove it then... simpler
solution for our first exercise should be good, right?

Of course I would like to know if there actually is an observable difference - and/or whether using the ref is recommended for some reason or other. If it's recommended, then we should keep it to be a better example, but if it's not then I want to keep it simple.

http://rustbyexample.com/scope/borrow/ref.html

https://doc.rust-lang.org/book/patterns.html#ref-and-ref-mut

I guess the part that confuses me is that the code works both with and without the ref. But are they doing different things under the hood?

A surprisingly deep question for Hello, World!
I exported the MIR representation of the ref version and non-ref
ref_and_no_ref_mir.zip
The relevant diff, I think, is here:

But I'm probably missing some of the details.

Okay, I believe I have gained an understanding of this. I present a gist https://gist.github.com/anonymous/53e77f95fdf28bd221b731efcc8f1f9d that can be reviewed on the playground at https://play.rust-lang.org/?gist=53e77f95fdf28bd221b731efcc8f1f9d&version=stable . The big difference that I see is that without ref, you will move the value, which is important for types that aren't Copy (notice that the int is Copy but the Hi isn't)
If we use ref n, the type of n would be &&str, whereas if we don't it will be &str, because name is an Option<&str>
I don't see a need to take a reference of a reference, so I recommend removal.

Commit message updated with what I learned

I commend your dedication to Hello, World and to leaving useful commit messages!


finicky example

Make an example that rewrites and categorizes URLs like this program: https://github.com/johnste/finicky
We could:

Implement a subset of the configuration file syntax ref
Use boost.regex for the glob/match expressions ref
Just print whatever route it matches or use boost.process to really open the browser with the link

Eh.. I'm not so excited about this anymore now that we have better examples.

examples are docs btw


[XVideos] Support profiles, searches, channels and favorites

IMPORTANT: PRs without the template will be CLOSED
Description of your pull request and other information

Imported from https://github.com/ytdl-org/youtube-dl/pull/30774
The XVideos extractor supported single videos presented via various URL formats. The site also offers various playlist-like pages:
actual playlists: /favorite/ID/SLUG
related videos/playlist: video URL + #_related-...
channel activity: /...channels/ID
channel videos: channel URL + #_tabVideos
channel favourites (playlist): channel URL + #_tabFavorites
search results: ...?k=(ID).

This PR tries to support extracting from those pages.
Added /profiles tab support by me.
Template

Before submitting a pull request make sure you have:

[x ] At least skimmed through contributing guidelines including yt-dlp coding conventions
[x ] Searched the bugtracker for similar pull requests
[x ] Checked the code with flake8 and ran relevant tests

In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[ ] I am the original author of this code and I am willing to release it under Unlicense
[ x] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[ x] Fix or improvement to an extractor (Make sure to add/update tests)
[ ] New extractor (Piracy websites will not be accepted)
[ ] Core bug fix/improvement
[ ] New feature (It is strongly recommended to open an issue first)

Example:
F:\downloader\xvideos>yt-dlp https://www.xvideos.com/profiles/cordon31#_tabVideos -f best -o "%(playlist_id)s\%(title)s [%(id)s].%(ext)s" --verbose
[debug] Command-line config: ['https://www.xvideos.com/profiles/cordon31#_tabVideos', '-f', 'best', '-o', '%(playlist_id)s\\%(title)s [%(id)s].%(ext)s', '--verbose']
[debug] User config "D:\OS Files\Users\X\AppData\Roaming\yt-dlp\config": ['--continue', '--format-sort', 'vbr,abr', '--http-chunk-size', '1M', '--buffer-size', '16K', '--sub-lang', 'english', '--no-embed-thumbnail', '--embed-metadata', '--abort-on-unavailable-fragment', '-o', '%(uploader)s\\%(title)s [%(id)s].%(ext)s', '-f', 'bestvideo+bestaudio/Source/hls-original/0/4320p/2160p/1440p/1080p/720p/540p/480p/240p', '--ffmpeg-location', 'D:\\OS Files\\Program Files\\ffmpeg\\bin']
WARNING: "-f best" selects the best pre-merged format which is often not the best option.
         To let yt-dlp download and merge the best available formats, simply do not pass any format selection.
         If you know what you are doing and want only the best pre-merged format, use "-f b" instead to suppress this warning
[debug] Encodings: locale cp65001, fs utf-8, pref cp65001, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.10.04 [4e0511f27] API
[debug] Lazy loading extractors is disabled
[debug] Python 3.10.4 (CPython 64bit) - Windows-10-10.0.19043-SP0
[debug] Checking exe version: "D:\OS Files\Program Files\ffmpeg\bin\ffmpeg" -bsfs
[debug] Checking exe version: "D:\OS Files\Program Files\ffmpeg\bin\ffprobe" -bsfs
[debug] exe versions: ffmpeg 5.0.1-essentials_build-www.gyan.dev (setts), ffprobe 5.0.1-essentials_build-www.gyan.dev
[debug] Optional libraries: Cryptodome-3.14.1, brotli-1.0.9, certifi-2021.10.08, mutagen-1.45.1, sqlite3-2.6.0, websockets-10.2
[debug] Proxy map: {}
[debug] Loaded 1695 extractors
[debug] [XVideosChannel] Extracting URL: https://www.xvideos.com/profiles/cordon31#_tabVideos
[XVideosChannel] cordon31: Downloading webpage
[XVideosChannel] cordon31: Downloading webpage
[download] Downloading playlist: cordon31
[XVideosChannel] Playlist cordon31: Downloading 1 videos of 1
[download] Downloading video 1 of 1
[debug] [XVideos] Extracting URL: https://www.xvideos.com/video35527333
[XVideos] 35527333: Downloading webpage
[XVideos] 35527333: Downloading m3u8 information
[XVideos] 35527333: Checking hls-360p video format URL
[XVideos] 35527333: Checking hls-250p video format URL
[debug] Sort order given by user: vbr, abr
[debug] Formats sorted by: hasvid, ie_pref, vbr, abr, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), channels, acodec, filesize, fs_approx, tbr, asr, proto, vext, aext, hasaud, source, id
[info] 35527333: Downloading 1 format(s): hls-360p
[debug] Invoking hlsnative downloader on "https://hls-hw.xvideos-cdn.com/videos/hls/a2/9a/73/a29a73105c0a9eb435dfd713e0e6dff0/hls-360p.m3u8?e=1665056036&l=0&h=e8bbb3228f5ea21e70096cd0f55e9987"
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 211
[download] Destination: cordon31\Title or code of this please？ [35527333].mp4
[debug] File locking is not supported. Proceeding without locking
[download]   4.3% of ~ 154.23MiB at    1.80MiB/s ETA 01:20 (frag 9/211)

If you want to get this PR merged here directly, you must read through and obey our contributing guidelines (including removing pre-3.6 compat code). Otherwise, wait for it to be merged in ytdl, and I will port it here

Would you be able/willing to make the necessary changes if I write a review?

Yeah, of course. Sure.

To start off, add tests - atleast one for each URL pattern

Did you mean for channel, profile, and pornstar links?

No, I meant add test cases to the extractors

You mean like this one?
    _TESTS = [{
        'url': 'https://www.xvideos.com/pornstar-channels/sienna-west',
        'playlist_mincount': 5,
    }, ]

@rum416
Could you add the option to download from xvideos.red as well?
I don't think .red changes anything besides the address

You can use this userscript for the playlist page. It will record all video urls onto the current page into the localstorage variable "my_vid_urls". You have to clear this variable if it exists and then open every page of the playlist you want to download. Do not click too fast, wait for the page to load completely, otherwise some pages will not have time to record. Then copy variable "my_vid_urls" from Chrome Devtools to new file list.txt, and pass to yt-dlp like this: "yt-dlp -a list.txt"
// @name         url recorder for xvideos playlists
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://www.xvideos.com/favorite/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=xvideos.com
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    $('#content div.thumb-under > p.title > a').each(function() {
        let was = localStorage.getItem("my_vid_urls");
        //console.log(this.href);
        localStorage.setItem("my_vid_urls", was+"\n"+this.href);
    });
    let arr = localStorage.getItem("my_vid_urls").split("\n");

    var index = arr.indexOf('null');
    if (index !== -1) {
        arr.splice(index, 1);
    }

    let uniqueArr = [...new Set(arr)];
    localStorage.setItem("my_vid_urls", uniqueArr.join("\n"));
    console.log(uniqueArr);
})();```

Could you add the option to download from xvideos.red as well?

@master-leonardo, I'd be happy to do that in the to-be-updated yt-dl PR but how would it be tested?


Possibility of deadlock causing timeout errors

As the demand for netperf scales, so do the number of concurrent jobs. However, Azure has a limited capacity for the number of VMs a pool can create.
Normally this isn't a problem with a pool model like what 1ES has. A 1-machine pool can complete N jobs, it would just take a long time.
Here's the problem.

Let X be the maximum number of machines a pool can create.
Let Y be the number of workflows running concurrently.
The API for integrating Github with Azure 1ES involves pushing M jobs in a workflow and Azure will randomly assign machines to do those jobs. If X >= M then every job can run concurrently. Otherwise, some random subset will run.
Our networking perf jobs require a pair of machines, so if a workflow defines Z perf scenarios, netperf will generate M = 2 * Z jobs to request machines from Azure.

Right now, we have multiple pools and 2* Z < X for all pools + scenarios. This isn't an issue.
But, as we scale, multiple PRs are being made from multiple projects, and we reach a point where Y * (2 * Z) > X
We can get unlucky and reach a deadlock. And even without the possibility of deadlocks, we will have many jobs queued for a long time before a machine gets assigned, and they will fail because of timeout restrictions enforced by netperf.
To illustrate the deadlock possibility:
Let's say we have a 2-machine pool, and a workflow has 2 perf scenarios (A and B), so netperf will generate 4 jobs to request 4 machines from azure.
Generated Job for scenario A (client) - Assigned
Generated Job for scenario A (server) - Waiting...
Generated Job for scenario B (client) - Assigned
Generated Job for scenario B (server) - Waiting...

The proposed solution here is in the /jackhe/add-pool-usage-tracker branch, which introduces a LOAD BALANCER.
Essentially, in the Prepare-Matrix step, we call the Github API and query for the number of azure machines dispatched across all concurrent workflow runs. We know how many machines the current workflow needs.
So if we find that the number of requested machines + currently dispatched machines exceed some threshold, we wait in the prepare-matrix step to avoid timing out when we queue the actual azure job.


Clarify RemotePort for manual ssh forwarding

c.f. https://github.com/JunoLab/Juno.jl/issues/292
Question: Did this same PR get created some other way (invisible to me) when I clicked edit and submit?

No, not as far as I can tell. Why do you ask?

I was trying this feature of Github (after clicking the edit button/pencil at the top of the page)

When I clicked "Propose changes" - I assumed it would notify you, and my work would be done, did it?