Update LeakyRelu.pbtxt

https://github.com/tensorflow/tensorflow/issues/60521 issue no. #60521
"According to doc(https://tensorflow.google.cn/api_docs/python/tf/nn/leaky_relu), the argument features can be float16, float32, float64, int32, int64. But the error message in following snippet code indicates that the type of features can only be float16, float32, float64 without int." This is my first contribution to open source so please excuse any mistake and please tell if anything is wrong.

Please don't use "add file"/"update file"/"fix file"/etc. commit messages. These are hard to reason about when looking at the history of the file/repository. Instead, please write explanatory git commit messages.
The commit message is also the title of the PR if the PR has only one commit. It is thus twice important to have commit messages that are relevant, as PRs would be easier to understand and easier to analyze in search results.
For how to write good quality git commit messages, please consult https://cbea.ms/git-commit/

Hi,
I am grateful to you for informing me of my mistake and also giving
me the link to the git commit webpage.
This is my first contribution to open source and so I dont know
anything about accepted standards of commiting and other things.
Should I continue to work on my pull request or should I close it as
I think it is too late and also I dont want to cause anymore inconvenience
for the tensorflow GitHub and also for moderators like you?
Thanking you,
Abdul Hadi
On Sat, 6 May, 2023, 8:56 pm Mihai Maruseac, @.***>
wrote:

Please don't use "add file"/"update file"/"fix file"/etc. commit messages.
These are hard to reason about when looking at the history of the
file/repository. Instead, please write explanatory git commit messages.
The commit message is also the title of the PR if the PR has only one
commit. It is thus twice important to have commit messages that are
relevant, as PRs would be easier to understand and easier to analyze in
search results.
For how to write good quality git commit messages, please consult
https://cbea.ms/git-commit/
—
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/pull/60522#issuecomment-1537164737,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AV767AIGTOE7LB6VOUGV56LXEZURTANCNFSM6AAAAAAXYA26SY
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

@cantonios Is my understanding above correct? I'm guessing we'd need to only allow integral types for CPU but not for GPU. Is that possible to do in the same op registration or do we need to have separate op registrations if we want to do this?
Are there use cases where LeakyRelu is needed to work for integral types? If not, do you think we should just modify the documentation?

@cantonios Is my understanding above correct? I'm guessing we'd need to only allow integral types for CPU but not for GPU. Is that possible to do in the same op registration or do we need to have separate op registrations if we want to do this?

Your understanding is correct that we need to update the op Attrs to include the type.  If registrations don't exist, you might want to add those as well to actually test it.  You'll need to ensure the kernels will actually work for integers - I haven't looked at the implementation to check.  Otherwise you may need to write new ones.  If it's not that necessary for GPU, it's okay to leave out those kernels/registrations - it would just end up calling the CPU versions (and lead to some host-device data transfers for GPU models).

Are there use cases where LeakyRelu is needed to work for integral types? If not, do you think we should just modify the documentation?

Maybe for integer-quantized models?  But I generally doubt it.  It's probably easier to update the documentation.

Hi @swachhandl Any update on this PR? Please. Thank you!

Hi @swachhandl Any update on this PR? Please. Thank you!

Hi @swachhandl Any update on this PR? Please. Thank you!

Sorry I think I didn't get notified for the above pings. I don't have anything to add, awaiting the PR author's reply to my comment above.

Hi @01-Abdul-Hadi Can you please check @swachhandl's comments and keep us posted ? Thank you!

Hi @01-Abdul-Hadi Any update on this PR? Please. Thank you!


Crash when validating scene in Unity 2019.1.0b1

When I run "Validate Scene" from the menu or the shortcut keys, the editor immediately crashes in Unity 2019.1.0b1.
It doesn't appear to produce any logs for me to submit, otherwise I'd attach them here (any ideas where I might find some)?
However, my project does run absolutely fine - it appears to just be a problem with the validation.
It's also worth noting the validation works perfectly on the exactly same project in the same state on 2018.3.

Yep I can reproduce this too.  I'll take a look

Can confirm still exists on 2019.1.0.b2 as well.

This looks like a unity bug.  It crashes on the line gameObj.transform.SetParent(parent, positionAndRotationWereSet); (line 1775) in DiContainer.cs.  I've reproduced it down to the following code:
var parent1 = new GameObject("parent1");
parent1.hideFlags = HideFlags.HideAndDontSave;

var go = new GameObject("go");
go.transform.SetParent(parent1.transform);

var parent2 = new GameObject("parent2");
go.transform.SetParent(parent2.transform);

I've submitted this as a bug report to unity

This appears to be fixed in 2019.2.0a8.


Allow edited messages to conceal past versions

There should be a simple and obvious way to delete or edit a message without allowing others to view any part of the edit history.
Sometimes users edit a message to remove something that may give offense or otherwise represent a misstep. In such cases (even if in no others) it is unwise to allow earlier versions of the message to remain visible — at least, by users other than the original poster.

I think this is similar to #4400.

You're right; feel free to delete if you feel I haven't added anything. I was quite unhappy when I discovered past edits were suddenly visible — even, apparently, on very old messages.

Just marking as duplicate.


Slightly update NR yields median curve

Using nT SR0 drift field and LXe density

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 77.449%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1336

Relevant Lines:
1725

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 77.449%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1336

Relevant Lines:
1725

💛  - Coveralls


Index arbitrary folders/files

Validations

[X] I believe this is a way to improve. I'll try to join the Continue Discord for questions
[X] I'm not able to find an open issue that requests the same enhancement

Problem
Codebase is very useful for automatically finding context, but I want to be able to add arbitrary additional data to it. For example, I may have a separate repo for documentation and would like to include that for automatic local retrieval of relevant context, or have local notes on tasks/designs etc. Think analyzing your notes/todos/future plans for context as part of your codebase.
An additional folder makes sense as either indexed as part of the Codebase provider or into the Docs provider. It's easy to imagine local docs for either use case.
Solution
I'm not sure what makes the most sense for implementing. Either including some way to specify additional folders to Codebase index (e.g. .continueinclude file), or a way for the Docs provider to specify a local folder or a git repo, or both.
I  workaround this today by taking advantage of how Continue doesn't respect the global .gitignore settings. So I globally ignore a .docs directory, and add any additional documentation in there.

Note, this issue #2739  would offer a workaround for it
by adding a folder e.g. "indexingExtras" to your repo, gitignoring "indexingExtras" and .continueignoring "!indexingExtras"


consist will register email link type

Reset password at <IP_ADDRESS>:8000:

 http://<IP_ADDRESS>:8000/accounts/reset/OA/4w3-4dba83e1a00aacddd810/

current style will show "a" mark

Coverage remained the same at 95.682% when pulling 9906b9cb21ec9d5c459c65ca1f27f3ca23762d53 on laiqun:patch-2 into 1ee244dc4ca162b2331d2a44d45848fdcb80f329 on mishbahr:master.

Coverage remained the same at 95.682% when pulling 9906b9cb21ec9d5c459c65ca1f27f3ca23762d53 on laiqun:patch-2 into 1ee244dc4ca162b2331d2a44d45848fdcb80f329 on mishbahr:master.

Adding a HTML link with rel="noreferrer" supposeddely fixed issue with leaking of password reset token.
See https://github.com/mishbahr/django-users2/issues/28

It's show in my email like that :
It will see the a mark symbol.
Maybe the email type should be changed to richtext.
Reset password at <IP_ADDRESS>:8000:

 http://<IP_ADDRESS>:8000/accounts/reset/OA/4w3-4dba83e1a00aacddd810/


Solve inheritance problems

Adding this here as a reminder;

The event parent classes should probably be abstract.
The registerEvent methods could use a dynamic approach.
The hooks should have a abstract parent or interface.

Main hook could also use the strategy design pattern.


[Proj] remove toolset restriction

[x] Changes comply with the maintainer guide
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

closes #32771

Tested usage successfully by proj:x64-windows:
proj provides CMake targets:

    find_package(PROJ CONFIG REQUIRED)
    target_link_libraries(main PRIVATE PROJ::proj)


Search panel bug

We have written the needed data into your clipboard because it was too
Issue Type: Bug
In search panel, when we enable "Match Whole Word" button, with Unicode text having accentuated language (vietnamese for instance), the match is perturbed and erroneous. Presumably it only runs well with ASCII text.
 Please paste.

Looks ok to me, can you share a specific example?

Thank you of your fast response.
First of all, let me say VSCode (and VSCodium) is the far best multi-file editor for me (I compared with at least 6 other well known competitors) !
In seeing your test, I did tests on very short .txt then .epub files. Everything is then OK.
This bug only appears in long .epub files I use (presently 8 Mo).
I sent to you a screen copy with 2 underlines to show the bug. I have other examples.

Thanks, we have https://github.com/microsoft/vscode/issues/27280 for this

By the way, I don't know too much about Unicode characters (which trigger the bug) but I think it is when an Unicode character (present in the searched word) is not a single code but is a combination of several codes.


Support for ORDER BY RANDOM()

Use case
Support for random ordering for select queries:
e.g. generating SELECT name FROM users ORDER BY RANDOM() in Postgres (unsure about other providers)
Describe the solution you'd like
Exposed does it by allowing you to pass in one of their Random objects into the orderBy clause which delegates to the specific db dialect for syntax e.g Table.selectAll().orderBy(Random()).
https://github.com/JetBrains/Exposed/blob/master/exposed-core/src/main/kotlin/org/jetbrains/exposed/sql/Function.kt#L55
Perhaps something similar could be done with Komapper?
val query: Query<List<User>> = QueryDsl.from(u).orderBy(Random())
Versions

Komapper: 1.8
Kotlin: 1.8.10
JVM: 17
JDBC Driver or R2DBC Driver: JDBC
Database: Postgres mainly
OS:

Thanks for the feedback! We'll think about how to tackle this.

I made the pull request #938.
If you have any comments, feel free to let me know.

Looks great to me!


Essentials-S Homepage Lists "Homes" as a Feature, but No Commands Found in Wiki or Game

Describe feature
Bug Summary:
The homepage of the Essentials-S plugin states that the plugin currently supports "homes." However, there is no documentation or commands related to "homes" available on the official wiki, and attempts to use "homes" commands in the game have been unsuccessful.
Steps to Reproduce:

