io.grpc.StatusRuntimeException: OUT_OF_RANGE: Audio data is being streamed too slow. Please stream audio data approximately at real time.

07-25 18:15:52.504 12312-12312/com.google.cloud.android.speech D/HwCust: Create obj success use class android.widget.HwCustTextViewImpl
07-25 18:15:52.504 12312-12312/com.google.cloud.android.speech D/HwCust: Create obj success use class android.widget.HwCustTextViewImpl
07-25 18:15:52.784 12312-12735/com.google.cloud.android.speech I/SpeechService: API completed.
07-25 18:16:23.064 12312-12735/com.google.cloud.android.speech I/SpeechService: API completed.
07-25 18:16:53.034 12312-12735/com.google.cloud.android.speech E/SpeechService: Error calling the API.
io.grpc.StatusRuntimeException: OUT_OF_RANGE: Audio data is being streamed too slow. Please stream audio data approximately at real time.
at io.grpc.Status.asRuntimeException(Status.java:543)
at io.grpc.stub.ClientCalls$StreamObserverToCallListenerAdapter.onClose(ClientCalls.java:395)
at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:426)
at io.grpc.internal.ClientCallImpl.access$100(ClientCallImpl.java:76)
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.close(ClientCallImpl.java:512)
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.access$700(ClientCallImpl.java:429)
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:544)
at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:52)
at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:117)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:833)
07-25 18:17:09.484 12312-12312/com.google.cloud.android.speech V/AudioManager: preDispatchKeyEvent keycode: 4  stream: -2147483648
07-25 18:17:09.564 12312-12312/com.google.cloud.android.speech V/AudioManager: preDispatchKeyEvent keycode: 4  stream: -2147483648
07-25 18:17:10.084 12312-12312/com.google.cloud.android.speech I/View: ssignParent(ViewParent parent) parent is: null
07-25 18:17:10.094 12312-12312/com.google.cloud.android.speech I/View: ssignParent(ViewParent parent) parent is: null

i am also meet the issue?

I am facing similar issue. The listener does not work until this issue comes up. Post crash, the listener starts working. Below is the trace
Service: Error calling the API.
io.grpc.StatusRuntimeException: OUT_OF_RANGE: Audio data is being streamed too fast. Please stream audio data approximately at real time.
at io.grpc.Status.asRuntimeException(Status.java:543)
at io.grpc.stub.ClientCalls$StreamObserverToCallListenerAdapter.onClose(ClientCalls.java:395)
at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:426)
at io.grpc.internal.ClientCallImpl.access$100(ClientCallImpl.java:76)
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.close(ClientCallImpl.java:512)
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.access$700(ClientCallImpl.java:429)
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:544)
at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:52)
at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:117)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)

Please Suggest Same I am facing.
Caused by: io.grpc.StatusRuntimeException: OUT_OF_RANGE: Audio Timeout Error: Long duration elapsed without audio. Audio should be sent close to real time.
at io.grpc.Status.asRuntimeException(Status.java:530)
... 23 more
java.util.concurrent.ExecutionException: com.google.api.gax.rpc.OutOfRangeException: io.grpc.StatusRuntimeException: OUT_OF_RANGE: Audio Timeout Error: Long duration elapsed without audio. Audio should be sent close to real time.
at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:531)
at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:512)
at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:83)
at org.apache.jsp.speechToText_jsp._jspService(speechToText_jsp.java:255)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

Is there someone slove this?

Not yet i need solution and looking for it
Sent from my iPhone

On 14-Jun-2019, at 2:59 PM, lansedebing<EMAIL_ADDRESS>wrote:
Is there someone slove this?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

I was facing this issue while using streamingRecognizeCallable() (in Kotlin), after the user signalled end of audio by clicking button, I just stopped audio emitter and thus stopped streaming sound data to recognition service. While the interim results were good, the "final=true" result was received only several seconds (like 3-5s) later, after the OUT_OF_RANGE error.
I managed to figure it out, when user signals end of transmission, instead of building another StreamingRecognizeRequest with new audio data, I call requestStream.onCompleted(). This let's google service know there will be no more data and it will send the "final" result back quickly, and I don't get the OUT_OF_RANGE exception any more.

I was facing this issue while using streamingRecognizeCallable() (in Kotlin), after the user signalled end of audio by clicking button, I just stopped audio emitter and thus stopped streaming sound data to recognition service. While the interim results were good, the "final=true" result was received only several seconds (like 3-5s) later, after the OUT_OF_RANGE error.
I managed to figure it out, when user signals end of transmission, instead of building another StreamingRecognizeRequest with new audio data, I call requestStream.onCompleted(). This let's google service know there will be no more data and it will send the "final" result back quickly, and I don't get the OUT_OF_RANGE exception any more.

Hello ped,
i am also facing similar issue it would really help full if you can throw some sample.
thanks in advance

Hello ped,
i am also facing similar issue it would really help full if you can throw some sample.
thanks in advance

https://github.com/GoogleCloudPlatform/android-docs-samples/blob/a49dd7157ee56e5ff8d05d29416f44403b241a46/speech/SpeechRecognitionClient/app/src/main/java/com/google/cloud/examples/speechrecognition/MainActivity.kt#L117
I have similar code to this example, here in the "bytes ->" callback, I test new class variable mUserRequestedStop (set to true in new onPause function, which I call when I know the audio stream from mic should be ended, like the user does tap the mic-off button or app goes to background):
        mAudioEmitter?.start { bytes ->
            if (mUserRequestedStop) {
                // ensure mic data stops
                mAudioEmitter?.stop()
                mAudioEmitter = null
                // and give nudge to SpeechToText service that this is all done
                requestStream.onCompleted()
                return@start
            }

Before I was only stopping the audio emitter (stop() call), which leads to OUT_OF_RANGE timeout error in recognizer.

Thanks Ped,
for your quick response will work on it.

Thanks Ped it worked.


Tests failing due to Rack 2.0 not supporting Ruby < 2.2.2

See: https://travis-ci.org/tinfoil/devise-two-factor/jobs/149565884
This can be fixed in a few ways:

Locking the version of Rack to 1.x
Dropping support for Ruby 2.1.x and upgrading 2.2.0 tests to 2.2.2 or above
Using appraisals to use different gemfiles depending on the Ruby/Rails version.

Is the latest build stable enough to be used in projects?  Any failing/security issues?

@sidcool1234 it should be yes

Thanks @connorshea .  Appreciate your quick reply.


postgres: atomic read message

Here is an attempt to address  #886.  It peeks at the message header, then consumes the message, all or none.
This looks very awkward compared to the way it's done in the 'next' branch.  As a result, I'm not entirely sure whether it may have a performance impact.
This is just an idea for the sake of discussion, so feel free to close this if it's not a preferred way of approaching the issue.

I think there may be an off-by-one error somewhere in this PR.  While testing dropped streams, I'm seeing:
 sqlx_actix_streaming::bytestream:dropped ByteStream in state: NonEmpty after 71 items
 sqlx_core::pool::connection:error occurred while testing the connection on-release: encountered unexpected or invalid data: encountered unexpected or invalid data: unknown message type: '\"'

I'm closing this because additional effort would be better spent on the 'next' branch.


IOException: Mark has been invalidated (Android 6)

Hi, I have issue with this library on Android ~<=23.
I'm trying to parse the page using:
Document d = Jsoup.connect("").get();
Unfortunately, this causes an error:
 java.io.IOException: Mark has been invalidated.
   at java.io.BufferedInputStream.reset(BufferedInputStream.java:336)
   at org.jsoup.internal.ConstrainableInputStream.reset(ConstrainableInputStream.java:103)
   at org.jsoup.helper.DataUtil.parseInputStream(DataUtil.java:105)
   at org.jsoup.helper.HttpConnection$Response.parse(HttpConnection.java:832)
   at org.jsoup.helper.HttpConnection.get(HttpConnection.java:289)

Similar problem: https://stackoverflow.com/questions/47733379/java-io-ioexception-mark-has-been-invalidated-when-parsing-website-with-jsoup
I hope you can fix it in the next release.

What's the URL so I can replicate?

check this out : https://github.com/jhy/jsoup/issues/992

Thanks for reporting and the detail (also on #992)


I bought a cape and now i cant see it

it says you must be connected to the 5zig mod server to manage ur cape

It says it to me too!
Please anyone, help me please!!!

HELLP SAME PROBLEM

It says "You must be connected to the 5zig mod server to manage your cape" for me too!

I know i have the same problem.  They all ways had theyre's website. Now its gone and it's a problem for everysingle one of us.

i dont even know where to buy the capes

is it worth doing at this moment in time?

I love the 5zig mod, fix this bug or give back my 5€ so i can buy something that works all the time.

No
On Fri, Jun 21, 2019, 22:52 tzavary<EMAIL_ADDRESS>wrote:

is it worth doing at this moment in time?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/5zig/The-5zig-Mod/issues/9?email_source=notifications&email_token=AMMT5OLKZDCI5DQMCSBH2N3P3UWP5A5CNFSM4HYJNMT2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYJN2YQ#issuecomment-504552802,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMMT5OOUXXJHRDDEL6M4II3P3UWP5ANCNFSM4HYJNMTQ
.

5zig quit, shutdown the website, shutdown the servers (required for the capes to work) and redirected the domain to this github page. Capes will no longer work, and this deeply saddens me. You can buy a labymod cape for $18 for high resolution textures, but it doesn't support animated capes, and only works in 1.8.9 and 1.12.2. :/


lax_numpy.concatenate passes through individual argument

I came about some weird behaviour (to me) where jax alters the input to a function when mixed with numpy. I would have expected that x stays unaltered in all cases in the following example:
def f(x):
 x = [x]
 x = jnp.concatenate(x)
 x -= 1
 return x

x = np.ones((1))
f(x)
print(x)  # >>> [0.]

x = jnp.ones((1))
f(x)
print(x)  # >>> [1.]

When using x = x - 1 or np.concatenate the output is [1.] as expected.
With the help of @mattjj I traced this back to https://github.com/google/jax/blob/ce9b03866cf04a378d6cc44a5ce5f99700f0148c/jax/numpy/lax_numpy.py#L1724-L1727
I will commit a PR and test once an issue number is assigned

Fixed by #2331 !


WIP: ARIA Updates to Match W3C Recommendations

What:
Follows #283.
This makes downshift follow the recommended approaches listed here:
https://www.w3.org/TR/wai-aria-practices-1.1/examples/combobox/aria1.1pattern/listbox-combo.html

Why:
There are a couple minor violations of the ARIA spec, such as the requirement that an element with a role of textbox (an input element) be a child of the main combobox element. The aria-expanded attributes also belong there instead of on the input.
Additionally, there are some roles (listbox which belongs on the menu, and option which belongs on each item) that are added.

How:
Mostly, this follows existing patterns. I've added a getMenuProps function which is designed to be called once on the element containing the list of items.

Checklist:

[ ] Documentation
[ ] Tests
[ ] Ready to be merged

[ ] Added myself to contributors table

My TODOs and Questions

[ ] Should we update the docs to suggest that getLabelProps is recommended or required? We are now assigning an id to the label element, so it makes more sense to use is instead of providing your own id everywhere. (though, of course, this is still functional).
[ ] Code: I'm not sure how much error handling should be done around mismatched ids. Perhaps we could/should write an assertIdsMatch() function? I'm happy to C&P for now, but wanted to leave this open.
[ ] TESTS 😮
[ ] Add at least one example which uses ul and li

This is definitely a WIP, but I think should be enough to get a feel for how things will look. Please feel free to give me comments / feedback / thoughts.
It's the holidays, so I'm not sure how much extra time I'll have but I should have pretty good access to GitHub/etc. :)

Hey, I'd love some help! I'm also happy to keep discussing options or to let someone push to this branch.
I haven't forgotten this, but I've been super swamped with other projects. (A project I help maintain is migrating cloud service providers and rewritten app, so my time's been vacuumed up.)

That's fine @cycomachead! I can't blame you. It took me forever to review it for you anyway :wink:
Perhaps you could give @mperrotti commit access to your fork and he could continue the work :+1:

Done! :)

Thanks @cycomachead! I'll be able to get on this Sunday or Monday

Any updates here?

Alright! So I had some git trouble and I'm afraid that I had to basically start over (so now I'm the author of the commit, sorry :-( but you're still on the contributor's table!)
I'm feeling pretty good about the changes. If folks could give this a review that would be great!

Codecov Report

Merging #285 into next will not change coverage.
The diff coverage is 100%.

@@         Coverage Diff         @@
##           next   #285   +/-   ##
===================================
  Coverage   100%   100%
===================================
  Files         4      4
  Lines       335    326    -9
  Branches     90     88    -2
===================================
- Hits        335    326    -9

Impacted Files
Coverage Δ

src/utils.js
100% <ø> (ø)
:arrow_up:

src/downshift.js
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Wow, thanks so much for helping see this through! :) Happy to help, and sorry things have been a bit crazy lately. (No worries about the commit history either!)
I gave the latest updates a short read-through and so far everything makes sense. Totally on board with the simplifications that come with removing the extra validation checks.

Thanks so much for your help! I've added you as a collaborator on the project. Please make sure that you review the other/MAINTAINING.md and CONTRIBUTING.md files (specifically the bit about the commit messages and the git hooks) and familiarize yourself with the code of conduct (we're using the contributor covenant). You might also want to watch the repo to be notified when someone files an issue/PR. Please continue to make PRs as you feel the need (you can make your branches directly on the repo rather than your fork if you want). Thanks! And welcome to the team :)

