Deepl Limitations - Timeout Errors during concurrent calls

Hello,
I am utilizing the PRO Deepl API and have encountered some challenges related to concurrent requests while using the Deepl-Node client.
Here's the scenario: I have a service hosted on Azure, leveraging Azure Functions. Within this setup, there are 15 concurrent functions that attempt to translate a total of 72 KiB of text. The translateText<string[]> function takes an array of strings as input. The interesting aspect is that when these 15 functions are triggered, I encounter 'timeout' errors for all the requests. It's important to note that all these functions run on the same Virtual Machine, which implies that a single Deepl Client is employed to handle these 15 concurrent requests.
My questions are as follows:

Are there any limitations on the number of concurrent calls per Deepl Client or per API Key?
Would it be advisable to reduce the number of concurrent calls? If so, what would be an appropriate threshold in your opinion?
The current timeout configuration is set to 30000ms.

Your insights and guidance on optimizing these concurrent translation calls would be greatly appreciated. The service aim to translate ~1 000 000 000 characters.
Please be aware that the translation process functions correctly when a single request is made. This singular request encompasses the following elements:
An array input containing 600 texts (It is noteworthy to mention that the documentation indicates a limit of 50 texts per request.)
A maximum of 72 KiB of text, equating to a request payload of approximately 76 KiB (It is important to acknowledge that the documentation specifies a payload size allowance of up to 128 KiB. However, I have observed that if the payload size exceeds 85 KiB, it results in a '413 - Payload Too Large' error).
Could you provide more information regarding the limits documented?

These are the timestamps when the translateText function was called:

Hi @razvan-zavalichi , thanks for your detailed report!
For your question around how many requests you can send us, we generally advise to limit your usage to 50 requests per second, above that you should see HTTP 429 errors. The library will then use exponential backoff to retry those requests (this behaviour can be configured via the maxRetries and minTimeout values in TranslatorOptions when you construct the Translator object). One possibility I see is that maybe you send too many requests, exponential backoff kicks in and the lower timeout (default is 10s) of the backoff causes you to see timeouts?
I tested the API last week and was able to do 20 QPS sustained without seeing any errors, so to better be able to reproduce your issues I have the following questions:

Just to confirm, the timestamps you sent are for a single translateText call, right? Not 15 concurrent ones?
How exactly do you perform the concurrency? Something like the following?

const textsToTranslate: string[][] = [['First sentence.', 'Second sentence.', 'Third sentence.'], ['Erster Satz.', 'Zweiter Satz.'], ...]; // 15 entries
const startTime = Date.now();
translations = await Promise.all(textsToTranslate.map((texts) => translator.translateText(texts)));
// Do something with translations
const timeDiff = Date.now() - startTime;
if (timeDiff > 0) {
  await sleep(timeDiff); // limit to 15 QPS
}
translations = await Promise.all(textsToTranslate.map((texts) => translator.translateText(texts))); // probably with different texts :)

By "The current timeout configuration is set to 30000ms.", do you mean the minTimeout value in the TranslatorOptions you use to construct your Translator object?
As it may have performance implications, roughly what language pair distribution do you have in your request? Is it all the same language pair, or automatic source language detection into the same target language (with the source language being anything provided by users?)
You mentioned putting everything into a single request solves the issue. So basically when you split this request into 15 smaller ones to adhere to the texts limit of 50, you observe the timeouts?

For your questions:

Re: Documented limit of 50 texts per request. In practice, requests with more texts might work, but we cannot guarantee that this will always be the case.
Re: Request size limit of 128 KiB - I will investigate if I can reproduce the 413 error on 76 KiB requests, this should not be the case. You should definitely be able to send requests that are at least in the range of ~120 KiB.
As I said above, we communicate a limit of 50 requests per second, so your use case should not fall under this restriction.

Hello @JanEbbing!
Here are my responses:
Q1: Just to confirm, the timestamps you sent are for a single translateText call, right? Not 15 concurrent ones?

Re: Each timestamp is generated before a translateText call, which means there are more than 30 calls.

Q2: How exactly do you perform the concurrency? Something like the following?

Re: The Service Bus trigger handles the concurrency. I have an Azure function that is triggered by a service bus message, and the service bus is configured to allow for a maximum of 15 concurrent triggers, so I can have up to 15 concurrent calls to my function, resulting in 15 concurrent calls to the translateText function.

Q3: By "The current timeout configuration is set to 30000ms.", do you mean the minTimeout value in the TranslatorOptions you use to construct your Translator object?

Re: Yes, I configured the Translator to use 30000 for minTimeout.

Q4: As it may have performance implications, roughly what language pair distribution do you have in your request? Is it all the same language pair, or automatic source language detection into the same target language (with the source language being anything provided by users?)

Re: DE to IT (always the same source/target language pair)

Q5: You mentioned putting everything into a single request solves the issue. So basically when you split this request into 15 smaller ones to adhere to the texts limit of 50, you observe the timeouts?

Re: The translation is successful if I follow the following rules:

minTimeout is set to 30000
The translateText function has a maximum array size of 50 texts as input.
The payload cannot be larger than 76 KiB. ( it may works with 80 KiB but I use 76 as a safe value)
In any case, there is a problem because when I tested a single request with a single item in an array with a size of 85 KiB, the response is 413: Payload is too large

In my situation, I encountered two significant issues:

The payload size was initially 85 KiB; however, after conducting thorough manual tests, I determined that a secure threshold is 76 KiB.
While I can technically send a request with 600 texts, this specific use case becomes unfeasible when dealing with concurrent calls. In practice, using 50 texts for each call proves to be a functional solution

More context:
If there are 'n' messages in the service bus queues, a maximum of 15 concurrent calls will be made to the 'translateText' function until the queue becomes empty. For instance, if you have 100 messages in the queue:

Initial 15 concurrent calls
After 5 calls are completed, 5 new concurrent calls are initiated
After 10 calls are completed, another 10 concurrent calls are initiated
After 15 calls are completed, 15 new concurrent calls are initiated
... until queue becomes empty

This behavior signifies that if the DeeplApi consistently delivers translated data within a precise 1-second window for all 15 concurrent calls, the maximum achievable rate is 15 concurrent requests per second.
However, in the scenario where the DeeplApi rapidly processes translations, for instance, completing all concurrent translations within just 100 ms, the potential increases to 10 * 15 concurrent calls per second.

Hi, with deepl-node version 1.10.2 and running the following code:
a) 413 Payload Too Large
import * as deepl from 'deepl-node';

const authKey = process.env['DEEPL_AUTH_KEY'];
const serverUrl = process.env['DEEPL_SERVER_URL'];
const translator = new deepl.Translator(authKey, { serverUrl: serverUrl });

const toBeTranslated = "x".repeat(131072);
console.log(Buffer.byteLength(toBeTranslated));
const result = await translator.translateText([toBeTranslated], null, 'fr');
console.log(result.text);

With different string lengths in the "x".repeat(n) I get the following outcomes:

n = 122880 (120 KiB string): Translates normally
n = 131072 (128 KiB string): 413 Payload Too Large error.

So I can't reproduce that 85 KiB is too large of a request.
b) Timeouts
To simplify, my concurrency logic is a bit different (start 50 requests, wait till they are complete, start 50 new requests), but should still trigger the timeouts.
const authKey = process.env['DEEPL_AUTH_KEY'];
const serverUrl = process.env['DEEPL_SERVER_URL'];
const translator = new deepl.Translator(authKey, { serverUrl: serverUrl, minTimeout: 30000 });
const germanPhrase = "Das ist mein Beispielsatz. Ich untersuche, ob ich mit der API Fehler reproduzieren kann, aber vielleicht funktioniert alles.";
let numRequests = 0;
let results = [];
const startTime = Date.now();
while (numRequests < 1000) {
      const REQUESTS_PER_ITERATION = 50;
      const requestsToMake = [...Array(NUM_REQUESTS).keys()].map((i) => translator.translateText(Array(50).fill(germanPhrase), 'de', 'it'));
      results.push(await Promise.all(requestsToMake));
      numRequests += REQUESTS_PER_ITERATION;
      console.log("Finished making " + REQUESTS_PER_ITERATION + " requests")
}
console.log("Made " + numRequests + " requests in " + (Date.now()-startTime) + " ms");

For me, it finished in ~63s, which comes out to about 15 QPS, without any errors.
As you rightly indicated, your method may overload our API, if we have a significant portion of requests that finish fast (order of 100-300ms). I'd recommend to integrate some rate-limiting into your code to ensure you don't go above 50 QPS.
Please let me know if anything in my reproduction attempt is off.

Is it possible that this error is caused by the text format? This is the format of the translation text: "<table cellspacing=0 cellpadding=0 class..."

Thanks, that helps. For the timeouts, have you tried simply increasing the timeout limit? Even with a simple table with a few rows and columns, a large request like this takes >10s for me, so if you have a complex table/get unlucky with API response time, you can easily hit the 30s window.
I can also reproduce a lower size limit with tag handling, Im following up internally with another team.

Everything works now on my side but following these rules:

minTimeout is set to 30000 ( this helps when there are 15 concurrent calls)
The translateText function accepts an array of up to 50 texts as input. (According to documentation, even though it occasionally worked with hundreds of texts)
The payload cannot be larger than 76 KiB. but it seems that it works on your side with texts greater than 100 KiB.

Anyway, we don't have any text larger than 70KiB at the moment, so there is no blocking point for us. The previous text was taken from a development environment.

Hello @JanEbbing,
I've started to translate 100k texts where I send maximum 50 texts in one request and I make maximum 10 requests in paralel and 10-30 requests/s.
Sometimes I encountered this error:
Service unavailable, message: Temporary Error
Stack: Error: Service unavailable, message: Temporary Error
    at checkStatusCode (/home/site/wwwroot/node_modules/deepl-node/dist/index.js:261:23)
    at Translator.translateText (/home/site/wwwroot/node_modules/deepl-node/dist/index.js:356:15)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

Are there other constraints regarding this?


V11: Changing GM text isn't displayed immediately

It is necessary to toggle the display of notes off and on again before the new text is displayed.

Fixed in 2.1.2
In Foundry 11, Note#_onUpdate is setting some renderFlags to indicate which parts of the Note really need to be redrawn.


Failed to generate MPS and Point cloud

We are using Meta Aria to capture data for driver intention anticipation. The clips we capture are usually 15-20 seconds long. On the desktop app, we can get the CSV file for the gaze. However, it always gives an error while generating the trajectory and semi-dense point cloud csv's/

Hello @wasilone11

Do you have an output that you can download?
Can you check if you have a summary.json in the trajectory folder and look for the "status" it can help identify which steps is failing
Your sequences are very short, can you try with a longer sequence?

@wasilone11
Please follow the steps suggeted by @SeaOtocinclus .
If that doesn't help, are you able to share the transaction_id of the failed run, which you can obtain from the desktop app ?