Visit the Essentials-S homepage.
Note the statement indicating that "homes" is a working feature.
Search the official wiki for any documentation or commands related to "homes."
Attempt to use common "homes" commands (e.g., /sethome, /home) in the game.

Expected Result:
Documentation and commands related to "homes" should be available on the wiki and functional in the game.
Actual Result:
No documentation or commands related to "homes" are found on the wiki, and attempting to use "homes" commands in the game yields no results.
Additional Information:

URL of the homepage with the statement: Essentials-S Homepage
Version of Essentials-S plugin being used: 0.0.8
Server type and version: Forge 1.16.5 - 36.2.34 with SpongeForge 1.16.5-36.2.5-8.2.1-RC1587

Please clarify if "homes" are supported in the current version of the plugin and, if so, provide the necessary documentation or commands. If "homes" are not currently supported, consider updating the homepage to reflect the accurate feature set.

This was for version 0.9 which was fully written, but then a windows update happened which corrupted all my files. Which broke the camels back for motivation on this project (the other being the release of CommandPack)
Now ive taken a long break from the project, i can probably get back into it and finish it for 1.16.5

Uploaded version 0.0.9 that includes a homes command. Wiki will come shortly

Updated wiki


https://esm.sh/ down, where to report timeouts?

The service https://esm.sh/ seems to be down.
The website is up, but attempting to import modules results in timeouts.
Module in question: https://esm.sh/<EMAIL_ADDRESS>But I tried other modules. It seems that already-cached modules work, but not new modules.
Where to report issues such as this? Maybe a link on the main website?

@dionjwa I think this timeout occurs when esm.sh "builders" are failing to build this specific package 🤔
/* esm.sh - error */
throw new Error("[esm.sh] " + "Post \"http://localhost:8088\": dial tcp [::1]:8088: i/o timeout");
export default null;

This does mean esm.sh itself is fine, and I did confirm after publishing new versions of my npm packages, and esm.sh seems to load them just fine.

@ije 🙏

i improved the node process handler, now it should work fine

Awesome thank you @ije !!!!  This service adds SO MUCH to the development story!


WIP: RackHD +InfraSIM: All in Single Docker (Demo/ Mini CI ?)

demo usage:
(1) if it's a pre-build docker images (RackHD src code included)

User just need to install docker, and start it. all set .
per suggestion: the FIT should not be inlcuded in the entry-point.sh, but can be run via "docker exec" out of band more flexiable.

(2) if user mount RackHD src code via volume,

user clone/build rackhd src
start the docker images with above rackhd code mounted

several options to inlcude RackHD src code:
(1) provide a shell script to clone/build RackHD from src code, and docker-build to include the codes
(2) add this docker image as a output of Sprint Release, so user don't need to clone+build src code.

WIP. Don't merge.
Why:
this is to provide a contained based CI or Demo solution.
the outcome of the docker build image will be a single docker image, run RackHD + InfraSIM + FIT.
more usage , please refer to the README.md
Note:
there're issues in InfraSIM/RackHD which FIT smoke/os-install will fail. refer to  RAC-5891 for more detail.
ToDo:

make FIT an optional.
polish the code.
can build rackhd code during docker-build

BUILD RackHD #699 : FAILURE

👍 looks good !!

BUILD RackHD #744 : FAILURE

CLOSE IT  FOR NOW


$animateCss used on a directive that uses a templateUrl breaks

