Security fix: Waiting before retrying password reset

Hello!
An attacker can use the password recovery function to spam the user's mailbox and / or overload the mail server.
This can be avoided by delaying the next attempt to use the password recovery function.
Also changes to laravel/laravel are submited.
Thanks!
P.S. Test coverage added.

I've just seen you opened a pull request already in the laravel/laravel repo, so omit my comments about them.
But please note, that repo is only used to create a new project, already existing ones will never receive the changes merged in there. Because of this any changed merged there required for this should be considered breaking change (and alleviated by setting a default here, see my comment at the config).

What about adding throttle middleware to password recovery email POST route?

@ankurk91 It limits the tries based on ip and not on user, that was my idea too. See this comment

Correct me if I'm wrong, but could this not be achieved by using the throttle middleware? Is it that big of an issue that it needs code specifically for it?

@ollieread Please take a look at the previous discussion https://github.com/laravel/framework/pull/30327#issuecomment-543730036

I don't have other comments than the last two comments.
The semantics (like the passwords.timeout vs passwords.throttled translation key) should be checked by someone with more proficiency than me.
The keys in question for others:

the const currently RESEND_TIMEOUT
the translation key, currently passwords.timeout I think passwords.throttled are may be more describing
the config parameter currently auth.passwords.users.timeout


Clicking on connection ask for  it properties and right click on connection delete