No, it fails to generate an output for anything other than the gaze.
It works perfectly fine with short sequences captured indoors.
For example, this is the ID for a video for which trajectory and point cloud information failed to process: ID: 08dae386-44cb-4df3-8378-04bd7444e088

Also, I get the internal server error. Message: Error uploading file

No, it fails to generate an output for anything other than the gaze.
It works perfectly fine with short sequences captured indoors.
For example, this is the ID for a video for which trajectory and point cloud information failed to process: ID: 08dae386-44cb-4df3-8378-04bd7444e088

@wasilone11
I am not able to find transaction id 08dae386-44cb-4df3-8378-04bd7444e088 in the backend. Can you please recheck this on your side? The transaction id refers to the id on this screen

All of these fail to process the trajectory and semi-dense point cloud.

Sorry for the inconvenience. I will see what I can find. These requests are over a month old and we don't save any debugging information older that a few weeks.
Are you able to submit any one of the failed recordings one more time, please?
That will help me get the latest processing logs.

All of these fail to process the trajectory and semi-dense point cloud.

@wasilone11 I looked into these requests and it looks like only eye gaze was requested and no trajectory or semi-dense points. As I mentioned in my earlier reply, please submit any one of these recordings and request trajectory + point clouds. We will then be able to debug this better.

The problem is that I am not able to process the trajectory and sdpc at all.

This is what happens if i try to.

If I request for gaze-point, trajectory and semi-dense point cloud, the uploading and processing happens properly but then the message shown in the snippet above is shown. However, it happens only when I request these for the data captured in a moving vehicle. When I capture data walking around the lab, it gets processed properly,

All of these fail to process the trajectory and semi-dense point cloud.

@wasilone11 I looked into these requests and it looks like only eye gaze was requested and no trajectory or semi-dense points. As I mentioned in my earlier reply, please submit any one of these recordings and request trajectory + point clouds. We will then be able to debug this better.

I always request all of the three together but as shown is the snippet above, it fails to generate the trajectory and semi-dense point cloud. Does it have anything do with the IMU and non-inertial frame of reference in case of a moving car?

Yes. Moving frame of reference is not yet supported. This error is likely from that. Could you please share the transaction id for this request ?

Yes. Moving frame of reference is not yet supported. This error is likely from that. Could you please share the transaction id for this request ?

Nevermind. I found it. We will investigate the logs and get back. Very likely this is due to a moving car. Will get back to you with confirmation.

Yes. Moving frame of reference is not yet supported. This error is likely from that. Could you please share the transaction id for this request ?

Nevermind. I found it. We will investigate the logs and get back. Very likely this is due to a moving car. Will get back to you with confirmation.

Investigated the logs and without looking at the vrs file, which we don't have access to since it gets deleted immediately after processing, it definitely points that the issue is coming from visual frame and inertial frame not in agreement.
This is something that is not supported today.

We had Kiran from your group at our lab a few days back. He said that although not publicly available, your team has solutions to process trajectory and semi-dense point cloud for such scenarios. Can you please get in touch with him for a follow-up?

same uploading error.

Closing this issue since it moved to our academic partner support https://facebookresearch.github.io/projectaria_tools/docs/support


changed class based remoteextensions component to functional component

Notes for Reviewers
This PR fixes #8761
Signed commits

[ ] Yes, I signed my commits.

Please remove the redundant effects

🚀 Preview for commit 832945d0a62b04f6f89a76969bdbcf91ec4e619e at: https://650a0f9eb3172054ea55a5c2--meshery-docs-preview.netlify.app

🚀 Preview for commit ffa9293b90b1c761f2569d5e8761072cec137d1d at: https://650a10d6fa07be4f62c6bb7f--meshery-docs-preview.netlify.app

Hey @EraKin575
Let's discuss that in today's Meshery Development call.
please add this to your agenda if you would : ) to: https://docs.google.com/document/d/1Dg4Uz9rGTuGHmYZwIt47z1j5x3LmnpxD1M1SgypAkQ0/edit

@aabidsofi19  please have a look


Error message when no endpoint is set

Bug Report
Current behavior
prisma deploy
# prisma.yml
datamodel:
  - types.graphql
  - enums.graphql

results in this error message:

▸    No cluster set. Please set the "cluster" property in your prisma.yml

Expected behavior?
It should result in interactive deploy.

This has been fixed in 1.10.


Changelog for v1.3.0

As title

Again a very verbose Changelog 🙄
LGTM

Yeah, I think we need to include in milestone only important changes that we need on changelog

is the git-1.7 support going to make it into 1.3 ? there's a backport/1.3 label on the corresponding PR

@strk so please send a backport PR to v1.3 before we merge this one.

LGTM


How to get the value of authority header in spring cloud gateway

Describe the bug
I'm trying to retrieve the authority header from the url in spring cloud gateway
For example in url grpc+tls://authority@localhost:9443 , I want to retrieve the string before @ character in the url.
I tried logging original URI and request body, both does not contain the authority in them.
Please help me in getting the value of authority in spring cloud gateway.

https://docs.oracle.com/javase/8/docs/api/java/net/URI.html#getAuthority--


Presentation view of dataplane envoy info

Description
Here's an example output of all the things we can get for a dpp: https://gist.github.com/lahabana/651895bd22ace1e8f59d00c291340e26
The goal of this issue is to make the data from these pages useful to non envoy experts.
With all this data we should be able to get a "spider view" with incoming and outgoing traffic.
There should be a way to show (mask by default):

internal traffic (ads_cluster, access_log_sink, kuma_envoy_admin)
passthrough traffic (inbound_passthrough_ipv6, inbound_passthrough_ipv4, outbound_passthrough_ipv4, outbound_passthrough_ipv6)
inactive clusters

We'd generate this using metrics + clusters
A very simplistic example:

Stats would show in each of the "legs" making a difference between http and tcp. A click on one of the "legs" could open a tray with XDS/cluster/stats/policies just for this cluster.
Open questions:

Do we need clusters?  (I think so because we may lazily compute metrics for inactive clusters).
Do we need the backend to expose metrics in a better format? (json, prometheus?)
Do we want to show downstream and upstream stats separately?
Stats are point in time aggregates since the DP start. We could show static (show aggregates) or stream (Poll every X seconds and do the diff) keep in mind we don't have a store like prometheus in this case.
We should have a look at what happens when we have a HTTP route on top of this (Do we show extra stuff on a leg?).

xref:

https://github.com/kumahq/kuma/issues/2363
https://github.com/kumahq/kuma-gui/issues/910

Some use-cases:

I'm a user trying to figure how much traffic my pod received
I'm a user and I notice errors I want to see if errors come from upstream services or directly from my app
I know something is wrong I want to see if it's envoy or the upstream app
I want to see if a policy had any effect on an outbound of a dataplane (see envoy config)

I 'think' we can close this since the initial build is up, we can then create new issue for improvements as we go.
I'll go ahead and close but feel free to re-open if still needed, relevant PRs:

https://github.com/kumahq/kuma-gui/pull/1807
https://github.com/kumahq/kuma-gui/pull/1839
https://github.com/kumahq/kuma-gui/pull/1866


When body expected after 401 error, no body available in Response

Bug Report
Description
When response error is 401 Unauthorised, no body available in Response.data
To Reproduce
 "https://host/auth" //401
        .httpPost()
        .body("""{"api": "key"}""")
        .responseString { _, response, _ ->
           println(String(response.data))  // expect json body, got empty
        }

Expected behavior
Response body available when you receive error 401
Environment
Development Machine

OS: Catalina 10.15.4
IDE: IntelliJ
Fuel version: 2.2.1
Kotlin version: 1.3.71

Additional context
When you send no body, all works as expected.
Problem is with HttpURLConnection. Setting connection to streaming mode
in fuel-2.2.1/com/github/kittinunf/fuel/toolbox/HttpClient.kt:234
Error 401 will not allow to receive error from inputStream or errorStream.
Maybe we should allow to set Content-Length manually. Or implement HttpClient with java 11 http client.

This did not happen on Fuel 1.15.x - it's stopping us from updating Fuel.

We have the same problem, when the status is 401. we can't receive any body even though Conent-Length is not 0

We've run into the same issue. When API returns 400, the client works as expected. After changing HTTP code to 401, the same fuel code fails.
Seems like an issue which should be affecting far many users, shouldn't it?

I just ran into this same freak scenario today, version 2.3.1. We require the body to inspect


Extract docstring

Added feature for adding docstrings

Codecov Report
Base: 91.08% // Head: 81.31% // Decreases project coverage by -9.76% :warning:

Coverage data is based on head (8a9efc0) compared to base (0f594f4).
Patch coverage: 85.59% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##              dev      #39      +/-   ##
==========================================
- Coverage   91.08%   81.31%   -9.77%
==========================================
  Files          22       20       -2
  Lines        1470      728     -742
  Branches      349      143     -206
==========================================
- Hits         1339      592     -747
- Misses        101      106       +5
  Partials       30       30

Flag
Coverage Δ

unittests
81.31% <85.59%> (-9.77%)
:arrow_down:

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

Impacted Files
Coverage Δ

openapi_builder/parsers/docstring.py
84.15% <84.15%> (ø)

openapi_builder/converters/schema/halogen.py
76.37% <85.71%> (+3.87%)
:arrow_up:

openapi_builder/__meta__.py
100.00% <100.00%> (ø)

openapi_builder/converters/defaults/base.py
84.61% <100.00%> (+1.28%)
:arrow_up:

openapi_builder/converters/parameter/base.py
86.66% <100.00%> (+0.95%)
:arrow_up:

openapi_builder/converters/schema/base.py
85.71% <100.00%> (+1.09%)
:arrow_up:

openapi_builder/converters/schema/marshmallow.py
69.44% <100.00%> (+0.43%)
:arrow_up:

openapi_builder/builder.py

openapi_builder/specification.py

openapi_builder/__init__.py

... and 1 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


[WIP] stage: use walk instead of find

This is closer to how objects should be built and allows us to save up some
overhead on path manipulation. E.g. dvc status in dvc-bench takes ~0.2 sec
less now (from ~4.1 down to ~3.9).
Pre-requisite to also building Tree objects along the way.

Pre-requisite to also building Tree objects along the way.

We have also discussed quite opposite: finding all files first so that we can show a progress bar:
https://github.com/iterative/dvc/issues/7922

@skshetry Right, but listing files also takes significant amount of time and we need the dirs too. Though these options are not mutually exclusive anyway, so we might get back to that later.

For the record: test failure is unrelated https://github.com/iterative/pytest-servers/issues/16#issuecomment-1172695512


Add support for group level variables

Added support for group level variables as described here: https://docs.gitlab.com/ce/api/group_level_variables.html
Fixed a couple copy/paste errors in the documentation of variables and update_variable.

Thank you.


How to Call Formio Validation Function on  Custom COmponent