$animateCss ends up operating on an element that does not end up in the view after the directive is rendered.
As you can see in this plunker if you uncomment the template (and comment the templateUrl) the element is correctly styled and appears in the view. However when the directive is using tamplateUrl the element is not styled.
https://plnkr.co/edit/yO1AvvupoveRi3IWevVL?p=preview
This was not the case in 1.4.x, but is a new issue when upgrading to 1.5.
While the directive is using templateUrl you can also check the console and click reveal in elements pane to see that no element is revealed.
This issue means that you can not do any clean up in the done function or any further styling (my issue is I want to scroll the element into view once it is expanded since the element would be too short to scroll into view before. You can also see that '-active' and '-add-active' styles are not removed.

I also see this error in my own project  Cannot read property '$$ngAnimateParentKey' of null which comes from this line
return (c.$$ngAnimateParentKey || (c.$$ngAnimateParentKey = ++K)) + "-" + a.getAttribute("class") + "-" + b

Thanks for reporting. Can you please create a plnkr that repdroduces the error you mentioned?

There is a plnkr included in the original story, here it is again. Let me know if this one doesn't work.
https://plnkr.co/edit/yO1AvvupoveRi3IWevVL?p=preview

@CodySchaaf You said you have an error in your project. I was specifically asking for a repro for that error, because your posted plnkr doesn't throw an error.

Also, as far as I can see, the behavior in 1.4.9 and 1.5.0 is the same: no animation with templateUrl.

So I doubt this worked in 1.4.x, because this inherently happens because with templateUrl, it takes at least a few milliseconds until the template is available and the direcitve is linked. But the animation runs before that happens, so there's nothing to animate. This is a known limitation. You can fix this by putting the template in the cache: https://plnkr.co/edit/o7SyQNY5oMZxAKVh7Eeg?p=preview

Oh that makes sense. Sorry.
I will try to get a working repro for that. I suspect it has to do with angular attempting to preform some clean up action on the element that expects it to have a parentNode since c is var c = a.parentNode and a is the element in question (sorry about using the minified code).
Looks like you are correct with 1.4.9 having similar behavior in the plnkr, the issue in my application was not present in 1.4.9 though so I will dig deeper.
Thanks for your help.

Sounds like there might be a different issue then, thanks for your help. It definitely worked in app before the upgrade, so maybe it is just timing changes that have surfaced this issue now with 1.5. I'll report back if I can get a plnkr that is broken in 1.4.9 but working in 1.5.0.
Probably wouldn't be an issue in production since the templates are cached there, but we don't currently cache them in development (might be a good time to get the environments in sync).

1.5.0 includes lazy compilation, which can cause subtle issues. It's only active when the directive uses transclusion, though (and should not cause differences between template / templateUrl)..

@Narretz I was able to make a plnkr that works on 1.4.9 but is broken on 1.5.0
1.5.0
https://plnkr.co/edit/uP3HxlLpn9Gyzs3mFKLT?p=preview
1.4.9
https://plnkr.co/edit/RcOKBj9xKX6DYIFKVR9E?p=preview
Just click ready and you'll see it change color and scroll on 1.4.9 but not on 1.5.0
You'll also see the template is loaded before you hit ready on 1.4.9 but not until after 1.5.0
This is probably because of the lazy compile, although there is no transclusion taking place, so I'm not sure why.

Also here is an example with the error, you need to have debugging enabled through the $logProvider.
https://plnkr.co/edit/s4H67PyJ69Z4ZA2DHPao?p=preview

For the first problem - ngIfuses transclusion, so that is what is causing this. I'll investigate if we can work around this.
For the second problem, I have a hard time reproducing the error. I've seen it once in Chrome, but I actually had to disable the debug logging. Does it happen in all browsers for you?

@dcherman Here's another issue I'd like your opinion on. https://plnkr.co/edit/uP3HxlLpn9Gyzs3mFKLT?p=preview
In this case the lazy compilation introduces a timing problem that breaks enter animations. There's an element with ngIf and another directive that has a templateUrl.
I think what happens is that since the compilation is delayed, the animation starts on an element that gets then "replaced" by the result of the templateUrl directive at this line: https://github.com/angular/angular.js/blob/master/src/ng/compile.js#L2701 (when you log firstElementToRemove it'll have animation related data on it) Because the animation is already running, the whole animation process breaks (because it relies on inline styles, element data, and event listeners). In this case it doesn't even look like caching the template helps - you can only work around this by using template instead of templateUrl.
So far the only solution I can think of is to use eager compilation if there's a templateUrl directive on the element that uses a transclusion.

@Narretz That timing bug always existed actually.  If you invert the condition and do have ctrl.ready be true at compile time, the ngIf always transcluded before the templateRequest finished returning which would result in the beforeTemplateLinkNode !== beforeTemplateCompileNode condition being true, so it exhibits the same bug.
I'm still thinking if there's anything that we can do in order to avoid this in the general case since causing eager compilation won't actually fix the bug here.

I was able to repro pretty consistently yesterday in chrome, but I might have been doing something weird with the debugger. It seems to be less consistent today though. If you bump up the stagger index, and stagger, you can get a more consistent repro though, although not perfect.
https://plnkr.co/edit/s4H67PyJ69Z4ZA2DHPao?p=preview

@CodySchaaf Ok, now the error pops up more often. I can't reproduce it in Canary or FF though, so it might be a Chrome bug that is going to be fixed in the future.
@dcherman Oh, yeah that makes sense. I guess this limitation now causes issues more often because of lazy compilation. Would be cool to fix this directly in the compiler, although I can't say I see how.

@Narretz I've got some stuff to ship this week so I doubt I'll really be able to do much looking into this (unless I somehow find free time after work) until at least next week.
My initial curiosity on this is that we're replacing an element that has already clearly been cloned via transclusion at this point, and does that really need to happen?  It seems like this element is inappropriately being replaced, so that's where I was going to start looking, starting with just seeing which (if any) unit tests break with that code removed for this specific scenario before really considering how to refactor the condition for replacement and what side effects that might have.

@dcherman No probelm. It's not high priority. I was wondering about the replacement issue too.Maybe we can optimize this.

Since this prevents me from being able to upgrade from 1.4.* do you think I should focus on finding a work around, or is there a chance it will we looked at in the near-ish future? I know it probably isn't a high priority, so just wanted to get a time frame.
Thanks for all you guys do!

@CodySchaaf I'll probably won't be able to look into it for some time. It's also pretty complex, so I doubt there's an easy solution, unfortunately.

I've also been running into this problem when upgrading from 1.2.x (yes, I know) to 1.5.2.
Just wanted to share this plnkr where you see this clearly happening.
https://plnkr.co/edit/okAirW34LQ8uCYzR7Ijf?p=preview
When you click 'Add message' the first one is not animated as it's not transcluded yet. All after that are fine.
In this screenshot you can clearly see that the element is not yet transcluded:

This issue is the root cause I guess: https://github.com/angular/angular.js/issues/13884
I think there should at least be something about this in the release notes if this is not going to be fixed. Maybe even a note in the animation docs although it's not exclusive to that.

Alright, after reading the docs here: https://docs.angularjs.org/api/ng/service/$compile#-templateurl- I do think this can be deemed expected behaviour. You guys could consider to try to wait for the compile to finish somewhere in the angular-animate code.

@michi88, your issue is the same as #15510 (and might be slightly different (or a subset) of that from the OP). [This comment] applies to you too.
tl;dr
#15514 would fix your issue as long as your templates are cached by the time the directive starts compiling (e.g. by pre-caching them into $templateCache during your build process).

I just found this issue and I believe I have accidentally addressed the problem caused by replacing the node during lazy compilation in #15514 (as far as enter animations are concenrned). I have looked into it the compiler bits and couldn't identify a quick improvement for forgoing the replacing in certain cases (it would be nice if it were possible - but #15514 would still be necessary for certain cases).
That said, I think there might be another (possibly similar) bug related to staggering (also mentioned in #14124). I'll try to look into it in the following days :smiley:

That said, I think there might be another (possibly similar) bug related to staggering

The issue is actually related to $animateCss (regardless of staggering) and is identical in nature with #15514. Aminimal reproduction can be found here.
This one is quite complicated to solve (without animations falling apart) and I also had a hard time writing a failing unit test. If someone could write a failing unit test, I could give it a go.

The preconditions for the bug are:

Using $animateCss.
Animating a transcluded node.
The animated node having a templateUrl directive on it.
The template has not been already cached.

Due to (4), this issue only affects entering animations, since in all other cases the template would be cached (as part of having compiled the element).
The easiest workaround is to make sure templates are cached. This can be done:

By explicitly pre-populating the $templateCache (e.g. as a build step or at runtime).
By having previously compiled the directive (and thus fetched the template).

User $timeout function to avoid "Uncaught TypeError: Cannot read property '$$ngAnimateParentKey' of null".


Thin-out the Pyro wrappers around torch distributions

Addresses #676

Simplify TransformedDistribution to only work with wrapped TorchDistributions. It is now simply unwraps the base_dist rather than overriding methods.
Add .analytic_mean() and .analytic_var() methods that alias PyTorch .mean, .variance properites
Remove unused imports and overrides

@fritzo Would you mind adding .analytic_mean to Delta distribution in this pull request? I need to use this method to get the mean of a distribution (instead of .torch_dist.mean, which is not available for Delta distribution).


Add WITH_SESSION_TICKET variants with CLIENT_AUTH to state machine

Issue # (if available):
Description of changes:
While s2n does not support Session tickets with ClientAuth in server mode due to inability to retrieve client certificate if session gets resumed, the support for session resumption in client mode is a valid scenario if the server has a proper handling for such scenario.
Also added integration tests with gnutls-serv to reproduce this scenario, as gnutls-serv always sends CertificateRequest by default.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

:exclamation: No coverage uploaded for pull request head (CLIENT_AUTH_WITH_SESSION_TICKET@2e3bc7b). Click here to learn what that means.
The diff coverage is n/a.


Fix memory leak in the curb instrumentation

On long-running connection Curb use-cases like Elasticsearch clients with Curb transport the request variable points to the same Curb object not just for one request but for all.
Therefore, for each succesful request following the first one, original_callback points to the previous on_failure callback set by newrelic. So, an infinite chain of callbacks is created since newrelic's on_failure callback maintains a reference to original_callback.
The changes force original_callback to point to the actual original callback on subsequent requests instead of pointing to the newrelic's callback. That way no reference is maintained for newrelic's callback of the previous request & the memory leak is prevented by the GC.
Before contributing, please read our contributing guidelines and code of conduct.
Overview
Describe the changes present in the pull request
Submitter Checklist:

[ ] Include a link to the related GitHub issue, if applicable
[ ] Include a security review link, if applicable

Testing
The agent includes a suite of unit and functional tests which should be used to
verify your changes don't break existing functionality. These tests will run with
Github Actions when a pull request is made. More details on running the tests locally can be found
here for our unit tests,
and here for our functional tests.
For most contributions it is strongly recommended to add additional tests which
exercise your changes.
Reviewer Checklist

[ ] Perform code review
[ ] Add performance label
[ ] Perform appropriate level of performance testing
[ ] Confirm all checks passed
[ ] Add version label prior to acceptance

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

Hi @fallwith,
The original version of the method sets @_nr_failure_instrumented to true inside the on_failure callback which means
that it is called only on failed requests. So, if we have a series of only successful requests it will never become true and the method will never return early resulting to the infinite chain of callbacks.
If am not missing something, i think that @_nr_failure_instrumented is completely redundant now.
I could remove it in a new commit if you agree.

Forced-pushed the following changes:

Removed &. - instance_variable_get surprisingly works on nils too!
Replaced Proc.new with proc as suggested by rubocop.
Removed _nr_failure_instrumented.

Thank you very much for these updates, @charkost! These changes will be available in our dev branch now and will be distributed with our next agent release.

Hi @charkost. v8.11.0 of the New Relic Ruby agent has been published to RubyGems and your fix is now live!

Hi @fallwith, thanks for letting me know!


Using a condition mapped type on a type that extends another type causes error

TypeScript Version:  2.8.1

Search Terms:
conditional types, extends
Code
// A *self-contained* demonstration of the problem follows...
interface StringOption{
    type: "string";
}

interface NumberOption{
    type: "number";
}

type ValidTypes = {
    [key: string]: string | number;
}

interface ISampleObject extends ValidTypes {
    stringParam: string,
    numberParam: number
}

type MappedOptions<T extends ValidTypes> = {
    readonly [P in keyof T]: T[P] extends string ? StringOption :
        T[P] extends number ? NumberOption : never;
}

const mappedObject: MappedOptions<ISampleObject> = {
    stringParam: {type: "string"},
    numberParam: {type: "number"}
}

Expected behavior:
This should compile correctly
Actual behavior:
A compilation error is shown:
Property 'stringParam' is incompatible with index signature.
Type '{ type: "string"; }' is not assignable to type 'never'.

Playground Link:
Playground Link
This code sample works fine if the ValidTypes type is removed. I am using this type to limit the property types that can be used with this mapped type. Without it any type could be used and complex types containing functions and booleans could be created.

@andy-ms  Is this a bug or just because StringToNumber is distributive but Mapped2 is not?

@jack-williams I don't really know, better to wait for another team member to look. May not be a bug.

This is working as intended..  T[P] in the conditional type does not distribute.. only a naked type parameter would. you can get the same behavior by factoring out the condition into a different type definition:

type MappedOptions<T extends ValidTypes> = {
    readonly [P in keyof T]: StringOrNumber<T[P]>;
}

type StringOrNumber<T> =  T extends string ? StringOption :
        T  extends number ? NumberOption : never;

Thanks, I am not sure what you mean by T[P] in the conditional type does not distribute.. only a naked type parameter would.  though.
Do you mean that when I do
T[P] extends string ? StringOption
It is not actually using string but it is using ISampleObject?
Your alternative solution works for me so thanks but I still find it odd that my original code did not work.


Markdown validator

Hello,
Just looking for assistance on what would be the best way to make md2conf compatible with terraform-docs.
I could successfully publish README.md existing in current repo but fail to upload every generated by terraform-docs
sequence of commands:
terraform-docs markdown document . --output-file README.md --sort-by required
python -m md2conf -l debug README.md

Exception
`
2024-04-01 19:24:11,572 - INFO - _synchronize_page [76] - Synchronizing page: adl-athena-workgroups/README.md
2024-04-01 19:24:11,580 - DEBUG - registerExtensions [182] - Successfully loaded extension "markdown.extensions.admonition.AdmonitionExtension".
2024-04-01 19:24:11,580 - DEBUG - build_extension [226] - Successfully imported extension module "markdown.extensions.tables".
2024-04-01 19:24:11,580 - DEBUG - registerExtensions [182] - Successfully loaded extension "markdown.extensions.tables.TableExtension".
2024-04-01 19:24:11,582 - DEBUG - build_extension [226] - Successfully imported extension module "markdown.extensions.fenced_code".
2024-04-01 19:24:11,583 - DEBUG - registerExtensions [182] - Successfully loaded extension "markdown.extensions.fenced_code.FencedCodeExtension".
2024-04-01 19:24:11,587 - DEBUG - build_extension [226] - Successfully imported extension module "pymdownx.magiclink".
2024-04-01 19:24:11,589 - DEBUG - registerExtensions [182] - Successfully loaded extension "pymdownx.magiclink.MagiclinkExtension".
2024-04-01 19:24:11,590 - DEBUG - build_extension [226] - Successfully imported extension module "pymdownx.tilde".
2024-04-01 19:24:11,590 - DEBUG - registerExtensions [182] - Successfully loaded extension "pymdownx.tilde.DeleteSubExtension".
2024-04-01 19:24:11,590 - DEBUG - registerExtensions [182] - Successfully loaded extension "markdown.extensions.sane_lists.SaneListExtension".
Traceback (most recent call last):
File "/opt/homebrew/Caskroom/miniconda/base/envs/310/lib/python3.10/site-packages/md2conf/converter.py", line 86, in _elements_from_strings
return ET.fromstringlist(data, parser=parser)
File "src/lxml/etree.pyx", line 3309, in lxml.etree.fromstringlist
File "src/lxml/parser.pxi", line 1331, in lxml.etree._FeedParser.feed
File "src/lxml/parser.pxi", line 1451, in lxml.etree._FeedParser.feed
File "src/lxml/parser.pxi", line 624, in lxml.etree._ParserContext._handleParseResult
File "src/lxml/parser.pxi", line 633, in lxml.etree._ParserContext._handleParseResultDoc
File "src/lxml/parser.pxi", line 743, in lxml.etree._handleParseResult
File "src/lxml/parser.pxi", line 672, in lxml.etree._raiseParseError
File "", line 201
lxml.etree.XMLSyntaxError: Opening and ending tag mismatch: br line 201 and pre, line 201, column 70
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/homebrew/Caskroom/miniconda/base/envs/310/lib/python3.10/runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/opt/homebrew/Caskroom/miniconda/base/envs/310/lib/python3.10/runpy.py", line 86, in _run_code
exec(code, run_globals)
File "/opt/homebrew/Caskroom/miniconda/base/envs/310/lib/python3.10/site-packages/md2conf/main.py", line 118, in
).synchronize(args.mdpath)
File "/opt/homebrew/Caskroom/miniconda/base/envs/310/lib/python3.10/site-packages/md2conf/application.py", line 34, in synchronize
self.synchronize_page(path)
File "/opt/homebrew/Caskroom/miniconda/base/envs/310/lib/python3.10/site-packages/md2conf/application.py", line 41, in synchronize_page
self._synchronize_page(page_path, {})
File "/opt/homebrew/Caskroom/miniconda/base/envs/310/lib/python3.10/site-packages/md2conf/application.py", line 77, in _synchronize_page
document = ConfluenceDocument(page_path, self.options, page_metadata)
File "/opt/homebrew/Caskroom/miniconda/base/envs/310/lib/python3.10/site-packages/md2conf/converter.py", line 568, in init
self.root = elements_from_strings(content)
File "/opt/homebrew/Caskroom/miniconda/base/envs/310/lib/python3.10/site-packages/md2conf/converter.py", line 97, in elements_from_strings
return _elements_from_strings(dtd_path, items)
File "/opt/homebrew/Caskroom/miniconda/base/envs/310/lib/python3.10/site-packages/md2conf/converter.py", line 88, in _elements_from_strings
raise ParseError(e)
md2conf.converter.ParseError: Opening and ending tag mismatch: br line 201 and pre, line 201, column 70 (, line 201)
`
Can not share file content but maybe by the stack trace it will be clear what is wrong.

The relevant part of the exception trace appears to be the following:
md2conf.converter.ParseError: Opening and ending tag mismatch: br line 201 and pre, line 201, column 70 (, line 201)

The parser lxml, which md2conf uses internally is a strict parser, a sequence such as

will likely be treated as invalid because the parent element
 is closed with
 before the child element
 would be closed. The correct way to say this (in this particular context) would be

i.e.
 is a self-closing element.
Unfortunately, without any content, I can't tell where
 is coming from. I would recommend that you share a minimum ("non-working") example with all personal information removed but still triggering the exception. This should help us locate (and hopefully eliminate) the root cause.

The likely root cause of the issue has been identified (use of
 instead of XHTML-compatible
). Further action requires offending content (with personal information removed).

I had the same issue, with markdown generated by terraform-docs. In converter.py, it looks like it can be fixed by using a more permissive parser (note the recover=True), as per lxml documentation:
    parser = ET.XMLParser(
        remove_blank_text=True,
        strip_cdata=False,
        load_dtd=True,
        recover=True
    )

What do you think @hunyadi ?

I am somewhat concerned about making the parser more permissive in general, as it can lead to accepting malformed input such as

 in which case it's usually a bad idea to have the implementation second-guess the original intent. However, if there are specific cases with terraform-docs that need to be handled, e.g. replace
 with
, I am more than happy to incorporate this in a pre-processing step. Can you share a minimum example that fails?

That make sense. I already tried for terraform docs to replace  with , but that was only part of the issue, and bumped into more parsing challenges (attributed parsing).
Thing is that terraform-docs tool has some implementation choices to ensure that the doc it generates is readable with GitHub and GitLab flavored markdown, which is where it is mostly used. There is an interesting discussion in the project about it in issue 500.
But the workaround mentioned in the issue (no-html no-anchor) is not enough to pass lxml strict parsing. In this issue, the use case was the same - publishing Terraform modules documentation to Confluence (but using another tool).
I tried 3 options:

replace br's - not enough, I got into further issues
use no-html from terraform-docs, but the doc was not well formatted for my use case: code blocks inside tables were missing line returns
make lxml parsing a bit more relaxed: proposal above, which eventually worked for this case, providing an acceptable layout on Confluence

It all depends on this md2conf project direction you are setting @hunyadi . If the goal is to provide a means to publish strict markdown to Confluence, then strict parsing is necessary. If the goal is to offer a Swiss Army knife to publish many types of markdown to Confluence, then relaxing the parsing may be an option.
I personally have 2 use cases: markdown used by mkdocs and especially mkdocs-material theme, and terraform-docs generated markdown. The former uses many markdown extensions, but as md2conf uses pymdownx, this is (mostly) compatible.
Let us know where you want to go.

Does it help if we switch to lxml.etree.XHTMLParser or lxml.etree.HTMLParser? As a last resort, we can set recover = True on lxml.etree.XMLParser but I would like to have that as a last resort when we have exhausted other options. Lenient parsing has a tendency to hide true document structure errors.
Currently, the parser is called in the function elements_from_strings. This is used to parse the output of pymdownx and to parse Confluence storage format XML documents. We could trust pymdownx to detect document structure errors and assume that whatever pymdownx outputs is OK from our perspective.
Can you confirm that there are no phantom changes with recover = True? In other words, no documents are reported as if they were changed (e.g. due to Confluence reordering tags) unless they have been intentionally changed?

Does it help if we switch to lxml.etree.XHTMLParser or lxml.etree.HTMLParser? As a last resort, we can set recover = True on lxml.etree.XMLParser but I would like to have that as a last resort when we have exhausted other options. Lenient parsing has a tendency to hide true document structure errors.

I have tried both and was unsuccessful - with parsing errors. But I am not educated on how to tweak those parsers - so I may be doing something incorrectly.

Currently, the parser is called in the function elements_from_strings. This is used to parse the output of pymdownx and to parse Confluence storage format XML documents.

Yes! And the usage of pymdownx was THE argument which makes me want to adopt your implementation. For my docs, I use mkdocs material - which leverages pymdownx. I have a branch where I added some extensions and appropriate configuration to enhance the compatibility with markdown written for mkdocs material.

Can you confirm that there are no phantom changes with recover = True? In other words, no documents are reported as if they were changed (e.g. due to Confluence reordering

I confirm that there are phantom changes and that those problematic pages are republished every time. Not an issue on my end, as it does not seem to affect the Confluence page version (I have to double check this).
Next steps for me:

submit PRs with enhanced support for pymdownx styled markdown (for example code blocks indented under a bullet list)
maybe issue a PR for a CLI option to allow parsing recovery at the cost of phantom changes?


[Snyk] Security upgrade cryptography from 41.0.1 to 41.0.5

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to fix one or more vulnerable packages in the `pip` dependencies of this project.
Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

requirements.txt

⚠ Warning
graphql-core 3.2.3 requires typing-extensions, which is not installed.
dj-database-url 2.0.0 requires typing-extensions, which is not installed.
asgiref 3.7.2 requires typing-extensions, which is not installed.
arrow 1.2.3 requires typing-extensions, which is not installed.
ariadne 0.20.1 requires starlette, which is not installed.
ariadne 0.20.1 requires typing-extensions, which is not installed.

Vulnerabilities that will be fixed
By pinning:

Severity
Priority Score (*)
Issue
Upgrade
Breaking Change
Exploit Maturity

551/1000  Why? Recently disclosed, Has a fix available, CVSS 5.3
Missing Cryptographic Step SNYK-PYTHON-CRYPTOGRAPHY-6036192
cryptography:  41.0.1 -> 41.0.5
No
No Known Exploit

(*) Note that the real score may have changed since the PR was raised.
Some vulnerabilities couldn't be fully fixed and so Snyk will still find them when the project is tested again. This may be because the vulnerability existed within more than one direct dependency, but not all of the affected dependencies could be upgraded.
Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.

Codecov Report

Merging #407 (f735cd8) into develop (a5370a9) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop     #407   +/-   ##
========================================
  Coverage    80.97%   80.97%
========================================
  Files          149      149
  Lines         8798     8798
========================================
  Hits          7124     7124
  Misses        1674     1674

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Establish release support

A /hack/release.sh script must be added to support nightly builds. An early poc shows that ko and yaml can be used for this purpose.  This was done in the poc by adding and using the librdkafka c libraries in the dependency tree (now supported by current versions of confluent-kafka-go).
However, a local developer experience will need to be somewhat different as cross compilation has some special requirements with cgo builds.  An option could be running the ko build from inside of a debian container, driven by a makefile, and connecting to the docker daemon and kubectl running on the local host. Otherwise, it seems that there would be quite a few initial setup steps (or script) which would need to be written for each os.
If these approaches are taken or something similar, helm charts and helm dependency can be removed at the same time
Adequate developer documentation should be added for whichever solution is determined here

I wonder to what degree we can make it compatible with developer experience in knative.

/assign @davyodom


Some groups operators should syntaxerror but do not

These should all throw SyntaxError.   We have the mechanics to fix this now, but just haven't yet. It's on the list for soon though!

@kddnewton Why do you close this? I was surprised when I returned after implementing a fix (#2079) and it was closed (even though it wasn't fixed).

Oh sorry @makenowjust I closed it in favor of #1457 because I thought it was the same thing

Ah ok. Sorry.


Social login improvements with facebook and twitter both fixed

continuation to #164
Fixed Facebook login.
This includes fixed Twitter login from - #907 (original #801)
tested working with facebook and twitter.
instead of master PR to social-login-improvements branch so that any cleanup needed can be done
Also merged latest master
link to diff with master: https://github.com/keystonejs/keystone-5/compare/master...gautamsi:social-login-improvements?expand=1

Will open another PR with facebook only with master


Variable Assignment Error

Hello,
This package is a lower dependency in my project and on runtime, this error is occuring:
# github.com/hdevalence/ed25519consensus ..\..\..\..\..\go\pkg\mod\github.com\hdevalence\ed25519consensus@v0.0.0-20210204194344-59a8610d2b87\batch.go:54:4: assignment mismatch: 1 variable but new(edwards25519.Scalar).SetUniformBytes returns 2 values ..\..\..\..\..\go\pkg\mod\github.com\hdevalence\ed25519consensus@v0.0.0-20210204194344-59a8610d2b87\ed25519.go:42:11: assignment mismatch:  1 variable but new(edwards25519.Scalar).SetUniformBytes returns 2 values
Was this issue fixed in a separate commit? it looks like my dependency is locked onto a particular commit hash.
Thanks for any info.

This issue would will be resolved once PR is merged

@sawyerru Have you solved this problem? I also encountered this problem

This was fixed by #12, make sure you're using version v0.0.0-20220222234857-c00d1f31bab3 or later.


Performance difference between @jit and jit()

I've been playing around with JAX and noticed the following behavior: A function jitted by using the corresponding decorator seems to be much faster in compilation time than using the jit() function. Is this intended and does it mean to always prefer the "decorator way"?
import jax.numpy as jnp
from jax import grad, jit

def relu_default(x):
  return jnp.maximum(0, x)

@jit
def relu_decorator(x):
  return jnp.maximum(0, x)

# jit the function without any decorator and trigger its first compilation.
relu_jit = jit(relu_default)
%time relu_jit(2.0).block_until_ready()       # around 11 ms

# do the same for the function with the @jit decorator.
%time relu_decorator(2.0).block_until_ready() # around 6 ms

# why is the decorator version faster?

# after the initial complilation, the speed discrepancy seems to vanish.
%timeit relu_jit(2.0).block_until_ready()         # 320 µs per loop
%timeit relu_decorator(2.0).block_until_ready()   # 319 µs per loop

Hope I didn't miss any of the beginner pitfalls here. In any case, I did check the documentation.

There is no difference in calling jit via a decorator or via a function. So why the different timings?
If you try this again, but first run
jit(jnp.maximum)(0, 2.0)

you'll find that the compilation times are much more similar.
Why? The first time jnp.maximum is encountered in a jit context, it is traced and compiled, and this takes some time. In your version, the first statement does the work to jit-compile jnp.maximum and the second statement re-uses this cached result.

I think perhaps the surprise here is that these two functions share the same cache:
relu_jit1 = jit(relu_default)
relu_jit2 = jit(relu_default)

The jit compilation cache is a module-level dict keyed on the callable you give it (i.e. keyed on relu_default in this case). (It holds a weak reference to the callable so that if all other references are dropped then the corresponding cache entries are cleared.)

Right, that makes sense. Thanks for the clarification!


Conflicting return type in implementation "headObjectWithPath:success:failure" warning.

Getting a:

Conflicting return type in implementation of 'headObjectWithPath:success:failure:': 'void' vs 'AFHTTPRequestOperation *'

Warning in:

AFAmazonS3Manager.m line #137

It looks like this was missed in #73. I've fixed this with 051d1ae19c43296383568c166236f422d52db162.


Value at risk correction

Pull Request Description
What issue does this change request address? (Use "#" before the issue to link it, i.e., #42.)
Fixes #1749
What are the significant changes in functionality due to this change request?

Value at Risk is calculated correctly as negative of a quantile instead of absolute value of quantile
Additional bug fixed in calculating sortinoRatio that allows calculation to not throw error
Updated user manual entry for valueAtRisk

For Change Control Board: Change Request Review
The following review must be completed by an authorized member of the Change Control Board.

[x] 1. Review all computer code.
[x] 2. If any changes occur to the input syntax, there must be an accompanying change to the user manual and xsd schema. If the input syntax change deprecates existing input files, a conversion script needs to be added (see Conversion Scripts).
[x] 3. Make sure the Python code and commenting standards are respected (camelBack, etc.) - See on the wiki for details.
[x] 4. Automated Tests should pass, including run_tests, pylint, manual building and xsd tests. If there are changes to Simulation.py or JobHandler.py the qsub tests must pass.
[x] 5. If significant functionality is added, there must  be tests added to check this. Tests should cover all possible options.  Multiple short tests are preferred over one large test. If new development on the internal JobHandler parallel system is performed, a cluster test must be added setting, in  XML block, the node <internalParallel> to True.
[x] 6. If the change modifies or adds a requirement or a requirement based test case, the Change Control Board's Chair or designee also needs to approve the change.  The requirements and the requirements test shall be in sync.
[x] 7. The merge request must reference an issue.  If the issue is closed, the issue close checklist shall be done.
[x] 8. If an analytic test is changed/added is the the analytic documentation updated/added?
[x] 9. If any test used as a basis for documentation examples (currently found in raven/tests/framework/user_guide and raven/docs/workshop) have been changed, the associated documentation must be reviewed and assured the text matches the example.

Email draft for users:
Dear users,
An issue has been identified with the Value at Risk calculation in the EconomicRatio PostProcessor. An absolute value was taken instead of the negative of the value. PR #1751 corrects this calculation.

As per discussion this morning, a warning should be added when the VaR is negative, explaining simply how to interpret this; so we will wait to merge until that is added.

Job Test qsubs sawtooth on 54a6ead : invalidated by @PaulTalbot-INL
Diff tests/framework/user_guide/ForwardSamplingStrategies/Grid, does not seem related

All required tests have passed. Merging.

@dgarrett622 can you send the user email, or ask @wangcj05 to do so? Thanks!

User email has been sent.


Display results after a certain number of typed chars

Hi,
I have a list of 5000 elements and I need to show the results only after the user types at least 3 chars.
That's what I did:
$('#search').keypress(function() {

    var value=$.trim($("#search").val());

	if(value.length > 2 && isNaN(value))
	{
		$('#list').show();
	}

});

the problem is that for every char that the user types, the list is updated in the background and that slows a lot the typing.
Thanks for any help

Hi,
at version 0.7.1 you can set the option min_chars to 3 (default value is 1) in order to set the minimum required characters to search.
E.g.
$('#search').hideseek({
    min_chars: 3
});

Thank you for your request,
d

It works perfectly, thank you for your great work :)


AU-881 Multiple profile forms

AU-881
AU-632
AU-615

What was done

Added different profile forms for registered communities, unregistered communities and private persons.

How to install

Make sure your instance is up and running on correct branch.

git checkout feature/AU-872-asiointiroolit
make fresh

Run make drush-cr

How to test

Login via Tunnistamo
When selecting the roles, test all three types of roles and associated forms
Check validation messages, that all data is saved and retrieved correctly etc

User error: Redirects to external URLs are not allowed by default, use \Drupal\Core\Routing\TrustedRedirectResponse for it. funktiossa Drupal\Core\EventSubscriber\RedirectResponseSubscriber->checkRedirectUrl() (rivi 89 tiedostossa /app/public/core/lib/Drupal/Core/EventSubscriber/RedirectResponseSubscriber.php)
enkä pääse eteenpäin.

@jiisuominen My bad, korjattu branchissa.


Sieve of Eratosthenes

Aim : Implementation of Sieve of Eratosthenes
Difficulty : Medium

I would like to work on it.

I would like to work on it.

Feel free to contribute!!! :)


A basic implementation of DefaultClusterFlow type

Q
A

Bug fix?
no

New feature?
yes

API breaks?
no

Deprecations?
no

Related tickets
fixes #423

License
Apache 2.0

What's in this PR?
This is a basic implementation of DefaultClusterFlow type option described in issue #423.
This code is only a draft and this PR is mainly to gauge interest in the feature request from #423. Tests and documentation are purposefully missing until there is consensus that Banzai Cloud wishes to support this feature.
Checklist

[ ] Error handling code meets the guideline
[ ] Logging code meets the guideline (TODO)
[ ] User guide and development docs updated (if needed)
[ ] Related Helm chart(s) updated (if needed)

To Do

[ ] Add tests
[ ] Update documentation

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

I just checked the code and tested it locally. Nice work ;) Because the label_router's featuredefault_route hasn't been tested in a production environment there could be bugs but the configuration generation seems perfect.

Brilliant, thank you for testing and merging.


Issue 7: fix python 3.12 install

Closes #7

Many of these changes may be worthless and the problem is more complicated than just quick fixes are capable of. Need to ditch this and start over in a real 3.12.4 environment and make just those changes that are required.


newlib: fix newlib host/target workaround

Should fix the failing Hydra builds for newlib.x86_64-linux
Description of changes
The newlib configury uses host to refer to the platform which is
being used to compile newlib.  Ugh.  It does this because of its
history: newlib used to be distributed with and built as part of
gcc.
To prevent nixpkgs from going insane, this package presents the
"normal" view to the outside world: the binaries in $out will
execute on stdenv.hostPlatform.  We then fool newlib's build
process into doing the right thing.

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

https://github.com/NixOS/nixpkgs/issues/265948

https://github.com/NixOS/nixpkgs/issues/265948

@ofborg build newlib

newlib on x86_64-linux — Success Details

Breaks pkgsCross.mmix.stdenv.

@ofborg build newlib
@ofborg build pkgsCross.arm-embedded.newlib

newlib on x86_64-linux — Success Details
pkgsCross.arm-embedded.newlib on x86_64-linux — Success


is that possible to use an address's bitcoin to make a omni transaction sent from another address ?

for example,
i have bitcoin in address A, tether in address B while address B does not have enough bitcoin to do an omni transaction.
is that possible to i make a transaction sent from address A to address C and put the payload tether transaction sent from address B in it?

Unfortunately there is no easy way at the moment.
Right now you could use the raw transaction interface to create transactions by hand. The first input must be from the token holder, other inputs can be added as you wish, which could be used to pay for fees.
There is a tutorial about raw transaction creation:
https://github.com/OmniLayer/omnicore/wiki/Use-the-raw-transaction-API-to-create-a-Simple-Send-transaction
And more discussion about this topic can be found in this issue: https://github.com/OmniLayer/omnicore/issues/383

I think this method will have another problem.
for example,
if both address A and address B have tokens, and I will concat uxtos of these two address to make a raw transaction. In my purpose, I want send tokens from B to C. but because I put both B's utxos and A's utxos into the input of raw transaction, how can I know the tokens is sent from B instead of A?

oh i see, is that the token will be subtracted from the first input address?

That's right, the sender is simply the first vin for class C (nulldata) transactions.
Class C is our current transaction format, but I wanted to mention if by some chance you are using one of our older formats (eg bare multisig) that the sender is actually worked out via a different method.

got it, thanks


LFS-521: Allow recursive deletion of a resource

Add DeleteServlet with support for recursive deletion of items

If recursive delete is not specified, informs client if delete would fail due to dependencies

Adjusted JSON adapter to add @referenced parameter if the node is referenced by other nodes
Addresses LFS-519, LFS-521, LFS-522, testing via LFS-352-test branch.

@acrowthe Might be good to add LFS-520 here as well to test all together.

@veronikaslc LFS-520 is included in #254 as a front end UI change, which requires the delete button added in #254. These two PRs are all testable through LFS-352-test

Didn't know about the code review status though: moved all issues over.

tested LFS-352-test branch


Can't authorize our application on some devices.

Hi,
At my company, we are getting some errors while trying to authenticate using SSO. The weird thing is this error occurs only on some of our devices and not others.
More specifically, the activity provided by the uber app that handles the authorization always finishes immediately after being started. When it finishes, the bundle that it sends as a result  contains sometimes {"ERROR": "unavailable"}, and some other times {"ERROR": "expired_jwt"}.
We seem to be able to reproduce this bug only on a handful of our devices :

An LG Nexus 4 running Android 5.1.1
A Samsung Galaxy S4 running Android 4.4.2

The problem can be reproduced using the login-sample app, and it seems it only happens when you request a privileged scope. In the sample app, if you tap on the button "sign in" button to the top or the "I want to sign in using my uber app" button at the bottom, your are shown the Uber login screen. However if you tap on the "sign in" button in the middle (which requests the request scope upon sign in), the problem that I've specified above occurs.
This is the code the we currently use to setup to login with uber sdk :
// in our application's OnCreate
SessionConfiguration config = new SessionConfiguration.Builder()
               .setClientId(UBER_CLIENT_ID)
               .setEnvironment(SessionConfiguration.Environment.SANDBOX)
               .setScopes(
                     Arrays.asList(Scope.PLACES, Scope.HISTORY,
                           Scope.REQUEST, Scope.REQUEST_RECEIPT))
               .build();
UberSdk.initialize(config);

...

// when the user requests to login
loginManager.login(activity);

We could reproduce the issue on the sandbox as well as on the production environment. Our application has already been granted full access.
The problem still occurs after a complete reinstall of both our app and the uber app.
The version of the uber application that we have installed is 3.123.2
Thank you in advance for your help, let me know if you need any more info.

Wow thank you for the very detailed post! We'll look into this with more
detail, but some initial reactions based on what you posted...
In the case where it's asking for non privileged scopes, does it actually
deeplink into the Uber app, or does it present you with a username and
password flow? If it's the latter, then it's actually Implicit Grant that's
working and not SSO. If that's the case, it sounds like you've never
successfully gotten an access token through SSO.
If that's the case, there's a couple of issues I can think of,
unfortunately INVALID_JWT and UNAVAILABLE are two of our catch all, less
detailed errors. If you're doing a lot of signing in and signing out of the
Uber app (or uninstalling) while trying to use SSO, that might be what's
causing the INVALID_JWT exception, but it shouldn't be permanent and it
sounds like you haven't been able to get a token yet...  That's another
possible cause of INVALID_JWT, if the application signature isn't
consistent the whole way down.
Just some initial thoughts on it, I'll look into what you were saying more.
Please let me know if it's that you're able to get the token through
Implicit Grant (you have to enter your username and password) or SSO
(deeplinks into the Uber app, no username or password entry necessary).
On Oct 17, 2016 07:58, "rz-robsn"<EMAIL_ADDRESS>wrote:

Hi,
At my company, we are getting some errors while trying to authenticate
using SSO. The weird thing is this error occurs only on some of our devices
and not others.
More specifically, the activity provided by the uber app that handles the
authorization always finishes immediately after being started. When it
finishes, the bundle that it sends as a result contains sometimes {"ERROR":
"unavailable"}, and some other times {"ERROR": "expired_jwt"}.
We seem to be able to reproduce this bug only on a handful of our devices :

An LG Nexus 4 running Android 5.1.1
A Samsung Galaxy S4 running Android 4.4.2

The problem can be reproduced using the login-sample app, and it seems it
only happens when you request a privileged scope. In the sample app, if you
tap on the button "sign in" button to the top or the "I want to sign in
using my uber app" button at the bottom, your are shown the Uber login
screen. However if you tap on the "sign in" button in the middle (which
requests the request scope upon sign in), the problem that I've
specified above occurs.
This is the code the we currently use to setup to login with uber sdk :
// in our application's OnCreate
SessionConfiguration config = new SessionConfiguration.Builder()
.setClientId(UBER_CLIENT_ID)
.setEnvironment(SessionConfiguration.Environment.SANDBOX)
.setScopes(
Arrays.asList(Scope.PLACES, Scope.HISTORY,
Scope.REQUEST, Scope.REQUEST_RECEIPT))
.build();
UberSdk.initialize(config);
...
// when the user requests to login
loginManager.login(activity);
We could reproduce the issue on the sandbox as well as on the production
environment. Our application has already been granted full access.
The problem still occurs after a complete reinstall of both our app and
the uber app.
The version of the uber application that we have installed is 3.123.2
Thank you in advance for your help, let me know if you need any more info.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/uber/rides-android-sdk/issues/58, or mute the thread
https://github.com/notifications/unsubscribe-auth/ACcwTzJDnMEZfQ05AjY0hFKsBZzoApbnks5q040GgaJpZM4KYuYb
.

Thanks for the quick response, @itstexter !

In the case where it's asking for non privileged scopes, does it actually
deeplink into the Uber app, or does it present you with a username and
password flow?

It presents me with a username and password flow. So you're right, it's not actually SSO.

If you're doing a lot of signing in and signing out of the
Uber app (or uninstalling) while trying to use SSO, that might be what's
causing the INVALID_JWT exception.

The error that we get is not INVALID_JWT but EXPIRED_JWT. Also I'm not sure if the problem is related to the fact that we are trying to sign in and out because we were never able to log in using those devices, and I have uninstalled both uber and our application multiple times.

Are you doing anything particular about how you sign your application ?

I'm not sure about that... I'll have to get back to you on that.

Please let me know if it's that you're able to get the token through
Implicit Grant or SSO

I can login just fine using the implicit grant, but not using SSO.

Hey @rz-robsn!
So sorry for misreading the error as INVALID_JWT, my bad! If you're consistently getting EXPIRED_JWT the error is much clearer. For security purposes we expire your login attempt if it takes over 30 seconds. If your device's system clock is over 30 seconds off the current unix time, or loading the web page is taking over 30 seconds, then you'll get an EXPIRED_JWT error, try checking those device's current UNIX time.
If you're getting UNAVAILABLE and it's based around logging in and out I'm realizing that it might be because SSO is currently behind a feature flag, so try logging in and waiting several minutes for the flags to be downloaded and SSO can be done. This will be fixed in an upcoming update to the Uber App, but it would be the most obvious thing I can think of for the UNAVAILABLE.

try checking those device's current UNIX time.

I checked the time on the devices. The Samsung Galaxy S4 was actually about 2 mins behind the actual time and the LG Nexus 4 was actually about 1 min behind.
I systematically got EXPIRED_JWT error on the S4 and the UNAVAILABLE error on the Nexus 4.
Synchronizing the clock with the network's on the S4 fixed the EXPIRED_JWT issue ! Now I can properly authorize the application on that device. Thank you for your help !
However, I still have the UNAVAILABLE error on the Nexus 4, even after synchronizing the device's clock.

try logging in and waiting several minutes for the flags to be downloaded and SSO can be done.

I have logged in the uber app, waited a few hours, then tried logging with SSO from the login-sample app. I still get the UNAVAILABLE error :-( ...

Glad we were able to figure out the EXPIRED_JWT issue!
Consistently getting unavailable is definitely strange. I know you mentioned it before but I just wanted to confirm, both the S4 and the Nexus 4 are on the Uber app version 3.123.2?

Hi @itstexter,
The Nexus 4 and the S4 had Uber 3.123.2 installed when I reported the problem 2 days ago.
Yesterday, both devices automatically updated Uber to 3.124.2. I still have the UNAVAILABLE error on the Nexus 4 on this version too, even after a fresh reinstall of both uber and the login-sample app (and logging into uber and wait several minutes before trying to authorize with SSO).

On a related note, about the EXPIRED_JWT issue, we are thinking about inviting the user to try to update its device clock in case we are receiving this error while trying to authorize.
Could you tell us if we could get that error code in cases other than the 30 seconds login expiry attempt ? The current code documentation is quite terse about this :
// AuthenticationError.java

    /**
     * JWT TTL has expired.
     */
    EXPIRED_JWT,

The only two cases that I can think of that that would cause that to occur:
A. The device clock is off.
B. The page took over 30 seconds to load.
I'd say it's probably reasonable ask to have them update their device clock either way. I should look into our analytics on this and if it's happening quite a bit building it into the SDK might be a good idea.
Still looking into the UNAVAILABLE bit, testing some things locally on it, sorry! Will ping here when I have other ideas...

Hey @itstexter,
I have accidentally found a workaround about the UNAVAILABLE error on the LG G4. When you try to login after a device reboot the problem disappears !
However if I uninstall and reinstall Uber again afterwards, I still get the UNAVAILABLE error systematically until I reboot the device.
It looks like the SSO attempt will fail if the user has not rebooted his device between the installation of the Uber app and the SSO login attempt, strange...
By the way, the version of Uber that I have installed on the LG G4 is now 3.125.1

hi
same problem here on a oneplus3(6.0.1), nexus 6p(7.0) and on a s6 edge. The workaround works, but my app is in production so I really don't want my users to restart their phones :) . When will you fix it?
Thanks!

Thanks for all the info and updates @rz-robsn and @Csaba8472. We'll be fixing this in an update to the Uber App, I'll ping this thread when that's rolling out.

guess today's update wasn't that update...

Actually, we do believe this should be fixed in the new Uber App! However it is rolled out gradually and is not available to all users yet, so I was going to wait to close this issue.
I guess I'll just say that it should be fixed once the new app rolls out to you. Would you mind pinging this thread and confirming the old problem no longer exists with the new Uber App @rz-robsn and @Csaba8472 ? Once I've confirmed that I'll close this issue.

I updated today,  the version number is: 3.127.1(4289AF8). Is this the new version?

Hi @itstexter,
I still have the same UNAVAILABLE problem on version 3.127.1 using the login-sample app on the LG G4. I uninstalled/reinstalled both apps and I still have the same issue.
Rebooting the device still works as a workaround.

Are you on the new form of the app though? It's only rolled out to a subset
of our users so if you don't have the new app and just have the latest
version of the old app then the bug still remains. If you don't have the
one that opens with a "Where to?" Bar at the top the new app hasn't been
rolled out to you.
On Nov 3, 2016 12:36, "rz-robsn"<EMAIL_ADDRESS>wrote:

Hi @itstexter https://github.com/itstexter,
I still have the same UNAVAILABLE problem on version 3.127.1 using the
login-sample app on the LG G4. I uninstalled/reinstalled both apps and I
still have the same issue.
Rebooting the device still works as a workaround.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/uber/rides-android-sdk/issues/58#issuecomment-258250855,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACcwT26XeKLvbGa-kwVXYANNLcJukMmhks5q6jfPgaJpZM4KYuYb
.

I see, I don't have the the new Uber App installed on the device, so that explains why the problem still occurs.

@itstexter could you give us specific version number?

Uber was updated on November 3 and still doesn't work... I'm getting negative reviews because I said it's going to be fixed in the next update. What should I say them?

Sorry @Csaba8472 I've been having trouble figuring out if there is a specific version I can give you. Since we've wrapped both apps into one deliverable you may have the same app version but the new app not yet delivered to you. The best indicator of whether or not you have the new App is if you boot it up does it have the new look and "Where to?" destination field.
As the new app is rolled out over the following weeks more users will be getting access, so once it's fully rolled out SSO users shouldn't be seeing the UNAVAILABLE issue.

@Csaba8472 Sorry for your troubles here.
We have released the new rider app which should systematically address this issue. As it incrementally rolls out over the next few weeks, this will be no longer be an issue. I'll close this thread for now, but please re-open if there are any issues post receiving the new app.


Update grpc to 1.53.0 and protobuf to 3.22.0

This fixes the hard coded version of protobuf in pinot-protobuf
This also allows building the project on arch_64 platforms

Codecov Report

Merging #10312 (62e3b77) into master (442bfc3) will decrease coverage by 45.65%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             master   #10312       +/-   ##
=============================================
- Coverage     70.43%   24.79%   -45.65%
+ Complexity     5830       48     -5782
=============================================
  Files          2015     2003       -12
  Lines        109656   109303      -353
  Branches      16686    16648       -38
=============================================
- Hits          77236    27100    -50136
- Misses        27003    79372    +52369
+ Partials       5417     2831     -2586

Flag
Coverage Δ

integration1
24.79% <ø> (+0.34%)
:arrow_up:

integration2
?

unittests1
?

unittests2
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...in/java/org/apache/pinot/spi/utils/BytesUtils.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...java/org/apache/pinot/spi/trace/BaseRecording.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...java/org/apache/pinot/spi/trace/NoOpRecording.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ava/org/apache/pinot/spi/config/table/FSTType.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ava/org/apache/pinot/spi/config/user/RoleType.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ava/org/apache/pinot/spi/data/MetricFieldSpec.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ava/org/apache/pinot/spi/stream/StreamMessage.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...java/org/apache/pinot/common/tier/TierFactory.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...a/org/apache/pinot/spi/config/table/TableType.java
0.00% <0.00%> (-100.00%)
:arrow_down:

.../org/apache/pinot/spi/data/DimensionFieldSpec.java
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 1486 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

upon checking the CI job there are some significant regression on test speed. i will return the CI jobs to make sure the regression is not due to resource issue on GHA

@walterddr can this be merged now.

Upon looking at the CI results the 2nd run is still 5-10% slower.

With this new pom.xml we can use different grpc and protobuf versions to see which version is the one that introduce the performance degradation, right?


Fix: object in dict not found exception on first try

This exception was thrown with ansible <IP_ADDRESS> and python 2.7.14

Nice, thanks @anstue 👍


Cards are not shown because of authentication error

receivin a 401 error from backend

I think this is fixed so i am closing it now


resolved_ts: reduce network traffic by filter regions

What is changed and how it works?

Issue Number: Close #14092
What's Changed:
Reduce network traffic by filter regions

resolved_ts: reduce network traffic by filter regions

Related changes

Need to cherry-pick to the release branch

Check List
Tests

Unit test

Release note
resolved_ts: reduce network traffic by filter regions

/build

/merge


⚠ Bofrost.nl has degraded performance

In 7c12755, Bofrost.nl (https://www.bofrost.nl) experienced degraded performance:

HTTP code: 200
Response time: 944 ms

Resolved: Bofrost.nl performance has improved in 128d8f4.


add header to build container

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

Project coverage is 85.48%. Comparing base (c486ec4) to head (b5027be).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #493   +/-   ##
=======================================
  Coverage   85.48%   85.48%
=======================================
  Files           8        8
  Lines        3933     3933
=======================================
  Hits         3362     3362
  Misses        571      571

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


Update Matrix Service URL in HCA Scanpy Demo - May 2019

URL is broken in the README.

You talkin about the last URL in this readme?
Maybe turn it into a code block and state that it is just an example of what the link should look like.

https://s3.amazonaws.com/dcp-matrix-service-results-prod/3938cf5a-3159-4eb7-aef5-59589795c268.loom

On Oct 24, 2019, at 10:16 AM, Charles Reid<EMAIL_ADDRESS>wrote:

You talkin about the last URL in this readme?
Maybe turn it into a code block and state that it is just an example of what the link should look like.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

this will be closed by #72


Refactor SWAGD to use an interface for visualization

SWAGD should use a common API for communication with visualization implementations (Leaflet, JMapViewer, OL3, ???).
This will make supporting viewer platforms much easier.

Not a priority short-term


fix(pinia-orm): Mutators still don't apply on update consistently

🔗 Linked issue
related #1818

❓ Type of change

[ ] 📖 Documentation (updates to the documentation or readme)
[x] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description

📝 Checklist

[ ] I have linked an issue or discussion.
[ ] I have updated the documentation accordingly.

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

Project coverage is 99.66%. Comparing base (70a2cd0) to head (abb1e9f).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1828      +/-   ##
==========================================
+ Coverage   99.61%   99.66%   +0.04%
==========================================
  Files          87       87
  Lines        5936     5917      -19
  Branches      510      503       -7
==========================================
- Hits         5913     5897      -16
+ Misses         19       16       -3
  Partials        4        4

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


fix(tabs): vertical mode addable exception

修复tabs组件垂直模式添加按钮及前后缀表现异常https://github.com/tusen-ai/naive-ui/issues/6059

The issue fixes some problems but not all of them, so I create a commit that fixes them.


STY: PEP8 amendments to interpolate.py

Good morning.
Few small amendments to this file. Amended E231's and removed trailing white space from end of the file.
Thank you.

Thanks, merged.


Karate stripping quotes while storing to response

@ptrthomas  - Karate is stripping quotes from the http response making the json key-value as non-string. Also it replaces colon (:) with (=). Because of this converting the response to Json using GSON/Jackson is throwing exception.
Example:
Original response which is printed on console on DEBUG mode:
{"firstName":"Mark","addressLine1":"CAREOF VTC AUSTRALIA"}
Output when I print response :
{firstName=Chirag, addressLine1=CAREOF VTC TUMKUR, addressLine2=HOU 112}
Can you please advice.

Actually internally karate represents data as a Java Map (in some situations) and everything works because the conversion between Map <--> JSON is robust.
What you see printed is the Java toString() output of a Hashmap.
Sounds like you are passing the response to Java. Try using a Map<String, Object> as the Java interop method argument. Once you get a Map, converting using GSON/Jackson should be easy.

Thanks Peter for the information. It works fine when I use the response as a Map.


[Explore]: Collect K8s metrics based on Metric Proxy

Background
To provide users basic metrics, cf defines the log cache api and a configuration option to specify the log cache endpoint. Log cache is responsible for returning the logs in the cf envelope format, so our dependency on the backing implementation for this functionality has also motivated an explore for handling the conversion of kubectl logs to cf envelopes as a potential workaround to using log cache itself.
As a known working solution,  metric-proxy provides a deployment backed by metrics-server for aggregation of kubernetes metrics through the log cache api. See if this solution continues to slot in directly with cf-k8s-api and the cf cli. Because cloud controller implements some of the handling logic itself for metrics, we may be able to take the underlying metric-proxy logic and directly implement the metrics fetching in cf-k8s-api.
If direct implementation does not work, try deploying the metric-proxy component and see if we can consume the api in some capacity through a stubbed implementation of the stats endpoint (likely using https://github.com/cloudfoundry/go-log-cache as the client).
Acceptance Criteria
If direct implementation works, a spike branch.
If the direct implementation does not work but deployment does, document the recommended configuration and installation steps for metric-proxy. We will follow up with a story to integrate the component more rigorously into the cf-k8s-api stats endpoint and installation scripts.
Number of days this exploration is expected to take. This is what is “pointed”.
3
Dev Notes
Links:
Log Cache API - https://github.com/cloudfoundry/log-cache-release/blob/develop/src/README.md
Metric Proxy - https://github.com/cloudfoundry/metric-proxy
CF for K8s reference deployment - https://github.com/cloudfoundry/cf-for-k8s/tree/develop/config/metrics
Existing grpc go client for log-cache - https://github.com/cloudfoundry/go-log-cache
Options:
Harvest code from Metric Proxy and directly integrate into cf-k8s-controllers
Deploy Metric Proxy and harvest a grpc go client for log-cache

Kind deployments don't have metrics server installed OOTB. We were able to get it up and running with the standard configuration, after applying this little patch to the command args for the metrics server.

TL;DR we believe that the direct implementation approach will work just fine.
@matt-royal and I paired on a spike to just glue the metrics server client code directly into the pod repository code in the API shim as a way of fetching more metrics.
So far, we created some very hacky code that gets the CPU and memory usage for each pod and spits it out to logs. (we didn't bother to plumb it out through the repository interface yet. That code is in this branch.
Some things to note:

Disk usage gets collected a little differently. The metrics proxy does that here. We think that can just be cribbed in the same way the other code was cribbed.
We are just using the service account in the pod. Probably we want to add the unprivileged user somehow?
CF redacts some stats for particular users. Unclear if we need to get that fancy.
CF returns a lot of metrics. We aren't sure which of these is important.
K9s returns something in its usage table that is oddly 10x more than the value we get from kubectl top. We saw that the metrics we get back are the same as the kubectl top ones. We don't know what the column in k9s represents 🤷🏻♂

We determined that the instance_ports and the various quota fields are not populated from metrics-proxy data. Given that, we believe that we've validated that we can inline the logic for memory, cpu and disk usage without issue.


Remove SBO from community catalog

SBO 0.4.0 got published as upstream operator in PR #2796
Hence, the old versions in community-operator can be removed.
Thanks submitting your Operator. Please check below list before you create your Pull Request.

Flat operator directory structure is obsolete from 23-rd of October 2019, only nested directory structure will be accepted.

New Submissions

[ ] Does your operator have nested directory structure?
[ ] Have you selected the Project Community Operator Submissions in your PR on the right-hand menu bar?
[ ] Are you familiar with our contribution guidelines?
[ ] Have you packaged and deployed your Operator for Operator Framework?

[ ] Have you tested your Operator in all supported installation modes?
[ ] Have you considered whether you want use semantic versioning order?
[ ] Is your submission signed?

Updates to existing Operators

[ ] Did you create a ci.yaml file according to the update instructions?
[ ] Is your new CSV pointing to the previous version with the replaces property if you chose replaces-mode via the updateGraph property in ci.yaml?
[ ] Is your new CSV referenced in the appropriate channel defined in the package.yaml or annotations.yaml ?
[ ] Have you tested an update to your Operator when deployed via OLM?
[ ] Is your submission signed?

Your submission should not

[x] Modify more than one operator
[x] Modify an Operator you don't own
[ ] Rename an operator - please remove and add with a different name instead
[ ] Submit operators to both upstream-community-operators and community-operators at once
[x] Modify any files outside the above mentioned folders
[x] Contain more than one commit. Please squash your commits.

Operator Description must contain (in order)

[ ] Description about the managed Application and where to find more information
[ ] Features and capabilities of your Operator and how to use it
[ ] Any manual steps about potential pre-requisites for using your Operator

Operator Metadata should contain

[ ] Human readable name and 1-liner description about your Operator
[ ] Valid category name1
[ ] One of the pre-defined capability levels2
[ ] Links to the maintainer, source code and documentation
[ ] Example templates for all Custom Resource Definitions intended to be used
[ ] A quadratic logo

Remember that you can preview your CSV here.
--
1 If you feel your Operator does not fit any of the pre-defined categories, file an issue against this repo and explain your need
2 For more information see here

@pedjak Please fix signature https://github.com/operator-framework/community-operators/pull/2837/checks?check_run_id=1532895565


⚠ Bofrost.lu has degraded performance

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

HTTP code: 200
Response time: 1468 ms

Resolved: Bofrost.lu performance has improved in dfac393.


bugfix: fix pouch panic on fatal error: concurrent map read and map write.

Ⅰ. Describe what this PR did
bugfix: fix pouch panic on fatal error: concurrent map read and map write.
Signed-off-by: frankyang<EMAIL_ADDRESS>Ⅱ. Does this pull request fix one issue?

Ⅲ. Why don't you add test cases (unit test/integration test)? (你真的觉得不需要加测试吗？)
this bug hard to reproduce.
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

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

Lots of test cases fails. PTAL @yyb196
And please sign the CLA, thanks.


Research Dropbox Integration

The purpose of this task is to gather enough information to determine the requirements/tasks for Dropbox integration for loading data. We have little experience interacting with the Dropbox API and what the options are in the UI.

Is there a way to let users interact/search their dropbox account on our frontend once they have granted access?
How does the process of gaining access to user Dropbox data look for ingesting data?

It might be helpful to go through the process of some other product that has dropbox integration to learn what their approach is.

There are a number of options when creating a Dropbox App, the first of which is choosing between User and Business accounts:

The main difference is Single Users vs Dropbox Teams. The next choice is between type of access, App Folder or Full Dropbox:

App Folder access will create a folder in the user's Dropbox with the same name as the app, and our app can manage it entirely. If the user would like to make a file available to the app, they can simply move it to that folder. Full Dropbox access allows us to inspect their entire account, but is generally discouraged if not needed.
Dropbox has SDKs for certain platforms, including Java, in addition to an HTTP API. They generally recommend using the SDKs over the HTTP API directly. There are some examples on how to integrate the Java SDK in Scala.
Additionally, they have two JavaScript libraries called Chooser and Saver, which open a popup, have the user log in, and select and save files. When setting up the Chooser, we can configure it to gives us the URL of the original file, or pass a Dropbox reference ID to use in other ways (such as editing or deleting the file). The Chooser also supports multi-select.
One of the more contrived parts of the Dropbox API is procuring production approval, which involves a number of applications and reviews, primarily of the branding guidelines:

When you first create a Dropbox API app, it's given development status. Your app functions the same as any production status app except that it can only be linked with up to 500 total Dropbox users. However, once your app links 50 Dropbox users, you will have two weeks to apply for and receive production status approval before your app's ability to link additional Dropbox users will be frozen, regardless of how many users between 0 and 500 your app has linked. For more details, please read the Applying for production status section below.
...
When you apply for production status, you'll be prompted to supply additional information such as how your app uses the API, and to upload an icon for the app. Your request will then be submitted to us for review.
While you may submit your request for production status anytime, it will not be reviewed until your app has linked with at least 50 Dropbox users, indicating that it will likely require production status.
Once your app has linked 50 Dropbox users, you will have two weeks to apply for and receive production status approval, if you haven't already done so. If after two weeks you haven't applied for and received production approval, your app's ability to link additional Dropbox users will be frozen until you submit an application and are approved for production status.
Please note, for apps that have been temporarily frozen, the only way to unfreeze your app is to apply for and receive production status. Simply unlinking all of your users will not unfreeze your app.

(emphasis theirs)
I will try and create a simple Scala demo app to illustrate basic API calls for the Personal + App Folder configuration. Please let me know if our use case would demand more.

A folder app sounds cool--just drag/drop into Raster Foundry and let the magic happen.

Yeah I agree -- then we could also save exports there as well.

Is there a way to subscribe to notifications somehow with a webhook or something if a file is added to something like a raster-foundry folder?

Is there a way to subscribe to notifications somehow with a webhook or something

Yes: https://www.dropbox.com/developers/reference/webhooks

After I went through the OAuth dance, an Apps/rf-ttuhinanshu-test folder was created in my Dropbox, to which I can add files just as usual:

Demo App is available here: https://github.com/rajadain/scala-dropbox-demo
I can answer any questions here.

One other question I have:
Right now we store the original filepath (e.g. an http path for landsat 8 and sentinel images) for files. This is used to get the image for ingesting, then usually isn't used again.
When a user adds imagery from dropbox, do you think we should try and copy the image to s3 before ingesting, or should we let users keep it in their dropbox? Once we've ingested it, we shouldn't need the original file again (but I could see that happening if something goes wrong). If we copy it into our account, then we have to worry about storage, but can guarantee it is access.
Is there a concept of a signed URL or something for dropbox so when we construct an ingest definition we can pass in a url like: https://dropbox.com/<FILE>/?signature that GeoTrellis can understand.

Looking at the Chooser JavaScript app, it allows linking direct files from Dropbox:

This direct link is then publicly accessible, and we can attach any custom signature at the end. For example: https://dl.dropboxusercontent.com/1/view/11gbe99prd1q656/Apps/rf-ttuhinanshu-test/jabberwocky.txt/?MY_GEOTRELLIS_SIGNATURE

I think the user should be informed about the process. They should know that we take images from their Dropbox and ingest them. They can delete the images after, and retain the ingests, but in order to re-ingest we'll need the images again.
Unless they are deleting images as soon as starting the ingest process, we should be fine. If there is some sort of notification for when ingests complete, that may include a line such as "It is now safe to remove those images from your Dropbox."

If we're going to do batch data ingress from Dropbox, we'll have to take their Rate Limitation policies into consideration.


subscription name per xpath

I was wondering if it is possible to use event message name or subscription_name on a per xpath basis
I know I can do something like this...
subscriptions:
 ipv4-bgp-routes:
    paths:
      - "/state/service/vprn[service-name=*]/route-table/unicast/ipv4/statistics/bgp"
 ipv4-bgp-vpn-routes:
    paths:
      - "/state/service/vprn[service-name=*]/route-table/unicast/ipv4/statistics/bgp-vpn"
 ipv4-direct-routes:
    paths:
      - "/state/service/vprn[service-name=*]/route-table/unicast/ipv4/statistics/direct"

rather than this...
subscriptions:
  route-counts:
      - "/state/service/vprn[service-name=*]/route-table/unicast/ipv4/statistics/bgp"
      - "/state/service/vprn[service-name=*]/route-table/unicast/ipv4/statistics/bgp-vpn"
      - "/state/service/vprn[service-name=*]/route-table/unicast/ipv4/statistics/direct"

but wondering if there are negatives consequences to this as number of xpaths per router could be many.  For example I can see Active RPC count on SROS router is increased.
Any suggestions, basically I'm looking for a way to easily identify a metric name (perhaps in addition to using path-base processor to trim event value keys in response).
thanks!

It's possible to manipulate the metric name using processors as well.
strings processor with the replace transform allows you to change the path to the desired metric name.

Hi @karimra I would like to be able to update "subscription_name" or "name" in event msg.  If I have multiple xpaths under the same subscription, then they all have the same name/subscription_name.  For example using the 2nd config in my original post, I do not know if this event message belongs to bgp routes, bgp-vpn routes, or direct routes...
[
  {
    "name": "route-counts",
    "timestamp":<PHONE_NUMBER>960575500,
    "tags": {
      "source": "r1",
      "subscription-name": "route-counts",
      "vprn_service-name": "vprn1"
    },
    "values": {
      "active-routes": 3,
      "available-routes": 3
    }
  }
]


[darwin][build] Copy the libclang_rt.{ios/tvos/watchos}.a from toolchain to the build dir so that swift-clang can use them when building for ios/tvos/watchos

Try to build compiler_rt for iOS/watchOS/tvOS.

@swift-ci Please clean smoke test

@swift-ci Please clean smoke test