now i have called one method on
editor.on('connectionSelected', function (connection) {
setproperties();
}
but i have to delete the connection on right click  as normal.
how can i do this.. since connectinSelected event is get invoked both on right click and normal click

Hello,
You can detect the right click like so:
    editor.on('clickEnd', function(event) {
      if(editor.connection_selected !== null && event.button === 2) {
          alert("Right Click connection");
      }
    })

can i get this event inside  connectionSelected event. My need is if it is regular click show connectionProperties and if it is rightclick invoke delete..[right click delete i'm using the current built-in functionality of drawflow.js].but my concern is when the connection is selected.inisde that event(connectionSelected event) ,i need to check whether it is normal click or right click.

Thanks:-)


Update Error message in DUP when passes are sold out

Description:
The error toast is confusing users thinking it is a system error but really it is just that the passes are sold out. This task is ONLY to update the messaging. In future, we will consider the redesign of DUP front-end and how it will be integrated with PRDT.

Acceptance Criteria:
[Note: Use 'Given/When/Then' format if it makes sense to. Otherwise, a simple checklist that can be tested.]
Development Checklist:

[ ] ...
[ ] ...
[ ] ...

Dependencies

Blocked by
Blocking

Relevant documentation as reference
Definition of Ready

[ ] Acceptance criteria are included
[ ] Wireframes are included (if applicable)
[ ] Design / Solution is accepted by Product Owner (if applicable)
[ ] Dependencies are identified (technical, business, regulatory/policy)
[ ] Story has been estimated (under 13 pts)

Definition of Done

In progress:

[ ] Acceptance criteria are tested (Functionality meets the acceptance criteria defined in the ticket)
[ ] UI meets accessibility requirements
[ ] Unit tests are written
[ ] Work is traceable in GitHub
[ ] PR linked to ticket number
[ ] If needed/required - Dev adds flag/label to highlight any migration steps necessary prior to PROD deployment

Code review:

[ ] Code is peer reviewed and has passed CI/CD tests

QA:

[ ] Acceptance criteria are tested (Functionality meets the acceptance criteria defined in the ticket)
[ ] Code is potentially shippable to the production environment
[ ] Functional features have been tested and passed by QA
[ ] UI components tested by designer
[ ] Code is deployed to PROD when moved to 'done' column (unless requested otherwise by PO)

PO Review:

[ ] Acceptance criteria are tested (Functionality meets the acceptance criteria defined in the ticket)
[ ] Reviewed and approved by Product Owner

Notes:

standup Notes:

for now this will resolve the issue
but in future, this page could be redesigned to show the remaining capacity (high-med-low)
this will be relevant to backcountry as well

Refinement notes:

separate but related issue is the multi-toast messages
Language to be updated: "Sorry, all passes for this time and date have been reserved. Please make a new selection or try again later. "

Tested on TEST: Passed

Verified that the duplicate error messaging has been replaced with one proper error message with the copy given on the figma.
Refer to the error message on desktop and mobile below.

Looks good - moving to done.


NIFI-10189 Added WriteText processor to the standard bundle.

Summary
NIFI-00000
Tracking
Please complete the following tracking steps prior to pull request creation.
Issue Tracking

[ ] Apache NiFi Jira issue created

Pull Request Tracking

[ ] Pull Request title starts with Apache NiFi Jira issue number, such as NIFI-00000
[ ] Pull Request commit message starts with Apache NiFi Jira issue number, as such NIFI-00000

Pull Request Formatting

[ ] Pull Request based on current revision of the main branch
[ ] Pull Request refers to a feature branch with one commit containing changes

Verification
Please indicate the verification steps performed prior to pull request creation.
Build

[ ] Build completed using mvn clean install -P contrib-check

[ ] JDK 8
[ ] JDK 11
[ ] JDK 17

Licensing

[ ] New dependencies are compatible with the Apache License 2.0 according to the License Policy
[ ] New dependencies are documented in applicable LICENSE and NOTICE files

Documentation

[ ] Documentation formatting appears as expected in rendered files

Quick copy pasta from the Jira ticket to explain why I didn't update ReplaceText:

We often encounter a scenario where after doing a number of operations, we need to just do the equivalent of a ReplaceText operation that evaluates the whole file and replaces it with a simple string literal such as a SQL query or JSON object. The reason I am proposing a new processor is to keep this dead simple and not complicate the validation logic of ReplaceText.

I'm not sure it is enough to warrant introducing a new standard component for this limited purpose

I've seen this use case from data engineers I work with all over the place in the last few years. The problem with ReplaceText is that it requires you to evaluate the flowfile content which can cause significant performance problems if the flowfile is large.

I've seen this use case from data engineers I work with all over the place in the last few years. The problem with ReplaceText is that it requires you to evaluate the flowfile content which can cause significant performance problems if the flowfile is large.

Thanks for the reply, that is good point about ReplaceText. For that use case, however, would GenerateFlowFile work?

would GenerateFlowFile

Theoretically, it would, but I think the name would be complete unintuitive. That alone could cause many people to just jump right into ReplaceText.

ReplaceText with "Always Replace" as the strategy won't evaluate the flowfile's content. We're also checking the specified regex to see if Always Replace should be applied by default. In that case, if the user does not change the replacement strategy we would skip the regex evaluation anyway.
https://github.com/apache/nifi/blob/main/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ReplaceText.java#L277-L281

As @pvillard31 noted, the Always Replace strategy seems to meet the use case described, and would seem to obviate the need for a new processor.

So I agree with the spirit of what Mike is trying to solve.  Make it easier for users to find the right function with minimal additional complexity to do the thing.  Especially for simple stuff.
I agree with Pierre/David on what the solution is for this case.
So how can we meet in the middle?  Perhaps a tag or set of tags added to the processor would aid in finding the component faster.  Perhaps add a processor tag that is literally 'WriteText' or even 'Write Text' though I'm not sure what we do with spaces.
That simple step might be just enough.

Maybe some additionalDocumentation with a use case?


Opt-out of cache dir creation when possible.

Looks good to me; feel free to merge whenever. (Remember to update the broccoli-plugin dependency as well once it's out.)


Highlighting triple quotes not working as expected

Try with this:
val patternName : scala.util.matching.Regex = """.*<name>(.*)</name>.*""".r
val patternCountry = """.*<country>(.*)</country>.*""".r
println("Hi Andy!")

Indeed! Will look at what codemirror propose for that!

Okay, doesn't work either with the last version of codemirror => http://codemirror.net/mode/clike/index.html
So I guess, an issue on the tool is necessary.
Thanks for reporting!

there we go
https://github.com/codemirror/CodeMirror/issues/3078


Logging users in JupyterHub

We would be interested to log who uses the JupyterHub server, record their GH user name, how much time they spend, more?

Before you can do any of that, you have to write a privacy policy, make it available to users, and then follow it. That's certainly doable. I'm just commenting so you're aware there's more to it than adding some code or service integrations.

In practice, the existing Ocean Protocol Privacy Policy would probably be updated to include the new stuff.

Agreed!


Rally fails when using 8.0.0 as a metrics store

Rally version: master, using the 7.14.0 Python client
Description of the problem including expected versus actual behavior:
When using Elasticsearch 8.0.0-alpha1 as a metric store, I get the following error from Rally:
esrally.exceptions.RallyError: Error in race control (A transport error occurred while running the operation [put_template] against your Elasticsearch metrics store on host [localhost] at port [9200].)

ES reports this:
{
  "@timestamp": "2021-09-16T11:30:17.312Z",
  "log.level": "DEPRECATION",
  "data_stream.dataset": "deprecation.elasticsearch",
  "data_stream.namespace": "default",
  "data_stream.type": "logs",
  "ecs.version": "1.7",
  "elasticsearch.event.category": "api",
  "event.code": "deprecated_route_PUT_/_template/{name}",
  "message": "Legacy index templates are deprecated in favor of composable templates.",
  "service.name": "ES_ECS",
  "process.thread.name": "elasticsearch[b403f8a317e0][transport_worker][T#4]",
  "log.logger": "org.elasticsearch.deprecation.rest.RestController",
  "event.dataset": "deprecation.elasticsearch",
  "elasticsearch.cluster.uuid": "QeCQ-vzJQt2LeuhphpaLaA",
  "elasticsearch.node.id": "HYBcZ8ZxS2uwfTjDPvmqnQ",
  "elasticsearch.node.name": "b403f8a317e0",
  "elasticsearch.cluster.name": "docker-cluster"
}

We do use a deprecated feature, but it's surprising that we actually fail. To be investigated after #653 which is closely related.
Steps to reproduce:

Run 8.0.0: docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:8.0.0-alpha1
Configure rally.ini to use this as a metric store
Run any race: esrally race --distribution-version=7.14.1 --car="4gheap" --track=geonames --test-mode

I was surprised by the behavior, so I looked at the actual answer from Elasticsearch 8.0.0-alpha2. What happens on the master branch is that we use include_type_name to put a typed template, but per https://www.elastic.co/guide/en/elasticsearch/reference/current/removal-of-types.html this parameter is now ignored.
So the request fails with "The mapping definition cannot be nested under a type [_doc] unless include_type_name is set to true" (which is quite ironic). I haven't managed to find if there's an Elasticsearch issue to track this, otherwise I would be happy to report that the error message is confusing.
As it turns out, #1342 fixes the issue here because we no longer set the include_type_name parameter and we no longer use a nested mapping definition. However, we still use legacy templates, so I would still like to work on this to use composable templates when the metrics store is 7.8+.

@pquentin I think we can close this issue based on your analysis above as #1342 has been merged now?

Right, when I said that I would still like to support composable templates on 7.8+ clusters, I had basically nothing else to do :)
Closing, we can revisit if/when Elasticsearch drops legacy templates support.


clean accuracy on adversarially trained cifar10 resnet 18

Can you tell what is the clean accuracy of the adv. trained model here (used in the leaderboard)?
Also what is the number of iterations for PGD used for adv. training?

The clean accuracy is 87.14%.
The model was trained as described in the paper: 7 steps of PGD, with random start, and a step size of 2 (out of 255 per pixel).


Initial addition of a python backend for sim

Partial sim backend for using simulation section without plecs for the buck and boost ccm.
https://youtu.be/7q2yDvKiveQ

Looks cool. Thanks emannual!


2.5 Scale Testing - Large Run

Validate the 2.5.9 performance against docs published for 2.4.x for a large run.
https://rancher.com/docs/rancher/v2.5/en/installation/requirements/

Was able to meet and exceed the expected limit without any major issues. Results recorded here: https://confluence.suse.com/display/EN/Scale+Testing+-+Large


[BUG]: Unexpected Error if no public key present in repo

Hi,
i just installed gitbark and wanted to add a signing rule during the bark setup. When selecting the signature rule, bark tells me
This rule requires at least one public key to be added in your repo!

An unexpected error occured.

Unfortunately i could not find docs on how to add a public Key. In the end i checked your repository, followed the folder structure and created a pubkeys folder within my .bark/.
After, i run bark add-rules and now bark says:
Found public keys in your repository! Do you want to add more public keys? [y/N]:

Expected behaviour
I would expect bark to also ask me to add a new public key even if no key is currently present.
Thank you and have a nice day!

I see that this issue comes from https://github.com/YubicoLabs/gitbark-core therefor i moved it there: https://github.com/YubicoLabs/gitbark-core/issues/20


Allow running tests in a shuffled/randomized order

We previously used gtest and then the --gtest_repeat=[XXX] with  --gtest_shuffle to run the tests a few times in different orders to exclude ordering issues. I do see the repeat parameter on the website, but not the shuffle.
Are there any plans to add support for this function or estimations how to add it and how much trouble this would be?

No, because if you run random and get random failures, then you'll need to know the random pattern in order to debug it. If it is purely random, it is only leading to guarenteed frustration :P

Not necessarily. If you run the tests with -v, it is fairly easy to narrow down a problem (if it does occur, which most of the time it shouldn't).

The catch there is that if the tests are random, multiple runs with -v may not actually trigger the failure, especially if it's only when two specific tests run one after the other.  At that point, debugging becomes quite complicated since you have no guarantee that the error will occur on any given run.
Here's a thought - what if as part of running the tests on random, you could output to the test order to a file and then read in that file in order to execute the tests in the same order again?

It can already be done:
whatevertest.exe -v >log.txt

The output (preferably a limited subset) can be fed into a debug run, if needed:
whatevertest.exe TEST(group, test5) TEST(group, test1) .....

An entirely different question is how much work the "randomness" would be to implement....

Well, about the reproducability, I got the impression from the google variant that the randomness was based on a seed that was put in the log file(I at least see it on my console), so if you have an issue you could rerun with that seed to reproduce.

any progress on this aspect?

Not yet, we first have a release to finish.
But we are wondering if our fix will be meeting the requirements for backporting here or will be added to the changes that we have on the local checkout.

Check out PR #1181

Check out #1182


Is this abandoned again?

Just wondering

It seems like there have been people playing it recently, but I personally cannot get it to work :(


chore(): modify default log path

The server logs can be viewed in the console, while the worker logs are located in the directory specified by the LOG_PATH environment variable.


Setup Typescript for basic-auth module

Hi, Thanks for your good module. I've just thought It might not bad to setup typescript for this module to avoid installing @types/basic-auth
changes:
package.json

add typescript and @types/node to devDependencies
add build command to scripts

src/index.ts

creating a class named Auth with all necessary methods

tsconfig.json

typescript config file

index.d.ts

type declaration file

All test passed

With best regards.

Hello, and thank you very much. While i appreciate your enthusiasm for typescript, i just don't happen to share the same. You are always welcome to make a typescript version if you prefer typescript, however 👍

Oh, Mr./Mis. [dougwilson], I didn't know you made this module :)
Sorry...
but if you have any packages that you want to set typescript for it, count on me,
With regard.


chore(deps): upgrade runtime dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-runtime-dependencies-k8s-25-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 2874

Questions ?
Please refer to the Backport tool documentation


Update README.md

How did i manage to misspell the same word in two different ways in this short of a text? Thank you


Neolink Talk HA integration?

Hi I see you have developed an addon for HASS OS which is great. Although I don't use this currently, I have it on docker on another machine. I was just wondering if there was any way to call a neolink talk script from this addon? I think it would need a HA integration though.

What is a neolink talk script?

Talk is a command you can send to neolink to play audio clips from a camera: https://github.com/thirtythreeforty/neolink#additional-commands
The only way to trigger this currently is via CLI and I was just trying to figure a way to do it from Home Assistant.

no idea to be honest. I will not plan to implement or do something in this direction as I am not using a reolink camera anymore. But feel free and raise a PR here.

No problem, just thought I'd check to see if anyone was doing something with it. I'll close as it's likely going to have to be an integration not an addon


Use the boto3 copy method.

From the AWS docs:
This is a managed transfer which will perform a multipart copy in multiple threads if necessary
I've removed the test which tests for a standard transfer and we've had
to stop counting the parts as it's not consistent.

Sorry, I forgot the other PR you approved was set to merge to this branch so this has got the fileId changes you've already looked at in it.


feat: allow reader role aggregation to k8s view role

Please provide a description of this PR:
The istio reader role is not aggregated with the kubernetes view role which is required if we want to give view access to non-admins on istio resources. The current want to allow this is either to configure manually or create a separate cluster role just for that purpose.
Also took the opportunity to remove some elevated permissions from the reader role. The istio reader role give to many permissions as if you aggregate it to the k8s view cluster role, it will give access to secrets which is explicitly not allowed from the view role perspective because of the sensitivity of the secret content.

/ok-to-test

@mbelang: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
c83fdffec2058936160d3392514d33e87c58908e
link
true
/test release-notes

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@mbelang: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
c83fdffec2058936160d3392514d33e87c58908e
link
true
/test release-notes

gencheck_istio
c83fdffec2058936160d3392514d33e87c58908e
link
true
/test gencheck

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@mbelang: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
c83fdffec2058936160d3392514d33e87c58908e
link
true
/test release-notes

gencheck_istio
c83fdffec2058936160d3392514d33e87c58908e
link
true
/test gencheck

integ-cni_istio
c83fdffec2058936160d3392514d33e87c58908e
link
true
/test integ-cni

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@mbelang: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

gencheck_istio
c83fdffec2058936160d3392514d33e87c58908e
link
true
/test gencheck

integ-cni_istio
c83fdffec2058936160d3392514d33e87c58908e
link
true
/test integ-cni

release-notes_istio
514b0d1f10c5b801357ee4a10a3d00bbff759866
link
true
/test release-notes

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@jacob-delgado There are CNI tests that fails and I do not think the failures are related to my changes. Any guidance here would be appreciated. thx

@mbelang: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-pilot-multicluster_istio
80181ea06c8a305f9565fd23b88341344a9d9ca5
link
true
/test integ-pilot-multicluster

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@mbelang: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-pilot-multicluster_istio
80181ea06c8a305f9565fd23b88341344a9d9ca5
link
true
/test integ-pilot-multicluster

integ-pilot-istiodremote-mc_istio
80181ea06c8a305f9565fd23b88341344a9d9ca5
link
true
/test integ-pilot-istiodremote-mc

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@mbelang: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-pilot-multicluster_istio
80181ea06c8a305f9565fd23b88341344a9d9ca5
link
true
/test integ-pilot-multicluster

integ-pilot-istiodremote-mc_istio
80181ea06c8a305f9565fd23b88341344a9d9ca5
link
true
/test integ-pilot-istiodremote-mc

integ-telemetry-mc_istio
80181ea06c8a305f9565fd23b88341344a9d9ca5
link
true
/test integ-telemetry-mc

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@mbelang: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-pilot-multicluster_istio
80181ea06c8a305f9565fd23b88341344a9d9ca5
link
true
/test integ-pilot-multicluster

integ-pilot-istiodremote-mc_istio
80181ea06c8a305f9565fd23b88341344a9d9ca5
link
true
/test integ-pilot-istiodremote-mc

integ-telemetry-mc_istio
80181ea06c8a305f9565fd23b88341344a9d9ca5
link
true
/test integ-telemetry-mc

integ-security-multicluster_istio
80181ea06c8a305f9565fd23b88341344a9d9ca5
link
true
/test integ-security-multicluster

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest-required

@mbelang: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-pilot-istiodremote-mc_istio
80181ea06c8a305f9565fd23b88341344a9d9ca5
link
true
/test integ-pilot-istiodremote-mc

integ-telemetry-mc_istio
80181ea06c8a305f9565fd23b88341344a9d9ca5
link
true
/test integ-telemetry-mc

integ-security-multicluster_istio
80181ea06c8a305f9565fd23b88341344a9d9ca5
link
true
/test integ-security-multicluster

integ-pilot-multicluster_istio
80181ea06c8a305f9565fd23b88341344a9d9ca5
link
true
/test integ-pilot-multicluster

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@mbelang: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-telemetry-mc_istio
80181ea06c8a305f9565fd23b88341344a9d9ca5
link
true
/test integ-telemetry-mc

integ-security-multicluster_istio
80181ea06c8a305f9565fd23b88341344a9d9ca5
link
true
/test integ-security-multicluster

integ-pilot-multicluster_istio
80181ea06c8a305f9565fd23b88341344a9d9ca5
link
true
/test integ-pilot-multicluster

integ-pilot-istiodremote-mc_istio
80181ea06c8a305f9565fd23b88341344a9d9ca5
link
true
/test integ-pilot-istiodremote-mc

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@mbelang: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-security-multicluster_istio
80181ea06c8a305f9565fd23b88341344a9d9ca5
link
true
/test integ-security-multicluster

integ-pilot-multicluster_istio
80181ea06c8a305f9565fd23b88341344a9d9ca5
link
true
/test integ-pilot-multicluster

integ-pilot-istiodremote-mc_istio
80181ea06c8a305f9565fd23b88341344a9d9ca5
link
true
/test integ-pilot-istiodremote-mc

integ-telemetry-mc_istio
80181ea06c8a305f9565fd23b88341344a9d9ca5
link
true
/test integ-telemetry-mc

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@mbelang: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-pilot-multicluster_istio
80181ea06c8a305f9565fd23b88341344a9d9ca5
link
true
/test integ-pilot-multicluster

integ-pilot-istiodremote-mc_istio
80181ea06c8a305f9565fd23b88341344a9d9ca5
link
true
/test integ-pilot-istiodremote-mc

integ-telemetry-mc_istio
80181ea06c8a305f9565fd23b88341344a9d9ca5
link
true
/test integ-telemetry-mc

integ-security-multicluster_istio
80181ea06c8a305f9565fd23b88341344a9d9ca5
link
true
/test integ-security-multicluster

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@jacob-delgado There are CNI tests that fails and I do not think the failures are related to my changes. Any guidance here would be appreciated. thx

I think your changes are related to the tests. You can see that the failing tests are all related to the multiclusters.

Yeah good point. Will close this.


Linking a component will show an empty "Creating Services for component frontend"

/kind bug

What versions of software are you using?
Operating System: Linux
Output of odo version: 2.5
How did you run odo exactly?
Follow the quick start guide and get to the point of linking the frontend and backend after creating a service.
https://odo.dev/docs/getting-started/quickstart
Actual behavior
~/odo-quickstart/frontend  main ✗                                                                                121d ◒  ⍉
▶ odo push

Validation
 ✓  Validating the devfile [154004ns]

Creating Services for component frontend

Creating Kubernetes resources for component frontend
 ✓  Waiting for component to start [10ms]
 ✓  Links are in sync with the cluster, no changes are required
 ✓  Waiting for component to start [7ms]

Applying URL changes
 ✓  URLs are synced with the cluster, no changes are required.

Syncing to component frontend
 ✓  Checking file changes for pushing [2ms]

Executing devfile commands for component frontend
 ✓  Executing install command "npm install" [1s]
 ✓  Executing run command "npm start" [1s]

Expected behavior
Expected behaviour is to not have the "Creating SErvices for component frontend" line empty.
Any logs, error output, etc?
devfile.yaml:
commands:
- exec:
    commandLine: npm install
    component: runtime
    group:
      isDefault: true
      kind: build
    hotReloadCapable: false
    workingDir: /project
  id: install
- exec:
    commandLine: npm start
    component: runtime
    group:
      isDefault: true
      kind: run
    hotReloadCapable: false
    workingDir: /project
  id: run
- exec:
    commandLine: npm run debug
    component: runtime
    group:
      isDefault: true
      kind: debug
    hotReloadCapable: false
    workingDir: /project
  id: debug
- exec:
    commandLine: npm test
    component: runtime
    group:
      isDefault: true
      kind: test
    hotReloadCapable: false
    workingDir: /project
  id: test
components:
- container:
    dedicatedPod: false
    endpoints:
    - name: http-3000
      secure: false
      targetPort: 3000
    image: registry.access.redhat.com/ubi8/nodejs-14:latest
    memoryLimit: 1024Mi
    mountSources: true
    sourceMapping: /project
  name: runtime
- kubernetes:
    uri: kubernetes/odo-service-frontend-backend-app.yaml
  name: frontend-backend-app
metadata:
  description: Stack with Node.js 14
  displayName: Node.js Runtime
  icon: https://nodejs.org/static/images/logos/nodejs-new-pantone-black.svg
  language: javascript
  name: frontend
  projectType: nodejs
  tags:
  - NodeJS
  - Express
  - ubi8
  version: 1.0.1
schemaVersion: 2.0.0
starterProjects:
- git:
    remotes:
      origin: https://github.com/odo-devfiles/nodejs-ex.git
  name: nodejs-starter

this was odo v2 specific, no longer valid in v3
/close


Added Timeout Feature

Added a timeout feature since the location would stay on indefinitely when the location couldn’t find an accurate enough location. Which happens when accurate locations are needed but interference prevents them from being accurate. Better battery life with a timeout feature which can be set to 0 if its not needed.

How do I turn off the timeout feature? I actually want to leave it turned on indefinitely.

You can either set the timeout to 0 or just start updating the location without the timeout parameter since it defaults to 0.
manager.startUpdatingLocation(interval: 170, acceptableLocationAccuracy: 100, timeout: 0)
or
manager.startUpdatingLocation(interval: 170, acceptableLocationAccuracy: 100)

On Apr 13, 2017, at 4:09 PM, Andy Lee<EMAIL_ADDRESS>wrote:
How do I turn off the timeout feature? I actually want to leave it turned on indefinitely.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/paleksandrs/APScheduledLocationManager/pull/8#issuecomment-293994368, or mute the thread https://github.com/notifications/unsubscribe-auth/ADIzfB1KRJ82hVz0fzICRpQLWRGIE01Iks5rvnLXgaJpZM4LsswY.


Problem with Lob migration on replication

Description of the issue
Describe the issue you are experiencing.
Issue-Type (put a x sign in the square brackets)

[x] bug report
[ ] feature request
[ ] Documentation improvement
[ ] Other

Checklist

[x] Running latest version of code.
[x] This issue has not been reported earlier.

Your environment

Ubuntu
3.9
0.0.5

Expected behavior
Blobs should be probably migrated
Actual behavior
The migration takes place but the blobs seems to be broken.
My server throws the following error when trying to start against the migrated target db:
2022-04-04 13:35:00.292 [main] ERROR c.u.f.jpa.searchparam.retry.Retrier [Retrier.java:79] Retry failure 8/60: org.springframework.orm.jpa.JpaSystemException: Unable to access lob stream; nested exception is org.hibernate.HibernateException: Unable to access lob stream
Migration with pg_dump works, but takes too long.
Steps to reproduce

Download latest version of pg_migrate / aiven migrate
Setup an HAPI FHIR Server (https://github.com/hapifhir/hapi-fhir-jpaserver-starter)
Create FHIR records or load sample data
Migrate the database using replication method
Make ur fhir server point to the target db
Lob stream is gonna fail

Any extra info ( for eg. code snippet to reproduce, logs, screenshots etc. )
GRANT SELECT ON TABLE aiven_extras.pg_stat_replication TO avnadmin WITH GRANT OPTION;
-- PostgreSQL database dump complete
2022-04-04 12:54:00,079 PGTarget        INFO    extension "aiven_extras" already exists
2022-04-04 12:54:00,931 PGSource        INFO    Creating publication 'aiven_db_migrate_fhir_r5_production_pub' for all tables in database 'fhir_r5_production', has_aiven_extras: True
2022-04-04 12:54:00,964 PGSource        INFO    Creating replication slot 'aiven_db_migrate_fhir_r5_production_slot' in database 'fhir_r5_production'
2022-04-04 12:54:01,011 PGSource        INFO    Created replication slot RealDictRow([('slot_name', 'aiven_db_migrate_fhir_r5_production_slot'), ('lsn', '10B/2F627D38')]) in database 'fhir_r5_production'
2022-04-04 12:54:01,072 PGTarget        INFO    Creating subscription 'aiven_db_migrate_fhir_r5_production_sub' to 'aiven_db_migrate_fhir_r5_production_pub' with slot 'aiven_db_migrate_fhir_r5_production_slot',
has_aiven_extras: True
2022-04-04 12:54:01,146 PGMigrate       INFO    Logical replication setup successful for database 'fhir_r5_production'
Roles:
rolname: 'pbi', rolpassword: None, status: 'exists', message: 'role already exists'
rolname: '_aiven', rolpassword: None, status: 'exists', message: 'role already exists'
rolname: 'avnadmin', rolpassword: None, status: 'exists', message: 'role already exists'
rolname: 'grafana', rolpassword: None, status: 'exists', message: 'role already exists'
Databases:
dbaname: 'fhir_r5_production', method: 'replication', status: 'running', message: 'created and migrated database'

Alright, quick update from what I can see it didn't replicate / migrate the sequences. I guess those are needed for the lobs.
Is this a bug or a not yet supported functionality?

Migrating the sequences doesn't fix the issue.

Hey @ZuSe, apologies for the significant delay to replying on this.
The underlying cause of this is that Postgres doesn't support large objects in logical replication: https://www.postgresql.org/docs/current/logical-replication-restrictions.html. The only real solution, as per the docs, is to store the data in normal tables.
Usually, I'd recommend converting large objects into pointers to data at an external location (such as an object store) instead of using large objects directly. In your example, that would require significant re-writing of the FHIR application to support such an architecture.
What we can do is call this out in the documentation for this tool, and potentially have a warning/confirmation if large objects are detected in the database that are linked to tables to be replicated.

Closing this issue as the warnings PR has now been merged. Apologies for the less than optimal experience.


Fixes some typos and missing words + Feedback

Hey @slightlyoff, thanks for letting me checking out your draft!
I just fixed some typos and missing words.

In the "Essential Skills" section as well as the "HTML + CSS First"  and "JS: Maybe?" sections is one aspect with which I tend to disagree, especially the sentence "[…] highest scorings given to pure HTML + CSS answers".
I am a strong believer in picking the tool with the least power — so HTML first, then CSS, but if necessary also JS. I have seen it too often (and did the mistake myself obviously) that developers want to solve something with HTML and CSS only, which might create a solution which is overly complicated and especially is not the most accessible one. Sometimes JS is necessary to create a truly accessible component. And knowing when to reach for JS (and when not) is a very important skill to me.
I think with the sentence "Some candidates may solve problems in this style by proposing a bit of backend templating plus some HTML and CSS;", you mean that those components can instead be implemented using some backend templating (changing a tab, opening a menu, or whatever). Is that correct? If so, I agree that backend logic should be in place in case JS cannot be executed (for whatever reason), but part of fundamental frontend skills to me is also creating the best possible UX and, imho, that — in certain cases — definitely involves JS.

Thank you for all of this! Are you OK with the CC0 license?

Sure!


Merge pull request #305 from sosedoff/assets-ci-guard

Trigger CI failure if bindata contains any dev links

Whats this ?

I dont know whats up with this PR. Closing.


add server response time metrics

As adding and removing functionality on the server will definitely impact response times - which is critical in a multiplayer game - it would be nice if there was a way to quickly see ( in the server console log, for instance) how many milliseconds it took for the server to process the request and return the response back to the client.

Any suggestion on how to measure this?

I think when I added I might be thinking in terms of http request/response , which obviously not the case here.
What I would do is the most simple thing possible which is to keep a timestamp before you run the game update logic and calculate the delta after it's done.
The goal is to have a measure of how long it took the CPU to update the game state
var timeBefore = Date.now();
yourUpdateStateCallHere()
var delta = Date.now() - timeBefore;
console.log('Game state updated in %f seconds', delta)

On the topic of benchmarking, found out about these 2 libs today:
https://benchmarkjs.com/
https://github.com/wadey/node-microtime
I think the second one is more useful to timing single function execution.


Checkout URL is .mybigcommerce.com

Is there anyway to have it show our Vercel url instead? for example .com/checkout

Bigcommerce didn't have a external checkout that was good as their on-site checkout when we built the provider, if that changes we'll welcome a PR to make the change but for the moment it is not possible.

@lfades what about for shopify?

@johnbwu We have a custom branch for custom checkouts and we're currently working on it


Layout rendering bug

Is this a Bug or Feature request?:
Bug
Steps to reproduce (preferably a link to a GitHub repo with a repro project):

mkdir test
cd test
dotnet new mvc --auth Individual
scaffold all identity codes, using ~/Views/Shared/_Layout.cshtml as layout file
run the web app and register an account
click your username and go to account management

Description of the problem:

In the account management view, the code has set ViewData["Title"] but actually while rendering _Layout.cshtml, ViewData["Title"] becomes null so the website title becomes " - test"
In Two-factor authentication settings page, after you click "Add authenticator app", the highlight of navigator disappeared, but actually in the code we have set the current page to "TwoFactorAuthentication" in ViewData
As we can see, the account management use an independent layout file (as child layout), and the layout file refers the layout file in ~/Views/Shared (as parent layout), but the ViewData and ViewBag in  can not be passed from child layout to its parent layout, therefore, we can draw the conclusion that ViewData and ViewBag can not pass between different layout files. Obviously it's a bug.

Version of Microsoft.AspNetCore.Mvc or Microsoft.AspNetCore.App or Microsoft.AspNetCore.App: 2.1.2

This would be a dup of https://github.com/aspnet/Mvc/issues/7675. We've addressed this as part of 2.2 One way to fix this in 2.1 would be to use ``ViewContext.ViewData["Title"] = "..."rather than assigning it to theViewData` instance on the page.

Thanks for the detailed report. Closing since no further action needs to be taken here.


Add Code Snippet for Pulling Session ID from WebhookRequests

Following up on Issue 444 from Dialogflow CX.
Describe the solution you'd like
Add a code snippet to show how to extract the session id shown in Dialogflow logs and add them to uniquely identify webhook logs.

Closing as per https://github.com/googleapis/python-dialogflow/pull/578#issuecomment-1499643915


Application going to initial viewController when navigating to gallery from WkWebView

Hi,
I'm facing this issue in iPhone where whenever the action for UIImageViewPicker is called from the WkWebView the app goes to initial viewController while giving this message
2017-11-04 09:15:27.318 ConnektHub[36156:2987735] Warning: Attempt to present <UIImagePickerController: 0x7fb2d58d3c00> on <SWRevealViewController: 0x7fb2d584ce00> whose view is not in the window hierarchy!
The WkWebView is in the frontViewController.

Then present the image picker controller from the front view controller

The calling for the UIImagePickerController is done from the HTML page in WkWebView,
not from the mobile code.

How do you present it? Can you show some part of code?

If I understood you want to show the UIImagePickerController when tou tap on a link in the WKWebView?


Adjusted logs to be consistent across the code base

Closes #203
Signed-off-by: Juraci Paixão Kröhling<EMAIL_ADDRESS>

This change is

Does this resolve #203? My concert in #203 is that the log just says Reconciling.... and if the loop is invoked often like in OCP #231 it produces a high volume of logs with no valuable information.
I would expect it log something if there is a difference in desired state.
But this PR looks good it's definitelly an improvement.

At the debug level, I think the Reconciling... message is useful, to know that the loop has started. The fact that it shows up hundred of times should be considered a bug, which is handled by #231. In any case, it has now an execution field, so that we can correlate all log events for a given reconciliation loop.
I see #203 as a general "logging" issue, which is what this PR is solving.

I would expect it log something if there is a difference in desired state.

Hopefully done as part of #231 :-)


Setting FQDNLookup to false has no effect on CentOS

My manifest contains:
class { '::collectd':
     purge        => true,
     recurse      => true,
    purge_config => true,
    fqdnlookup   => false,
}

The generated collectd.conf file contains:
Hostname node-10
FQDNLookup false

But the hostname in the collectd messages is still the fully-qualified name (eg node-10.example.com).
When I edit the collectd configuration to add double quotes then it works as expected:
Hostname "node-10"
FQDNLookup false

I used an old version of the module, this is already fixed by commit 520c382e666d27040939264e656f0d5c566f81ad.


Rename azure-user-assigned-identity-name to azure-user-assigned-identity-id

Via https://github.com/cilium/cilium/pull/12592 the cilium-operator got a new method of retrieving Azure API credentials via user-assigned-identities. The CLI flag to specifying the identity was named incorrectly.
The correct way to do this is via specifying the ID of the identity rather than the name of it (Azure go SDK expects the ID).
Rename azure-user-assigned-identity-name to azure-user-assigned-identity-id

test-me-please

test-me-please

@ungureanuvladvictor FYI, for non-released fixes we use release-note/misc as it isn't a user faced change.


replication_mode: keep sync state when lost region majority

Signed-off-by: disksing<EMAIL_ADDRESS>What problem does this PR solve?
Fix https://github.com/pingcap/pd/issues/2451
What is changed and how it works?
switch to async only when the region has majority peer
Check List
Tests

Unit test

Related changes

PR to update pingcap/docs/pingcap/docs-cn:
PR to update pingcap/tidb-ansible:
Need to cherry-pick to the release branch

Release note

No release note

Codecov Report

Merging #2484 into master will increase coverage by 0.06%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master    #2484      +/-   ##
==========================================
+ Coverage   77.01%   77.08%   +0.06%
==========================================
  Files         205      205
  Lines       21948    21990      +42
==========================================
+ Hits        16903    16950      +47
+ Misses       3755     3753       -2
+ Partials     1290     1287       -3

Impacted Files
Coverage Δ

server/replication/replication_mode.go
73.75% <100.00%> (+0.78%)
:arrow_up:

pkg/dashboard/adapter/redirector.go
85.10% <0.00%> (-8.52%)
:arrow_down:

server/tso/tso.go
82.48% <0.00%> (-3.65%)
:arrow_down:

server/schedulers/random_merge.go
61.19% <0.00%> (-2.99%)
:arrow_down:

pkg/dashboard/adapter/manager.go
81.65% <0.00%> (-2.76%)
:arrow_down:

server/cluster/coordinator.go
71.95% <0.00%> (-2.57%)
:arrow_down:

pkg/mock/mockhbstream/mockhbstream.go
89.23% <0.00%> (-1.54%)
:arrow_down:

server/region_syncer/client.go
78.62% <0.00%> (-0.77%)
:arrow_down:

server/cluster/cluster.go
80.15% <0.00%> (-0.14%)
:arrow_down:

server/cluster/cluster_worker.go
72.95% <0.00%> (+0.22%)
:arrow_up:

... and 9 more

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 e44ea13...74663e9. Read the comment docs.

/merge

/merge


[BUG] Get-PnPAzureADAppSitePermission doesn't return role information

Reporting an Issue or Missing Feature
When you run "Get-PnPAzureADAppSitePermission", the results don't include the role assigned to the appId.
Expected behavior
It should be one of the following: read/write/fullcontrol
Actual behavior
Empty value for "Roles"
Steps to reproduce behavior
Get-PnPAzureADAppSitePermission -AppIdentity $clientID
What is the version of the Cmdlet module you are running?
1.11.0
Which operating system/environment are you running PnP PowerShell on?

[X] Windows
[ ] Linux
[ ] MacOS
[ ] Azure Cloud Shell
[ ] Azure Functions
[ ] Other : please specify

hi @danmyhre, you need to specify permission id parameter for that.
https://pnp.github.io/powershell/cmdlets/Get-PnPAzureADAppSitePermission.html#example-3
This is how it is by design, not a bug.

Yeah - looking to get that fixed @gautamdsheth . Since the property is returned with missing data, I would consider that a defect.

hi @danmyhre, unfortunately this is how the Microsoft Graph API works :(
We are not able to fix it at our end since Microsoft owns the API layer.


Update docs deployment workflow

Changed the Sphinx docs workflow so that deployment only happens when a version is tagged (same trigger as for PyPI release).

Thanks @niksirbi! If it makes sense to, I will merge this PR after the upcoming PR that will fix up the docs. Then we can have a pretty good version up, with final version pushed with the tag (and then proper documentation versioning from there).


Deprecated function usage in jquery-ui

There's been some work towards removing deprecated function usage over the last few months. It seems the below haven't been pointed out before, so here goes:
jQuery.isArray is deprecated; use Array.isArray

https://github.com/blueimp/jQuery-File-Upload/blob/f5d629abdaf480fefad8ad823cb1e2c96805bd4e/js/jquery.fileupload-ui.js#L86

jQuery. isFunction() is deprecated. In most cases, its use can be replaced by typeof x === "function"

https://github.com/blueimp/jQuery-File-Upload/blob/d2535157e6005eb3c37f7d0b0042462393139c5b/js/vendor/jquery.ui.widget.js#L134
https://github.com/blueimp/jQuery-File-Upload/blob/d2535157e6005eb3c37f7d0b0042462393139c5b/js/vendor/jquery.ui.widget.js#L276

Thanks for your recommendation @bytestream.
Unfortunately, Array.isArray is only supported by IE9+ and more modern browsers, but I aim to keep the original browser compatibility guarantees of this project, which still supports older browsers and works with jQuery 1.7+.
It's likely that this project will stop supporting newer jQuery versions at some point.
jquery.ui.widget.js is mostly a copy of the original version from the jQuery UI project with some patches, but I prefer to keep changes minimal to ease merging upstream fixes.

Thanks for the update. I think the Mozilla polyfill should allow you to keep the version guarantee? I've sent that to a few other projects like jquery-validation and DataTables

Well, that would introduce a breaking change that seems unnecessary to me.
From my perspective, one of jQuery's greatest strengths has always been smoothing out browser differences (together with providing better APIs for XHR requests and DOM manipulation).
Most modern frontend projects that only support modern browsers will likely not use jQuery, nor have a need for this project.
I'm still planning to support modern jQuery versions, but since these are only deprecation messages, I don't think it's worth it to add a breaking change that requires adding more boilerplate code at this point.

Sorry I missed this. Why would the polyfill introduce a breaking change?
The below polyfill (from Mozilla) supports all browser versions, and does not break support where Array.isArray already exists.
if (!Array.isArray) {
  Array.isArray = function(arg) {
    return Object.prototype.toString.call(arg) === '[object Array]';
  };
}

My suggestion is to add the polyfill to this library.

If we add the polyfill to the library, it would not be a breaking change.
I don't think it's good practice to add polyfills in unrelated libraries.
Even if we would do it regardless, which library file should include the polyfill code and where in the code should the polyfill be executed?
If we should do this, it should be a separate file with polyfill in the name and therefore a breaking change.

I don't think it's good practice to add polyfills in unrelated libraries.

Could ponyfill instead. Just a local (private) method:
  var isArray = function(arg) {
    return Object.prototype.toString.call(arg) === '[object Array]';
  };

Given it's currently only needed by jQuery-ui, dump it in that file.

jquery.ui.widget.js is mostly a copy of the original version from the jQuery UI project with some patches, but I prefer to keep changes minimal to ease merging upstream fixes.

I don't think there are likely to be any further changes coming from upsteam. jQuery-ui is marked as dead - I alluded to it here: https://github.com/blueimp/jQuery-File-Upload/pull/3504#issuecomment-588381537

Jquery UI is alive and is getting active attention in fact they just updated all of their code to remove all these deprecated methods.
And they are planning a 1.13 release: https://github.com/jquery/jquery-ui/pulls?q=is%3Apr+is%3Aclosed

@melloware Something must have changed recently then given it was? listed emeritus by the openjs foundation  and there's been no release since 2016
Pleased to see an injection of life nonetheless

WWWWWHHHHAAAAAAAAAAAAAAAAAAA

Looks like they started 4 days (meaning so far one person), but that's a lot of updates for day 1......
wonder if he/she/it is actually part of the original crew, and how many are on it 👍
this is good news

Yeah I monitor UI and mgol has been doing lots of updates this year in prep for 1.13 including removing all deprecated API usage and making sure it passes with he jquery migrate plugin!

Does this plugin work with jQuery 3.5.1 and jQuery-UI 1.12.1?

Does this plugin work with jQuery 3.5.1 and jQuery-UI 1.12.1?

Yes

So I just stumbled upon this as I'm working with upgrading jQuery in a project. Seems that the 1.13 version of jquery-ui might actually come soon, an alpha was released 6 days ago: https://github.com/jquery/jquery-ui/releases


Image selection flow

Eventually the image selection flow should be:

Select images. Could optionally provide separate controls for selecting lights, darks, flats, and bias frames, or those could be selected later
Images are previewed from the list and can be deselected from processing
Reference image should be assigned. This could either be enforced or chosen automatically if none is chosen

This has all been met except for previewing the selected image.

Closed via 964e1efd


Support for JsonLdRenderer in RDFView

RDFView was already able to support JsonLdRenderer, but it was not possible to pass a context to RDFLib. Allow passing a context and mention support for JsonLdRenderer in the docstring.
The way I implemented this may seem a bit clumsy, but it was the cleanest solution I could come up with -- there might be a better way.

I forgot that this PR was still open after approval. I will merge it and create a release.

... I see that this library already has a stable version. I think this can be added in a minor release, since this change is not supposed to break anything?


Embed more information in the name of the Connector component

We are running into a rare issue in production where we need more information in the Roact-Rodux Connector component name to track it down.
This pulls in getComponentName and ReactSymbols from upstream React, and adds some basic tests around getComponentName.
This should continue to be compatible with legacy Roact but we may want to do a major verison bump since it will interpret React fields on component classes, which may throw  when accessed if users have overridden __newindex or __index to throw.

Coverage decreased (-66.8%) to 33.184% when pulling 32d515d5a3dafe309c4089dfb71498ecb517ca0d on LUAFDN-692 into b7634967dd0b8eeaec49a97ea299997c8ff958ab on master.

We may not need this, as our production issue seems to have enough information without these extra changes. If someone else things this change is still useful, we can revisit.


GPU backend max operator not implemented for transpose

Good morning,
The following code raises TransposeCUDAMatrix has not attribute max. I work with cuda-convnet, and don't know if it is also a problem with NervanaGPU. However it doesn't happen with CPU backends.
gpu = gen_backend(gpu='cudanet')
b = gpu.array([1, 2, 3])
c = gpu.empty((1, 1))
c = gpu.max(b.transpose(), None, c)

I can try to work on that, but don't know how long it will take me. (little time lately)
Séb

Hi Seb,
Was able to reproduce your problem, but I'm not sure where we'd need to pass a transposed argument to max()?  If you're taking this over all axes you can pass in b as is and get the same result.  Or if it was over one axis for a 2D input, you can get the same result by choosing the other axis of an expected transposed input.
Updating the cc2 code to support transposed arguments would be a fair bit of effort (lots of other operations are similarly impacted), and we're likely going to deprecate the cc2 backend anyway.  We may end up backporting support for older cards into nervanagpu.
Interestingly the code doesn't work with nervanagpu as written either, but this is due to b being a vector and c a 2D matrix.  With b a 1x3 2D matrix it works.

Indeed, this is interesting.
I ran into this problem when working with the predictions coming out of a net, but it seems that maxing on the other axis and then transposing would probably do the job. Anyway, thought that I'd point that out.


Mixture of additions

Remove of obsolete packages
Use file module instead of chown as shell command
Control JVM installation/setting up via alternatives module (remove shell commands to minimum)
Provide JDK package name, instead of "-devel" package name, which is ugly

LGTM.


add redirect from erlang.org to www.erlang.org

There are many existing links to erlang.org/doc from elsewhere, such as Elixir's doc site:
https://hexdocs.pm/elixir/Process.html#flag/2
the links look like:
https://erlang.org/doc/man/erlang.html#demonitor-2
They all timeout now. Maybe we should 301 redirect them to the correct link as:
https://www.erlang.org/doc/man/erlang.html#demonitor-2

Hello!
There is such a redirect in place, but because of the downtime the server that does those redirects is down. So either make a patch to hexdocs to point to www.erlang.org or wait for the server to come back online.

I have been wanting to report this for a long time.
I think we should unify the docs in one server, and redirect from the one that we don't want.

There is such a redirect in place, but because of the downtime the server that does those redirects is down. So either make a patch to hexdocs to point to www.erlang.org or wait for the server to come back online.

Was this fixed within the last year? Because last time i checked they were loaded individually in each server, causing people to reload pages twice and not make use of cache, if they were visiting www.erlang.org and erlang.org
Been wanting to report this for a while, suggesting to unify the domains.

With the release of the new erlang.org we moved the hosting of the docs from erlang.org to www.erlang.org. So about two weeks ago www.erlang.org/doc redirected to Erlang.org/doc, but after the switch we changed it to be the reverse. We have a goal to move so that erlang.org and www.erlang.org are the same server, but that is not done yet which is why this issue popped up.
It is not often that the erlang.org server needs to be down, but as it is hosted on our premises it happens from time to time.


Allow for explicit workspace flow in sub flows

Commit fa929b116f78 ("Fix workspace detection for sub flows") caused a
regression when having a root workspace with tasks that relies on each
member to define CARGO_MAKE_CARGO_BUILD_TEST_FLAGS with unique set of
features.
Determine if workspace flow is explicitly set in the task when planning
the execution and take this setting into account when running in a sub
flow.

Codecov Report

Merging #455 into master will decrease coverage by 28.27%.
The diff coverage is 95.83%.

@@             Coverage Diff             @@
##           master     #455       +/-   ##
===========================================
- Coverage   92.63%   64.36%   -28.28%
===========================================
  Files          92       92
  Lines       17886    17537      -349
===========================================
- Hits        16568    11287     -5281
- Misses       1318     6250     +4932

Impacted Files
Coverage Δ

src/lib/execution_plan_test.rs
75.82% <94.59%> (-19.13%)
:arrow_down:

src/lib/execution_plan.rs
72.72% <100.00%> (-19.08%)
:arrow_down:

src/lib/storage_test.rs
0.00% <0.00%> (-100.00%)
:arrow_down:

src/lib/recursion_level_test.rs
0.00% <0.00%> (-100.00%)
:arrow_down:

src/lib/scriptengine/rsscript.rs
0.00% <0.00%> (-100.00%)
:arrow_down:

src/lib/cli_test.rs
2.04% <0.00%> (-94.54%)
:arrow_down:

src/lib/scriptengine/rsscript_test.rs
0.00% <0.00%> (-90.09%)
:arrow_down:

src/lib/environment/mod_test.rs
12.31% <0.00%> (-83.85%)
:arrow_down:

src/lib/time_summary.rs
11.76% <0.00%> (-82.68%)
:arrow_down:

src/lib/legacy_test.rs
17.64% <0.00%> (-82.36%)
:arrow_down:

... and 49 more

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 7c18706...fa44be7. Read the comment docs.

@epontan thanks a lot for the PR, it looks good.
I rebased it on top a new dev branch. not sure why the build failed, but lets see if it passes now.

@sagiegurari thank you! It looks like all passed except the code coverage this time. I'm not sure why it fails. If I run coverage-tarpaulin locally the coverage is increased by half a point.

ya, its due to rustfmt compilation broken on nightly. just pushed a workaround, let me restart the GH actions and see how it goes.

@epontan can you pull 032.5 changes to your local branch? this will contain the rustfmt workaround so we can see coverage is ok

@epontan this is really great fix. thanks a lot!!!
merging


Add support for pitft35

Backport PiTFT 3.5" support from 4.4 to 4.1
Add pitft35 model

Can one of the admins verify this patch?

@agherzan This looks to already be merged, we can close it from here.

Correct. Closing.


write_csv() returns 'super' object has no attribute 'to_csv'

Hi,
There seems to be a problem with write_csv(). I can import tidypolars and the data just fine:
import tidypolars as tp

rents = tp.read_csv("https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2022/2022-07-05/rent.csv")

But when I try to export the data frame as a csv file:
rents.write_csv("rents.csv")

I get an error stating 'super' object has no attribute 'to_csv'.
The data come from the Tidytuesday repo. Python version is 3.10.8 and tidypolars is 0.2.19. I'm on macOS 13.

Thanks for catching this - looks like polars deprecated .to_csv(). I'll update tidypolars to fix this.

This has been fixed


Add String#matches_full, #match_full

Adds method to String to matche a regular expression over the entire string.
See #9309 for a related PR (which is probably not necessary after this one) and the discussion that brought up the idea for this.

This implementation is important because it makes it easy to do the right thing.
That the implementation is simple is not relevant. In fact, maybe we'll find some vulnerability requiring to complicate it and then be able to fix it for all users going forward.
Some wrong things that this already prevents very well are:

Preventing /\A#{expr}\z/
where expr can be "foo|bar",
making this \Afoo | bar\z
Preventing /\A(#{expr})\z/
where expr can be ")|hax|(",
making this \A() | hax | ()\z

Ruby handles this like this:
[32] pry(main)> /\A#{/a|b/}\z/
=> /\A(?-mix:a|b)\z/

Can we fix regex interpolation instead and cover a vastly broader amount of these kinds of missteps?

Actually  we do this properly already! https://carc.in/#/r/95qb
If you got a user supplied regex as a string you just have to pass it through  Regex.new.

@jhass Alright. But while that's true, the important part for making the wrong thing difficult is that the API accepts only Regex.
That /\A#{/foo|bar/}\z/ works well doesn't mean that /\A#{"foo|bar"}\z/ isn't still a problem.
Because the new API is the easy thing to do and it doesn't allow String, that alone can prevent vulnerabilities.

Well, I mean actually passing any user supplied string to a regex engine unchecked already is a vulnerability,  very easy to trigger a DoS like that. I'd like to make this harder, not easier :/
I think this API fixing one instance of the problem doesn't invalidate my argument. We cannot possibly provide a method for any single instance of this problem, so it's better to educate users on the general solution to it. And take the opportunity to emphasize that passing a user controlled string to the regex engine is rather dangerous.
Actually I wouldn't be too opposed to forbid interpolating strings into regex literals, you could always still build up the entire regex as a string instead if you really need  that, but it should tip most people towards /#{Regex.new(...)}/.
Summary is that I can't get rid of the feeling that this is fighting symptoms and not the problem.

I actually never had in mind to promote this as a security feature. It's intended to be a simple helper for a relatively common functionality.
The security aspect is negligible because it doesn't add anything new.
The purpose is to provide a clean API for expressing the intent (making sure a regular expression matches against the entire string) instead of having to dip into details of implementation.
If at some point we switch to a different regex engine that supports a full matching feature explicitly, these methods could be changed to use the appropriate library calls for that directly.

@jhass Removing String interpolation in Regex literals could be a useful security feature. But it's a different story.

Well, I approved this because I don't think it's a too terrible mistake. I just cannot really see the usecases personally.

Oh, there are quite a few usecases for matching against a full string. Having a dedicated method for that feels better than having to dissect the meaning of the regular expression in order to understand it's supposed to match fully.
I personally tend to avoid regular expressions if possible, but I still have some direct for use cases for this:
https://github.com/shardbox/catalog/blob/0428d63ee84da594a61d07469358834b15a6a22e/src/awesome_list.cr#L76
https://github.com/shardbox/shardbox-core/blob/650dea420bfa7b4e8dfe88d7df2c0371609776b3/src/util/software_version.cr#L49
This is where the idea for #9309 was born:
https://github.com/straight-shoota/sanitize/blob/ea4f0256390a522438e22cf8842c19f3f365860c/src/policy/html_sanitizer.cr#L324-L326

I meant usecases where I don't see  \A/\z fit, which I find quite easy to understand and reason about.

There's a related feature request for Ruby: Introduce %R percent literal for anchored regular expression patterns
. Might be worth considering for Crystal as well. But let's see what comes out of this for Ruby.

I believe the same behaviour as proposed here can be achieved by passing the options ANCHORED and ENDANCHORED which requires the pattern to be anchored at the begin and end of the string, thus covering it fully.
This would require no change to the API nor to regex patterns.
ENDANCHORED is only available in PCRE2.


"For example, a fully-connected or softmax layer with 2D output" as the status

Similarly to #25 I engineered another artificial file: bench_model_16.zip
It is a matrix multiplication with the second matrix constant. I hoped that it will successfully compile with edgetpu_compiler, but nope, bad luck again.
Number of operations that will run on Edge TPU: 0
Number of operations that will run on CPU: 1

Operator                       Count      Status

FULLY_CONNECTED                1          For example, a fully-connected or softmax layer with 2D output

Now that I believe that the file can be crazy, wrong, etc., but the status message is really puzzling.

This is similar to #25 so we can keep the discussion there.


Modify caret mark behaviour wrt screen size

Intended as a fix for #22786. I'm new here, so feel free to comment your issues. One issue from my side is that I hardcoded the value 768px into the file. Is this fine or do I use the functions from _breakpoints.scss?

This is the wrong place to do this to fix #22786. This PR would affect all .dropups, when we only really care about .dropups in .navbars.

Is this fine or do I use the functions from _breakpoints.scss?

Yes, you'll want to use the media queries. There are examples in many of the Sass files.


Linear increase in labels leads to exponential increase in LabelModel fit time.

First things first: thank you all for all the hard work going into this library! It's fantastic and incredibly accessible, especially with the numerous tutorials. Onto the issue:

Issue description
When attempting to use snorkel.labeling.LabelModel for more than ~8 classes, the call to _break_col_permutation_symmetry (more specifically, permutations(range(k)) where k is the number of classes) increases runtime at an exponential rate.
Code example/repro steps
I've isolated a minimal-ish example below (forgive the improper use of globals):
from typing import Dict, List, Optional, Tuple
import time

from sklearn.datasets import make_classification
from snorkel.labeling import LabelingFunction, LabelModel, PandasLFApplier
import numpy as np
import pandas as pd

# Constants.
N_CLASSES: Optional[int] = None
ABSTAIN: int = -1

def generate_data() -> Tuple[pd.DataFrame, np.ndarray]:

    # Generate dummy dataset.
    X, y = make_classification(
        n_samples=50_000,
        n_features=N_CLASSES * 2,
        n_classes=N_CLASSES,
        n_informative=N_CLASSES,
        n_clusters_per_class=1,
        random_state=2019,
    )

    # Assert we properly created our dataset.
    assert X.shape[0] == y.shape[0]
    assert len(set(y)) == N_CLASSES

    # Cast our array to DataFrame.
    X_df: pd.DataFrame = pd.DataFrame(X)
    return X_df, y

def greater_than_lf(x: pd.Series, cutoff: float, label: int) -> int:
    return label if x[label] > cutoff else ABSTAIN

def make_ge_lf(cutoff: float, label: int) -> LabelingFunction:
    return LabelingFunction(
        name=f"ge-{cutoff:g}_label-{label}",
        f=greater_than_lf,
        resources=dict(cutoff=cutoff, label=label)
    )

def run():

    # Generate data.
    X_df, y = generate_data()

    # Generate very bad, not good labeling functions.
    lfs: List[LabelingFunction] = [
        make_ge_lf(cutoff=0.5, label=label) for label in range(N_CLASSES)
    ]

    # Initialize and apply our applier onto our training data.
    applier = PandasLFApplier(lfs=lfs)
    L_train: np.ndarray = applier.apply(df=X_df)

    # Initialize and fit our label model.
    label_model = LabelModel(
        cardinality=N_CLASSES,
        verbose=True,
        device="cpu"
    )

    tic: float = time.time()
    label_model.fit(
        L_train=L_train,
        n_epochs=10,
        lr=1e-3,
        log_freq=1,
        seed=2019
    )
    toc: float = time.time()
    print(f"Fitting label model with {N_CLASSES} classes took {toc - tic:.3f} seconds.")

for i in range(3, 12):
    N_CLASSES: int = i
    run()

This gives print logs like (excluding benign PyTorch UserWarnings re:torch.bool):
Fitting label model with 3 classes took 0.051 seconds.
Fitting label model with 4 classes took 0.037 seconds.
Fitting label model with 5 classes took 0.070 seconds.
Fitting label model with 6 classes took 0.257 seconds.
Fitting label model with 7 classes took 1.543 seconds.
Fitting label model with 8 classes took 13.348 seconds.
Fitting label model with 9 classes took 130.37 seconds.
Fitting label model with 10 classes took 1403.96 seconds.

Expected behavior
I suppose I expected the core model training loop (forward, loss, backprop, etc.) to be the significant consumer of runtime, especially with 10+ classes. I didn't expect the model to (attempt to) undergo a computational loop for NPermutations(k) iterations, which can be (very) costly.
Screenshots
N/A
System info

How you installed Snorkel (conda, pip, source): pip (via pipenv)
Build command you used (if compiling from source): N/A
OS: Ubuntu 16.04.6 LTS
Python version: 3.7.4
Snorkel version: ==0.9.1
Versions of any other relevant libraries: torch==1.1.0.post2, numpy==1.17.2

Additional context
I'm trying to perform a single-label, multi-class classification problem with number of classes k ≈ 17. I wrote k such labeling functions (with great ease! Thank you for the incredible interface), applied them onto a validation set, applied them onto the training set, then attempted to fit a LabelModel. I noticed the call wasn't returning, and thought it was the training loop. After debugging, I noticed that the call to _break_col_permutation_symmetry was the culprit, and upon further inspection I realized that doing 17! iterations would be 355,687,428,096,000 (355 trillion) iterations, which even if each loop took 1 nanosecond (1e-9 seconds), would take ~247 days.
I noticed that the number of labels in the tutorials seem to limit the number of non-abstain classes to ~3 or 4, which is probably reasonable. I wonder if there's any consideration for how to have snorkel handle larger numbers of classes, especially for cases with really large numbers of classes (e.g., ImageNet's 1000 classes). I had the following ideas, but not sure if they're sensible given Snorkel's need to view all labeling functions and adjust the mu parameter accordingly:

Build k one-versus-rest LabelModels and aggregate their predictions accordingly. This seems more appropriate if we were doing a multi-label, binary classification approach. But I can imagine a case where we treat the problem as such, then squash and apply some softmax to the predictions. A bit hacky, but it would work?
Use MajorityLabelVoter.
Try distributing the inner loop computation via multiprocessing? Numba?
Settle for a random search over the permutations instead of the full grid search?
??

I'd appreciate any advice here! I completely believe I could be missing something very obvious, so any feedback is welcome. Thank you again for your time on this project!

I also stumbled upon the exact same problem. The only (hacky) solution I found what to modify the code in _break_col_permutation_symmetry to sample a limited number of possible permutations instead of looping on all possible ones.  But that's obviously a non-optimal solution.

Hi @dataframing, thanks for digging on this! Agreed, 247 days is not an ideal training time. As a quick fix, your random search suggestion seems like a good approach! If you want to submit a PR, I'm happy to help with the process!

@henryre Sounds good! Wrapping up a few tests now. I'll open up a PR shortly. It'd be great to have your + @plison's eyes on it, as well!

does the devices flag have any effect on this? Namely using Cuda/GPU?

@eggie5 I don't think so, since the core loop is multiplying matrices with NumPy and iterating over the permutation space of k!, which is expensive no matter how you cut it for large enough k.

so no workaround at this point?

From the discussion on #1488, it seems like the team is working on a better formalization of the label model that won't have this issue anymore.
Somewhat informally, I realized that even with random sampling a decent number of permutations (say, 50MM), the label model failed to find a permutation (and thus update the mu instance attribute) that was much better than random. I'm guessing the instances of valid mu parameters is quite sparse within the space of all k! permutations.
In my case, I resorted to using the majority vote label model. I also focused my time on building (slightly fewer, and slightly less coverage) but very-high-precision rules. This gave me decent performance, and I kept iterating on these rules (introducing new rules, updating existing rules to be more precise, etc) until the majority vote classifier was doing a pretty good job.
Hope this holds you over! Like you, I have my fingers crossed that the team can pull off an update to the LabelModel relatively soon. Best of luck!

Hi all, sorry for the delay here- can check out @brahmaneya 's solution (referenced above) which is just pending final edits and then will get merged in, after which we'd love your feedback!  Thanks!

nice, I see it's in master, please let us know when it's released 👍

Hi all, #1502 is now in v0.9.3. I reran @dataframing's example above and all models trained in under 0.1s on a MacBook. Going to close this out but feel free to reopen if you're seeing any issues.


Added a code of conduct to the contributing guide

@michiels @oiuzikov @berkes Interested to hear what you guys think of this :)

:+1:


network.md

Location: docs/locale/en_US/source/

https://github.com/lfapac-open-source-evangelist/fabric-docs-i18n/pull/45
commits: 3ae303d33057e05f8e1b7e8a6352d74da45ad250


Closing HTML tags getting removed from Custom Header content inside of a script tag.

Describe the bug
When putting custom HTML inside of a

Thanks for reporting @tsacks.
Bit of a strange one, due to how PHP parses HTML tags now that I parse the content in the last patch release.  I've now pushed 88c698796b2097301d494a9109631aa2bc96ec48 which seems to fix this. That said, not really sure how or why it fixes it but seems to do the job and not cause any other issues from my testing.
Therefore I'll close this off. This will be part of the next patch release.


multiple keyword

Just my version of what we discussed today and Michael drafted in https://github.com/PumasAI/QuartoNotebookRunner.jl/pull/71, so we have a basis to compare implementations
Here, some qmd code like this:
elems = []

asis_md(str) = (; output = PlainMarkdown(Markdown.parse(str)), options = Dict(:output => "asis"))

push!(elems, (; output = nothing)) # this is just because I didn't control the output-asis of the first cell
push!(elems, asis_md("::: {.panel-tabset}"))
for color in ["red", "blue", "green"]
    append!(elems, [
        asis_md("## $color"),
        asis_md("::: {layout-ncol=2}"),
        (; output = lines(cumsum(randn(100)))),
        (; output = scatter(cumsum(randn(100)))),
        asis_md(":::"),
    ])
end
push!(elems, asis_md(":::"))

elems

results in something like

Superseded by #71.


Update Operation and Snapshot

remove sequence
rename version to documentVersion
add userId and time
add id, which is <documentType>~<documentId>~<userId>~<sessionId>~<sequence>, where

sessionId is generated using generateId(), if not known.
sequence is just an integer incremented every time a new operation is created.
If any of the fields contains ~ or \, they should be automatically escaped with \.

When an operation is submitted, the server must verify that the id components match the properties of the operation, and that userId matches the userId of the currently authenticated user. This way users can't corrupt other users' states by submitting operations with conflicting IDs. sessionId does not need to match the sessionId of the currently authenticated user to allow submitting existing local operations after reconnecting, when the authenticated sessionId would have already changed. Other clients will be able to easily detect any inconsistencies by comparing the userId / sessionId pairs in an operation to the list of presence objects in Global Presence.

No longer relevant.


Glob dandisets listing?

if neurosift .nwb specific , /assets/ endpoint could get a glob option, which could drastically reduce amount of records returned
e.g. for 000026 which is super heavy,
curl -X 'GET' \
  'https://api.dandiarchive.org/api/dandisets/000026/versions/draft/assets/?page_size=1000&glob=*.nwb&metadata=false' \
  -H 'accept: application/json'

would return no hits at all ;-)

that is great ! thank you!


Unable to load template after fresh install

After fresh install of cs-cart when I change the theme to boilerplate I get errors:
Unable to load template tygh 'buttons/go.tpl' in 'addons/newsletters/blocks/static_templates/subscribe.tpl'

@jacekmichalski , thank you for reply.
Can you say please from where you downloaded Boilerplate?

I just git clone it from here
Another one is here:
Smarty: Unable to load template tygh 'buttons/button.tpl' in 'addons/wishlist/views/wishlist/components/add_to_wishlist.tpl'

git clone https://github.com/cscart/cscart-boilerplate.git design/themes/mythemename

have you try to delete var/cache folder?

Yes, it doesn't help. When I uninstall addons mentioned in the path, theme contiunes to work. With newsletters addon enabled I still get:

i confirm, same issue

This is a buttons issue. If you check the message on the service unavailable screen it tells you the issue. Buttons are no longer stored in a buttons folder, there are in the theme/templates/common folder. There are a few addons that will show this issue. You need to alter the button reference in the add on or use the "my changes" addon to override the file.

Hi, @jacekmichalski @Cig-group, thanks for the report. Now, i can not to replay your issue, it seems work well. Can you tell, in what version of CS-Cart it was happened?

i confirm, same issue

i confirm, same issue

Hi, See my comment above. The buttons/go.tpl just needs amending/overriding.


Consider a rename of the plugin/project to more accurately reflect what it does.

Reading through the documentation, this plugin doesn't seem to function as a funnel at all. It may make sense to rename to more accurately reflect it's purpose. Some more accurate names might be sieve, strainer, or colander. Personally, I prefer colander, if only for the visual of broccoli being rinsed and drained. (how is there no animated gif for this?) Though, I'm not sure how playful the broccoli community is with their naming.

Obviously, renaming a project has some potentially negative side-effects as the user base adjusts to the change. However, supporting both packages and APIs for a short deprecation period shouldn't be too much overhead.

The naming is tricky, but I guess it's too late at this point to rename it; it's just not worth the breakage.
We can change the recommend function name in the README if we wanted to (var from = require('broccoli-funnel');). I don't really have an opinion on that.

I believe a name change at this point will not provide much value. I suspect improving the description may help, a PR or issue with some suggestions will be evaluated.


chore: cleanup Operation and Path

Codecov Report

Merging #86 (d8fd90c) into main (a91f856) will increase coverage by 0.03%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #86      +/-   ##
==========================================
+ Coverage   97.59%   97.62%   +0.03%
==========================================
  Files         148      148
  Lines        4610     4588      -22
  Branches      758      583     -175
==========================================
- Hits         4499     4479      -20
+ Misses         65       64       -1
+ Partials       46       45       -1

Impacted Files
Coverage Δ

xpresso/routing/operation.py
100.00% <100.00%> (+3.03%)
:arrow_up:

xpresso/routing/pathitem.py
100.00% <100.00%> (ø)


[AuthorizationPolicy] Rule not working when path exists.

Bug Description
Hello, I am trying to use RequestAuthentication and AuthorizationPolicy to secure my API.
This works perfectly fine with the following policy.
...
  action: ALLOW
  rules:
    - to:
      - operation:
          paths: ["/*"]
      when:
      - key: request.auth.claims[iss]
        values: ["company"]

But when i try to add "whitelist" for paths which i don't need JWT validation I encountered an unexpected and wrong behavior.
When adding an additional rule or replacing the existing rule with
...
  action: ALLOW
  rules:
    - to:
      - operation:
          paths: ["/v1/*"]

My Assumption is that every path starting with /v1/* will be allowed, which is not the case. I have a virtual service with a path exposed at /v1/test, which works without authentication and authorization perfectly fine.
But when having the policy in place and sending a request i get a 403 Forbidden.

In addition to this when i change my request URL from /v1/test to /v1/a or /v1/test2 i ll get a 404 Not found error, which means istio successfully authorizes the request but couldn't find a route which makes sense.
Version
$ istioctl version
client version: 1.12.2
control plane version: 1.12.0
data plane version: 1.12.0 (3 proxies)
$ kubectl version --short
Client Version: v1.23.1
Server Version: v1.21.5-eks-bc4871b

Additional Information
No response

Yangmin, can you take a look?

Could you include the full authz and virtual service yaml? It will also be helpful to follow https://istio.io/latest/docs/ops/common-problems/security-issues/#authorization-is-too-restrictive-or-permissive to common mistakes and gather debug logs.

I ran into this same issue today while testing and filed a bug report 46910


scipy.sparse.linalg.gmres does not stop at given tolerance.

For some linear systems Preconditioned GMRES does not stop after reaching
the given tolerance, GMRES keeps running, some times for many more iterations.
I have this problem with scipy 1.1.0 but not with scipy 1.0.0.
Reproducing code example:
import numpy as np
from scipy.sparse.linalg import gmres

class gmres_counter(object):
  '''
  Callback generator to count iterations.
  '''
  def __init__(self, print_residual = False):
    self.print_residual = print_residual
    self.niter = 0
  def __call__(self, rk=None):
    self.niter += 1
    if self.print_residual is True:
      if self.niter == 1:
        print('gmres =  0 1')
      print('gmres = ', self.niter, rk)

if __name__ == '__main__':
  # Set system size and tolerance
  N = 30
  tol = 1e-6

  # Create linear system and Preconditioner
  A = 10.0 * np.eye(N) + np.eye(N, k=1) * 10.0
  b = np.ones(N)
  PC = np.diag(1.0 / np.diag(A))

  # Call GMRES
  counter = gmres_counter(print_residual = True)
  x, info = gmres(A, b, M=PC, tol=tol, callback=counter)

Scipy/Numpy/Python version information:
1.1.0 1.15.1 sys.version_info(major=3, minor=6, micro=5, releaselevel='final', serial=0)

Try checking print(np.linalg.norm(A.dot(x) - b) / np.linalg.norm(b)) afterward to see the actual relative residual. rk is the left-preconditioned norm, whereas the tolerances are supposed to apply to the unpreconditioned problem. That it could previously terminate before reaching the actual tolerances in some cases is a fixed bug.

In the minimal example that I posted above the error comes from the difference between rk and the true residual, as you suggested, so GMRES works fine for that problem. I saw this issue first with a real problem where I didn't use any preconditioner. I will try to create an example to reproduce the error.


condensin complexes

I am curating PMID:21795393 and according to this paper, there are two types of condensin complexes, condensin I and condensin II. Originally in GO we had a single subtype of condensin complex called 'nuclear condensin complex'. This complex is defined as 'A multisubunit protein complex that plays a central role in the condensation of chromosomes that remain in the nucleus.' Currently there are many annotations to this complex from direct annotation of yeast genes and Paint annotation. The problem with these annotations is that according to PMID:21795393, neither of the two condensin complexes is always restricted to the nucleus. Condensin II is in the nucleus and Condensin I associates with chromosomes after nuclear envelope breakdown. In closed mitosis the yeast annotations to the nuclear complex make sense because there is no nuclear envelope breakdown.
However, according to PMID:21795393 and PMID:15823530 the yeast condensin complex corresponds to condensin I, which based on the above does not always fit as a nuclear condensin. According to PMID:15823530, nematodes only have condensin II. Both papers suggest that when condensin I and condensin II exist, they differ functionally. I have created a new term for the condensin I complex that is a sibling of the nuclear condensin complex and defined it as attaching to the chromosomes after nuclear envelope breakdown, but this does not allow for the representation of the yeast condensin complex corresponding to condensin I. I would like to create a condensin II complex as a sibling as well, defining it as being nuclear at the initial stages of chromosome condensation and remaining attached to the chromosomes after nuclear envelope breakdown. It would also be nice to try to distinguish the complexes functionally, but it looks like it might vary among organisms.
It would be nice to have input from @vanaukenk for worms, @ValWood  for yeast and @pgaudet

Apologies for chiming it!
Shouldn't function take priority over composition and location when defining complex terms?
I would go function --> location --> composition as composition is the one that tends to vary the most across the tree of life.
However, it looks like here location is a real issue so I would focus on function. Are Condensin I and II doing different things? If yes, do I and II consistently have the same function across taxa? If not, shouldn't we relax the def of the current term? If people really need separate terms for Condensin I and II they could then be children of Condensin complex?
Complex, I know!
Birgit
PS: I've not done any condensin yet... but we have the yeast one in the CP: http://www.ebi.ac.uk/intact/complex/details/EBI-2658088

I would be  very happy to use the old nuclear/cytoplasmic condensin  terms and define the complexes functionally.
Also see comments here, same issue exists for cohesin, proteasome, etc. etc.
https://github.com/geneontology/go-ontology/issues/12598

--> Sounds like we need a dedicated annotation call for these nuclear vs cytoplasmic complex issues.
Someone should collect a list of examples in a separate ticket.

Hi,
C. elegans actually has three condensin complexes: condensin I, condensin I(DC), and condensin II.
https://www.ncbi.nlm.nih.gov/pubmed/19119011
Condensins I and II are involved in chromosome segregation, while condensin I(DC) is involved in modulation of chromosome- and sex-specific gene expression.
I would like to do some more reading (the above paper is from 2009), but this would suggest that we need to relax the definition of a condensin complex to include its role in modulation of gene expression and then perhaps have three children of condensin complex: I, I(DC), and II.  It would be nice to define the complexes functionally, if we can.

Shouldn't function take priority over composition and location when defining complex terms?

If you call something a condensin complex, you are saying something about its composition.  It might be possible to subdivide functionally though.

Reading more and more about this, I am tempted to merge all of the children into 'condensin complex'. It seems that the I and II subtypes of the complexes are defined by evolutionary conservation of the protein components, but their functions varies widely. As near as I can tell, the only thing that is truly conserved is that they are all capable of part of chromosome condensation. However depending on the organism, they have non-overlapping roles and can take on a variety of other roles as well. The literature is interesting in that the papers I am seeing never definitively show that the same complex is functioning, but rather use a distinguishing member of the complex as a proxy. Birgit, what do you think?  It seems like we might want to have complex I and complex II in your resource, but in GO we might only want a generic.

Hi David,
Can you bear with me til next week, I've got the cold from hell and haven't been at work this week - yet. Just doing my daily email check to avoid things building up! It's very unusual for me but I can't compute complex (!) biology at the moment. Hoping every day to feel a little better...
Have you got some PMIDs for me to check or should I just review this thread again?
Birgit

Hi Birgit,
No worries, I am still pondering this myself. I imagine I won't do any ontology work on this until after the Holidays. In addition to the 2 PMIDs above, check out do get a flavor of what these can do:
PMID:16673016
PMID:21795393
PMID:25474630
I'm still reading papers.

@bmeldal @ukemi Any conclusion about this ?
We currently have those 4 terms:
'condensin I complex' http://purl.obolibrary.org/obo/GO_0061814
'condensin complex' http://purl.obolibrary.org/obo/GO_0000796
'condensin core heterodimer' http://purl.obolibrary.org/obo/GO_0000797
'nuclear condensin complex' http://purl.obolibrary.org/obo/GO_0000799
Thanks, Pascale

I'm pretty sure there is only one condensin complex.
it has to have these 5 subunits for full functionality:
https://www.pombase.org/reference/PMID:31072933
https://www.pombase.org/reference/PMID:30914423
https://www.pombase.org/reference/PMID:31615333
that performs all of the roles
chromosome dynamics, including mitotic chromosome condensation and segregation, DNA repair, and development.
(unlike cohesin which has a mitotic version of the complex)
The core heterodimer has no function, although it can probably be isolated in some conditions.

Wow, that ticket has been dormant for a while!
[Btw, that "cold from hell" I mentioned 4 years ago turned out to be whooping cough and turns out it's not unusual to get it again in "middle age" even if you had it as a child!]
In the meantime I curated human condensin (and forgot about this ticket) since then and decided on I and II based on http://europepmc.org/article/MED/17268547
Cohesin I
https://www.ebi.ac.uk/complexportal/complex/CPX-979
NCAPD2 Q15021 Condensin complex subunit 1
NCAPH Q15003 Condensin complex subunit 2
NCAPG Q9BPX3 Condensin complex subunit 3
SMC2 O95347 Structural maintenance of chromosomes protein 2
SMC4 Q9NTJ3 Structural maintenance of chromosomes protein 4
Cohesin II
https://www.ebi.ac.uk/complexportal/complex/CPX-985
NCAPD3 P42695 Condensin-2 complex subunit D3
NCAPH2 Q6IBW4 Condensin-2 complex subunit H2
NCAPG2 Q86XI2 Condensin-2 complex subunit G2
SMC2 O95347 Structural maintenance of chromosomes protein 2
SMC4 Q9NTJ3 Structural maintenance of chromosomes protein 4
I agree, SMC2-SMC4 core heterodimer doesn't have a separate function.
Birgit

Thanks @bmeldal
The actions could be:

[ ] merge into GO:0000797  'condensin core heterodimer' and GO:0000799 'nuclear condensin complex into  GO:0000796 'condensin complex', keep as a parent of condensin I (and NTR condensin II)
If pombe has a single complex, @ValWood should annotate to the parent GO:0000796 'condensin complex' ? (the merge would take care of that )
[ ] create 'condensin II complex'

What do you think ?
Thanks, Pascale

We can have one Cohesin GO term (GO:0000796) and have cohesin I and II as narrow synonyms? The def for the parent term is very generic so the slight functional differences don't matter too much.

I agree, presumably they are doing  the identical thing either in different cell types or embryonic  or something? or is there some separation of function?

My defs (it's a few years ago now...), main difference in bold:
Condensin I:
"Involved in chromosome segregation, both in meiosis and mitosis. Initially located in cytoplasm and associates with chromosomes after nuclear breakdown. Assembles in alternating pattern with Condensin II complex along metaphase chromosomes with fully resolved sister chromatids. Defects in Condensin complexes lead to anaphase bridges and apoptosis. In meiosis, only stably associates with chromosomes after anaphase I."
Condensin II:
"Involved in chromosome condensation and segregation, both in meiosis and mitosis. Almost exclusively found in the nucleus where it assembles in alternating pattern with Condensin I complex along metaphase chromosomes with fully resolved sister chromatids. Defects in Condensin complexes lead to anaphase bridges and apoptosis. Also affects nuclear architecture and chromosome stability during interphase."
But the outcome is the same and I used the same MF and BP annotations but reflected the slight difference in the CC annotations.

HI @bmeldal
The definitions should be fully contained  in the part before the full stop, and based on the parent.
GO:0000796    condensin complex is defined
A multisubunit protein complex that plays a central role in chromosome condensation.

[ ] we should definitely extend this definition with " in meiosis and mitosis".

The  descendants should be formulated
A condensin complex that  blah (add differentia here).
Other information  which is common to both  complexes should be included the parent term if relevant.
I don't think  we should include any phenotype related gloss "Defects in Condensin complexes lead to anaphase bridges and apoptosis"
I'm also a bit dubious about including "initially located in the cytoplasm" (is this definitely  the entire complete, or just subunits?), and I wonder about the relevance of this because the complex isn't functional until loaded onto DNA (or is it? ), or is there a known cytosolic role?

Ah actually, we  already decided not to include didn't we.. Doh... you were just telling me what is known about the difference.

If I understand correctly @bmeldal is suggesting to keep a single term ? So, there would be no descendants... @ValWood Do you want to keep the descendants ?

Yes, @ValWood those are the CP defs for the 2 human complexes but for GO we only need the parent term.
I'll check the cytosol bit, it sounds a bit strange but the entry was also reviewed by a second curator...

@pgaudet are you doing the merge, then?

Yes - done - hopefully that was right !

@ValWood re: location
http://europepmc.org/article/MED/25474630
"CAP-H was mainly detectable in the cytoplasm whereas CAP-H2 localized to the nucleus in NSCs during interphase, in agreement with previous reports using tissue culture cells [16] and mouse oocytes [17]."
Looks like it's just individual subunits. I will take the cytoplasm reference out of the CP entries as I think you are right, it's probably pre-assembly.


Update CLI extensions available doc

Update CLI extensions available doc.
Triggered by Azure/azure-cli-extensions - TRAVIS_BUILD_ID=512167504
https://github.com/Azure/azure-cli-extensions/commit/5f78eedfe835a756aca6205c55dc3de12345887c

OPS Build status updates of commit d94eb85:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-conceptual/azure-cli-extensions-list.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.