Hi,
I'm currently using angular-formio in a project, i created a custom phone component using ngx-intl-tel-input, when i click on the submit button, the custom component phone validation doesn't work, so my question is this : how can i call the formio validation on my custom component so i can cancel submission if there are any errors ?
Thank you.

Hello @mehdi47,
Thanks for reaching out!
We do offer Support Packages that are for training, support, or development services. The hours can be used in one-hour increments at your convenience over a 90 day period.  We will assign one of our senior developers to work directly with you in online sessions.  Please contact<EMAIL_ADDRESS>if you are interested.
Thank you!

Hello @mehdi47,
Thanks for reaching out!
We do offer Support Packages that are for training, support, or development services. The hours can be used in one-hour increments at your convenience over a 90 day period.  We will assign one of our senior developers to work directly with you in online sessions.  Please contact<EMAIL_ADDRESS>if you are interested.
Thank you!

Closing this thread as it is outdated. Please re-open if it is still relevant. Thank you for your contribution!


Review table names in Golos smart-contracts

It is necessary to develop a unified strategy for naming tables for smart contracts and rename tables in accordance with it.
Some tables in golos.publication has unnecessary suffix table:
contenttable
messagetable
votetable

Tables with similar information in contracts eosio.token and golos.vesting are called differently (accounts vs balances), which causes inconvenience when working with a database.
> use _CYBERWAY_eosio-token
> show collections
accounts
> use _CYBERWAY_gls-vesting
> show collections
balances

#269


Invalid executable

Hello,
After Xcode update to 16.x version im unable to distribute app to AppStore/TestFlight.
Asset validation failed. Invalid Executable.
Could somebody help please? Need urgent help. Thanks

Hi @Artur512 ,
Thanks for reaching out about this and apologies for the delayed reply.
It sounds like you might also be facing the issue captured here: https://github.com/CodeMinion/another_brother/issues/101#issuecomment-2507989861


calculations with variables in MS-Edge

Microsoft Edge is not able to calculate values with a css-variable.
In Example: calc(var(--o-grid--spacing) / 2) on .o-grid>* does not resolve.