Wow, thanks! I really appreciate that!
I love seeing the code of conduct and the time (and care) that's been put into making a project that's accessible from the contribution side as well its implementation. :)

This is all very helpful @1Copenut! Thank you very much. I've opened a new PR that addresses your suggestions. https://github.com/paypal/downshift/pull/396
Thank you again!

Thanks for your feedback @SiTaggart!


Feedback for "Trial Accounts and Free Tier"

https://help.sap.com/docs/BTP/65de2977205c403bbc107264b8eccf4b/046f127f2a614438b616ccfc575fdb16.html
" allow you to upgrade to paid service plans." depends on the selected service, eg when using Service plan "Free" for Kyma runtime "The upgrade to the paid plan is not yet supported." (see here https://help.sap.com/docs/BTP/65de2977205c403bbc107264b8eccf4b/befe01d5d8864e59bf847fa5a5f3d669.html#free or https://discovery-center.cloud.sap/serviceCatalog/kyma-runtime?region=all&tab=service_plan) So maybe add something like "allow you to upgrade to paid service plans in case this is applicable for the respective service" and then also add a list with all exceptions (like Kyma) ... and ma<be also adapt the section here https://help.sap.com/docs/BTP/65de2977205c403bbc107264b8eccf4b/524e1081d8dc4b0f9d055a6bec383ec3.html#update-to-a-paid-service-plan -> "Once you've reached the limits of the free plan, you can easily upgrade the free service plan to a paid plan. No data or configurations are lost."  so as this is not possible for Kyma runtime - what's the approach / needed steps to move from Free to Paid service plan?

Thank you for your feedback! We’ll look into it and come back to you if we have any questions.

Hi @DavidMitreski5 working on it. I already updated the mentioned documentation (will be published in January), but am currently waiting on feedback to clarify some open questions.

Did receive feedback to open questions, everything looks fine.


Replace bearer_did+key_selector as the mechanism for signing with a Sign type

Currently, in a number of places we follow a pattern such as:
    pub fn sign(
        &self,
        bearer_did: &BearerDid,
        key_selector: &KeySelector,
    ) -> Result<String, CredentialError> {

...for the the calling code to indicate what keys to sign with. Instead, we should replace this bearer_did+key_selector input parameter pattern with a generalized Sign function type.
The bearer_did+key_selector idea is conceptualized as: "here is my bearer DID, which includes a reference to my key manager, and here's the key I want to use to sign, now you handle the actual signing."
This is beneficial in that it places DID's as first-class citizens in out developer experience, but it's also constricting in that we only enable cryptographic signing through the existence of a bearer DID. A guiding principal we embrace in the rust initiative is to prefer modularity over convenience. This is an instance where we have convenience but we need modularity. We will have use cases where we need to support cryptographic signing without the existence of a bearer DID.
It'll likely make the most sense to place this Sign function in the crypto package.
We need to ensure this won't cause our bindings initiative to increase in complexity by an order of magnitude. First things first is to prove how such a paradigm shift would be implemented with UniFFI bindings. UniFFI UDL supports a feature known as callback interfaces, but it appears they may not be considered to be "soft deprecated."

These are described in both UDL and proc-macros as an explicit "callback interface". They are (soft) deprecated, remain now for backwards compatibility, but probably should be avoided.

In which case, perhaps there is a different implementation solution for passing function types as function parameters.

We will have use cases where we need to support cryptographic signing without the existence of a bearer DID

Ya know, I don't know of any concrete use cases for us so this claim is off base? But, if our strategy is to enable with rust and not provide then it's more fitting to decouple cryptography from a DID, because we may have application consumers which need to integrate some OIDC or some VC feature which makes use of private keys which aren't associated to a DID.

+1 to this abstraction

Opened a PR for this, but this design has one unfortunate byproduct https://github.com/TBD54566975/web5-rs/pull/213/files#r1602657995


Hi

Hi Sam
I’m having an issue finding these invalid records. Could you assist perhaps.
Checking Language records
0 records with a empty name field
0 records that are an invalid length for fields [:name] should be <= 20
0 records with a empty abbreviation field
0 records that are not unique per (abbreviation)
0 records that are an invalid length for fields [:abbreviation] should be <= 5
5 records that do not have valid [:abbreviation]
0 records that do not have a valid value for [:default_language], should be [true, false]
Checking Note records
0 records with a empty text field
3 orphaned records due to nil or missing answer
0 orphaned records due to nil or missing user
0 records that do not have a valid value for [:archived], should be [true, false]
Regards
Norman
https://github.com/DMPRoadmap/roadmap/issues/2070#issuecomment-483601670_

Hi
I managed to fix the 3 orphaned records.
The rake task find_invalid_records completes with no problems, but the upgrade V2.0.0_part_1 finds issues with the languages.
Is it safe to continue?

Closing this as from  #2104 it sounds like you got past the problem.
But please post your solution so others who run into similar issues can learn from your progress.


adjusted timing adjustment

(WIP)

This PR re-introduces the problem of exceeding -r.
By changing from delay < 1 to delay < 2 you've made it harder for the problem to occur, but it still happens.
To simulate what will occur when delay drops below 2, artificially reset delay to 0 on the first loop with this diff:
diff --git a/src/send.c b/src/send.c
index 3fa5652..2bf910b 100644
--- a/src/send.c
+++ b/src/send.c
@@ -298,7 +298,7 @@ int send_run(sock_t st, shard_t *s)
        while (1) {
                // Adaptive timing delay
                send_rate = (double)zconf.rate / zconf.senders;
-               if (count && delay > 0) {
+               if (delay > 0) {
                        if (send_rate < slow_rate) {
                                double t = now();
                                double last_rate = (1.0 / (t - last_time));

(This reintroduces the original bug that uncovered the behavior.)
Although this is artificial, you could also recreate it by having a cron or similar that sucks up all CPU usage during a run.
  This is the original bug, except now it occurs when -r is about 3/4 MAX, instead of 1/2 MAX (with delay < 1).

new attempt pushed.

This new attempt has the same problem as the old one. If the multiplier ever goes too low, you can't recover.
To force multiplier low for 1 cycle, I added the following diff:
diff --git a/src/send.c b/src/send.c
index 1f3bcd1..f38a187 100644
--- a/src/send.c
+++ b/src/send.c
@@ -292,6 +292,7 @@ int send_run(sock_t st, shard_t *s)
        }
        int attempts = zconf.num_retries + 1;
        uint32_t idx = 0;
+       uint32_t has_run = 0;
        while (1) {
                // Adaptive timing delay
                send_rate = (double)zconf.rate / zconf.senders;
@@ -320,6 +321,12 @@ int send_run(sock_t st, shard_t *s)
                                                 (t - last_time) /
                                                 (zconf.rate / zconf.senders);
                                        uint32_t old_delay = delay;
+
+                                       if (has_run == 0) {
+                                               multiplier = 0.001;
+                                               has_run = 1;
+                                       }
+
                                        delay *= multiplier;
                                        if (delay == old_delay) {
                                                if (multiplier > 1.0) {

At low rate, this is fine:
$ sudo src/zmap -i eth0 -r 100000 -p XXX > /dev/null
 0:00 0%; send: 40 0 p/s (1.84 Kp/s avg); recv: 0 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hitrate: 0.00%
 0:01 0%; send: 121111 121 Kp/s (119 Kp/s avg); recv: 81 80 p/s (79 p/s avg); drops: 0 p/s (0 p/s avg); hitrate: 0.07%
 0:02 0%; send: 211420 90.3 Kp/s (105 Kp/s avg); recv: 134 52 p/s (66 p/s avg); drops: 0 p/s (0 p/s avg); hitrate: 0.06%
 0:03 0%; send: 311521 100 Kp/s (103 Kp/s avg); recv: 210 75 p/s (69 p/s avg); drops: 0 p/s (0 p/s avg); hitrate: 0.07%
 0:04 0%; send: 410859 99.3 Kp/s (102 Kp/s avg); recv: 284 73 p/s (70 p/s avg); drops: 0 p/s (0 p/s avg); hitrate: 0.07%
 0:05 0% (10h left); send: 502156 91.3 Kp/s (100.0 Kp/s avg); recv: 362 77 p/s (72 p/s avg); drops: 0 p/s (0 p/s avg); hitrate: 0.07%
 0:06 0% (10h left); send: 602032 99.8 Kp/s (99.9 Kp/s avg); recv: 465 102 p/s (77 p/s avg); drops: 0 p/s (0 p/s avg); hitrate: 0.08%
 0:07 0% (10h left); send: 697392 95.3 Kp/s (99.3 Kp/s avg); recv: 543 77 p/s (77 p/s avg); drops: 0 p/s (0 p/s avg); hitrate: 0.08%
 0:08 0% (10h left); send: 792729 95.3 Kp/s (98.8 Kp/s avg); recv: 639 95 p/s (79 p/s avg); drops: 0 p/s (0 p/s avg); hitrate: 0.08%
 0:09 0% (10h left); send: 892775 100 Kp/s (98.9 Kp/s avg); recv: 729 89 p/s (80 p/s avg); drops: 0 p/s (0 p/s avg); hitrate: 0.08%
 0:10 0% (10h left); send: 992659 99.9 Kp/s (99.0 Kp/s avg); recv: 824 94 p/s (82 p/s avg); drops: 0 p/s (0 p/s avg); hitrate: 0.08%

But at a slightly higher rate, this is catastrophic:
$ sudo src/zmap -i eth0 -r 400000 -p XXX > /dev/null
 0:00 0%; send: 13 0 p/s (701 p/s avg); recv: 0 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hitrate: 0.00%
 0:00 0%; send: 73 235 Kp/s (3.88 Kp/s avg); recv: 0 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hitrate: 0.00%
 0:01 0%; send: 906194 906 Kp/s (889 Kp/s avg); recv: 907 906 p/s (889 p/s avg); drops: 0 p/s (0 p/s avg); hitrate: 0.10%
 0:02 0%; send: 1859815 953 Kp/s (921 Kp/s avg); recv: 1728 820 p/s (855 p/s avg); drops: 0 p/s (0 p/s avg); hitrate: 0.09%
 0:03 0%; send: 2813308 953 Kp/s (932 Kp/s avg); recv: 2537 808 p/s (840 p/s avg); drops: 0 p/s (0 p/s avg); hitrate: 0.09%
 0:04 0%; send: 3765448 952 Kp/s (937 Kp/s avg); recv: 3322 784 p/s (826 p/s avg); drops: 0 p/s (0 p/s avg); hitrate: 0.09%
 0:05 0% (1h05m left); send: 4704393 939 Kp/s (937 Kp/s avg); recv: 4129 806 p/s (822 p/s avg); drops: 0 p/s (0 p/s avg); hitrate: 0.09%
 0:06 0% (1h06m left); send: 5614391 910 Kp/s (933 Kp/s avg); recv: 4877 747 p/s (810 p/s avg); drops: 0 p/s (0 p/s avg); hitrate: 0.09%

Is there anything I can do to help with this bug?

I think this is squarely in our court. We're all just a bit overloaded at the moment.
Are you blocked on this? I'd hope up'ing the threads resolved your issue?

@paul-pearce I wouldn't say blocked, but from what I recall of the several issues and PRs is that zmap still exceeds its configured rate/bandwidth scenarios which we seem adept at hitting ;).  I'll give current master and maybe this PR another test and see what I can find to refresh my memory of the state of things.


Balance concept recognition performance with document throughput using CRFs

The problem
Although the performance of the initially proposed concept recognition system (based on the use of two BERT models) is state of the art, its runtime has proven to be too slow for practical use currently. An alternative is to use dictionary-based lookup concept recognition systems which are considerably faster, however their performances typically suffer with regards to precision. Finding a middle ground system that can scale with regards to document throughput (i.e. is faster than the originally proposed state-of-the-art system), but achieves higher performance (especially in regards to precision) than the baseline dictionary-based lookup concept recognition systems could serve as a stop-gap while efforts are made to improve the runtime of the initially proposed state-of-the-art system.
The proposed solution
Explore the use of a Conditional Random Fields post-processing module to improve the precision of the OGER dictionary-based concept recognition system, while limiting recall loss.

This approach proved successful during Segment I. Closing for now.


Ratchet doesnt work if PCs behind the proxies

Hi guys! It seems that ratchet doesnt work if PCs behind the proxies? Al mobile GSM operators 3G/4G work via proxy. And it seems that on mobiles we cannot use Ratchet?  I am  even now currently trying to run demo on socketme.so from the LAN behind local proxy and it doesnt work. It generates the same error - cannot connect via the proxy. In the attachments - printscreen with the error in the latest Google Chrome browser

The proxy you are using probably doesn't support or allow WebSockets. There is nothing Ratchet can do if your proxy is blocking my server.  ;)


Last test at end shouldn't return true?

The last test says: palindrome("0_0 (: /-\ :) 0-0") should return true.
But "_" is not the same as "-", so shouldn't this test return false?
Challenge Bonfire: Check for Palindromes has an issue.
User Agent is: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:
function palindrome(str) {
  if (str.toLowerCase().replace(/\W/g, '') == str.toLowerCase().replace(/\W/g, '').split('').reverse().join('')) {
    return true;
  }
  else {
    return false;
  }
}

palindrome("eye");

This challenge asks that you remove all punctuation and whitespace, so the only characters left in that string after you do so should be 0000, which would be a palindrome.
Closing this as not an issue with the test, but please feel free to reply if you need further clarification.
Thanks and happy coding!


Change url based on environemtn

Description
I think this is just a documentation issue; what I'm trying to do appears to be possible, but I can't seem to get it working.
I'm using dynamdb-local via docker throughout my test suite. On my laptop, dynamodb is available at http://localhost:8080; in my CI environemnt, dynamodb is available at http://dynamodb:8000, which is set via an CI-wide environment variable, AWS_ENDPOINT. All of the code under test reads AWS_ENDPOINT to determine what to talk to and, as a result, the recordings made locally don't match up with the urls that are requested in CI.
It seems like I should able to use config.url.hostname() and config.url.port() to work around this mismatch, but so far, I haven't been able to find any combination that actually works.
Is this something that should be possible?
If so, could you provide more specific documentation on how to use the url config to solve this kind of situation?
Error Message & Stack Trace
COPY THE ERROR MESSAGE, INCLUDING STACK TRACE HERE

Config
Copy the config used to setup the Polly instance:
      url: {
        hostname(hostname, req) {
          if (hostname === 'dynamodb') {
            return 'localhost';
          }
          return hostname;
        },
        port(port, req) {
          if (Number(port) === 8000) {
            return 8080;
          }
          return port;
        },
      },

Dependencies
Copy the @pollyjs dependencies from package.json:
{
    "@pollyjs/adapter-node-http": "^4.2.1",
    "@pollyjs/core": "^4.2.1",
    "@pollyjs/persister-fs": "^4.2.1",
}

Environment
Node.js v12.16.1
darwin 19.4.0
6.13.4
zsh: command not found: yarn

@ianwremmel your configuration looks correct. When you turn on logging, you should be able to see the identifiers object for each request that the id gets generated from. Does it look right for both environments?

Sorry for the slow response here. it's taken a while to get back to the project. I hope to have an answer for you soonish.

I think I know what happened here. I haven't been able to test in that project yet, but I ran into a similar issue adding polly to a new project. In the new project, I've only used polly locally so far, but it kept failing to match. I'm using supertest and an express app, so I was getting a new port on every test running, thus preventing matches.
I tried
url: {
  port: false,
},

but the problem continued. I had to add
headers: {
  exclude ['host']
}

to get things working. I'm guessing I was running into a similar issue with the dynamodb/localhost situation: even though I was adjusting the hostname polly was using, the host header still ended up in the identifiers list with localhost instead of dynamodb.

Thanks for following up. Im gonna go ahead and close this issue. Feel free to reopen if you're still having issues.


Ignore 404 error from old engine versions

Ignore 404 error. Also remove trailing white spaces from error, including new lines.
Fix #1727.
Signed-off-by: Dong Chen<EMAIL_ADDRESS>

LGTM

Error message from node info is for CLI user. Most error messages are not self-contained, i.e., they are not clear without request info. #1724 error 404 page not found is actually for some specific commands like docker network ls as Engine 1.6.2 doesn't support it. Another example, vm7 runs docker engine 1.6.2 and returns error 500 Internal Server Error: image ID '' is invalid from docker run hello-world. Without the context (version, command) the error message would confuse user. I think it better to record only selected errors, and ignore others.
 vm7: xxx.xxx.xxx.xxx:4444
  └ Status: Healthy
  └ Containers: 0
  └ Reserved CPUs: 0 / 2
  └ Reserved Memory: 0 B / 4.053 GiB
  └ Labels: executiondriver=native-0.2, kernelversion=3.19.0-25-generic, operatingsystem=Ubuntu 14.04.3 LTS, storagedriver=aufs
  └ Error: 500 Internal Server Error: image ID '' is invalid
  └ UpdatedAt: 2016-02-02T04:43:19Z

LGTM.
@dongluochen can you explain what you mean by #1724 error?
Also, in general, I'm concerned that we don't handle API versions very well in Swarm, and they have little to do with API updates in Engine. We should fix that in general, which might help with further issues like this.

@nishanttotla It was my typo in previous message. I meant errors similar to #1727.

LGTM


Error in Date picker

04-25 11:24:28.154  7869 15484 I python  :    File "/content/.buildozer/android/app/main.py", line 16, in
04-25 11:24:28.154  7869 15484 I python  :    File "/content/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/myapp5/armeabi-v7a/kivymd/uix/pickers/init.py", line 3, in
04-25 11:24:28.154  7869 15484 I python  :    File "/content/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/myapp5/armeabi-v7a/kivymd/uix/pickers/timepicker/init.py", line 1, in
04-25 11:24:28.154  7869 15484 I python  :    File "/content/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/myapp5/armeabi-v7a/kivymd/uix/pickers/timepicker/timepicker.py", line 253, in
04-25 11:24:28.154  7869 15484 I python  :    File "/content/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/myapp5/armeabi-v7a/kivymd/uix/pickers/timepicker/timepicker.py", line 278, in TimeInput
04-25 11:24:28.154  7869 15484 I python  :  TypeError: 'type' object is not subscriptable
Trying to import the MDdatepicker but again and again it is leading to errors in android device.Tried both //from kivymd.uix.pickers import MDDatePicker and //from kivymd.uix.picker import MDDatePicker both are leading to errors
Versions

OS: Android
Python: 3.9
Kivy: 2.0.0
KivyMD: https://github.com/kivymd/KivyMD/archive/master.zip used this in buildozer as well.

Type hint used is from python 3.9. buildozer use v3.8.5

I get the same issue, please help.

I was able to solve the issue by creating a seperate kivymd folder which just datepicker files  and calling it seperately in python code, did work after this if you have any other issues you can ask me.

Thanks, it work for me.


Export SVCB map

The mappings of the numeric SVCB key values to strings are exported, under names
consistent with the already existing exported mappings, to make it easier for
the clients of the module to validate and print SVCB keys.
Split off from #1359.

I think this requires somewhat stronger than:

to make it easier for the clients of the module to validate and print SVCB keys.

Not sure what that would be, but making something public as a high cost

@miekg, the original reason for this PR is to be able to properly construct an SVCBMandatory from text representation of the keys.  That is, receiving something like alpn=h2 mandatory=alpn and being able to do something like:
// keyStr = "alpn"
code, ok := dns.StringToSVCBKey[keyStr]
if !ok {
        return nil, fmt.Errorf("unsupported svcb key %q", keyStr)
}

return &dns.SVCBMandatory{
        Code: []dns.SVCBKey{code},
}, nil

Currently, we have to maintain a copy of that map in AdGuard Home, which obviously leads to issues of having to update the map whenever a draft is updated or a new key is proposed.
An alternative and more minimal API change to solve the same issue would be to export svcbStringToKey, although that would still leave those two maps pretty much the only ones of their kind to be unexported.

Not sure what that would be, but making something public as a high cost

Not strictly related to this particular PR, but... what is the cost for making something public?
We've got a significant amount of code from this library copied into other codebases because we need the functionality. For example, lots of the APL parsing is inaccessible. I was going to open a ticket to make various stuff public, but I wasn't sure if y'all would be open to the idea.

anything that has a public interface can't be changed anymore - unless we're doing a v2, but noone is working on that. So once in the open it's basically set in stone - see discussion on the TSIG stuff for example.
OTOH if (enough) user want functions to be opened up, we can always discuss that, problem is getting the API right (although for super new stuff we sometimes made some backwards incompatible changes).
OTOH OTOH copying code is fine as well.
TL;DR: it depends

I thought it was already an RFC, but no: https://datatracker.ietf.org/doc/html/draft-ietf-dnsop-svcb-https-08
Then you're not too late for suggesting changes. Please do.

@miekg, I assume that you closing this PR means that exporting svcbStringToKey, like I proposed in my latest comment, is also out of the question for now?


Fix for encounters that end after death

This change addresses issue #735.
Procedures with duration add time to the end of an encounter. That pushes the end of the encounter beyond the current time step. If an encounter is ended and followed by a death state, the time of death is set to the current time step. This means that the death will happen before the encounter is closed.
This PR changes the Death state to look at the end time of the last encounter. If that happens, it will push the time back to the end of the encounter.

As I look at this -- would it make more sense for the Procedure state with a duration to be handled like a Delay state? I would have expected the time for the procedure to already be accounted for once the Procedure state was finished processing. I see it isn't though, hence the adding in the EncounterEnd state.

@dehall Overall, that's a better approach. The fix will likely be more invasive though. I guess we can discuss as a team if we want to invest in that.

This shouldn't have any impact on the DeathModule right? I'm seeing a lot of instances where the death certification is ~12 days after death, which seems unusually high. But I'll try it again in master to see if that's new.
I know at one point we had talked about how long after death the Death Certification / cause of death would be reported, but I don't remember the details of that discussion.

Seems like that's also happening on master so this looks good.
Aside - is COVID19 the only module where people die during an encounter?

@dehall Death certification does happen later, but I figure that it is fine and probably similar to the real world.
Right now, I believe that the COVID-19 module is the only place where someone will die before the end of an encounter, at least in a noticeable way. The thing about the COVID-19 module is that there is a loop in the ICU where people can have a dialysis procedure for 2 - 4 hours a day. Since patients can be in the ICU for a while, this would add up and push the encounter end over 24 hours past the time of death, where it really becomes noticeable.
This change is more likely to clean up minor issues with other modules. Things that happen following an encounter with a procedure would overlap the encounter before. Now, since they are treated like a delay, they will no longer overlap.


[༺ EventEngine ༻] Specify requirements for Run* immediate execution

Also adds test suite tests that may catch non-conforming implementations (Run called ~3200 times in case it's non-deterministic).

Regarding the test failures: The posix implementation complies with the spec, but the 1-second delay in thread startup under backlog, along with a race that rarely makes the thread pool stuck when no new work is being added, is causing the test to time out in 5% of runs, more so on constrained systems. Watering the tests down (10 concurrent runs, 10 iterations) was not sufficient to resolve the issues completely. I've got fixes for both issues coming with the work stealing changes, but for now I've disabled the tests. Let's land the documentation changes and work on the tests/implementations separately.
Also TODO: implement XFAIL without googletest support. It would be a better solution than disabling these for everyone.

I am deeply disappointed that "[༺ EventEngine ༻]" did not become the new official EventEngine PR tag.


Matlab cleanup

Matlab wrapper file should select WSL or not dependent on os
TOAST++ wrapper function
Stl2Inr should cope with multiple stls

Fixed, Toast++ is simple and given in example


dwGlobalVarsvar

Hi,
I've been working with the cs2-dumper project, and I noticed that the offset 0x1B8 in the address dwGlobalVarsvar + 0x1B8 is used to read the map name. However, I couldn't find this specific offset in the client_dll.json file.
Could you please add the dwGlobalVarsvar variable to the offsets in your project? It would be very helpful for my work.
Thank you for your great project and your assistance!

are you good? please take a look at offsets.hpp lmao

are you good? please take a look at offsets.hpp lmao你好吗？请查看 offsets.hpp lmao

Hi,
I noticed that the offset for dwGlobalVars is available in offsets.hpp, but the sub-offsets within GlobalVars are not shown in clientdll.hpp. For example, dwGameRules is listed in offsets.hpp, and in clientdll.hpp we have sub-addresses under GameRules namespace C_CSGameRules such as m_bGameRestart which indicates whether the game has restarted.
I would like to know if there are any sub-offsets for dwGlobalVars in clientdll.hpp that can provide the MapName variable.
I might be missing something as I am new to reverse engineering, but I appreciate your help and thank you for the great project.

you could literally open cs take the offset open ce attach and jump to the address and look at the struct yourself and take as a reference the csgo global vars struct which is widly available in a lot of repos.
you might be able to use a schema dumper where im not sure if the globalvars are dumped there as well

you could literally open cs take the offset open ce attach and jump to the address and look at the struct yourself and take as a reference the csgo global vars struct which is widly available in a lot of repos.你可以从字面上打开 CS，获取偏移量，打开 CE，附加并跳转到地址，自己查看结构体，并以 CSGO 全局变量结构体作为参考，该结构体在很多存储库中都很容易获得。 you might be able to use a schema dumper where im not sure if the globalvars are dumped there as well您可能可以使用架构转储器，我不确定 Globalvar 是否也在那里转储
edit: your map name should exist at 0x180 or 0x188编辑：您的地图名称应存在于0x180或0x188

Thank you for clarifying my doubts. I really appreciate your help, which has allowed me to take another step forward in my learning journey.


Sianxke 407

Builds on #12

Adds pre-commit configuration and pipeline checks
Re-formats everything

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 80.00000% with 1 line in your changes missing coverage. Please review.

Project coverage is 64.15%. Comparing base (358ccfb) to head (9d91684).

Files with missing lines
Patch %
Lines

django_cleanhtmlfield/fields.py
50.00%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #13      +/-   ##
==========================================
+ Coverage   63.80%   64.15%   +0.34%
==========================================
  Files           2        2
  Lines         105      106       +1
==========================================
+ Hits           67       68       +1
  Misses         38       38

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


contributor: manage comms / yTranslations

Scope
Yearn needs to make it through this bear market. Dead or inactive communications channels would not send the correct message. We should make sure that communications and content are still being produced and visible.
I had previously contributed to the publication and maintenance of The Vaults at Yearn, and now work on the yearn-comms repo / blog.yearn.finance. I review translations and add English content to the blog while working with the yTranslations team.
This request will allow me to continue my work developing the blog, maintaining it and its translations, and leading the yTranslations team.
Plan
I will:

maintain the comms repo (blog.yearn.finance), review, edit, and publish content in English and various translations (~100 PR reviews/month)
continue to develop the blog product (designing and adding features)
manage, consolidate, and lead the yTranslations team (12-20 contributors)
manage and control the distribution of funds to yTranslations
help proofread and review articles, helping with comms and marketing.

Deadline
This grant is for 3 months, finishing end of August
People
I am asking for a personal grant, to work on the blog/comms product. This is a cross-group product, that needs coordination between the yTranslations team, the marketing/content team, and front-end development (@Majorfi ).
Money
I have been compensated through Coordinape since Epoch 1,
With the Community circle halted, I am requesting this grant
For reference, below are my compensation details for the past 3 epochs on Coordinape (Community Circle):

Epoch 16: received 171 / total 6353 GIVEs = 2.70%
Epoch 15: received 191 / total 6337 GIVEs = 3.01%
Epoch 14: received 199 / total 6945 GIVEs = 2.87%

I would like to request a grant of 2,000 DAI / month, for 3 months, subject to extension.
Amount
6,000 DAI
Wallet address
0x3D935C7bf3Ec8891C17b074b841d940264f073c5
Reporting

[X] I agree to post weekly updates

I support this proposal. @qosmonot has done a great job so far contributing to and helping with the translation team and the blog in general. He helped create blog.yearn.finance and has been helping to maintain it as well.

Qosmonot is a hard-working and proactive project manager that we shouldn't let go, I support this proposal and to continue to have great professionals onboard.

@milkyklim Agreed, I have adjusted the proposal from 6,000 DAI across 3 months to 3,000 DAI.


Select Field, Date Input Field - keypress "Tab" focuses a random item on a screen

Basic information

Tiller version: 1.7.4.

Module:

Formik-elements  / Select Field (https://croz-ltd.github.io/tiller/?path=/docs/component-library-formik-elements-selectfield--select-field-factory)
Formik-elements / DateInputField (https://croz-ltd.github.io/tiller/?path=/docs/component-library-formik-elements-dateinputfield--with-label)
Bug description
After choosing an option from the select field or a date from a date field and after they both close, after keyboard "tab" press, the focus goes on a random item at the beginning of the screen.
Steps to reproduce
Step 1: Open select field // Date Input Field
Step 2: Pick an item // Select a date
Step 3: System closes the Select Field // System closes date select
Step 4: Press "Tab" on keyboard
Expected behavior
On keyboard "Tab press" system should focus the first next item.
Actual behavior
On keyboard "Tab press" system focuses an item at the beginning of the screen.

The forthcoming update will address the current issue, and there are ongoing plans to enhance form accessibility. This includes optimizing the fluidity and consistency of navigating between form elements using the tab key.
The issue will remain open, serving as a focal point for incorporating these improvements in future updates.


[v2 prep]: Create a list of components for deprecation and consolidation

User story
We need to create a list of components that we plan to deprecate and consolidate/merge together in v2
Additional information

Create a list in airtable
Review with the team
Identify breaking change?

Acceptance criteria

[ ] List is agreed upon by Dev & Design

We will review component by component in team Huddle and dedicated meeting for v2 component review


Bulk Access Control Management (Wildcard / Advanced Policy Manager)

From release plan spreadsheet
Estimate from release plan: 48 hours
Expressing interest: none
This is the "Wildcard/Advanced Item Policy tool" in v6.x.

Video demo
Example of how to use: https://wiki.lyrasis.org/display/DSpaceDirectKB/Getting+Started+How-To#GettingStartedHowTo-Bulk/BatchPermissionsChanges(Advanced)

Related backend ticket: https://github.com/DSpace/DSpace/issues/2848

Hi @tdonohue  we (4Science) are interested in this task. We have already done an initial internal analysis and we would like to get assigned of it. We confirm the original estimation of 48 hours

As discussed in today's DevMtg, I'll assign this to your team.  As mentioned today, we all feel this feature needs to be simplified based on the 6.x use cases for this feature.
Known Use Cases include: (Neither of these are currently possible in 7.5)

Access restricting (or giving access to) all Items in a Collection,
Access restricting/embargoing (or giving access to) all Bitstreams of all Items in a Collection.
Replace all polices or append to existing policies in either use case

These 3 use cases should be met by the new feature.
As you mentioned in today's meeting, 4Science wanted to add one additional feature (donated work):

Ability to easily modify all policies within a single Item to access restrict (or give access to) all Bitstreams in a single Item. This might be similar to the "access settings" in Submission or Workflow, rather than requiring direct modifications of Resource Policies.

Finally, we discussed that this work should be mocked up / designed and discussed further in 2 weeks (March 9 meeting), so that we can all come to a consensus on the plan for 7.6


TRXLooper: reduce spinlocking

Changed

Removed spinlocks in TRXLooper and replaced them with condition variables

Did you test?
Attempting to stop Tx stream freezes application.


Remove deprecated language from README

mapUsers and mapRoles has not been deprecated and this language is confusing to users.

/lgtm


Agario Server init key changed...?

Agario changed the server init_key, here is the new one: 154669603
it is necessary to update it or the servers will reject you

fixed in #115

Close.


feat(amplify-category-api): @auth template for examples

Adding @auth template for examples based on default auth
Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Cognito User Pools Todo
type Todo @model
/# Uncomment below to enable authentication by group
/#   @auth(rules: [
/#    { allow: owner, ownerField: "editors", operations: [update] },
/#    # Admin users can access any operation.
/#    { allow: groups, groups: ["Admin"] }
/#])
   {
  id: ID!
  name: String!
  description: String
}

Cognito User Pools Many to Many
type Blog @model
# Uncomment below to enable authentication by group
#   @auth(#   rules: [#     {allow: groups, groups: ["admin"], operations: [create, update, delete, read]},#   ])
 {
  id: ID!
  name: String!
  posts: [Post] @connection(keyName: "byBlog", fields: ["id"])
}

type Post @model @key(name: "byBlog", fields: ["blogID"]) {
  id: ID!
  title: String!
  blogID: ID!
  blog: Blog @connection(fields: ["blogID"])
  comments: [Comment] @connection(keyName: "byPost", fields: ["id"])
}

type Comment @model @key(name: "byPost", fields: ["postID", "content"]) # Uncomment below to enable authentication by group and only let users comment
#   @auth(#   rules: [#     {allow}
#     {allow: groups, groups: ["users"], operations: [create, update, read]},#   ])
{
  id: ID!
  postID: ID!
  post: Post @connection(fields: ["postID"])
  content: String!
}

IAM Todo
type Todo @model
#  Uncomment below to enable IAM based authentication
#   @auth (
#     rules: [
#       { allow: private, provider: iam, operations: [read] }
#     ]
#   )
 {
  id: ID!
  name: String!
  description: String
}

IAM One to Many

type Blog @model
#  @auth(rules: [{allow: public, provider: iam, operations:[read]}]
 {
  id: ID!
  name: String!
  posts: [Post] @connection(keyName: "byBlog", fields: ["id"])
}

type Post @model @key(name: "byBlog", fields: ["blogID"]) {
  id: ID!
  title: String!
  blogID: ID!
  blog: Blog @connection(fields: ["blogID"])
  comments: [Comment] @connection(keyName: "byPost", fields: ["id"])
}

type Comment @model @key(name: "byPost", fields: ["postID", "content"])
#  @auth(rules: [{allow: public, provider: iam, operations:[read]}]
{
  id: ID!
  postID: ID!
  post: Post @connection(fields: ["postID"])
  content: String!
}

OIDC Todo
type Todo @model # Uncomment to enable private authorization with provider as oidc
#  @auth(rules: [{allow: private, provider: oidc}])
   {
  id: ID!
  name: String!
  description: String
}

OIDC One To Many
type Blog @model
#  @auth(rules: [{allow: public, provider: oidc, operations:[read]}]
 {
  id: ID!
  name: String!
  posts: [Post] @connection(keyName: "byBlog", fields: ["id"])
}

type Post @model @key(name: "byBlog", fields: ["blogID"]) {
  id: ID!
  title: String!
  blogID: ID!
  blog: Blog @connection(fields: ["blogID"])
  comments: [Comment] @connection(keyName: "byPost", fields: ["id"])
}

type Comment @model @key(name: "byPost", fields: ["postID", "content"])
#  @auth(rules: [{allow: public, provider: oidc, operations:[read]}]
{
  id: ID!
  postID: ID!
  post: Post @connection(fields: ["postID"])
  content: String!
}


[relay] Implement identity function

This implements the identity function by using components to represent Relay functions. It also provides .expect for FuTIL output and .data output.
Note: There is still some hardcoding here, I'll fix this up with time / as a more rigid design unravels.
I'm not going to worry about const function yet, which is just fn () -> const. Once I run into the case where this is necessary, I'll come back to it. Instead, my next focus is going to be implementing the Relay binary operations.
Edit: I noticed there's some old edits in some of the .expect files, apologies for this. The only passing .expect is identity.

Looks good. Can you update the README if there are any changes in how to run the relay compiler?

Looks good. Can you update the README if there are any changes in how to run the relay compiler?

Done. Added another file for some util functions as well, which will get organized as time goes on.


server error in getting gene list

Hello!
I encountered the following error when running
geneList = PyWGCNA.getGeneList(dataset='mmusculus_gene_ensembl',
attributes=['ensembl_gene_id',
'external_gene_name',
'gene_biotype'])
Traceback (most recent call last):
File "/users/kkathuri/nscripts/python/runWGCNA.v2.py", line 55, in
'gene_biotype'])
File "/users/kkathuri/.local/lib/python3.7/site-packages/PyWGCNA/utils.py", line 97, in getGeneList
server = biomart.BiomartServer('http://uswest.ensembl.org/biomart')
File "/users/kkathuri/.local/lib/python3.7/site-packages/biomart/server.py", line 27, in init
self.assert_alive()
File "/users/kkathuri/.local/lib/python3.7/site-packages/biomart/server.py", line 48, in assert_alive
self.get_request()
File "/users/kkathuri/.local/lib/python3.7/site-packages/biomart/server.py", line 104, in get_request
r.raise_for_status()
File "/jhpce/shared/jhpce/core/python/3.7.3/lib/python3.7/site-packages/requests/models.py", line 943, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 503 Server Error: Service Temporarily Unavailable for url: http://uswest.ensembl.org/biomart/martservice
Should I just keep trying or is there a different work-around?
Thank you!
Best,
Kunal

Hi,
I don't think so you have the latest version of the PyWGCNA. it should be fixed in the new version.
Also, keep in mind that this function tries to get the table that map gene ensembl id to gene name using biomart website which might be down sometimes.
In the new version of package, you can define which domain you want to use. please look at the API documentation for more info.

Oh okay. I cloned the repository perhaps a week or so ago and did a pip install on the directory. Has there been an update subsequently?

which version do you have? the latest one is 1.2.4.
The main reason I believe you don't have the latest version is that the default server domain is this but the one shown in your error is this which is not available right now as well.

Thank you. I am using 1.2.4 now on Python3.8 and will reopen this if necessary. Appreciate the quick responses.


added maven filter

re: https://github.com/una/CSSgram/issues/127

Hey do you mind also taking a screenshot of the /test page with all of these PRs?

Yep, I'll get those up attached ASAP :)

Updated PR comment with visual.

Awesome, going to merge this in! :)


Update GH actions to publish to PyPI

Is your feature request related to a problem? Please describe.
Currently SDK and schemas packages are not published to PyPI.
Describe the solution you'd like
The GH action https://github.com/mozilla-ai/lumigator/blob/main/.github/workflows/build_and_push_sdk_packages.yaml should post to PyPI instead of Test PyPI.
Describe alternatives you've considered
N/A
Additional context
The versioning mechanism must be in place before posting to PyPI.

I modified the existent actions to be executed by the creation of a tag, and added more conditionals in order to decide which tags we use in each scenario: tag, merge to main, create a PR, etc. TL,DR: When we create a tag, we tag the BE and FE images with that value, and we create a package for the SDK.

Next Monday we will move from test-PyPI to PyPI (with a new PR).


fix: remove extra fields

:tada: This PR is included in version 1.0.10 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


xCluster: Uses pre-processing instructor #pragma in the schema.mof

Details of the scenario you tried and the problem that is occurring:
xCluster  resource uses pre-processing instructor #pragma in the schema.mof which is not normally used in schema.mof.
See here; https://github.com/PowerShell/xFailOverCluster/blob/dev/DSCResources/MSFT_xCluster/MSFT_xCluster.schema.mof
If this is not necessary is should be removed.
The DSC configuration that is using the resource (as detailed as possible):
n/a
Version of the Operating System and PowerShell the DSC Target Node is running:
n/a
Version of the DSC module you're using, or 'dev' if you're using current dev branch:
Dev

@bgelens or @RichardSiddaway do you now what this #pragma is used for?


Movement keys broken

Shouldn't be a personal issue. The newest version without any fixes to the code causes your Forward and Backwards keys to not work. They work when binding, typing in chat etc. This also happened to my friends and not just me. Also not an injector problem since I used 4 different ones.

I just redownloaded nSkinz and I dont have the issue you talk about.


ActivePeers on Node 8.0.0 (P2P-Mode) getting lower over time

Upgraded normally from cardano-node 1.35.7 to cardano-node 8.0.0 on one of my Mainnet-Relais.
The P2P-Settings in the config.json are:
"EnableP2P": true,
  "TargetNumberOfActivePeers": 30,
  "TargetNumberOfEstablishedPeers": 50,
  "TargetNumberOfKnownPeers": 100,
  "TargetNumberOfRootPeers": 100,
  "TraceAcceptPolicy": true,
  "TraceInboundGovernor": true,
  "TraceLedgerPeers": true,
  "TraceLocalRootPeers": true,
  "TraceConnectionManager": true,

After a fresh start, the node gets 30 active peers, all seems normal. But after a few minutes and over the following hours, the number of active peers is reduced one by one. Sent some logs to @coot and @karknu, looks like the node did not start to demote the peers in case an active one gets decreased.
From the logs:
2023-05-16T06:09:05.20Z Normal Churn starts
2023-05-16T06:09:05.20Z targetActivePeers is decreased from 30 to 24
2023-05-16T06:09:06.20Z targetActivePeers increased to 30 , no demotion of hot peers has started
2023-05-16T06:09:07.21Z targetEstablishedPeers is decreased to from 50 to 40
                        targetKnownPeers is decreased from 100 to 80
            targetRootPeers is decreased from 100 to 80
2023-05-16T06:09:07.21Z 20 warm peers are picked for demotion, actualEstablished=100 and targetEstablished=40
2023-05-16T06:11:08.20Z Churn Done
2023-05-16T06:11:08.21Z targetEstablished is increased to 50
                        targetKnownPeers is increased to 100
            targetRootPeers is increased to 100
2023-05-16T06:11:08.21Z 20 cold peers are picked for promotion

Karl: The governor has 1s to detect the decrease in targetActivePeers and start to demote them.
It is apparently busy with other things so the churn doesn't happen.

The machine is a decent one with 12 cores, also did some tests with only the node running. Its chillin all the time.
Test was done with a self-compiled cardano-node binary and also with the pre-built binary from the 8.0.0 release.
Will repeat a test with only 20 targetActivePeers and also Karl sent me a special commit to try out. Such an issue did not happen with node 1.35.7. For a test i reverted the node back to 1.35.7 and the connections were stable.
Best regards,
Martin

These are the stat after around 13,5 hours of uptime with the special commit from @karknu. The activePeers are down again from 30 to 24, will let it run to collect more log data:
$ curl -s http://<IP_ADDRESS>:12798/metrics | grep cardano_node | sort
cardano_node_metrics_blockfetchclient_blockdelay_cdfFive 1.0
cardano_node_metrics_blockfetchclient_blockdelay_cdfOne 0.9768518518518519
cardano_node_metrics_blockfetchclient_blockdelay_cdfThree 0.9953703703703703
cardano_node_metrics_blockfetchclient_blockdelay_s 0.181514782
cardano_node_metrics_blockfetchclient_blocksize 40694
cardano_node_metrics_blockfetchclient_lateblocks 9
cardano_node_metrics_blockNum_int 8796812
cardano_node_metrics_connectionManager_duplexConns 53
cardano_node_metrics_connectionManager_incomingConns 145
cardano_node_metrics_connectionManager_outgoingConns 112
cardano_node_metrics_connectionManager_prunableConns 0
cardano_node_metrics_connectionManager_unidirectionalConns 204
cardano_node_metrics_density_real 4.980630879911455e-2
cardano_node_metrics_epoch_int 412
cardano_node_metrics_forks_int 28
cardano_node_metrics_inboundGovernor_cold 3
cardano_node_metrics_inboundGovernor_hot 95
cardano_node_metrics_inboundGovernor_idle 0
cardano_node_metrics_inboundGovernor_warm 50
cardano_node_metrics_Mem_resident_int<PHONE_NUMBER>2
cardano_node_metrics_nodeStartTime_int<PHONE_NUMBER>
cardano_node_metrics_peers_connectedPeers_int 24
cardano_node_metrics_peerSelection_cold 3
cardano_node_metrics_peerSelection_hot 24
cardano_node_metrics_peerSelection_warm 88
cardano_node_metrics_RTS_gcHeapBytes_int<PHONE_NUMBER>6
cardano_node_metrics_RTS_gcLiveBytes_int<PHONE_NUMBER>
cardano_node_metrics_RTS_gcMajorNum_int 35
cardano_node_metrics_RTS_gcMinorNum_int 33936
cardano_node_metrics_RTS_gcticks_int 350887
cardano_node_metrics_RTS_mutticks_int 283682
cardano_node_metrics_served_block_count_int 19699
cardano_node_metrics_served_block_latest_count_int 17784
cardano_node_metrics_served_header_counter_int 389076
cardano_node_metrics_slotInEpoch_int 381032
cardano_node_metrics_slotNum_int 93001832
cardano_node_metrics_Stat_cputicks_int 634570
cardano_node_metrics_Stat_threads_int 24

Will do another test with the release version of the node and a TargetNumberOfActivePeers set to 20. However, i have already 9 localRoots, so only 11 external slots left than.

ok, what i did:

pulled a fresh database snapshot from csnapshots.io
removed the entries for

"TargetNumberOfActivePeers": 30,
"TargetNumberOfEstablishedPeers": 50,
"TargetNumberOfKnownPeers": 100,
"TargetNumberOfRootPeers": 100,

from the config.json

removed the 2nd section in the localRoots in the topology.json (the leftover are just 9 entries for the localRoots with a valency set to 9)

current state after around 5hours uptime, 20 peers active like it should with the release version of node 8.0.0.
i will now start to reintroduce the config.json paramters and also re-add the 2nd section in the localRoots topology.json. something must make the node angry.

@karknu's patch which might help: https://github.com/karknu/ouroboros-network/commit/63179fe18388bf71cc8142928b493d075dd08c50

@coot @karknu So, as pointed out above, the "special Karl patch" did not help. BUT, i think i found the problem.
I reintroduced the parameters
"TargetNumberOfActivePeers": 30,
"TargetNumberOfEstablishedPeers": 50,
"TargetNumberOfKnownPeers": 100,
"TargetNumberOfRootPeers": 100,

into the config.json and restarted the node. After 12 hours of uptime it was stable with 30 peers active.
Only thing left to test was the topology file, and there we go. If i use a "normal" p2p topology file in the format:
{
  "localRoots": [
      { "accessPoints": [
                { "name": "xxxx", "address": "x.x.x.x", "port": 3001 },
                { "name": "xxxx", "address": "x.x.x.x", "port": 3002 },
                { "name": "xxxx", "address": "x.x.x.x", "port": 3003 },
                { "name": "xxxx", "address": "x.x.x.x", "port": 3004 },
                { "name": "yyyy", "address": "y.y.y.y", "port": 3005 },
                { "name": "Local-Backup-1", "address": "<IP_ADDRESS>", "port": 1001 },
                { "name": "Local-Backup-2", "address": "<IP_ADDRESS>", "port": 1002 },
                { "name": "Local-Backup-3", "address": "<IP_ADDRESS>", "port": 1003 },
                { "name": "Local-Backup-4", "address": "<IP_ADDRESS>", "port": 1004 }
        ],
        "advertise": false,
        "valency": 9
      }
  ],
  "publicRoots": [
    { "accessPoints": [
                { "address": "relays-new.cardano-mainnet.iohk.io", "port": 3001 }
        ],
      "advertise": false
    }
  ],
  "useLedgerAfterSlot": 85366187
}

all is good. Stable active peers after hours of uptime.
BUT when i introduce a second part into the localRoots section like:
{
  "localRoots": [
      { "accessPoints": [
                { "name": "xxxx", "address": "x.x.x.x", "port": 3001 },
                { "name": "xxxx", "address": "x.x.x.x", "port": 3002 },
                { "name": "xxxx", "address": "x.x.x.x", "port": 3003 },
                { "name": "xxxx", "address": "x.x.x.x", "port": 3004 },
                { "name": "yyyy", "address": "y.y.y.y", "port": 3005 },
                { "name": "Local-Backup-1", "address": "<IP_ADDRESS>", "port": 1001 },
                { "name": "Local-Backup-2", "address": "<IP_ADDRESS>", "port": 1002 },
                { "name": "Local-Backup-3", "address": "<IP_ADDRESS>", "port": 1003 },
                { "name": "Local-Backup-4", "address": "<IP_ADDRESS>", "port": 1004 }
        ],
        "advertise": false,
        "valency": 9 },
      { "accessPoints": [
                { "name": "zzzz", "address": "z.z.z.z", "port": 1234 },
                { "address": "relays-new.cardano-mainnet.iohk.io", "port": 3001 }
        ],
        "advertise": false,
        "valency": 3 }
  ],
  "publicRoots": [
    { "accessPoints": [
                { "address": "relays-new.cardano-mainnet.iohk.io", "port": 3001 }
        ],
      "advertise": false
    }
  ],
  "useLedgerAfterSlot": 85366187
}

it falls apart and the cardano-node is doing that weired peer degredation stuff. Valenvy=3 was set in the 2nd part so the node keeps one connection to zzzz (only resolves to one ip) and two connection to the mainnet-relays too.
If i run it without the 2nd part, all is good. So, did i mess it up or is there a problem reading the topology file correctly?

@gitmachtl well done! We now know where to look for.  Will the behaviour persist if you change the domain name in the added local roots to IP addresses?

@gitmachtl well done! We now know where to look for. Will the behaviour persist if you change the domain name in the added local roots to IP addresses?

I replaced the zzzz entry with the ip address and i replaced the relays-new.cardano-mainnet.iohk.io now by two ip-address entries and restarted the node. Lets see...

btw, it seems you are running at least 5 nodes on a single machine and you are likely connecting to another 4 nodes which are running on a single host.  What's the CPU/memory usage on these nodes? Are there any spikes when we drop connections?

No spikes at all, these are all machines with 64-128GB of ram and between 12 and 20 cores. And nodes are not all running. They are just in the topology for a backup situation.

Short update: Using only ip addresses for the 2nd part in the localRoots worked, its stable with 30 active peers.
I am now rerunning the test with valency=3 but only using two ip address entries.

Update: The node is now running for around 3,5 hours without an active peer count degredation.
So, there must be something strange when it comes into combination with host-name resolving.

@gitmachtl Do you have TraceLocalRootPeers and TracePublicRootPeers tracers enabled?

@gitmachtl Do you have TraceLocalRootPeers and TracePublicRootPeers tracers enabled?

TraceLocalRootPeers is enabled, TracePublicRootPeers is not set. I can do a rerun with both enabled if you want me too for some logs?

The first one should be enough in this case (I would turn the other on the next restart).

How long does it take for you to observe the issue? What if you only have 1 DNS name in the group (hopefully not the 1 that only resolves to 1 IP)?

I sent @coot again a full log today, he is also testing it currently. Have not reduced to only one DNS. But with the settings above and the two FQDN entries, it took only 2 hours to degrade from 30 to 23 peers.

@bolt12 i am still wondering why node 1.35.7 is not showing this behaviour to fill of the localRoots with multiple different ip addresses from a FQDN entry?

@gitmachtl, 1.35.7 had an issue related to DNS, as outlined in https://github.com/input-output-hk/ouroboros-network/issues/4491. This led to a situation where the DNS resolver would overwrite the results of other DNS lookups when multiple DNS domains were in use within the same group, effectively prohibiting the appropriate regulation of IPs in local roots.
We addressed this issue in version 8.0.0 but failed to consider that #4565 could arise, notice that this issue would still exist in the case when the user configures hundreds of local root peers using IPs. This suggests that addressing this inherent issue at its core, rather than applying a superficial fix, would be a more prudent approach.
Our initial plan is to tackle the problem stemming from how DNS resolution could lead to this situation. We greatly appreciate your patience and understanding as we work towards implementing this solution! 😄

Not to mention all the help and effort you've been putting to help us debug this issue! Thank you!

Not to mention all the help and effort you've been putting to help us debug this issue! Thank you!

you're welcome

I am testing this branch of cardano-node (forked of 8.0.0), which includes the fix. @gitmachtl could you also check if it fixes the issue for you.

@coot compiling right now... will let you know how it goes.

It seems to work for me:
root@coot:/data/cardano-node# jq 'select(.data.kind=="LocalRootPeersChanged") | .data.current.groups | .[1] | .[1] | length' ./logs/cardano-node.log -c
8
16
16
16
...

and the node keept 30 hot peers after a churn:
root@coot:/data/cardano-node# jq -c 'select(.data.kind == "PeerSelectionCounters") | {"at":.at, "hot": .data.hotPeers}'  ./logs/cardano-node.log | tail
{"at":"2023-05-26T09:40:46.54Z","hot":30}
{"at":"2023-05-26T09:40:56.44Z","hot":30}
{"at":"2023-05-26T09:41:10.76Z","hot":30}
{"at":"2023-05-26T09:41:12.81Z","hot":30}
{"at":"2023-05-26T09:41:29.20Z","hot":30}
{"at":"2023-05-26T09:41:46.59Z","hot":30}
{"at":"2023-05-26T09:41:55.84Z","hot":30}
{"at":"2023-05-26T09:42:14.25Z","hot":30}
{"at":"2023-05-26T09:42:46.65Z","hot":30}
{"at":"2023-05-26T09:42:57.29Z","hot":30}

Churn happened at:
root@coot:/data/cardano-node# jq -c 'select(.data.kind == "ChurnMode") | {"at":.at, "mode": .data.event}'  ./logs/cardano-node.log
{"at":"2023-05-26T08:54:28.29Z","mode":"ChurnModeNormal"}

jumped from 30 to 27 here after 1hour of uptime. lets see how it progresses...
ok, few minutes later, its back at 30 hot peers.

Let's give the nodes some more time to stabilize 😄 But promising preliminary observations!

Github closed this because the fix got merged. Let's only close it when we get a confirmation that it works

My node survived three churn periods for me:
{"at":"2023-05-26T08:54:28.29Z","mode":"ChurnModeNormal"}
{"at":"2023-05-26T09:54:55.38Z","mode":"ChurnModeNormal"}
{"at":"2023-05-26T10:54:28.74Z","mode":"ChurnModeNormal"}

Everytime recovering back to 30 hot peers.

@gitmachtl I think we can close it, if you still encounter this please re-open.  There's still a chance to be hit by the bug if a domain name resolves to too many addresses, but this will not be fixed in 8.1.0 (see #4565).


Handling $skipToken in az rest doesn't work properly

Related command
az rest
Describe the bug
When you are working with the az rest command, you may find that some REST API's cut you off at a lower threshold than 1000 (in the case of listing ADF pipelines, it's 50).  When this happens, you get a nextLink element in the returned JSON which gives you a URI with a $skipToken baked in which lets you fetch the next page of results.
When you attempt to feed this $skipToken URI back into AZ Rest, it doesn't handle the skip token correctly.  Instead, it calls the URI without the skip token and you get the first page of results and this error:\
az : '$skipToken' is not recognized as an internal or external command,
At line:1 char:1
+ az rest --uri 'https://management.azure.com/subscriptions/aebde77f-71 ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: ('$skipToken' is...ternal command,:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

operable program or batch file.

To Reproduce

Find an ADF which has more than 50 pipelines
Try to list the pipelines via az rest like:

az rest --uri 'https://management.azure.com/subscriptions/(subid)/resourceGroups/(rgname)/providers/Microsoft.DataFactory/factories/(factoryname)/pipelines?api-version=2018-06-01' --method get"

verify that it sends back in the JSON the nextLink element containing the URI with the skip token.
Feed that URI back into the az rest command

Expected behavior
You receive in the JSON output the second page of results (and if in excess of 50, another nextLink URI pointing to the next page of results)
Environment summary
MSI install, 2.37.0
Windows 10
Additional context
It seems likely it's the dollar sign in the $skipToken parameter which is the problem.  Here's the URI format you get back:
https://management.azure.com/subscriptions/(subid)/resourceGroups/(rgname)/providers/Microsoft.DataFactory/factories/(factoryname)/pipelines?api-version=2018-06-01&$skipToken=%2BRID%3A~nhMwANW5IRHQI9YFAAAAAA%3D%3D%23RT%3A1%23TRC%3A50%23ISV%3A2%23IEO%3A65551%23QCF%3A8

@jiasli for awareness

This is not related to Azure CLI, but a PowerShell usage question. See

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_quoting_rules?view=powershell-7.2
https://docs.microsoft.com/en-us/cli/azure/use-cli-effectively#use-quotation-marks-in-parameters


Add SelectParams to Select for federation

When prom2 came out the storage querier interface consolidated to a
single Select() method. While doing this it makes it impossible as the
implementer of the querier to know if you are being called for metadata
or actual data. The workaround has been to check if the SelectParams are
nil, which the federation call is always nil. This has 2 negative
consequences (1) remote implementations interpret this as a metadata
call, which makes the federation endpoint return nothing. (2) this means
that the storage implementations don't get the same information passed
down to them as far as SelectParams goes.
This diff simply adds SelectParams to the Select() call in the
federation handler
Mitigation for #4057
Signed-off-by: Thomas Jackson<EMAIL_ADDRESS>

Hmm, to be honest I don't think federation should be using remote storage at all - it should only query local storage. That we blindly use remote storage everywhere when querying is something that is on the todo list to be fixed.

Until that is fixed I think this would be a good one to add in. As it stands today it just comes back blank, which isn't right either :/

To be clear, this isn't specifically a remote-storage issue, this is actually a web API issue. To create the web endpoint you only need to pass something that implements the querier interface. The issue that this patch is handling is that those Select() calls aren't being passed the SelectParams. In my specific case this is especially bad because I'm using my own implementation of the Querier interface, but even in regular prom this means that queries to TSDB don't include SelectParams -- which makes these queries different than others-- which isn't good. We should pass the SelectParams always when we do the query-- and if we want to not call some storage engines then we can do so, but any engine we call should get the same set of args.


NDArray does not have std() method

Although ndarray.mean() exists, I cannot find the standard deviation method .std() for `NDArray'.
Example:
from mxnet import nd
a = nd.random.randn(3,3)
a.std()

AttributeError: 'NDArray' object has no attribute 'std'

@vietspaceanh  In case it helps your usecase, there is:
import mxnet.numpy as np
a = np.random.randn(3,3)
np.std(a)
array(0.8727266)

@vietspaceanh In case it helps your usecase, there is:
import mxnet.numpy as np
a = np.random.randn(3,3)
np.std(a)
array(0.8727266)

I don't see this option in mxnet 1.5.1.


HttpMessageNotWritableException after adding basicAuth authorizationType to Docket

My Docket setup:
    @Bean
    public Docket swaggerSpringMvcPlugin() {
        return new Docket(DocumentationType.SWAGGER_2)
            .authorizationTypes(Arrays.asList((AuthorizationType) new BasicAuth("basicAuth")))
            .forCodeGeneration(true)
            .select()
            .paths(paths())
            .build()
            .apiInfo(apiInfo());
    }

    private Predicate<String> paths() {
        return or(regex(".*foo.*"));
    }

Then, when I navigate to /v2/api-docs, I see this:
curl "http://localhost:8080/myservice/v2/api-docs"

<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/>
<title>Error 500 </title>

HTTP ERROR: 500

Problem accessing /myservice/v2/api-docs. Reason:

    org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON: (was java.lang.NullPointerException) (through reference chain: com.wordnik.swagger.models.Swagger["securityDefinitions"]); nested exception is com.fasterxml.jackson.databind.JsonMappingException: (was java.lang.NullPointerException) (through reference chain: com.wordnik.swagger.models.Swagger["securityDefinitions"])

Powered by Jetty://

Granted, I am trying to wrap my head around how Springfox (and Swagger 2.0 in general) provides definitions for HTTP Basic auth, so something may be wrong with my setup above.

:+1: great feedback. Haven't exercised security scenarios. If I may ask, what are you using this library for and what are you building?

Still in the early stages, but I'm using springfox to generate the Swagger 2.0 spec for a suite of APIs so that I can use swagger-codegen to generate clients for them.


Remove merge conflict text

Why:
Merge conflict text is in the article.
Closes: #31298

What's being changed (if available, include any code snippets, screenshots, or gifs):

Check off the following:

[x] I have reviewed my changes in staging, available via the View deployment link in this PR's timeline (this link will be available after opening the PR).

For content changes, you will also see an automatically generated comment with links directly to pages you've modified. The comment won't appear if your PR only edits files in the data directory.

[x] For content changes, I have completed the self-review checklist.

@tomstrong64 Thanks so much for opening a PR with this fix! I'll update the branch and get this merged once tests are passing 🍏


Highlight layer visual bug in 3.2

https://www.babylonjs-playground.com/#1WROZH#21
Reported here: http://www.html5gamedevs.com/topic/34712-changes-in-layermasks-and-edgesrenderer/?tab=comments#comment-203623

Alpha Blending mode has been set to an invalid value (0 means disabling alpha) so only displays the highlights.
Removing the invalid setup fixes it: https://www.babylonjs-playground.com/#1WROZH#25


Improve message for sanityinc/grab-ditaa

Hello:
I saw a message that only contained the word "Grabbing", so I made this change.
Thank you.

Good catch, thank you!


@conda-forge-admin, please add user @larsoner

This is one of the requirements of yasa, which I'd like to include in the next release of the MNE Installers.

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I added user @larsoner in conda-forge/antropy-feedstock#4.


SPFX Teams App working fine in Teams Browser but not loading in Desktop Teams App

What type of issue is this?
Question
What SharePoint development model, framework, SDK or API is this about?
💥 SharePoint Framework
Target SharePoint environment
SharePoint Online
What browser(s) / client(s) have you tested

[ ] 💥 Internet Explorer
[ ] 💥 Microsoft Edge
[ ] 💥 Google Chrome
[ ] 💥 FireFox
[ ] 💥 Safari
[ ] mobile (iOS/iPadOS)
[ ] mobile (Android)
[X] not applicable
[ ] other (enter in the "Additional environment details" area below)

Additional environment details
No response
Issue description
I am trying to deploy an SPFX webpart hosted in Sharepoint to Teams as a configurable tab.
I'm specifying the below as the content URL:
/_layouts/15/teamslogon.aspx?spfx=true&dest=<</sites/sitename/SitePages/pagename.aspx>>
Updating the WebApplication info with Azure Add APP and the resource URL for the app

Reference: https://docs.microsoft.com/en-us/learn/modules/msteams-sso/4-tabs-sso
The domain from the resource URL is also included in the valid domains
However, when app is added as a configurable tab to Teams, it is rendering fine in the browser but not in the Desktop App. A spinner is continuously loading in the Desktop Teams App.
Is there anything that is missing here?

Sorry - not quite sure what you are trying to achieve here.  In general, you shouldn't need to create the manifest file at all, unless there is something specific that you need to configure that is atypical from simply "use this webpart as a tab".
If you need to create a custom manifest, this document has an example of what a meeting app would look like.  In general, the webApplicationInfo isn't modified to look like your entry.
https://docs.microsoft.com/en-us/sharepoint/dev/spfx/build-for-teams-meeting-app


ci: remove redundant 'cd build'; use 'set -e' in scripts

This PR  brings a couple of minor enhancements to the CI scripts.

I think that the removal of cd build in this PR does fix the "empty" commit SHA in the latest updates to https://github.com/SymbiFlow/symbiflow.github.io/commits/master.


Format DEFAULT VALUES clause for Postgres

Closes #718.

Thanks. There's indeed not much of a difference into which *clauses array to place this as there won't be no items following DEFAULT VALUES that should be nested inside it.


Incorrect optional keys are silently ignored?

I submitted a transaction with an incorrectly cased genesis id key (genesisId instead of genesisID). My Algo accepted the transaction while silently ignoring the field. The returned signed transaction didn't have a genesis id.
Is this behavior intentional? Does it happen with all the optional fields? From a security standpoint it seems risky.
Would rejecting the transaction when the payload is malformed be an option?
Tested version: 1.0.1

Hello @ivanschuetz ! Please, can you provide me the input transaction that has been signed by MyAlgo Connect?. MyAlgo Connect only checks if genesisID and genesisHash values correspond to any of the official Algorand networks (Mainnet, testnet, and betanet), else, it will consider it as a private one. MyAlgo Connect should accept incoming transactions that have genesisID and genesisHash from private networks. Notice that the field genesisID is optional (Required for MyAlgo Connect, but not by the Algorand node).
Right now, extra fields are ignored, in the future, we will reject the transaction that has values that do not correspond to the transaction type.
We will check this issue closely.

Thanks for the quick response!

in the future, we will reject the transaction that has values that do not correspond to the transaction type

this solves the issue 👍
I'm not using My Algo with the JS SDK, so have to set all the keys myself.

Sorry about that, and thank you a lot for reporting this. With MyAlgo Connect v1.1.0 you can send algosdk.EncodedTransaction:
myAlgoConnect.signTransaction(txn.toByte())

In this case that's not possible because the signed transactions aren't submitted immediately, but serialized and processed further and I've to use my own types for that. Anyway, looking forward to the stricter validation :) it's in any case an improvement.


WIP: Enable some parallelizable sequences for Molecule

OK, here is a working draft of a potential approach to running molecule in parallel. This is not the final implementation but rather something that can be tested early by those who need it. Please test it! I need constructive feedback on this change and this approach.

Notes on the implementation:

We introduce a --parallel flag which is stored at the molecule.config.Config level
We then store a parallel_run_uuid at the molecule.scenario.Scenario level
We then inject this uuid into the cache and instance creation during the test sequence
Molecule can't track state for partial test sequences. So, you can't run molecule create --parallel && molecule login because the parallel_run_uuid will be lost and molecule won't know which state to load.
Molecule itself is not implementing parallel functionality (like with async or coroutines) but is just arranging the internal state to be parallelized by another tool, like GNU parallel or Pytest).

I tested this with the following commands:
$ apt install -y parallel
$ CMD="molecule test --parallel"
$ parallel ::: "$CMD" "$CMD" "$CMD"
$ watch ls -lha ~/.cache/molecule_parallel  # in another terminal
$ watch docker ps -a  # in another another terminal

This shows how we can run molecule in parallel 3 times and shows how each separate cache folder created as well as the separate instances. I've played around with it a bit and it looks to be a working proof-of-concept.

TODO:

[ ] Consider using --enable-parallel since --parallel might be misleading because Molecule itself does not manage any parallelization itself but simply allows the internals to be parallelized.
[ ] How to handle existing playbooks? Should we write a migration to enable to new filter on the naming?

Add a change log entry which says if you use a custom playbook, you need to update it like this and that etc. ?

[ ] Make the test suite parallelizable
[ ] Write documentation and change log

Some more data points on this:

16:56:15 decentral1se | ssbarnea[m]: ^^^ can you test this?
16:56:39 decentral1se | It's a first step towards parallel enabled molecule
16:56:42 zbr          | decayofmind: yes but tomorrow evening is ok? i am really interested about it
16:56:51 zbr          | decentral1se: ^
16:57:03 decentral1se | yeah sure thing
16:57:21 zbr          | decentral1se: is no1 prio when it comes to molecule
16:57:21 decentral1se | it doesn't really do much right now but at least shows how we might move forward on this topic
16:57:46 zbr          | i do expect to get it working in multiple steps.
16:58:25 decentral1se | cool
16:58:29 decentral1se | can we run async in py2 + py3!?
16:58:49 decentral1se | then molecule could internally manage parallelizing the scenario runs
16:59:20 decentral1se | right now, only separate molecule processes are parallelizable, not a single molecule and multiple scenarios
16:59:22 decentral1se | if that makes sense
16:59:49 zbr          | decentral1se: i would prefer to avoid that. i already have a good solution to run in parallel via pytest-molecule
17:00:09 zbr          | i prefer to rely on other tools for orchestrating and keep molecule code small
17:00:22 decentral1se | I can get behind that
17:00:32 decentral1se | aslong as we can get the same optimisation

I have a few scattered thoughts, with no guarantees that any of them are useful. As always, I apologize in advance for the verbosity. Of all of these thoughts, I think only the parallelize_instance_name change is something I'd like to see in this PR, so I put that one first; the other ideas are more in the style of thinking out loud. I love the addition of the name filter, and I love the new ansible facts to further allow playbook authors more visibility and control over the molecule run based on the parallelization settings.

The parallelize_instance_name filter is generally useful. While I expect it will most often be used on instance names, I'd be inclined to use it in, say, openstack playbooks to ensure run-unique keypairs and security groups. Perhaps it should just be parallelize_name or something similarly generic?

Explicitly setting is_parallel_mode might be unnecessary. I wonder if that logic can all be based on whether or not parallel_run_uuid is set. This would probably require moving the uuid generation back to the click level, where the value of the parallel command arg is either, say, None or the uuid. This thought is mainly stemming from the _maybe_parallelize_instance_names method in the platforms module, where I feel like there's probably a cleaner approach to take but it's not immediately obvious to me what that cleaner approach might be. I see how it could be risky to overload parallel_run_uuid with also being the way to decide whether or not parallization should be done, but if is_parallel_mode can't be true unless parallel_run_uuid is set, then I think it makes sense to derive its value from parallel_run_uuid rather than explicitly carry around a configure boolean.

This could potentially open the door for using a predefined unique ID, allowing for something like molecule <sequence> --parallel --parallel-uid 'some-pregenerated-thing', or even just ... --parallel 'some-pregenerated-thing', so all of the same parallelization machinery could be used for arbitrary sequence calls.

This also highlights a potential need to centralize some click functionality using its decorator factories, should we want to expand parallelization out to all sequences using unique IDs provided by the test environment.

The molecule_parallel_mode ansible var seems oddly named. I'd expect that to be a string representing the name of the current parallel mode. Perhaps sticking with the "is_parallel" convention here would be helpful in indicating that this value is a boolean, e.g. molecule_is_parallel or molecule_is_parallel_mode. Similar to my first point, I also wouldn't be against just having molecule_parallel_run_uuid be set to a falsey value if the current run is not being parallelized, and deriving whether or not a run is parallelized on that value. Again, though, overloading this var with that meaning might lead to confusion.

How about a “molecule_naming_suffix” which would be empty by default in non-parallel mode? We should keep the logic of how we determine that suffix separated from the places where we use it.

Perhaps it should just be parallelize_name or something similarly generic?

Ah, I didn't realise others might want this for other purposes. Sounds good.

Explicitly setting is_parallel_mode might be unnecessary. I wonder if that logic can all be based on whether or not parallel_run_uuid is set.

Well, it's all a bit circular but the way I have it my head is: 1) end-user passes --parallel 2) we store that on the Config 3) we generate the uuid. If we remove the is_parallel_mode, we'll have to do hasattr checks instead for the uuid property? Perhaps the uuid will not be the defining indicator of whether or not things are going in parallel mode, so I think it makes sense to keep this high level "the user passes --parallel" and leave uuid/whatever as deeper _internals. You mentioned this in your last point.

this could potentially open the door for using a predefined unique ID, allowing for something like molecule  --parallel --parallel-uid 'some-pregenerated-thing'

I think that's for another PR but I was thinking about announcing the uuid that was under for the run (some obvious logging) and then extending molecule prepare/login/etc. to accept a --uuid flag for the state lookup. I'd prefer if molecule controls how these uuids are generated or who knows what we run into.

This also highlights a potential need to centralize some click functionality using its decorator factories, should we want to expand parallelization out to all sequences using unique IDs provided by the test environment.

Yep, agreed! It will be coming down the line on this PR.

Perhaps sticking with the "is_parallel" convention here would be helpful in indicating that this value is a boolean, e.g. molecule_is_parallel or molecule_is_parallel_mode

Good point.

Well, I see no major objections to the approach, so I'll try to get this into a reviewable state.

OK, next attempt @ https://github.com/ansible/molecule/pull/2137.