For reference: According to Can I Use MS Edge should have full Custom Properties support (https://caniuse.com/css-variables).
According to this related issues of another CSS Framework (https://github.com/fortrabbit/teutonic-css/issues/2) the issue might be fixed by explicitly writing padding-top, padding-left, etc. Sounds to me like this is something that might be handled in the build process using a postcss plugin like this one https://www.npmjs.com/package/postcss-shorthand-expand.
However, as this should not be an issue in the Chromium based Edge versions anymore this feels like something that shouldn't be fixed within the framework but rather in the build process of projects that need to be served to older versions of Microsoft Browsers.

For reference: According to Can I Use MS Edge should have full Custom Properties support (https://caniuse.com/css-variables).
According to this related issues of another CSS Framework (https://github.com/fortrabbit/teutonic-css/issues/2) the issue might be fixed by explicitly writing padding-top, padding-left, etc. Sounds to me like this is something that might be handled in the build process using a postcss plugin like this one https://www.npmjs.com/package/postcss-shorthand-expand.
However, as this should not be an issue in the Chromium based Edge versions anymore this feels like something that shouldn't be fixed within the framework but rather in the build process of projects that need to be served to older versions of Microsoft Browsers.


EntityMut: rename remove_intersection to remove and remove to take

Objective

A more intuitive distinction between the two. remove_intersection is verbose and unclear.
EntityMut::remove and Commands::remove should match.

Solution

What the title says.

Migration Guide
Before
fn clear_children(parent: Entity, world: &mut World) {
    if let Some(children) = world.entity_mut(parent).remove::<Children>() {
        for &child in &children.0 {
            world.entity_mut(child).remove_intersection::<Parent>();
        }
    }
}

After
fn clear_children(parent: Entity, world: &mut World) {
    if let Some(children) = world.entity_mut(parent).take::<Children>() {
        for &child in &children.0 {
            world.entity_mut(child).remove::<Parent>();
        }
    }
}

@maniwani mind fixing the CI failures? Will merge after that, though we may need to manually add the changes into the 0.10 migration guide.

bors r+

bors r+


update_checkout: add missing Linux dependencies

These dependencies are required for building statically-linkable Foundation on Linux.

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please build toolchain Windows platform

I think that checking out the sources is fine, but should there not be the associated changes to actually get them building?

AFAIK they aren't currently built with any of the presets tested on CI, but they can be built locally when --static-libxml2 --static-zlib flags are passed to build-script. Would it make more sense to add a preset for building these in a separate PR?

Additionally, please make sure that the Windows bots are not negatively impacted by this as they also try to checkout the exact repositories. Finally, make sure that you also build a Windows toolchain as that process is slightly different.

Is there anything you'd like to be tested beyond what's done in a CI job you've just started?

We should update the utils/build-windows-toolchain.bat by removing these repositories directly, and start using update-checkout.
We should also update the presets for the Linux toolchain bots (buildbot_linux) to use these three flags in addition to update-checkout changes. ( --static-libxml2, --static-zlib, --static-curl)
To verify it @swift-ci build toolchain trigger will provide good signal for Ubuntu 20.04.

@swift-ci please smoke test

@swift-ci build toolchain

@swift-ci please smoke test

@swift-ci build toolchain

@compnerd I don't think Swift Toolchain Windows build failure is related to this PR, have you seen this before?
1.	Swift version 5.8-dev (LLVM 37d053018810651, Swift c96c2fccda50a79)

2.	Compiling with the current language version

3.	While evaluating request ExecuteSILPipelineRequest(Run pipelines { PrepareOptimizationPasses, EarlyModulePasses, HighLevel,Function+EarlyLoopOpt, HighLevel,Module+StackPromote, MidLevel,Function, ClosureSpecialize, LowLevel,Function, LateLoopOpt, SIL Debug Info Generator } on SIL for ArgumentParser)

4.	While running pass #8601 SILFunctionTransform "SimplifyCFG" on SILFunction "@$s14ArgumentParser14UsageGeneratorV10definitionAcA0A3SetV_tcfC".

@swift-ci please smoke test

@swift-ci build toolchain

@swift-ci please smoke test

@swift-ci build toolchain

@swift-ci please smoke test macOS

@swift-ci please smoke test

@swift-ci build toolchain

@swift-ci smoke test macOS

@swift-ci smoke test

@swift-ci build toolchain

@swift-ci build toolchain Windows

@swift-ci test

@swift-ci build toolchain Windows

Since both libxml2 and curl have other system dependencies, linking them statically may cause issues and we should tackle these dependencies separately. Keeping libxml2 and curl checkout for Windows, since they have been linking statically on Windows for some time anyway and that's the desired behavior.

@swift-ci build toolchain

I'm restricting this only to Windows then.

@swift-ci build toolchain

@swift-ci build toolchain macOS


Create PR for changes

Nice :) I was a little bit faster in #36 and added a little bit more code to check when it makes sense to open the PR, but I should have also just used the GhApi instead of handcrafting post requests. If you had opened earlier, I could've pushed on top of your commit, but I'm not sure how to include your commit now; sorry!


With Lmod 7.8, spaces in environment variables are escaped

Hi,
I am using ReFrame 2.13. When I upgrade Lmod to 7.8,  spaces in environment variables are escaped, e.g.  compiling test codes for FFTW3 in Makefile:
gcc -o sp_plan_dft_3d sp_plan_dft_3d.c $(FFTW3_LIBS)
I expect:
gcc -o sp_plan_dft_3d sp_plan_dft_3d.c -L/usr/local/fftw3/lib -lfftw3 -lfftw3f
but it becomes
gcc -o sp_plan_dft_3d sp_plan_dft_3d.c -L/usr/local/fftw3/lib\ -lfftw3\ -lfftw3f
which fails in compile test

Hi @ZQyou, could you please share your ReFrame test file? I can't see how the modules system can affect the flags passed to your Makefile.

Here is my test file:
import reframe as rfm
import reframe.utility.sanity as sn

@rfm.simple_test
class fftw3_test(rfm.RegressionTest):
    def __init__(self):
        super().__init__()
        self.descr = 'FFTW3 Test'
        self.valid_systems = ['%s:login' % self.current_system.name]
        self.valid_prog_environs = ['*']
        self.modules = ['fftw3']
        self.sourcesdir = 'src/'
        self.executable = './sp_plan_dft_3d'
        self.sanity_patterns = sn.all([
            sn.assert_eq(sn.count(sn.finditer("TEST PASSED", self.stdout)), 1)
        ])

and Makefile:
all: sp_plan_dft_3d

sp_plan_dft_3d: sp_plan_dft_3d.c
        $(CC) $(CFLAGS) $(LDFLAGS) $(FFTW3_LIBS:\=) -lm $(CPPFLAGS) $(FFTW3_CFLAGS) -o $@ $^

The error message is
AILURE INFO for fftw3_test
  * System partition: login
  * Environment: intel-default
  * Stage directory: ~/test/reframe/ruby/stage/login/fftw3_test/intel-default
  * Job type: batch job (id=None)
  * Failing phase: compile
  * Reason: caught framework exception: Command '['make', '-C', '~/test/reframe/ruby/stage/prod/fftw3_test/intel-default/', '-f', 'Makefile', 'CC=icc', 'CXX=icpc', 'FC=ifort']' failed with exit code 2:
=== STDOUT ===
make: Entering directory `~/test/reframe/ruby/stage/prod/fftw3_test/intel-default'
icc   -L/usr/local/fftw3/3.3.8/lib\ -lfftw3\ -lfftw3f  -I/usr/local/fftw3/3.3.8/include -o sp_plan_dft_3d sp_plan_dft_3d.c
make: Leaving directory `~/test/reframe/ruby/stage/prod/fftw3_test/intel-default'

It works fine until we Lmod upgraded to 7.8.

@ZQyou I will close this issue now, since it seems unrelated to ReFrame. Should you still have problems, feel free to reopen it.


Githubdam h83 updates test iOS VoiceOver

Hi Marc, Please review the branch if you find any incorrect please advise.

Merged - OK to delete this branch.


"An instance is already running" error message

https://bitsharestalk.org/index.php?topic=10727.msg164958#msg164958

Another: https://bitsharestalk.org/index.php?topic=12651.msg166480#msg166480

The logic that throws this is in the qt client, it seems to check whether the database is already open.  The question is how to reliably detect crashes (or unexpected system shutdowns, e.g. due to power failure) that result in the database being left open (including lock file on disk).
I'm wondering if it might be possible to record the PID on startup, then on subsequent startups read the PID from the file.  If a process with the PID exists and seems to be another BitShares client instance, then we assume the lock is legit; you should yell at the user for trying to start multiple instances with the same datadir and exit.
If a process with the PID doesn't exist, then we'll assume it's a false positive (i.e. the system was shut down / rebooted without giving the client opportunity to clean up, so the DB lock file is still there) and try to work around it (I think I've seen one forum thread about this issue that suggests manually deleting the DB lock file).  We may want to give the user a warning and/or back up the wallet at the filesystem level before proceeding with the workaround, just in case we somehow end up triggering workaround when another client is actually running.
During a clean client shutdown we should delete the PID file when the database has been closed.
Getting the current PID and probing processes by PID on different OS's will not be fun.  It is relatively simple on Linux (just look in /proc/self and /proc/), but who knows about Mac, Windows and other UNIXes?  (Do we even want to attempt to support any UNIX other than Mac / Linux?)

This error only appears when LevelDB dies trying to open the database (https://github.com/BitShares/qt_wallet/blob/master/ClientWrapper.cpp#L202). Crash detection is done earlier in the startup, and it gives a different error message (https://github.com/BitShares/qt_wallet/blob/master/ClientWrapper.cpp#L85).

This was a misleading error message that could happen on any db open failure; I've changed the message and it should print out the error status provided by LevelDB now: https://github.com/BitShares/bitshares/issues/1227
If we get reports of this again; we should at least be able to see which database cannot open and the error status.

https://github.com/BitShares/bitshares/commit/82cdcc57fbd8552dccf28a0ca4643fb22fdc8c24

For reference: https://bitsharestalk.org/index.php?topic=14670.msg190395#msg190395


[store] Documenetation does not specify where default value is

https://github.com/tauri-apps/plugins-workspace/blob/v1/plugins/store/guest-js/index.ts#L95
What is the default value? Where is that set?

The default value(s) can only be set in Rust: https://github.com/tauri-apps/plugins-workspace/blob/v1/plugins/store/src/store.rs#L83

Should mention that in the readme please.

also there's a typo


Expand doc-site section "Census data releases" and add data erratum

In "Census data releases" section:

Adds examples to open different versions of the data releases.
Adds section to describe each LTS data release.
Add data erratum for LTS 2023-05-15. Related to https://github.com/chanzuckerberg/single-cell-curation/issues/528

It also adds a file with the soma_joinids of the incorrectly labelled cells.
Notes for reviewers

@bkmartinjr can you confirm that the file you sent over email is for the data release 2023-05-15?
@brianraymor and @jahilton can you make an editorial review of the erratum?

can you confirm that the file you sent over email is for the data release 2023-05-15

confirmed.  It was calculated with open_soma(census_version='latest') which resolved to 2023-05-15


ENH: Make Qt default browser, add scraper

Let's see how it works. I think it won't work well because of https://github.com/mne-tools/mne-qt-browser/issues/19, but otherwise should be functional.

On main:

On this PR:

so it works, except for (I think) https://github.com/mne-tools/mne-qt-browser/issues/19. Leaving this as draft and I'll try running it again once mne-qt-browser is fixed. Or we can close if we don't want it to be our default scraped view.

@marsipu feel free to push directly here, you can even install your branch of mne-qt-browser for testing purposes to CircleCI in this PR if you want. Please push with [skip azp] [skip actions] in your commit message, though, so that only CircleCI bothers to run for now

I found a bug, about to push...

Okay things build well locally for me now @marsipu, I think I'm done pushing for a bit. Feel free to push if it doesn't work for you!
I'll leave this as WIP until we finalize the threading PR and hopefully cut a new release of mne-qt-browser so that we can just pip install the stable version here

I had some little fixes but when I try to push to your fork, I get Permission to larsoner/mne-python.git denied to marsipu.
What am I doing wrong?

I also noticed that the scraped images were still showing the progressbar, so I added QTest.qWait(100) to give the gui some time to update

You should have permission now if you accept my collaboration invite

I also noticed that the scraped images were still showing the progressbar, so I added QTest.qWait(100) to give the gui some time to update

Looks like adding one inst.processEvents() is enough to fix it locally at least made the build hang, so I pushed one with more. I like the direct processEvents approach rather than the QTest.qWait one, since I guess during the wait time it might or might not process events? In any case, it looks like CircleCI is happy with the latest version, and locally the windows appear, get scraped, and close, which is nice and mimics the behavior of matplotlib and PyVista. The CircleCI output looks okay, too:

Should the scraper now also work for the other tutorials? Because in CircleCi it's not (e.g. for "Built-in plotting methods for Raw objects/40_visualize_raw"). Locally it is working:
CircleCI

Local build

Should the scraper now also work for the other tutorials?

Circle CI only builds tutorials that have changed. The are no changes in that file

Thanks @drammock , good to know

We forgot to decide at the dev meeting if we're going to make mne-qt-browser the default for MNE 1.0 :(
If we do that, we might want to resurrect this PR, too. So I'm leaving this marked as 1.0 just so we remember to discuss.
@agramfort any opinion?

@marsipu do you want to try changing the default from matplotlib to qt here? I think we want some behavior where by default it tries to use 'qt' (unless the user has MNE_BROWSE_BACKEND=matplotlib set) and falls back to matplotlib if not available

Yes 😃

@marsipu CircleCI insists on failing:
https://app.circleci.com/pipelines/github/mne-tools/mne-python/12948/workflows/0d40575e-ea9d-4c3f-8249-91c14d9db56b/jobs/41827
I just reverted a bunch of commits, but then I just realized the problem might actually be memory consumption. If this build with the commits reverted also fails, I'll try force-pushing back to what I think should have worked before the reverts (80ebe18) and then push something to prevent precomputation.

... actually I just noticed that the problem is a timeout, so it "just" gets stuck for 10 minutes, then dies. I think this is probably a variant of the old precomputation threading bug :(
I added config var support for precompute and turned it to False on CircleCI, let's see if it works...

Thank you @larsoner for looking into this problems, I hope disabling precompute solves the issue here.

Looks like MNE_BROWSER_PRECOMPUTE=false on CircleCI worked:
https://41837-1301584-gh.circle-artifacts.com/0/dev/auto_tutorials/intro/10_overview.html#sphx-glr-auto-tutorials-intro-10-overview-py
@marsipu okay for you?
If so I'll look into any last failing tests, make the change you suggested, and mark as ready for merge.

when you are handling files with different sizes, you probably want to set precompute in your code rather than changing the config-value everytime, right?

Yes. In most cases where there is a config var for something, we allow passing it as well. It allows for various levels of control It has been pretty useful over the years for example with SUBJECTS_DIR/subjects_dir

@marsipu it looks like the failures are real and related at least in part to the default-backend switch. For example now we get:
E   UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.

which we shouldn't get -- any time we show a matplotlib figure, we should use our internal plt_show that catches this warning. It means that we are somehow hitting the wrong branch here, so I pushed a commit to expose the problem (these asserts should pass, but don't): 8870687ae46d855cbfb0b6cae2c3cf44b2056ef3
Can you look to see if this makes sense to you?

I am not sure about the matplotlib-problem yet (as you say, somehow if backend == 'matplotlib': in l.139 of mne.viz.utils does not work).
But I also saw that there are apparently tests with plot outside of mne.viz.tests like mne.preprocessing.tests.test_ica.py::test_ica_core.py which are not adapted yet.
I don't know if I can manage to look into this today because I am not finished with exam-preparation for today yet.

But I also saw that there are apparently tests with plot outside of mne.viz.tests like mne.preprocessing.tests.test_ica.py::test_ica_core.py which are not adapted yet.

Makes sense, any test that uses ica.plot_sources, epochs.plot, and raw.plot (and related functions) probably needs to be parameterized over backend types.
Okay. The easy way out of this I think is to actually set MNE_BROWSE_BACKEND=matplotlib in conftest.py until we adapt all tests. We can probably even do this after release if we must, assuming that ICA and epochs are already somewhat well tested by the previous PRs that added support for them. I'll try pushing that here and see if things work.

Makes sense, any test that uses ica.plot_sources, epochs.plot, and raw.plot (and related functions) probably needs to be parameterized over backend type

Yes, and I think some tests may use matplotlib-specific methods and attributes (e.g. fig.mne.ax_main) which need to be adapted to fit both backends (as I did for the viz-tests)

I am currently working on the tests

Looks like maybe just one failure left:
_______________________________ test_pg_scraper _______________________________
mne\viz\tests\test_scraper.py:20: in test_pg_scraper
    mne.viz._scraper._PyQtGraphScraper()(None, block_vars, gallery_conf)
mne\viz\_scraper.py:22: in __call__
    if getattr(gui, '_scraped', False):
E   RuntimeError: super-class __init__() of type PyQtGraphBrowser was never called

Hm, this could be a timing issue because browser-instances are added to _browser_instances shortly before the parent-classes are called. I fill fix and merge this in mne-tools/mne-qt-browser#56

Bu maybe this could be a timing issue because browser-instances are added to _browser_instances shortly before the parent-classes are called.

I'm not sure how it's possible unless __init__ somehow gets called from another thread...? It seems ilke the _get_browser(...) call cannot finish until __init__ has been called, right?

Bu maybe this could be a timing issue because browser-instances are added to _browser_instances shortly before the parent-classes are called.

I'm not sure how it's possible unless __init__ somehow gets called from another thread...? It seems ilke the _get_browser(...) call cannot finish until __init__ has been called, right?

Oh you're right. Maybe there are somehow remnant-objects in _browser_instances from the other tests which are already deleted in C++ and doesn't count as initialized anymore? How would we test for this in the scraper?

Maybe there are somehow remnant-objects in _browser_instances from the other tests which are already deleted in C++ and doesn't count as initialized anymore? How would we test for this in the scraper?

Indeed I just had the same thought -- some stale ref and the error message is misleading.

How would we test for this in the scraper if getattr() isn't working?

b8c324853

... is it possible that the instance adds itself to the list in __init__ before super().__init__(...) is called, and in between those two, an error of some sort could occur? In that case I think the fix is to move the "add-to-instances-list" to after the super init

... BTW I'm going to see if people are okay with moving 1.0 out to next week. It would be good to have at least a couple days of all these changes + installer testing done before we release.

... is it possible that the instance adds itself to the list in __init__ before super().__init__(...) is called, and in between those two, an error of some sort could occur? In that case I think the fix is to move the "add-to-instances-list" to after the super init

Yes, if something happens during parent-init this might be. Probably we should se this in the tests too but I added a change for that in mne-tools/mne-qt-browser#56

Looks like this Linux CI probably also needs a PRECOMPUTE=false, this looks like a plotting hang:
https://github.com/mne-tools/mne-python/runs/5224295329?check_suite_focus=true#step:13:415
I pushed a commit to see if it fixes it, plus a change that hopefully will fix the stale window bug. Though thinking about it now, it's likely that there is just some test / there are some tests that still need to be decorated with the pg_backend or parametrized over backends. That would explain there being more than one instance in the scraper test. Assuming [circle full] comes back happy, I'll push a commit to make sure that does a backend._close_all() before the yield in addition to the one after the yield -- that should help the scraper test not have anything stale afterward.

@marsipu another one to look at sometime:
____________________________ test_array_epochs[qt] _____________________________
/opt/hostedtoolcache/Python/3.8.12/x64/lib/python3.8/site-packages/matplotlib/figure.py:2364: in show
    self.canvas.manager.show()
/opt/hostedtoolcache/Python/3.8.12/x64/lib/python3.8/site-packages/matplotlib/backend_bases.py:2815: in show
    raise NonGuiException(
E   matplotlib.backend_bases.NonGuiException: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.

During handling of the above exception, another exception occurred:
mne/tests/test_epochs.py:2769: in test_array_epochs
    epochs[0].plot()
mne/epochs.py:1167: in plot
    return plot_epochs(self, picks=picks, scalings=scalings,
mne/viz/epochs.py:910: in plot_epochs
    _show_browser(show, block=block, fig=fig)
mne/viz/utils.py:144: in _show_browser
    fig.show()
/opt/hostedtoolcache/Python/3.8.12/x64/lib/python3.8/site-packages/matplotlib/figure.py:2367: in show
    _api.warn_external(str(exc))
/opt/hostedtoolcache/Python/3.8.12/x64/lib/python3.8/site-packages/matplotlib/_api/__init__.py:299: in warn_external
    warnings.warn(message, category, stacklevel)
E   UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.

In the meantime I'm going to see if a naive conftest ignore will be enough to make things work. If it's not, we can set the default backend to matplotlib in the Test Ultraslow_PG test where this occurred.

Okay we already have one legitimate failure that we have to fix:
WARNING: /home/circleci/project/tutorials/intro/70_report.py failed to execute correctly: Traceback (most recent call last):
  File "/home/circleci/project/tutorials/intro/70_report.py", line 93, in <module>
    report.add_raw(raw=raw, title='Raw', psd=False)  # omit PSD plot
  File "/home/circleci/project/mne/report/report.py", line 1086, in add_raw
    htmls = self._render_raw(
  File "/home/circleci/project/mne/report/report.py", line 2729, in _render_raw
    butterfly_imgs_html = self._render_raw_butterfly_segments(
  File "/home/circleci/project/mne/report/report.py", line 2676, in _render_raw_butterfly_segments
    _constrain_fig_resolution(
  File "/home/circleci/project/mne/report/report.py", line 327, in _constrain_fig_resolution
    dpi = min(max_res, max_width / fig.get_size_inches()[0])
AttributeError: 'PyQtGraphBrowser' object has no attribute 'get_size_inches'

The easy fix here is to use_browse_backend in report.py. I'll push that

Looks like we have a timeout in 60_ctf_bst_auditory.py:
https://app.circleci.com/pipelines/github/mne-tools/mne-python/12966/workflows/92895aa4-1fe2-4e26-a259-0d256a995ac8/jobs/41862
@marsipu one option is to for now set MNE_BROWSER_BACKEND=matplotlib in CircleCI in this PR. It somewhat defeats the purpose, but it relieves the timeline stress here. That way we can push out 1.0, and weeks (or months!) later update our doc builds to show the Qt browser in a 1.0.1 release. WDYT?
Then all we have to fix here are the unit tests, and the point of the PR becomes mostly about setting the default to qt.

@marsipu one option is to for now set MNE_BROWSER_BACKEND=matplotlib in CircleCI in this PR. It somewhat defeats the purpose, but it relieves the timeline stress here. That way we can push out 1.0, and weeks (or months!) later update our doc builds to show the Qt browser in a 1.0.1 release. WDYT?

Yes I think too that we could use more time to inspect all tutorials/examples or find a general solution for the issues arising with using qt-backend for rendering in all docs.

I just uploaded a fix which I think was causing test_epochs_array to fail

Looks like we have a timeout in 60_ctf_bst_auditory.py:

In this tutorial I see in the middle:
raw.plot(block=True

Theoretically this must have blocked the CI for matplotlib too (maybe this is then one of those constellations where block doesn't work for matplotlib).
How would you solve this? (setting all plots non-blocking by default for CIs maybe?)

Just as a reminder: We might want to run the CIs once again here when we released 0.2.0 of mne-qt-browser before merging to run everything which is now skipped because of low version.

Ahh, block=True might also be why the Linux job dies after the channels tests, because the next one is probably commands and tests mne browse_raw, which runs with block=True.

Theoretically this must have blocked the CI for matplotlib too (maybe this is then one of those constellations where block doesn't work for matplotlib).

For tests and doc builds we force matplotlib to use agg, so block gets ignored.

How would you solve this?

For now I'm going to try putting in a shim workaround env var _MNE_QT_NO_BLOCK=true that we can set in conftest.py and conf.py and check for wherever we would normally pass block=True to the Qt backend to make it so that it's always False when that env var is set.

What does "[circle full]" mean?

I should update the docs to say that by default for PRs Circle will only render things that change, but for your question:
https://github.com/mne-tools/mne-python/blob/ffb4ef3d623b9e7202e5078cd3301c8cfc40d5a5/.circleci/config.yml#L1-L6

This PR is exposing all sorts of fun stuff! https://github.com/sphinx-gallery/sphinx-gallery/pull/916

When do you think is the best time to do the 0.2.0-release for mne-qt-browser?

You can go ahead and do it now. If we need to push out 0.2.1 almost immediately it's easy enough. Version numbers are cheap :)

🎉

This was not a circle full run, still working on tutorials locally. Hopefully just another hour or two, then I can push [circle full] and we can hope it works!

So close, it only had a few examples left!
generating gallery for auto_examples/datasets... [ 80%] opm_data.py
4672.6 s : 3.02 GB
ERROR:mprof:Program resulted with a non-zero exit code: -9
Makefile:55: recipe for target 'html_dev-memory' failed

It suggests that the pyqtgraph windows are for some reason not being garbage collected properly, probably due to some circular refs that gc is not able to resolve :(
For now I'm going to set CircleCI to use matplotlib, but I'll see if I can figure out the memory leak somehow


BunkerWeb LXC Script doesnt work

✅ Have you read and understood the above guidelines?
Yes
📜 What is the name of the script you are using?
BunkerWeb LXC
📂 What was the exact command used to execute the script?
bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/bunkerweb.sh)"
📝 Provide a clear and concise description of the issue.
Hi,
The script seem to be broken. The "UI" doesn't even show.

⚙ What settings are you using?

[ ] Default Settings
[ ] Advanced Settings

🖥 Which Linux distribution are you using?
Debian 12
🔄 Steps to reproduce the issue.
Just call the script "bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/bunkerweb.sh)""
❌ Paste the full error output (if available).
[ERROR] in line 168: exit code 0: while executing command apt-get install -y figlet &> /dev/null
🖼 Additional context (optional).

When you execute it? Ive fixed 3h ago a bug with figlet

When you execute it? Ive fixed 3h ago a bug with figlet

Yeah, but executing dpkg --configure -a and reinstalling figlet manually seem to have resolved the issue. It was probably due to an incoherent state


Mocking Network Errors

Allows you to mock/simulate an error on request.

Coverage decreased (-0.1%) to 92.96% when pulling 926c5a17b4b5d5b2fbccb5a7f83df26751f2385a on douglaseggleton:master into d8663c511557da2d4f7c34bc9c6a16aae6c3b1d4 on pgte:master.

@douglaseggleton thanks!
Landed on v1.6.0.


added list option to help page

The list option was missing in the help page.

Whoops, I merged it into the wrong branch.


Big size of Svg not working proper

Hi,
i am loading big size of svg and then i am getting issues is

svg not load from center point
when i click on fittoscreen its show me half of svg

i am uploading my code https://jsfiddle.net/jaykhatri18/cay7a6zo/ please check n give me solution if possible

It seems that in your demo you set up a scaleFactorMin that is not enough to contain the whole image.
With scaleFactorMin={0.0001} it work properly
https://jsfiddle.net/3rww8p2o/1/

Hello @chrvadala
its not like this scaleFacttorMin is not issue that i can handle it
but my point is when i load large size of svg how can i load it from center point bellow image will may clear my concept : https://file.town/download/aqqh57pkhbzs6e4iia72k8qs4
Thank you

Unfortunately there isn't a feature to do this. Actually the fitToViewer() method tries to fit the image only on one side and doesn't move the image to the center. Probably I'll add this feature but actually I don't a target date. Sorry.

Duplicate of this https://github.com/chrvadala/react-svg-pan-zoom/issues/65


Fix upload step

https://github.com/rapidsai/rapids-build-backend/pull/22 changed how the package is uploaded to S3, but did not include RAPIDS_PY_WHEEL_NAME.

I'm wondering if, in this PR, we should also change it so that only tags (and not main) get published.

I've implemented the above.


CORS not working in Safari (but does in Chrome)

What is the issue?
I can't make API requests from Safari.
I've enabled all origins "*" and it perfectly works in Chrome, but Safari just throws CORS errors.
I've tried with the ollama/browser npm package and a manual fetch request, to make sure it's not the problem.
Both are failing
OS
macOS
GPU
Apple
CPU
Apple
Ollama version
0.1.32

Hi @finn753, thanks for opening the issue. Safari has some stricter CORs policies than Chrome does. Is there any specific CORs error in the safari console? That will help narrow this one down a bit, a quick Safari CORs test worked for my specific setup.

@BruceMacD I was going to post the issue, so I had done a bit of research as I don't know go but the following may help:
https://github.com/ollama/ollama/blob/06164911dd7d79a87330a3249a96c56890332ad0/llm/ext_server/server.cpp#L2841
I think Safari does not accept the wildcard in Access-Control-Allow-Headers when credentials are included. Consequently, requests that explicitly set the User-Agent header are blocked due to CORS policy violations.
Proposed Solution:
Replace the wildcard in the Access-Control-Allow-Headers with an explicit list of headers. For example:
res.set_header("Access-Control-Allow-Headers", "Content-Type, Accept, X-Requested-With, User-Agent");
Impact:
This issue prevents the application from performing authorized cross-origin requests where custom headers, particularly User-Agent, are necessary.

Thanks for the insights @jzevin, I was able to reproduce and add a couple more headers to #4086 that will fix this.


add SiteGroups

Add support for SiteGroups
closes #94

wrong branch...

Looks good to me, but please review @tobiasge


logic to create folders for plugins

tested for one plugin only, works

Please remember me to remove the mkdir stuff from the tutorial :) if you merge this.


soc: sam0: add support for setting low power states

This adds support for the three Idle modes and the Deep Sleep mode on the Atmel SAM0 SoCs.
I originally included this in #13494 but it makes more sense to keep this a separate pull request.

Codecov Report

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

@@            Coverage Diff             @@
##           master   #14881      +/-   ##
==========================================
+ Coverage   52.48%   52.52%   +0.03%
==========================================
  Files         309      309
  Lines       45063    45063
  Branches    10434    10434
==========================================
+ Hits        23653    23669      +16
+ Misses      16595    16583      -12
+ Partials     4815     4811       -4

Impacted Files
Coverage Δ

subsys/testsuite/ztest/src/ztest.c
72.72% <0%> (+7.43%)
:arrow_up:

subsys/testsuite/ztest/include/ztest_assert.h
77.77% <0%> (+38.88%)
: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 9722214...717121f. Read the comment docs.

needs rebasing after #14448

I’m afraid so.


Use configured cadl-server path in VS when using a solution

Fix #660

I found some bugs and made substantial changes, will open a fresh PR when ready.


Implement transparent retries

Implements transparent retries, as per gRFC A6.
NOTE FOR RELEASE NOTES: gRPC C-core now sends all RPCs via the retry code by default, which means that callers of the C++ client API that fail to call Finish() at the end of their RPCs may see memory and/or connection leaks!  This applies to all users of the CQ-based async API as well as streaming users in the sync API.

This is now updated to use the StreamNetworkState from metadata.
Craig, can you please review the changes to api_fuzzer to make sure I didn't break anything there?  Thanks!

@yashykt I've added the suggested test, and it looks like it's failing.  From the trace, it looks to me like the transport is returning recv_initial_metadata_ready without setting trailing_metadata_available, which is causing the call to be committed, after which no transparent retry can occur.  Can you check to see why the transport is not setting trailing_metadata_available in the recv_initial_metadata op in this case?

https://github.com/grpc/grpc/pull/28827 is now merged

Looks like //test/core/tsi/alts/handshaker:alts_concurrent_connectivity_test started failing on ARM right after submitting this PR:
https://source.cloud.google.com/results/invocations/03b6749b-be3f-4ad9-8e58-fa083e0759a8/log

Reverting in #28888 due to internal breakage.  I haven't yet looked at the ARM failure, but I'll do that before rolling forward.


Crunchyroll not working :(

I tried creating an issue at Gitlab, but it isn't letting me, so I'm making one here. I can't download from Crunchyroll :( It tells me to install ffmpeg or avconv, but I don't know where to place either. Using Windows 10.
THANK YOU for maintaining this wonderful fork, I'm now using it as default, esp. that Vividl now supports it.

C:\Users\Menna\Downloads>haruhi-dl --verbose "https://www.crunchyroll.com/dragon-ball-super/episode-105-a-desperate-battle-master-roshis-sacrifice-741903"
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', 'https://www.crunchyroll.com/dragon-ball-super/episode-105-a-desperate-battle-master-roshis-sacrifice-741903']
[debug] Encodings: locale cp1252, fs utf-8, out utf-8, pref cp1252
[debug] haruhi-dl version 2021.01.24
[debug] Lazy loading extractors enabled
[debug] Python version 3.9.1 (CPython) - Windows-10-10.0.19041-SP0
[debug] exe versions: none
[debug] Proxy map: {}
[crunchyroll] 741903: Downloading webpage
[crunchyroll] 741903: Downloading adaptive_hls-audio-jaJP-hardsub-esLA information
[crunchyroll] 741903: Downloading adaptive_hls-audio-jaJP information
[crunchyroll] 741903: Downloading adaptive_hls-audio-jaJP-hardsub-enUS information
[crunchyroll] 741903: Downloading adaptive_hls-audio-jaJP-hardsub-ptBR information
[crunchyroll] 741903: Downloading media info
[debug] Default format spec: best/bestvideo+bestaudio
[debug] Invoking downloader on 'https://pl.crunchyroll.com/evs1/d1514e93cdddd168153b5a7a4c11477b/assets/b7f4133f0a025f43f85ff8105194458b_3299957.mp4/index-v1-a1.m3u8?Expires=1612771466&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9wbC5jcnVuY2h5cm9sbC5jb20vZXZzMS9kMTUxNGU5M2NkZGRkMTY4MTUzYjVhN2E0YzExNDc3Yi9hc3NldHMvYjdmNDEzM2YwYTAyNWY0M2Y4NWZmODEwNTE5NDQ1OGJfKi5tM3U4PyoiLCJDb25kaXRpb24iOnsiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE2MTI3NzE0NjZ9fX1dfQ__&Signature=nOyiUl2byc7~l4YhcA7-yk~yHnFRcIn~xzJ1wC7dWrODbcYuqqf9HwKmQNTW5Tiygt3R5KV7k3byyGDH8xm0Wd3aAyLyo0iyUZQtw~dbQ~2sQ4AKdsUi6qx-n6S5eQIW1HH9GkRsPMIfcfrYIKFUhmcQRlY39TsLdIVKSRUME8fnYcHskzdvLmaFRmgx6CSwN2P4MkqAM2KYdTh2crvDbSkMXv5aE8AkZDs5546cf3ji-2S6-BG876j3C0P6VXuPLGhd0KM~-B8Whv8FLY49HeNaE2KL0I1gNOrdE7yPR6CP2O0u0ejFiOb~cdyONqOe20G2hOGp3iBmT5YL1gJhTQ__&Key-Pair-Id=APKAJMWSQ5S7ZB3MF5VA&cdn=ll-prod'
[download] Destination: Dragon Ball Super Episode 105 – A Desperate Battle! Master Roshi's Sacrifice!!-741903.mp4
ERROR: m3u8 download detected but ffmpeg or avconv could not be found. Please install one.
  File "c:\users\Menna\appdata\local\programs\python\python39\lib\runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "c:\users\Menna\appdata\local\programs\python\python39\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "C:\Users\Menna\AppData\Local\Programs\Python\Python39\Scripts\haruhi-dl.exe\__main__.py", line 7, in <module>
    sys.exit(main())
  File "c:\users\Menna\appdata\local\programs\python\python39\lib\site-packages\haruhi_dl\__init__.py", line 475, in main
    _real_main(argv)
  File "c:\users\Menna\appdata\local\programs\python\python39\lib\site-packages\haruhi_dl\__init__.py", line 465, in _real_main
    retcode = hdl.download(all_urls)
  File "c:\users\Menna\appdata\local\programs\python\python39\lib\site-packages\haruhi_dl\HaruhiDL.py", line 2018, in download
    res = self.extract_info(
  File "c:\users\Menna\appdata\local\programs\python\python39\lib\site-packages\haruhi_dl\HaruhiDL.py", line 808, in extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "c:\users\Menna\appdata\local\programs\python\python39\lib\site-packages\haruhi_dl\HaruhiDL.py", line 863, in process_ie_result
    return self.process_video_result(ie_result, download=download)
  File "c:\users\Menna\appdata\local\programs\python\python39\lib\site-packages\haruhi_dl\HaruhiDL.py", line 1644, in process_video_result
    self.process_info(new_info)
  File "c:\users\Menna\appdata\local\programs\python\python39\lib\site-packages\haruhi_dl\HaruhiDL.py", line 1926, in process_info
    success = dl(filename, info_dict)
  File "c:\users\Menna\appdata\local\programs\python\python39\lib\site-packages\haruhi_dl\HaruhiDL.py", line 1865, in dl
    return fd.download(name, info)
  File "c:\users\Menna\appdata\local\programs\python\python39\lib\site-packages\haruhi_dl\downloader\common.py", line 366, in download
    return self.real_download(filename, info_dict)
  File "c:\users\Menna\appdata\local\programs\python\python39\lib\site-packages\haruhi_dl\downloader\external.py", line 35, in real_download
    retval = self._call_downloader(tmpfilename, info_dict)
  File "c:\users\Menna\appdata\local\programs\python\python39\lib\site-packages\haruhi_dl\downloader\external.py", line 227, in _call_downloader
    self.report_error('m3u8 download detected but ffmpeg or avconv could not be found. Please install one.')
  File "c:\users\Menna\appdata\local\programs\python\python39\lib\site-packages\haruhi_dl\downloader\common.py", line 165, in report_error
    self.hdl.report_error(*args, **kargs)
  File "c:\users\Menna\appdata\local\programs\python\python39\lib\site-packages\haruhi_dl\HaruhiDL.py", line 625, in report_error
    self.trouble(error_message, tb)
  File "c:\users\Menna\appdata\local\programs\python\python39\lib\site-packages\haruhi_dl\HaruhiDL.py", line 587, in trouble
    tb_data = traceback.format_list(traceback.extract_stack())

I'm looking at this comment, and it's saying to place the ffmpeg/avconv file in the same folder where the exe is located. But I installed haruhi-dl via PIP, so it's confusing since there are many places I can place this ffmpeg/avconv file.

You can download ffmpeg from here (I guess the release-essentials should work), extract it somewhere and add the bin folder to your system PATH variable, so haruhi-dl can find it.

I got it working by adding it to system variables as in your linked guide, thank you!!!


switch frontend port to 3001

close #666
To avoid conflicts with grafana.

Looks like you also need to update this documentation: https://github.com/pingcap-incubator/tidb-dashboard/blob/master/CONTRIBUTING.md

Looks like you also need to update this documentation: https://github.com/pingcap-incubator/tidb-dashboard/blob/master/CONTRIBUTING.md

Yep, sorry for forgetting that, will update it soon.


👍 Corrected the spelling mistake in TopView from Multiple FLightpath…

…s to Multiple Flightpath.

ok

Ok


Incomplete tests: Proper derivation of source and destination service attributes

Context: production readiness proposal and plan
The feature “Proper derivation of source and destination service attributes #1315 ” is identified as incomplete test coverage. As a measure to reach Istio production quality in 0.3, this issue is opened to track the progress of providing sufficient test coverage for the feature in question.
This issue is initially assigned to the working group leads.
Recommendations:

Come up with a test plan for how the feature should be tested. Identify and document (in this issue, or a separate document this issue will link to) test cases and whether each will be covered by an integration test (with some level of mocking and/or starting up selected components in test environment), or end to end test (aka system test, which brings up the whole Istio to exercise the feature; currently live in the istio/istio repo).
If you expect the test plan is complex and controversial, consider having it formally reviewed.
State an ETA in the issue, and assign this to a developer who will execute the test plan.
Execute the test plan as the highest priority for 0.3.
For any bug or defect identified by the new test cases, file a new issue and link it from this one.
Close this issue only when the test plan is completely executed, and all additional issues identified in step 3 are fixed.

If you see a risk of not fixing this issue by end of 0.3, please contact<EMAIL_ADDRESS>as soon as possible. We will also periodically ping the issue for update.

Duplicate of #1315

Issue moved to istio/istio #1469 via ZenHub


docs: document forge cache

issue: https://github.com/foundry-rs/book/issues/270

Not sure if I should have it under Forge Build Commands
Will do some more work with the examples / options for forge cache clean

Ok I think I got everything


Add a basic authorization server policy for scope validation

Expected Behavior
The RCF 6749 contains this proposal :

The authorization server MAY fully or partially ignore the scope requested by the client, based on the authorization server policy or the resource owner's instructions.
(https://tools.ietf.org/html/rfc6749#section-3.3)

A basic policy may be avaible, in order to filter scopes asked by client regarding the GrantedAuthority of the authenticated user (ressource owner) before the consent (in case of authorization_code with consent procedure).
Current Behavior
No comparaison or filtering are made between user GrantedAuthority and scope asked by the client.
So tokens are delivered regardless of the user rights limitation.
Context
I have a custom UserDetailsService and authorities specified with authorized scope for the user.

@Clem69B There are many generalized recommendations in RCF 6749, this being one of them:

The authorization server MAY fully or partially ignore the scope
requested by the client, based on the authorization server policy or
the resource owner's instructions.

The preceding statement does not translate to:

A basic policy may be avaible, in order to filter scopes asked by client regarding the GrantedAuthority of the authenticated user (ressource owner) before the consent (in case of authorization_code with consent procedure).

I do understand the need for custom policies but this would be custom functionality that would be implemented in an OAuth 2.0 Provider product. This project is strictly focused on implementing the various OAuth 2.0 / OIDC specifications.
This custom behaviour (policy enforcement) would need to be implemented in an OAuth 2.0 Provider product that ultimately extends from this project / framework.
I hope this makes sense?

@Clem69B There are many generalized recommendations in RCF 6749, this being one of them:

The authorization server MAY fully or partially ignore the scope
requested by the client, based on the authorization server policy or
the resource owner's instructions.

The preceding statement does not translate to:

A basic policy may be avaible, in order to filter scopes asked by client regarding the GrantedAuthority of the authenticated user (ressource owner) before the consent (in case of authorization_code with consent procedure).

I do understand the need for custom policies but this would be custom functionality that would be implemented in an OAuth 2.0 Provider product. This project is strictly focused on implementing the various OAuth 2.0 / OIDC specifications.
This custom behaviour (policy enforcement) would need to be implemented in an OAuth 2.0 Provider product that ultimately extends from this project / framework.
I hope this makes sense?

Hello @jgrandja,
Thanks for your answer, it's make sense regarding this ticket name and description.
But, the reason behind this ticket is still actual, and, I think, focus on your project : If I want to do this myself, how can I do it with this framework ? What are the entry points ?
I have explored the source code, and actualy, I have seen no suitable method to do this, except rewrite a lot of things.
So I have written a specific ticket to be clear on my situation and my need, but I think that is a more global need and can be in the framework scope : How a third party integrator can build its own policy using our project ?

Hello @jgrandja,
Thanks for your answer, it's make sense regarding this ticket name and description.
But, the reason behind this ticket is still actual, and, I think, focus on your project : If I want to do this myself, how can I do it with this framework ? What are the entry points ?
I have explored the source code, and actualy, I have seen no suitable method to do this, except rewrite a lot of things.
So I have written a specific ticket to be clear on my situation and my need, but I think that is a more global need and can be in the framework scope : How a third party integrator can build its own policy using our project ?

@Clem69B I've noted this in #139

Provide plugin mechanism for Policy Enforcement

I'm capturing all possible extension points in that "umbrella" ticket.

@Clem69B I've noted this in #139

Provide plugin mechanism for Policy Enforcement

I'm capturing all possible extension points in that "umbrella" ticket.


Allow running arbitrary sbt tasks/commands with docker-compose

Please support running arbitrary sbt tasks/commands while the docker-compose containers are up, not just ScalaTest.
I'm attempting to write my integration/acceptance-tests using cucumber-scala instead of ScalaTest. Currently I'm forced to do this via a ScalaTest wrapper-test-case which "manually" invokes cucumber.runtime.Runtime.run() and fail the test in case Runtime.exitstatus != 0, since the sbt cucumber plugin cannot be invoked from sbt-docker-compose it appears.
I understand that you'd then miss out on the possibility to use the ScalaTest specific ConfigMap, however environment variables (system properties) still work fine in those cases.
However, the application I'd like to test better uses Akka Cluster Sharding, so I think it would be more straightforward to use Akka's multi-jvm or maybe even multi-node support which are implemented as sbt plugins plus test libraries. Would be awesome if sbt-docker-compose could support that as well. Those are however based on ScalaTest, so think I might better give in and switch from cucumber to ScalaTest's FeatureSpec instead.
If you want to look into it, a similar sample project with multi-jvm tests (but no sbt-docker-compose usage yet) is available at https://github.com/typesafehub/activator-akka-cluster-sharding-scala

I've just cloned this project with the intent of having a go at this one. I too fancy using this with cucumber, so worth having a shot

Hi @aaronp & @stela - The update for Cucumber support has now been included in an official release:
addSbtPlugin("com.tapad" % "sbt-docker-compose" % "1.0.29")
Thanks again!

Thanks! 👍

@kurtkopchik: I have a similar use case with the gatling sbt plugin (I want to run some simple functional tests using gatling as well as regular ScalaTests). Any advice how to go about it?

Hi @eugenemiretsky - I would start by looking at pull request (https://github.com/Tapad/sbt-docker-compose/commit/0fdfa13dcda98a690442d0cf3555d6d5c0334be1) that added support for Cucumber (https://github.com/Tapad/sbt-docker-compose/commit/0fdfa13dcda98a690442d0cf3555d6d5c0334be1#diff-d97efb1099d050d6a60fbf8c9cf6447eR96) and see how you can add support in a similar fashion for Gatling via io.gatling.app.Gatling

It would be really nice if there was a way to run an arbitrary task when docker compose is up. For example, if I wanted to run a code coverage on the tests executed by dockerComposeTest, is there a way to do it?


Staging ben

This pull request updates ath10k-ct firmware and fwcfg file for 4019 radio, this gives more TIDs, at cost of fewer stations, but result should not crash under load due to lack of TID objects.

merged into pending, Thanks !


Example of the AwsLambdaReceiver hooked up to handleCallback for install redirect requests

I'm using the AwsLambdaReceiver to easily integrate with Slack interactive events, thank you for this! However I wanted to also use something like the AwsLambdaReceiver to integrate with the install redirect requests similar to how the HTTPReceiver uses handleInstallRedirectRequest as seen here. However I haven't seen an example of that.
For Slack events I am using something like this:
export const handler = async (
  event: APIGatewayEvent,
  context: Context,
  callback: Callback
) => {
  const handler = await receiver.start()
  return await handler(event, context, callback)
}

And I was hoping to have something similar for the install redirect request event. I assume that I'll need to create a new type of AwsLambdaReceiver in order to have the right toHandler function. But before I go down that road I wanted to see if there was already something I wasn't able to find in the docs.
Reproducible in:
The Slack SDK version
"slack/bolt": "^3.12.2"
Node.js runtime version
v19.6.0
OS info
ProductName:		macOS
ProductVersion:		13.2.1
BuildVersion:		22D68
Darwin Kernel Version 22.3.0: Mon Jan 30 20:39:35 PST 2023; root:xnu-8792.81.3~2/RELEASE_ARM64_T8103

Please read the Contributing guidelines and Code of Conduct before creating this issue or pull request. By submitting, you are agreeing to those rules.

Hi @clarkbw thanks for writing in!
(I'm assuming this is to implement OAuth in AWS lambda with the AwsLambdaReceiver)
You seem to be correct, the AwsLambdaReceiver does not seem to implement the endpoints like install redirect request required to implement OAuth with the receiver. I quickly went through our examples and samples and could not find an implementation of this.
Extending the capabilities of the AwsLambdaReceiver to perform OAuth is a great idea in my opinion, I will label this issue as a feature request.
Implementing your own AwsLambdaReceiver that handles the OAuth flow could be a very elegant solution to your issue, if you end up going down this path we welcome external contributions and it could make your work available to everyone

Hi @WilliamBergamin
You're 💯 correct, this is for the OAuth flow.
With the installer private to the App you can't simply call out to it with an install object but I think it makes the most sense to either extend this receiver or create a slightly separate one.
I'll probably start with a separate one and bring that to see if we can integrate it somehow.

FYI issue #1639 highlights the use of the Express Adapter + OAuth on AWS lambda, which is another solution that can be implemented

Oh, that's interesting. I hadn't thought of using the https://github.com/vendia/serverless-express module and the express receiver. I'll give that a try.


tqdm需指定版本号

文档链接：https://github.com/mindspore-lab/mindcv/blob/main/requirements/docs.txt
tqdm需指定版本号，否则涉及下载接口报错：
with tqdm(total=response.length, unit="B") as pbar:
E               AttributeError: enter

Thank you for your contribution to MindCV. Can you provide more error details to reproduce the problem? This issue will be temporarily closed until you contact us for further feedback.


🐛 FIX: using unicode-math package to handle math characters

Also removed unicodechar package with explicit handling of β, as it was affecting β's in code blocks.
Just unicode-math handles β as well
fixes https://github.com/QuantEcon/lecture-python.myst/issues/76

Codecov Report

Merging #35 (1f9e8c5) into master (5c25276) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #35   +/-   ##
=======================================
  Coverage   97.79%   97.79%
=======================================
  Files           4        4
  Lines         227      227
=======================================
  Hits          222      222
  Misses          5        5

Flag
Coverage Δ

pytests
97.79% <ø> (ø)

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

Impacted Files
Coverage Δ

jupyterbook_latex/__init__.py
95.23% <ø> (ø)


Update UserGuide

Codecov Report

:exclamation: No coverage uploaded for pull request base (user-guide@3162db7). Click here to learn what that means.
The diff coverage is n/a.

:exclamation: Current head 0051a37 differs from pull request most recent head 66af60f. Consider uploading reports for the commit 66af60f to get more accurate results

@@              Coverage Diff              @@
##             user-guide     #308   +/-   ##
=============================================
  Coverage              ?   70.38%
  Complexity            ?      819
=============================================
  Files                 ?      111
  Lines                 ?     2755
  Branches              ?      356
=============================================
  Hits                  ?     1939
  Misses                ?      705
  Partials              ?      111

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


Why upstream filters are only available for L3/L4 layers?

Title: Why upstream filters are only available for L3/L4 layers?
Description:
Filters can be defined in upstream clusters only at the network L3/L4 level. Why is that? Is there any technical limitation or they were not just implemented for L7 layer yet?
I think I have a use case for such thing although perhaps the current alternative is simple enough that won't justify impl filters for L7 layer by itself.
I'm doing requets to s3 from a wasm filter and the proxy_dispatch_http_call requires passing the cluster name, but if I pass directly the s3 cluster name I can't configure the AwsRequestSigning filter, so I had to configure another cluster token-fetcher which is the one I call from the wasm filter.
My current config
    - name: s3-listener
    address:
      socket_address: { address: <IP_ADDRESS>, port_value: 4141 }
    filter_chains:
      - filters:
          - name: envoy.http_connection_manager
            typed_config:
              "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
              stat_prefix: s3-listener
              codec_type: auto
              route_config:
                name: sts
                virtual_hosts:
                  - name: sts
                    domains: ["*"]
                    routes:
                      - match:
                          prefix: "/"
                        route:
                         cluster: s3
              http_filters:
                - name: sigv4-signing
                  typed_config:
                    "@type": type.googleapis.com/envoy.extensions.filters.http.aws_request_signing.v3.AwsRequestSigning
                    service_name: s3
                    host_rewrite: s3.amazonaws.com
                    region: us-east-1
                    use_unsigned_payload: true
                    match_excluded_headers:
                      - prefix: x-envoy
                - name: envoy.filters.http.router

  - name: token-fetcher
    connect_timeout: 0.25s
    type: STATIC
    lb_policy: ROUND_ROBIN
    load_assignment:
      cluster_name: token-fetcher
      endpoints:
      - lb_endpoints:
        - endpoint:
            address:
              socket_address:
                address: <IP_ADDRESS>
                port_value: 4141

  - name: s3
    type: LOGICAL_DNS
    connect_timeout: 2s
    transport_socket:
      name: envoy.transport_sockets.tls
      typed_config:
        '@type': type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext
    load_assignment:
      cluster_name: s3
      endpoints:
        - lb_endpoints:
            - endpoint:
                address:
                  socket_address:
                    address: s3.amazonaws.com
                    port_value: 443

Being able to configure the filter in the cluster I would simplify this configuration avoiding the listener and the token-fetcher cluster.

Upstream HTTP filters are available as an alpha feature. They are defined here as http_filters.

There's a small amount of work needed to register a filter as an upstream HTTP filter, so it's not automatic. This is fairly new, so I assume we just didn't register the majority of HTTP filters this way.

Thanks @kyessenov . I'll continue using the listener for now and keep an eye to this feature.


⚠ Bofrost.es has degraded performance

In 2230080, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1557 ms

Resolved: Bofrost.es performance has improved in e028b65 after 9 minutes.


BROKERS: Retrieve Tables with Properties

#23

@mtoncic when you get a chance you need to be Git Verified, we all know your a good guy. Just some thing that was implemented not to far back. Here is the link to Hassan's video.


Add SizesWindow

I've tried overriding get and set for rootViewController property but it breaks UIKit, I get the error:

Applications are expected to have a root view controller at the end of application launch
Although I can correctly retrieve the rootViewController. I believe overriding set breaks UIKit. You can see the said approach in commit 8feaa4a
And overriding get without overriding set does not seem possible.

I've also bumped up the version to 0.3 and configured AppDelegate to use the new SizesWindow approach. All tests pass.

I believe README also needs an edit. Should I do it in this PR?

Perfect! I'll add a review

@marcosgriselli PR updated with the suggestions


Added ability to get user quotas

This PR adds the ability to get user quotas.
Using the cli

Using a python script

@AugustoPeres Can you QA this?
in the CLI it is inductiva quotas list
In a script we do inductiva.users.get_quotas()

QA ✅


Powershell ISE crashes on Intellisense Ctrl+Space.

Steps to reproduce
Use Windows Powershell ISE on Windows Build 17134
Enter the name of any cmdlet, a dash, then press ctrl+Space.
Get-Help -[Ctrl+Space]

Expected behavior
Should show intellisense popup.
Actual behavior
Instead of an intellisense dropdown, a small dot appears.
Messagebox as follows, followed by closing:
---------------------------
Windows PowerShell ISE - Error
---------------------------
An unexpected error has occurred, and Windows PowerShell ISE must close.
---------------------------
OK
---------------------------

Running in the visual studio debugger shows two exceptions, one from Xaml (associated with the appearance of the dot) the other a NullReferenceException which appears to occur in the context of a timer.
If you break on the Xaml exception there is no nullreference exception presumably because of the loss of focus.
Environment data
OS Name	Microsoft Windows 10 Pro
Version	10.0.17134 Build 17134

> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.17134.1
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.17134.1
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>

More information
Running outside the debugger, instead of the intellisense pop-up I see a tiny dot appear, then the messagebox appears.
Running ISE in the visual studio debugger I see this:
Exception thrown: 'System.ArgumentException' in WindowsBase.dll
'Assertive' is not a valid value for property 'LiveSetting'.

Exception thrown: 'System.Xaml.XamlObjectWriterException' in System.Xaml.dll
Initialization of 'Microsoft.VisualStudio.Language.Intellisense.Implementation.DefaultCompletionSetPresenter' threw an exception.

And:
Exception thrown: 'System.Xaml.XamlObjectWriterException' in System.Xaml.dll
Exception thrown: 'System.Windows.Markup.XamlParseException' in PresentationFramework.dll
Exception thrown: 'System.ArgumentException' in WindowsBase.dll
Exception thrown: 'System.Xaml.XamlObjectWriterException' in System.Xaml.dll
Exception thrown: 'System.Windows.Markup.XamlParseException' in PresentationFramework.dll

And:
Exception thrown: 'System.ComponentModel.InvalidAsynchronousStateException'

Hi @benliddicott ! This repository is for PowerShell Core 6.0.0 and newer issues only. To file a bug report for Windows PowerShell or the PowerShell ISE, please use the UserVoice at https://windowsserver.uservoice.com/forums/301869-powershell

How many different places do you have to log things? Feedback hub? GitHub? I didn't even know uservoice existed, and what's more it doesn't have a bug reporting form.

Hi @benliddicott The UserVoice is called out in the issue template when you are creating a new issue in this repo.

For Windows PowerShell 5.1 issues, suggestions, or feature requests please use the following link instead:

Windows PowerShell UserVoice

Also, we welcome issues to be filed here and we will direct the user to where the issue needs to filed if it is not meant for this repo.

ISE crash has been fixed already and should be rolled out with next servicing update

@SteveL-MSFT Are you talking about KB4103721? Because I just installed it, rebooted my machine, and the ISE still crashes.

@firooztnt no, I just checked and it looks to be scheduled to be available last week of May.  Sorry, I have no control over when it goes out.

Please ping with microsoft update number once its been officially release, I do have the same issue.

I expect it to be in KB4100403.  The only workaround I'm aware of is to use VSCode.

@SteveL-MSFT Thanks for responding anyway! I've been using VSCode and to be fair it's a pretty good workaround. I may not go back...

Please comment the solution for the above issue

The fix has already been released for some time now.  Solution is to update Win10.


Is it possible to use this library in the Swift language to make an app for IOS?

I have an android app that uses the library and that app makes many complex requests to different sites and uses that library.
I am starting to make the same app now in an IOS version, and I would like to use the same syntax that jsoup uses. My app uses many features of the jsoup, such as:

:lt(n)
:not(selector)
:contains (text)
[attr ^ = value]
ancestor child

among others.
Having to make all these rules again in another specific swift library in IOS, would cost me a lot, I'm talking about over 100 sites with obsolutely different rules. I hope someone can show me a way or alternatives, thanks.

You might get better results to your question on a forum like StackOverflow.

Thanks.


Errors and Non-Nullability

http://spec.graphql.org/draft/#sec-Errors-and-Non-Nullability

Current§y, this error shuts whole query down and response contain only the error without partial data.
I am not sure how to handle this for various reasons.

In my point of view, this type of error (marking a field as not nullable and returning null) is purely a programmers error
We would need to also catch PHPs TypeError, because most likely the resolve function would be typed as if it cannot return null.


Correct Apache-2.0 license

The canonical text version of the Apache-2.0 license [1], as well as the
version used by GitHub when initializing a new repo, differs from the
copy used by the licensecheck package in three ways, ignoring
whitespace:

The subitems under item 4, "Redistribution", are enumerated using
lowercase letters.

The terms and conditions end with the phrase "END OF TERMS AND
CONDITIONS".

The terms and conditions are followed by an appendix, "How to apply
the Apache License to your work".

This commit updates the local copy to match the canonical one.
[1] https://www.apache.org/licenses/LICENSE-2.0.txt

Sorry about that. Please try again, @googlebot.


Support for area pos1 pos2

Hi. You can add and support for area pos1 and pos2? :)

Area support would be possible, I'll test it.

Ok :)

And you can add all flags from pc ? From WorldGuard? :)


Plugin don´t work on cold start

Hi, when the app it´s completly closed (cold start) i try to share an image or a text using this plugin and it don´t work.
When the app it´s open on background the plugin work perfect.
Somebody have this problem?

Yes I have the same problem. Tried SingleTop and SingleTask doesn't work.  Works fine if app already running.  If the plugin doesn't work on a cold start kind of defeats the purpose of the plugin :-(

The plugin does work, I'm currently using it in a production app without problems. Check your AndroidManifest.xml, maybe you have something missing.

Thanks for the confirmation. I persisted in making it work and have managed to.  Below is how I had to make the plugin work. I don't know if this is how it is intended to work, but it did for me; YMMV. My app imports data from a CSV file.
To enable my app to show up in Android's "Open with" menus from various other apps I had to add a new action: android.intent.action.VIEW in the manifest file.
My additions to AndroidManifest.xml are:
    <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/activity_name" android:launchMode="singleTask" android:name="MainActivity" android:theme="@android:style/Theme.DeviceDefault.NoActionBar" android:windowSoftInputMode="adjustResize">
        <intent-filter android:label="@string/launcher_name">
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.EDIT" />
            <action android:name="android.intent.action.SEND" />
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:host="*" android:mimeType="text/csv" android:pathPattern=".*\\.csv" />
        </intent-filter>
    </activity>

Then the code to handle the intent:
--- www/index.html

--- ww/js/index.js
function enableOpenWith()
{
// using previously determined OS
if ( g_os == 'Android' )
{
window.plugins.intent.getCordovaIntent( function( Intent )
{
// when starting the app from a cold start (ie NOT from another app passing data),
// the "current" intent action is MAIN.  Ignore it.
if ( Intent.action !== 'android.intent.action.MAIN' )
{
// the app has started from a VIEW action intent, ie another app is opening ours
// with a CSV file, so import the data
handleExternalImport( Intent.data )
}
})
window.plugins.intent.setNewIntentHandler( function( Intent )
{
// when our app is brought to the foreground (ie it is currently running) by
// another app passing a CSV file, this code is called.
// The intent action will NOT be MAIN
handleExternalImport( Intent.data )
})
}
else
{
// for iOS use the handleOpenURL. Called from a cold start or when brought to the foreground
window.handleOpenURL = function (url)
{
handleExternalImport( url )
}
}
}
Hope this helps others.

Hi,
there's something I don't get at all and I'm hoping I can get some help! On iOS, when does window.handleOpenURL ever get called?! Adding the XML blahblah (... <key>UIFileSharingEnabled</key><true/> ...) doesn't seem to change anything.
From what I understand, for the app to appear in the sharing menu, we have to implement a "Share Extension" Target. But then, that triggers a quite standard popup in the current app, so my app doesn't come foreground for the sharing.
Thanks in advance for any answer that could help me even a tiny bit.

My understanding is that window.handleOpenURL gets called when iOS asks which app would you like to open a file with. But if you want to get the "intent" by sharing, you will need to create a Share Extension target in your app from Xcode. It's up to you to show native UI or just open your app from there and mark the task as done. In any case, it's not covered by this plugin.

If there are still people interested, I just made a PR who supports opening intents at the start of the activity without having to add js code to handle that special case. https://github.com/napolitano/cordova-plugin-intent/pull/28