Unable to add target to Application gateway backend pool list

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az network application-gateway address-pool update
Errors:
To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

az network application-gateway address-pool update --resource-group glx-qa1-rg --gateway-name glx-qa1-agw01 --name pool01 --add backendAddresses {\"ip_address\":\"<IP_ADDRESS>\"}
az network application-gateway address-pool update --resource-group glx-qa1-rg --gateway-name glx-qa1-agw01 --name pool01 --add backendAddresses {\"ip_address\":\"<IP_ADDRESS>\"}

Expected Behavior
I expect Application Gateway pool01 contains 2 endpoints: <IP_ADDRESS> and <IP_ADDRESS>, but this commands rewrites backend pool and it contains only last address <IP_ADDRESS>.
Environment Summary
Linux-3.10.0-1062.18.1.el7.x86_64-x86_64-with-centos-7.7.1908-Core
Python 3.6.8
Installer: RPM

azure-cli 2.3.1

Additional Context

add to S169

add to S171

az network application-gateway address-pool update --gateway-name dekey-firewall --name test-apps --resource-group dekey --servers 20191030R2-Ontwikkel.azurewebsites.net <IP_ADDRESS> should work

@MyronFanQiu : The command you mentioned does not work and has the same behavior as mentioned in the bug. It removes the existing hosts in the backend pool and adds the ones which are part of the "--servers" directive. A workaround for this is providing the entire pool list (existing ones and new ones being added) as part of the "--servers" directive.
The documentation for this is very vague and more clarity should be provided in the documentation regarding this: https://docs.microsoft.com/en-us/cli/azure/network/application-gateway/address-pool?view=azure-cli-latest#az-network-application-gateway-address-pool-update

@subhasishdc You're correct. It's an update command instead of add. We would refine help message based on your suggestion. Thank!

@MyronFanQiu : Thanks, do you accept contributions from users on this. If yes, I can submit the change in the help message for review. If not, will wait for you/the team to do it.

@MyronFanQiu : Thanks, do you accept contributions from users on this. If yes, I can submit the change in the help message for review. If not, will wait for you/the team to do it.

That's very nice. We're eager for community's contributions. If you want, you can open a PR and invite me as the reviewer.

@MyronFanQiu : I opened a PR for refining the help message and adding examples - https://github.com/Azure/azure-cli/pull/13780

@agaponenko-incomm Looks like this is the same issue with #13599. Is it ok to close this one and we can discuss in #13599?

@agaponenko-incomm Looks like this is the same issue with #13599. Is it ok to close this one and we can discuss in #13599?

Do everything that helps you to resolve this issue. I'm the first who register this trouble and it's not obvious for me why you want to close my issue instead of duplicate.

Oh. glad to see you. 😄 Let's keep both issues.


Make WasmFunctionHandle accept an Instance

This will allow support for multiple memories and other features in the future.

Looks good, would you mind also changing the readme? https://github.com/dylibso/chicory/blob/main/README.md?plain=1#L152
There might be a piece of docs or two to change

Thanks! trying to keep our docs minimal so our API can be as flexible as possible.

🙏 Thanks! Appreciated!


Missing tf-nightly build for MacOS x86_64

When trying to install the proposed setup I missed the dev packages in pip. I found, that they are missing in the list: https://pypi.org/project/tf-nightly/2.16.0.dev20231130/#files
Same holds for the other versions, 2.16.0.dev20231103 and 2.15.0.dev20231009 of tf-nightly or tf-nightly-cpu in the commit history of https://github.com/keras-team/keras/blob/master/requirements.txt and the other requirement files.
Could you provide a Tensorflow build that works for MacOS/Intel CPU config? Other dev builds I tested change keras to a lower version when using the backend Tensorflow.

Hi @friedrichms ,
MacOS-Intel binaries are available under tf-nightly-cpu tags. Please refer this Pypi source link.

Hi @friedrichms ,
I think this was done before keras3 release. Maybe we can remove it now as it seems cpu nightlies also getting updated.
@fchollet , Can we remove this pin as this pinned version not available on pypi ? can we add just tf-nightly-cpu ?


chore: remove tag prototype

⚠ This is a breaking change ⚠
We've replaced the data source with type ni-sltag-datasource with a new version. The query models are not backwards compatible.
Pull Request
🤨 Rationale

Delete tag prototype as the new version has feature parity

👩💻 Implementation

Removed the tag-unstable folder and remove the prerelease suffix from the new tag plugin.json.

🧪 Testing
n/a
✅ Checklist

[x] This PR has a title that follows the commit message format.

Don't we want to put BREAKING CHANGE in the title?

Don't we want to put BREAKING CHANGE in the title?

It'll be in the footer of the commit message when I merge the PR. That's how semantic release expects it.

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

v2.0.0
GitHub release

Your semantic-release bot :package::rocket:


[WIP] Circe <-> Jackson conversion

Let me know if this is something you can live with in this repo. Also, should I make it stack-safe using https://www.scala-lang.org/api/current/scala/util/control/TailCalls$.html ?

cc @travisbrown

Codecov Report

Merging #32 into master will increase coverage by 0.44%.
The diff coverage is 88.46%.

@@            Coverage Diff             @@
##           master      #32      +/-   ##
==========================================
+ Coverage   86.27%   86.71%   +0.44%
==========================================
  Files          11       11
  Lines         102      128      +26
  Branches        8       12       +4
==========================================
+ Hits           88      111      +23
- Misses         14       17       +3

Impacted Files
Coverage Δ

...ared/src/main/scala/io/circe/jackson/package.scala
91.66% <88.46%> (-8.34%)
:arrow_down:

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 e524f33...5c5bf5d. Read the comment docs.

Sorry for the long delay, @asoltysik, but thanks for the contribution—it'll be in the 0.10.0 release.


Disallow admonitions in the middle of a block

foo
**foo**
!!! note "Admonition"

In the previous state, the "foo" text would be completely obliterated, but now the admonition will be ignored and all of this will be seen as normal text (with inline processing, of course).

This is a bug, but it's not obvious what behavior is the correct one.
This PR is the stricter one (perhaps more in the spirit of original Markdown?), and https://github.com/Python-Markdown/markdown/pull/1092 is an alternative.
One of the two should be chosen.

As the original regex begins with (?:^|\n) is seems pretty clear to me that the original intent was to not require a blank line before an admonition. This fits quite well with the behavior of headers and other block level elements which provide an obvious start token without needing a blank line.
There is also the possibility that existing documents rely on the existing behavior of not requiring a blank line. If we were to suddenly require one, those documents would break.
Given the above, this is not the correct way to address this issue.


Request : Add Lazos events to leaflet map elements

Is it possible to add lazos event so you can get a list of markers selected by mouse as in this plugin : https://github.com/zakjan/leaflet-lasso.
Is it possible to wrap it in streamline-folium?
Thanks.

Hi @cocoaway -
The answer is "probably", but does this functionality exist in Folium? Meaning, can you provide an example that shows how this works, so that we can then see about incorporating it?
Best,
Randy

Ok, thanks anyway.
Il 19 apr 2022, 16:22 +0200, Zachary Blackwood @.***>, ha scritto:

Unfortunately, since that is not a currently supported Folium plugin (https://python-visualization.github.io/folium/plugins.html#folium-plugins), we won't easily to be able add this functionality.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>


[cuda] Adding CUDA unit tests to racon

Making a CUDA version for each of the existing unit tests in racon

@rvaser can you review if the changes look reasonable to you?

@rvaser oops sorry for bothering you :(. Would be awesome if GitHub had out of office notices as well XD.
As for the large window edit distance, that's the one that struck me as very wrong too. So I'm investigating that on the side (and kept the original CPU numbers too). Wanted to get this MR in first so set up the framework and then pick the tests that show large differences one by one and investigate

assigning to @vellamike to review and approve as well


Add output to "flutter apk" indicating where the APK file was written

lgtm

Thanks for the quick fix!


pyarrow=9.0.0 - the environment can't be solved

I cloned the main branch today. When I try to create the conda env from conda/environments/cylon.yml it keeps trying to install arrow-cpp-9.0.0-py37h1a5f661_2_cuda which requires python 3.7. If I set python=3.7 it'll complain about pyarrow-9.0.0-py310h225c066_4_cpu which requires python 3.10. I do not intend to use cuda so is there a way to exclude py37h1a5f661_2_cuda?

@rsdmse, what is the OS you are using?

TL;DR the issue is resolved.
I pinned gcc to 11.2.0 for a previous commit due to some other issues while working with a user on our cluster (CentOS 7.9). But with the latest update to pyarrow 9.0 the environment could no longer be resolved. However, I managed to get everything to work without the gcc=11 restriction just now. Thank you for your prompt response.


Shuttle Card Info Message

Time Tracking:

[ ] This is complete when the shuttle card displays an "unavailability" message.

Use the following message:
The shuttle tracking card is offline due to an update.
See https://tritontransit.ridesystems.net/routes for real-time shuttle info.


[BUG] Delombok causes syntax error for varargs method parameter of a Array-parametrized type

Describe the bug
Calling delombok for code that contains a method signature using varargs results in code that contains syntax errors. This happens only if the vararg param is a parametrized type with an array parameter (e.g. Foo<byte[]> ...).
To Reproduce
Original code:
Class with @RequiredArgsConstructor and a method signature:
public List<ByteRecord> xReadGroup(Consumer consumer, StreamReadOptions readOptions, StreamOffset<byte[]>... streams)

(link to full code)
After delombok:
public List<ByteRecord> xReadGroup(Consumer consumer, StreamReadOptions readOptions, StreamOffset<byte...>... streams)

Expected behavior
No change of that method.
Version info (please complete the following information):

Lombok version: 1.18.6 via Lombok Maven Plugin <IP_ADDRESS>.
Platform Javac, java version "1.8.0_201"

Additional context
Can be reproduced using https://github.com/spring-projects/spring-data-redis by forcing Lombok plugin version to a newer version than <IP_ADDRESS> and mvn clean install -DskipTests -Pci

@mp911de Just to be sure: StreamOffset<[]>... streams should be StreamOffset<byte[]>... streams, right?

Yes. Updated the description accordingly.


Reset texture flags after radiance map generation

Fixes #31372
The flags get changed in order to generate the radiance maps, this forces them back to what they were set to earlier.
@akien-mga Should I make another PR for master so this doesnt get lost, or are we just going to adapt GLES2 in master from the 3.2 branch?

Should I make another PR for master so this doesnt get lost, or are we just going to adapt GLES2 in master from the 3.2 branch?

I think it will be best to just copy the 3.2 drivers/gles2 branch on top of master's, commit that, then start refactoring to make things work.

Thanks!


Outline how Falco addresses threats in the MITRE ATT&CK matrix

/area documentation
What would you like to be added:
A visual matrix showing the MITRE ATT&CK framework, marking the cells where Falco offers protection, and descriptions about how it does so.
Why is this needed:
The MITRE ATT&CK framework is an industry-standard cybersecurity analysis framework, and potential users (especially those coming from a security background) will be able to understand Falco from a familiar perspective, and they will have easy-to-consume signals about whether Falco addresses security needs in their organizations.

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle rotten

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.
Provide feedback via https://github.com/falcosecurity/community.
/close

@poiana: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.
Provide feedback via https://github.com/falcosecurity/community.
/close

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


Navigate Search Results With Arrow Buttons

Added ability to scroll through search results with up and down arrow keys.
In relation to #22

hey @HeinSnyman this is looking good and works great, thanks for setting this up
i think the only thing id like to see is adding the removal of the event listener for when the component unmounts inside of the useEffect hook return statement, similar to how we're currently running removeDocumentOnClick. you could use those as an example of how to set that up between addDocumentOnClick and removeDocumentOnClick, and handleOnDocumentClick
alternatively, we can get this merged in after updating the Sass variable and i can make that tweak myself

Hi @colbyfayock, thanks for the guidance. I have added the removeEventListener, please advise if it is correctly implemented. I have also restructured the function to be in line with the other functions in the file.

looks great, thanks for knocking this out!
@all-contributors please add @HeinSnyman for code


AJAX Helper

As a web developer, I want a way to call back-end APIs using AJAX
Acceptance criteria:

The method must handle asynchronicity with Promises
Any error code must reject the promise
The method must allow any HTTP verb (PUT, GET, POST, DELETE, ...)
The method must handle JSON payloads

Also allow mocking

Mocking will be done in next version


[Bug 🐞]: Contracts stuck in grace period on testnet

What happened?
Some of my contracts on testnet entered grace period a couple of days ago, since then i funded my account and some contracts were successfully resumed and i was able to access them at the time then i was able to delete them without any issues. however two of my contracts are still stuck in grace period 19303 & 19304 one of them is a rent contract for node 201 and the other is an owncloud deployment.

Also as it can be seen in the screenshot above i've already funded my account to cover all of the locked tokens and more but that did not change anything. and the amount of locked tokens also didn't change since yesterday.

***Note: both nodes 7 & 201 were restarted while these contracts were in grace period, the contracts that were on node 7 were resumed successfully and deleted after. but the rent contract for node 201 and the deployment on it are the ones that were not resumed till now.

What did you expect?
The contracts should've been resumed by now since the account was funded.
What browsers are you seeing the problem on?
Chrome
ZOS info
No response
Dashboard info
No response
weblets info
Testnet v1.7.0-rc2
Relevant log output
No response

@DylanVerstraete can you please check this one asap

@mohamedamer453 You recharged to wallet with to few tokens. The total amount this rent contract costed since you created it until now is around 1K TFT.

Hmm ok i understand, however there's something that i quite don't. In the weblets it says that the billing rate for my rent contract is ~ 5.5 tft/hour and this contract was only alive for like 2 or 3 hours max before it entered grace period.

@mohamedamer453 indeed, regardless of the state of the contract, the amount due still accumulates since the resources are still in use by your contract and cannot be used by anyone else.

@mohamedamer453 indeed, regardless of the state of the contract, the amount due still accumulates since the resources are still in use by your contract and cannot be used by anyone else.

Ok great, will close this one since it was a misunderstanding from my side and i created another issue in the weblets https://github.com/threefoldtech/grid_weblets/issues/1423 to display the amount needed to unlock the contracts after its function is implemented in the grid3_client_ts


Travis build with MinGW (better)

added environment.sh, a global script for such things as PATH across scripts
cross compiler and libs in docker container
added a helper to run commands under container, or machine, depending on build type

For me it looks OK but I'm not really that much of a Travis expert !

It looks OK to me, I was not sure about one fail to find a file but it seems an authorization issue because the fork, so I think we can merge.
@paulfd yes, sure.

For the change in ghc, is the warning bad? I'd rather either push this upstream or just ignore the warning "manually", it may cause problems for when we update the header from upstream.

I took this liberty because:

it doesn't affect the build result; updating would just make the warning come back
it's a warning from a header, so it propagates its occurrence into many compile units
we can submit this to upstream as PR, in the meantime
it's a result of -Wextra, as result of a warning which Windows dynamic loading forces on us and we don't really have any way to work around.

There is some information about this particular warning:
https://debarshiray.wordpress.com/2019/04/01/about-wextra-and-wcast-function-type/

Okay let's propose this upstream and merge meanwhile then! Thanks!


BUG: sendToPaloma - EVM tokens are reduced, but Paloma address doesn't receive funds

I tested send to token to paloma from BNB chain to a validator address (the actual validator paloma address not the cli address)
https://www.notion.so/volumefi/Gravity-Cheat-Sheet-b0fd669082ac4af5b2c4d4b3f1ebe77d?pvs=4#42554424e2c647f7a90105e376f88313

Check paloma balance before sending ---> 4,989,999.082221 grain
Check Balance on BNB 90.92839 TESTGRAIN
Approve token amount on BNB 5 Grain  --> https://bscscan.com/tx/0xe3ba09944de3540e282143b6d1d27a1d96ac87ec2e35348b67107b8c46eac37a
sendToPaloma 5 grain --> https://bscscan.com/tx/0xedbdabffd33f56e550d2d6aa1787913d8810f6ef589696257afa360b278df016
--
confirm balance on BNB 85.92839 TESTGRAIN :white_check_mark:
confirm balance on paloma: 4,989,999.075598GRAINactual vs 4,990,004.082221GRAIN expected --> difference is 5.006623GRAIN :x:
see error in Paloma logs: :x:
Oct 05 02:35:51 m1 palomad[202243]: {"level":"error","module":"server","module":"x/gravity2","cause":"spendable balance  is smaller than 5000000ugrain: insufficient funds","claim type":1,"id":"\u000b\ufffd\u0016_\ufffd\ufffdU\ufffd=\u000bb\ufffdMJF\ufffd\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\ufffdԦ\ufffd\ufffd\ufffd\ufffd{}i\ufffd{M\ufffd\ufffd\u001a\ufffd2\ufffdi\ufffdj\u007f>^\ufffd\ufffdn\ufffd\ufffde\ufffd","nonce":"6","time":"2023-10-05T02:35:51Z","message":"Failed deposit"}

Moving this to TO-DO until Pigeon Feed is up.

Looks like there were not enough funds to be allocated back to the address. They should have been there, see: https://github.com/cosmos/cosmos-sdk/blob/main/x/bank/keeper/keeper.go#L281
I will run a fresh test run to see if I can reproduce.

@taariq I have pivoted to the attestation stuff for now, so no new insights on this yet. I'll come back to it once attestation stuff is done.

@byte-bandit is it ready for me to give this another test?

You can test it on a private test net, yes. We need to wait for Paloma v1.15.0 and Pigeon v1.12.0 to be rolled out, and Compass v1.1.0 to be deployed to target chains in order to test this on main or pub test net.

Confirm balance on paloma before send: 188.6933 GRAIN
balance on Arbitrum 5 GRAIN
approve send of 4 GRAIN: https://arbiscan.io//tx/0x61d481164ceed374fb320e2ab962df711086b0fecb3339ac2d6007daac9524a0

@verabehr does this mean the transfer worked or that it failed?

@taariq it worked


Fix spinner stuck on page refresh bug

Bug
When a user regenerates their schedules and refreshes the page, it causes the user to become stuck on the spinner until the schedules finish generating. This bug is present on both the home and guided workout pages.
Fix
The soln I currently have is a bit crude due to the fact that await dispatch(getWorkoutAndMealSchedule()) will not resolve until the schedules finish generating. Therefore, it's difficult to tell if the get request is taking long or if a generation is in progress without making more significant changes. I added a timeout of 1.5 seconds, if it elapses the assumption is made that a generation is in-progress.
We could remove the home page spinner, though the bug would still be present on the guided workout page and we would have to also remove/fix the home page animation as it breaks visually without it. Open to any additional thoughts.
Bug 2
When a user generates a new schedule or edits an existing schedule, a blank space will be shown in place of a tile. this looks weird visually as the first page can have less than 6 tiles while the other pages will have 6 tiles.
Fix
added a placeholder tile when a generation is ongoing

thoughts on if 1.5s is enough?


need an excessive delay_ms

We are testing xrdp on a dual socket 128GB server and find that we have to set delay_ms to a very large value (~20000ms) to reliably get a connection. It isn't as if the server is overloaded, small applications load in a fraction of a second, firefox in 5 seconds  and characters echo instantly. Most of the time delay_ms=4000ms is enough, but sometimes much more is required.  Is there any solution?  I guess I am a little surprised that a race condition like this wouldn't be addressed with an automatic retry.  Is there any way to do that?
The server is running Scientific Linux  7.6 with Linux kernel 3.10.0  but home directories and all executables are on NFS mounted partitions. Is that the problem?  The desktop is Mate.

This is pretty stale now, so I'm closing it. Feel free to open another issue if this is still a problem.


Fix row count

Bug
It happened when I removed one or more rows from the table and clicked on the "select all" checkbox. The number shown was the original data array size, not the new one (after deleting some itens). Example:
nutrition = [1,2,3,4,5];
numberOfRows = 5;

nutrition.splice(1,1);

nutrition = [1,3,4,5];
numberOfRows = 5; // this is the bug. it should be 4, not 5.

Fix
File: mdTable.vue
  watch: {
    data() {
      this.numberOfRows = this.data.length;
    }
  },

This will guarantee the numberOfRows is always up to date.

Sorry @marcosmoura . I forgot to stash before creating a new branch.

One more thing? I'm pointing this PR towards the develop branch. I read the documentation and it said we shouldn't target the master. Is all alright?

Yes. The master branch aims to be the current release. Unless the bug is catastrophic we should create branches from develop and point it to the develop too.


Added DataSources Array to AI Chat Completion

Summary
Enhanced the AI Chat Completion functionality to be able to add data sources to the Azure OpenAI model. Data sources can be added via a JsonArray, which can have many parameters and filter again. The most flexible way is therefore to pass the JsonArray.
Here an example of how the new procedure AOAIChatCompletionParams.SetDataSourcesArrayToPayload can be used by a developer:
`
local procedure AddAzureSearchParameters(var AOAIChatCompletionParams: Codeunit "AOAI Chat Completion Params")
var
DataSourceArray: JsonArray;
DataSourceObject: JsonObject;
DataSourceParametersObject: JsonObject;
DataSourceAuthenticationObject: JsonObject;
BlankJsonObject: JsonObject;
begin
DataSourceObject.Add('type', 'azure_search');
    DataSourceParametersObject.Add('endpoint', GetAzureSearchEndpoint());
    DataSourceParametersObject.Add('index_name', GetAzureSearchIndexName());
    DataSourceParametersObject.Add('semantic_configuration', 'default');
    DataSourceParametersObject.Add('query_type', 'simple');
    DataSourceParametersObject.Add('fields_mapping', BlankJsonObject);
    DataSourceParametersObject.Add('in_scope', 'true');
    DataSourceParametersObject.Add('role_information', '');
    //DataSourceParametersObject.Add('filter', ));
    DataSourceParametersObject.Add('strictness', 3);
    DataSourceParametersObject.Add('top_n_documents', 5);
    DataSourceAuthenticationObject.Add('type', 'api_key');
    DataSourceAuthenticationObject.Add('key', GetAzureSearchKey());
    DataSourceParametersObject.Add('authentication', DataSourceAuthenticationObject);
    DataSourceParametersObject.Add('key', GetAzureSearchKey());

    DataSourceObject.Add('parameters', DataSourceParametersObject);

    DataSourceArray.Add(DataSourceObject);

    AOAIChatCompletionParams.SetDataSourcesArrayToPayload(DataSourceArray);
end;`

Work Item(s)
Fixes #1178

@microsoft-github-policy-service agree
Kind regards,
Joerg
Joerg Rau | Head of Dynamics 365 | Theta
@.@.?anonymous&ep=plink> Book a meeting with @.?anonymous&ep=plink> | D. +6493561941 | M. +64210391437
@.?anonymous&ep=plink>
<EMAIL_ADDRESS>| theta.co.nzhttps://www.theta.co.nz/
@.https://www.facebook.com/thetasystems  [MicrosoftTeams-image (581).png] https://twitter.com/ThetaNet @. https://nz.linkedin.com/company/theta-nz
From: microsoft-github-policy-service[bot] @.>
Sent: Saturday, July 13, 2024 4:25 PM
To: microsoft/BCApps @.>
Cc: Joerg Rau @.>; Mention @.>
Subject: Re: [microsoft/BCApps] Added DataSources Array to AI Chat Completion (PR #1555)
@joergrauhttps://github.com/joergrau please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
@microsoft-github-policy-service agree [company="{your company}"]
Options:

(default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.

@microsoft-github-policy-service agree

(when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term "You" includes me and my employer.

@microsoft-github-policy-service agree company="Microsoft"
Contributor License Agreement
Contribution License Agreement
This Contribution License Agreement ("Agreement") is agreed to by the party signing below ("You"),
and conveys certain license rights to Microsoft Corporation and its affiliates ("Microsoft") for Your
contributions to Microsoft open source projects. This Agreement is effective as of the latest signature
date below.

Definitions.
"Code" means the computer software code, whether in human-readable or machine-executable form,
that is delivered by You to Microsoft under this Agreement.
"Project" means any of the projects owned or managed by Microsoft and offered under a license
approved by the Open Source Initiative (www.opensource.orghttp://www.opensource.org/).
"Submit" is the act of uploading, submitting, transmitting, or distributing code or other content to any
Project, including but not limited to communication on electronic mailing lists, source code control
systems, and issue tracking systems that are managed by, or on behalf of, the Project for the purpose of
discussing and improving that Project, but excluding communication that is conspicuously marked or
otherwise designated in writing by You as "Not a Submission."
"Submission" means the Code and any other copyrightable material Submitted by You, including any
associated comments and documentation.
Your Submission. You must agree to the terms of this Agreement before making a Submission to any
Project. This Agreement covers any and all Submissions that You, now or in the future (except as
described in Section 4 below), Submit to any Project.
Originality of Work. You represent that each of Your Submissions is entirely Your original work.
Should You wish to Submit materials that are not Your original work, You may Submit them separately
to the Project if You (a) retain all copyright and license information that was in the materials as You
received them, (b) in the description accompanying Your Submission, include the phrase "Submission
containing materials of a third party:" followed by the names of the third party and any licenses or other
restrictions of which You are aware, and (c) follow any other instructions in the Project's written
guidelines concerning Submissions.
Your Employer. References to "employer" in this Agreement include Your employer or anyone else
for whom You are acting in making Your Submission, e.g. as a contractor, vendor, or agent. If Your
Submission is made in the course of Your work for an employer or Your employer has intellectual
property rights in Your Submission by contract or applicable law, You must secure permission from Your
employer to make the Submission before signing this Agreement. In that case, the term "You" in this
Agreement will refer to You and the employer collectively. If You change employers in the future and
desire to Submit additional Submissions for the new employer, then You agree to sign a new Agreement
and secure permission from the new employer before Submitting those Submissions.
Licenses.

Copyright License. You grant Microsoft, and those who receive the Submission directly or
indirectly from Microsoft, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license in the
Submission to reproduce, prepare derivative works of, publicly display, publicly perform, and distribute
the Submission and such derivative works, and to sublicense any or all of the foregoing rights to third
parties.
Patent License. You grant Microsoft, and those who receive the Submission directly or
indirectly from Microsoft, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license under
Your patent claims that are necessarily infringed by the Submission or the combination of the
Submission with the Project to which it was Submitted to make, have made, use, offer to sell, sell and
import or otherwise dispose of the Submission alone or with the Project.
Other Rights Reserved. Each party reserves all rights not expressly granted in this Agreement.
No additional licenses or rights whatsoever (including, without limitation, any implied licenses) are
granted by implication, exhaustion, estoppel or otherwise.

Representations and Warranties. You represent that You are legally entitled to grant the above
licenses. You represent that each of Your Submissions is entirely Your original work (except as You may
have disclosed under Section 3). You represent that You have secured permission from Your employer to
make the Submission in cases where Your Submission is made in the course of Your work for Your
employer or Your employer has intellectual property rights in Your Submission by contract or applicable
law. If You are signing this Agreement on behalf of Your employer, You represent and warrant that You
have the necessary authority to bind the listed employer to the obligations contained in this Agreement.
You are not expected to provide support for Your Submission, unless You choose to do so. UNLESS
REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING, AND EXCEPT FOR THE WARRANTIES
EXPRESSLY STATED IN SECTIONS 3, 4, AND 6, THE SUBMISSION PROVIDED UNDER THIS AGREEMENT IS
PROVIDED WITHOUT WARRANTY OF ANY KIND, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY OF
NONINFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
Notice to Microsoft. You agree to notify Microsoft in writing of any facts or circumstances of which
You later become aware that would make Your representations in this Agreement inaccurate in any
respect.
Information about Submissions. You agree that contributions to Projects and information about
contributions may be maintained indefinitely and disclosed publicly, including Your name and other
information that You submit with Your Submission.
Governing Law/Jurisdiction. This Agreement is governed by the laws of the State of Washington, and
the parties consent to exclusive jurisdiction and venue in the federal courts sitting in King County,
Washington, unless no federal subject matter jurisdiction exists, in which case the parties consent to
exclusive jurisdiction and venue in the Superior Court of King County, Washington. The parties waive all
defenses of lack of personal jurisdiction and forum non-conveniens.
Entire Agreement/Assignment. This Agreement is the entire agreement between the parties, and
supersedes any and all prior agreements, understandings or communications, written or oral, between
the parties relating to the subject matter hereof. This Agreement may be assigned by Microsoft.

Reply to this email directly, view it on GitHubhttps://github.com/microsoft/BCApps/pull/1555#issuecomment-2226766812, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABTJMP725OLQFCZIES4QABDZMCT2VAVCNFSM6AAAAABKZ5ZZRSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMRWG43DMOBRGI.
You are receiving this because you were mentioned.Message ID: @.***>

This information is intended for the addressee only. It may contain confidential and legally privileged information. If you are not the intended recipient, please reply to advise the sender and do not disclose, copy or redistribute this document or any information contained herein.


Repeated response under a conversation id

I noticed that if the number of messages under the conversation id exceeds 100 the bot keeps giving the response of the 99th question. This is affecting my application's accuracy. One of the conversation id for which I faced this shows only 5 questions under it which means the number of questions did not reach 100 and still I get the response of that question as the same as the 99th question. Could you please help us resolve this?

Can you please share more information? Are you using DirectLine in .NET or NodeJS?
Usually when you receive repeated answers is because you're not sending a watermark in your request or the watermark is not updated.

Have you implemented a state store or are you using the default?

Why is this post tagged to QnAMaker? I am not using QnAMaker. I am using the Bot framework and I have not implemented anything called as state store.

Why is this post tagged to QnAMaker? I am not using QnAMaker. I am using the Bot framework and I have not implemented anything called as state store.

@xjose97x I am using directline in .net

@MadhuAcc12 The reason why you're facing this issue is most likely due to the watermark not being sent and/or updated.  Did you check that?


Automatically label known contract addresses in traces

Component
Forge
Describe the feature you would like
With the new vm.label cheat code, it's now possible to manually assign labels to addresses.
In addition to manually assigning labels, as discussed in the original issue (https://github.com/gakonst/foundry/issues/553), it would be great to automatically derive labels for known contracts, instead of having to do
...
address myContract = new MyContract();
vm.label(myContract, "MyContract");
...

Additional context
No response

Is this not already the case?

Is this not already the case?

I'm currently caught up in other tasks so haven't had a chance to check out the latest versions of foundry in ~3-4 weeks. Not sure if this was added in the meantime.
This issue was about automatically labeling the addresses of known contract instances in log output & stack traces e.g. when those addresses appear in event payloads or similar.

This should be fixed, so I'm closing - let me know if this is not the case and I can investigate :smile:


Add named rooms and a few bug fixes

6698bc0 addresses relative pathing to be more consistent with express on the server side, which is minor and not an essential part of this PR at all.
7232600 adds a test to catch some cases where a player is not defined, addressing #1
bef9ae4 is the bigger commit in this, and it adds named rooms based on the URL from which the client accesses the game (addressing a to-do in your readme which doesn't have a corresponding issue).  If the client accesses the root directory, the server throws them into a random 5-character room (e.g. /ab123).  If they access an alphanumeric URL with a base path of any length (e.g. /ab123 or /mycustomroom) directly, they'll be put in the appropriate room.
The rooms themselves are implemented using socket.io's "room" feature, and work by means of the client emitting a join-room on establishing a connection.  The server creates a new gameroom object as necessary (and destroys it when it's no longer needed) to manage gameplay in individual rooms.
I tried to stick to your formatting and coding style where I could, but let me know if anything looks amiss!  Sorry about the whitespace garbage in the commits, my text editor was apparently hungry!

This is really cool! I wasn't aware Socket.io came equipped with a handy room feature. Just merged!


Handle missing/invalid session gracefully in SAML logout

An improvement has been done to handle OIDC logouts gracefully when the session cookie is not available in [1]. But still, we validate the id_token hint and redirecting the user back to the client app only if the id token is valid.
It is great if we can implement similar functionality to [1] for SAML logout flow as well. But the concern is we do not have a way to validate the request other than the spEntityID sent in the logout request.
[1] https://github.com/wso2-extensions/identity-inbound-auth-oauth/pull/995

We should be able to fix this by identifying the SP using spEntityID (IDP init) or Issuer (SP init) and validating the callback URL to redirect the user. Currently, the user is redirected to the common logout page, which is not user-friendly.

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


Save simple default settings in a separate module

Working through https://github.com/ansible/galaxy_ng/pull/2202 with @jctanner I discovered it wasn't loading the settings. In short, I don't think we can rely on accurately having INSTALLED_APPS populated at the time we needed to load the defaults.
But we shouldn't need this. If an app wants to bypass our recommended system (which it is already doing), then it should have a constant data structure to import.
I wanted to do this with dictionaries too, but it seems we have special cases for each entry, which... I can't tough. So this is unfortunately incomplete.

i.e. What exactly is the problem with INSTALLED_APPS?

I'll link you the thing that ultimately needs to be fixed here
https://github.com/ansible/galaxy_ng/blob/b26816eaf9c1e34f4033835e09125013a5d182d3/galaxy_ng/app/dynaconf_hooks.py#L732
There's a method that needs to return a dictionary of the settings from DAB. It's probably already obvious to you that this poses an issue for any settings that have to get fine-grained merged. But I don't think galaxy_ng is using any part of DAB that requires that at this moment, and I'm not sure how it would work if we did have that situation.
But you mention INSTALLED_APPS. This would have to be included in local variables to pass the value, and that's just not the right way to do thing. I don't even really know if split_settings works within a function's variable scope, or if it might mess up something else.

For an immediate solution I prefer the other approach. We could do a version of this later (to define truly static settings), but it is not necessary.


Enhances DjangoAdmin support

Fixes #21 (or enhances the support for Django admin)

Hey @jerinpetergeorge, thanks for the PR! Can confirm format_value fixes the text input value. What error and stack trace are you seeing without the has_changed override?

Hey @jerinpetergeorge, thanks for the PR! Can confirm format_value fixes the text input value. What error and stack trace are you seeing without the has_changed override?

Internal Server Error: /admin/polls/vector/4/change/
Traceback (most recent call last):
  File "/home/jpg/.virtualenvs/generic-django-example-Kc6WXfau/lib/python3.9/site-packages/django/core/handlers/exception.py", line 55, in inner
    response = get_response(request)
  File "/home/jpg/.virtualenvs/generic-django-example-Kc6WXfau/lib/python3.9/site-packages/django/core/handlers/base.py", line 197, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/home/jpg/.virtualenvs/generic-django-example-Kc6WXfau/lib/python3.9/site-packages/django/contrib/admin/options.py", line 688, in wrapper
    return self.admin_site.admin_view(view)(*args, **kwargs)
  File "/home/jpg/.virtualenvs/generic-django-example-Kc6WXfau/lib/python3.9/site-packages/django/utils/decorators.py", line 134, in _wrapper_view
    response = view_func(request, *args, **kwargs)
  File "/home/jpg/.virtualenvs/generic-django-example-Kc6WXfau/lib/python3.9/site-packages/django/views/decorators/cache.py", line 62, in _wrapper_view_func
    response = view_func(request, *args, **kwargs)
  File "/home/jpg/.virtualenvs/generic-django-example-Kc6WXfau/lib/python3.9/site-packages/django/contrib/admin/sites.py", line 242, in inner
    return view(request, *args, **kwargs)
  File "/home/jpg/.virtualenvs/generic-django-example-Kc6WXfau/lib/python3.9/site-packages/django/contrib/admin/options.py", line 1889, in change_view
    return self.changeform_view(request, object_id, form_url, extra_context)
  File "/home/jpg/.virtualenvs/generic-django-example-Kc6WXfau/lib/python3.9/site-packages/django/utils/decorators.py", line 46, in _wrapper
    return bound_method(*args, **kwargs)
  File "/home/jpg/.virtualenvs/generic-django-example-Kc6WXfau/lib/python3.9/site-packages/django/utils/decorators.py", line 134, in _wrapper_view
    response = view_func(request, *args, **kwargs)
  File "/home/jpg/.virtualenvs/generic-django-example-Kc6WXfau/lib/python3.9/site-packages/django/contrib/admin/options.py", line 1747, in changeform_view
    return self._changeform_view(request, object_id, form_url, extra_context)
  File "/home/jpg/.virtualenvs/generic-django-example-Kc6WXfau/lib/python3.9/site-packages/django/contrib/admin/options.py", line 1800, in _changeform_view
    change_message = self.construct_change_message(
  File "/home/jpg/.virtualenvs/generic-django-example-Kc6WXfau/lib/python3.9/site-packages/django/contrib/admin/options.py", line 1186, in construct_change_message
    return construct_change_message(form, formsets, add)
  File "/home/jpg/.virtualenvs/generic-django-example-Kc6WXfau/lib/python3.9/site-packages/django/contrib/admin/utils.py", line 530, in construct_change_message
    changed_data = form.changed_data
  File "/home/jpg/.virtualenvs/generic-django-example-Kc6WXfau/lib/python3.9/site-packages/django/utils/functional.py", line 57, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/home/jpg/.virtualenvs/generic-django-example-Kc6WXfau/lib/python3.9/site-packages/django/forms/forms.py", line 487, in changed_data
    if changed:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

https://github.com/pgvector/pgvector-python/assets/21334929/61e1d404-47e9-42b5-9066-91c4e09e3d41

Thanks @jerinpetergeorge, which version of Django is it?

Thanks @jerinpetergeorge, which version of Django is it?

Its 4.2.x @ankane

Hmm, what's the exact version? I'm not able to reproduce, or find that stack trace in any of the 4.2.x releases.

Hmm, what's the exact version? I'm not able to reproduce, or find that stack trace in any of the 4.2.x releases.

Just checked, its Django==4.2.2.

Unfortunately, I'm still not able to reproduce with a fresh Django app. Happy to include the changes without the has_changed override until that's figured out.
Could also try to reproduce with a test case. For instance, the format_value override fixes https://github.com/pgvector/pgvector-python/blob/4ea06c041fdfdd67568401ce215f9b3b3143d29f/tests/test_django.py#L148

Unfortunately, I'm still not able to reproduce with a fresh Django app. Happy to include the changes without the has_changed override until that's figured out.
Could also try to reproduce with a test case. For instance, the format_value override fixes
https://github.com/pgvector/pgvector-python/blob/4ea06c041fdfdd67568401ce215f9b3b3143d29f/tests/test_django.py#L148

I have made a few changes to this PR, thus, if you run the test suite against jerinpetergeorge:django-admin branch, you will get the errors. Also, all tests will be passed if you remove the this commit.

Awesome, thanks @jerinpetergeorge! Squashed and pushed in 557983b36b147e21fc298ae65c8ddae5d142ff63.


HDFS Problem

OpenPAI Environment:

OpenPAI version: 0.14.0
OS (e.g. from /etc/os-release): Ubuntu 18.04

The main problem:
I've met a problem with Hadoop (I guess). I deployed the cluster for 4 nodes (1 master and 3 workers) and anything works fine. However, there are one node which can't connect to OpenPAI properly. I can see this node in Kubernetes - anything is good, the same in hdfs - I see all data nodes. By the way, I can see this node in services tab on Webportal, but can't see in the hardware.
If I have this node in the cluster, I can't submit a job, the following error appears:

I've checked all containers - no errors, the same logs as in other worker machines.
Also, I can't load a page from HDFS for this node:5075, but it works for other worker nodes.
In addition, I checked using kubectl get node problem-node-name -o yaml. The output:
apiVersion: v1
kind: Node
metadata:
annotations:
node.alpha.kubernetes.io/ttl: "0"
volumes.kubernetes.io/controller-managed-attach-detach: "true"
creationTimestamp: "2020-05-26T14:09:37Z"
labels:
beta.kubernetes.io/arch: amd64
beta.kubernetes.io/os: linux
kubernetes.io/hostname: ip_of_the node
pai-worker: "true"
name: node_name
resourceVersion: "version"
selfLink: /api/v1/nodes/ip_of_the node
uid: id_of_the node
spec:
externalID: id_of_the node
status:
addresses:
address: ip_of_the node
type: InternalIP
address: ip_of_the node
type: Hostname
allocatable:
cpu: "24"
memory: memory
pods: "110"
capacity:
cpu: "24"
memory: memory
pods: "110"
conditions:
lastHeartbeatTime: "2020-05-27T08:05:38Z"
lastTransitionTime: "2020-05-26T14:08:30Z"
message: kubelet has sufficient disk space available
reason: KubeletHasSufficientDisk
status: "False"
type: OutOfDisk
lastHeartbeatTime: "2020-05-27T08:05:38Z"
lastTransitionTime: "2020-05-26T14:08:30Z"
message: kubelet has sufficient memory available
reason: KubeletHasSufficientMemory
status: "False"
type: MemoryPressure
lastHeartbeatTime: "2020-05-27T08:05:38Z"
lastTransitionTime: "2020-05-26T14:08:30Z"
message: kubelet has no disk pressure
reason: KubeletHasNoDiskPressure
status: "False"
type: DiskPressure
lastHeartbeatTime: "2020-05-27T08:05:38Z"
lastTransitionTime: "2020-05-26T14:08:41Z"
message: kubelet is posting ready status
reason: KubeletReady
status: "True"
type: Ready
daemonEndpoints:
kubeletEndpoint:
Port: 10250
images:
.......
nodeInfo:
architecture: amd64
bootID: id_of_the node
containerRuntimeVersion: docker://19.3.9
kernelVersion: 4.15.0-96-generic
kubeProxyVersion: v1.9.9
kubeletVersion: v1.9.9
machineID: id_of_the node
operatingSystem: linux
osImage: Debian GNU/Linux 9 (stretch)
systemUUID: id_of_the node

Changed some special info - id_of_the node, ip_of_the node, memory

I even matched the output of kubectl get node problem-node-name -o yaml for 2 nodes (1 is working fine, 1 is wrong), and they are the same. Seems that only 1 small part isn't working properly.
Moreover, I cleaned the cluster and added this machine, but the same problem appears.
Do you know how to solve this problem? Where does this Service tab come from?

Problem solved.
Only the 9000 port had been blocked. Made it LISTEN using:
iptables -I INPUT -p tcp --dport 9000 -j ACCEPT
iptables -I OUTPUT -p tcp --dport 9000 -j ACCEPT


update README file

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.wanghongyan01 seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Simplified What's New page and removed Future Updates

What's New page now includes a bulleted list of major updates from each version of Aurora (based on release notes).
Future updates page was removed since it is subject to change adn is available on the Aurora wiki page.
Closes issue #124

@ethanWallace let's keep it for now. I had the banner on the original What's New page. We can remove it later as the content expands "beyond the fold".


Bump MSRV to 1.74

Silencing the new clap (or something else?) requirement

I've pushed c69f816d53925c5e7d17bd09ad8ef33aecb4947d to downgrade it for now in Cargo.lock. cargo update -p<EMAIL_ADDRESS>--precise 4.4.18 FWIW.
I'm not against updating the MSRV though, but we should do this coordinated and not just to a random version. Ideally I'd like us to go to 1.80 so we can make use of LazyLock etc but that's after our targetted next release date. Is there anything in 1.75 or so that would be useful for us?

Let us close this one, until 1.80 is out and then we can reevaluate


Add separate website notice page

Adds this page to the organisation pages in collections:

Example page: https://govuk-collections-pr-701.herokuapp.com/government/organisations/advisory-committee-on-animal-feedingstuffs
There are some minor visual differences between the old page and the new, these are detailed here: https://trello.com/c/xXp5sHXs/10-separate-website-notice-smaller
Trello card: https://trello.com/c/iloDHtyy/170-add-separate-website-notice-to-organisation-page

@vanitabarrett I've noticed the lack of a space in the body paragraph, Ruben is looking into it. Also just realised this PR could use some tests, will add.


Improve mitm.it

We should do a better job at our magic cert install page mitm.it:

Add additional OSes/software to the list, e.g. Firefox.
Open more specific instructions when an Icon is clicked. For example, the Apple instructions should be shown after clicking on "Apple", and should also include the info from the docs: https://github.com/mitmproxy/mitmproxy/pull/2312

@mhils +1 on this. Do you mind if I take on this?  I don't have much experience with web development so it might take me a week or so but I am ready to give a shot, if you're okay with that.

Hey, sure! Please go ahead and take your time. :-)

I tried going through the code base but I am not sure how one can add support for more OSes and softwares.. Any ideas?

We probably need to differentiate between OS and browser:

Safari on macOS uses the macOS keychain. So installing our CA in the system is enough.
Chrome on macOS uses the macOS keychain. So installing our CA in the system is enough.
Firefox on macOS has its own CA store and needs to be installed with Firefox-specific instructions.

Chrome on Windows?
Firefox on Windows?
Edge and IE use the Windows CA store. So installing our CA in the system is enough.

Chrom/ium on Linux?
Firefox on Linux?

Chrome on Android?

Safari on iOS?

Should we add an extra note for iOS 10.3 users since they need to do some extra work to trust the root certificate installed by the profile?
To paraphrase the linked article:

After certificate installation, open Settings.
Navigate to General and then About.
Select Certificate Trust Settings.
Each root that has been installed via a profile will be listed below the heading Enable Full Trust For Root Certificates. Toggle mitmproxy on.

Generic answer: If you think that improves mitm.it, go for it! In your specific case, that definitely seems to hold true. I'd also be happy about a PR that adds a dedicated iOS button. 😃
https://github.com/mitmproxy/mitmproxy/tree/master/mitmproxy/addons/onboardingapp/templates


Add unit test for set_max_message_length API

Hi @Krout0n , this is the following up stuff.

Hi @jovany-wang , thank you! I will work on it this weekend or so, so please be patient and wait:pray:

Just for mentioning to the feature PR #32


SSMCacheManager set/add inconsistency

I recently stumbled upon following issue.
Behaviour of the setCaches in SSMCacheManager differs based on the way we create the manager. If it is annotated as @Bean - everything works as a charm, but if it is simple factory method - we need to use setter to setup the collection and then add each cache separately.
As the code serves as thousands of words, this works:
@Bean
public CacheManager cacheManager() {
            return new CompositeCacheManager(
                    inMemoryCache(),
                    ssmCacheManager());
}

@Bean
public SSMCacheManager ssmCacheManager() {
            SSMCache cache = createCache(CACHE_NAME);
            SSMCacheManager ssmCM = new SSMCacheManager();
            ssmCM.setCaches(ImmutableList.of(cache))
}

this does not:
@Bean
public CacheManager cacheManager() {
            return new CompositeCacheManager(
                    inMemoryCache(),
                    ssmCacheManager());
}

private SSMCacheManager ssmCacheManager() {
            SSMCache cache = createCache(CACHE_NAME);
            SSMCacheManager ssmCM = new SSMCacheManager();
            ssmCM.setCaches(ImmutableList.of(cache))
}

the only way to make it working is to call afterPropertiesSet manually or setCaches with new collection and call addCache for each cache separately.
Solution:

At least a documentation so that one does not have to go through the code
If the SSMCacheManager is not created as a bean, maybe some fallback for getCache? so that if cacheMap is empty or if cacheMap.get(name) == null it would check caches collection for the name?
setter could register caches

Background:
We decided to introduce in-memory cache in front of memcache (aws elasticache to be specific) to cut delays that are caused by network. As a result, we started returning CompositeCacheManager as a CacheManager bean, and method that created SSMCacheManager became a private method (we removed the Bean annotation). We found the hard way, that cache stopped working - it did not find proper cache names. Simple change to addCache also did not help - there was null pointer exception.

To improve manual creation of SSMCacheManager setCache method initializes the object.


Problem with observation context propagation

For some reason context isn't propagated properly. When i create simple setup with multiple taps in it simulating standard app with multiple spans, for some reason I always get all of them assigned to root span created for webflux request. I couldn't dig into exact source of the problem but it seems that context get's correctly modified in reactor core TapSubscriber, but when it's being propagated it seems to be missed somewhere and the parent context as current context. Tested with spring boot 3.0.4, actuator and otel bridge for micrometer. Additionally there's reactor-core-micrometer and context-propagation in deps.

Here's example project showing the problem https://github.com/maciej-gromul/boot-3-problems-with-context-propagation it uses grafana stack with docker to provide tracing gui for verification. The problem here is we have an endpoint GET /trace that is getting it's span context properly. But after that we're expecting to get span some-random-name, after that spans simple-text-wrapping-service and other-layer. All nested in each other so that we achieve this:
Expected trace:
http get /trace
  |
  -- some-random-name
       |
       -- simple-text-wrapping-service
            |
            -- other-layer

Currently:
http get /trace
|
-- some-random-name
|
-- simple-text-wrapping-service
|
--other-layer

I've verified that TapSubscriber does return properly modified context, but it seems to get lost when propagation has to happen. Maybe it's an issue with my project setup ? It's hard to tell how to define it all since docs are spread all over multiple libraries.

@maciej-gromul thank you for the detailed explanation. I can confirm this is a bug in reactor-core in the case of using
Hooks.enableAutomaticContextPropagation();

Can you please open the issue in reactor-core?

Sure :) Should i write something specific for them ? I'm not sure which part is actually failing there.

Title: Micrometer.observation failure with automatic context propagation
Body: When using the tap operator to create a child span with Micrometer.observation, a flat hierarchy is in effect when automatic context propagation is enabled.
Something along those lines would be enough. If you want I can create the issue, as I will be investigating it anyways, but if you want to take credit for the finding, go ahead and cross-link it please.


Streamline Columns in Evaluation

I reorganized the sub-sections under the Evaluation page in to series of charts. Though I used the same format, the charts have different column widths. Can you make them all the same with no more than two lines in the left column?

Min-width on left columns


How to register a custom scalar type?

Hello,
I would like to register a custom scalar type. Is there any documentation how to do it please?
Best regards,
Adam

@oliemansm
the constructor GraphQLScalarType(String name, String description, Coercing coercing) is depricated and it has been specified that we have to use newScalar().
How can this be done in Spring Boot GraphQL Kickstarter?


Installed binary fails due to glibc version

Tried installing on Ubuntu 18.04 following the instructions for heliosup, but attempting to run the resulting helios binary faced with the following errors:
helios: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by helios)
helios: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by helios)

(Ubuntu 18.04 has glibc 2.27.)
Normally this would happen because the build was performed on a newer operating system.  Building on an old one should give better compatibility.  Alternatively, statically linking a libc (by targeting musl) would avoid this issue.

Thanks for the report. I'll do some research to see which of these options is best compatibility-wise.

@ncitron I may have a similar issue on Ubuntu 20.04 (w/ glibc 2.31) as glibc is the last on the trace.
Getting the following when trying to cargo build. I'm able to build successfully on my mac.
I am able to install/run both with heliosup, though.
thread '<unnamed>' panicked at 'forcing query with already existing `DepNode`
- query-key: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }], value: ParamEnvAnd { param_env: ParamEnv { caller_bounds: [Binder(OutlivesPredicate(ReLateBound(DebruijnIndex(1), BoundRegion { var: 0, kind: BrAnon(0, None) }), ReLateBound(DebruijnIndex(1), BoundRegion { var: 1, kind: BrAnon(1, None) })), []), Binder(OutlivesPredicate(rpc::RpcInner, ReLateBound(DebruijnIndex(1), BoundRegion { var: 1, kind: BrAnon(1, None) })), [])], reveal: UserFacing, constness: NotConst }, value: Binder(TraitPredicate(<for<'a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i> {std::future::ResumeTy, &'a mut execution::evm::Evm<'b, execution::rpc::http_rpc::HttpRpc>, &'c execution::types::CallOpts, &'d execution::evm::Evm<'e, execution::rpc::http_rpc::HttpRpc>, impl std::future::Future<Output = std::result::Result<std::collections::HashMap<ethers::types::H160, execution::types::Account>, eyre::Report>>, ()} as std::marker::Send>, polarity:Positive), []) } }
- dep-node: evaluate_obligation(cfcb6a704d6313dd-ee134d32e1fb2d71)', /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/compiler/rustc_query_system/src/dep_graph/graph.rs:316:9
stack backtrace:
   0:     0x7f3d1e587440 - std::backtrace_rs::backtrace::libunwind::trace::h158b1ea709fc4e63
                               at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x7f3d1e587440 - std::backtrace_rs::backtrace::trace_unsynchronized::h9ddac896e1f23a6d
                               at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
...
                               at /build/glibc-SzIz7B/glibc-2.31/nptl/pthread_create.c:477:8
  44:     0x7f3d1e36b133 - clone
                               at /build/glibc-SzIz7B/glibc-2.31/misc/../sysdeps/unix/sysv/linux/x86_64/clone.S:95
  45:                0x0 - <unknown>
warning: `client` (lib) generated 1 warning
error: could not compile `client`; 1 warning emitted

https://github.com/foundry-rs/foundry/issues/825 maybe relevant

Thanks for the tip @gakonst.
@payton the issue you are running into when building from source was due to a bug that briefly existed in the rust nightly build last week. Running rustup then building again should resolve that issue.
I will also be updating heliosup to make building from source a bit easier.

Hello, been combing through the issues a bit while trying to get a webassembly instance working in the browser but found #226 and doesn't seem to be 100% possible yet.
While going through my initial setup, prior to hitting the tokio blocker, I had the same experience as described above. My remote VPS was running Debian Bullseye and was locked to version 2.31 of libc6: https://packages.debian.org/search?keywords=libc6
I modified my apt sources list convert my distro from bullseye to debian testing (bookworm) and it's fixed. This forum thread on Ubuntu provides some added info as well: https://askubuntu.com/questions/1334633/mainline-kernel-now-depends-on-libc6-2-33-non-installable-in-focal
Seems any distro based on the former LTS release, 20.04 is just not compatible and you need to use a distro with a recent enough kernel. On 22.04 if you install libc6 you get version 2.35: https://packages.ubuntu.com/search?keywords=libc6&searchon=names&suite=jammy&section=all
Hope this helps give context. Seems that it's just a matter of older distro's trying to run this.


update this repo to pull the builder from collector core

Currently this repo still pulls the builder from the opentelemetry-collector-builder repo which has been deprecated. See https://github.com/open-telemetry/opentelemetry-collector-releases/blob/main/Makefile#L38

This seems to have been done already.


Simultaneous opening of incoming XRP paychans fails

Found by @rhuairahrighairidh
asym-server uses the paychan-shared tx-submitter, but it turns out the transactions aren't actually queued!
Fix depends on https://github.com/interledgerjs/ilp-plugin-xrp-paychan-shared/pull/28

Fixed by https://github.com/interledgerjs/ilp-plugin-xrp-paychan-shared/pull/28.


Website Agent retaining the incoming event

Hi,
Is there a way on the website agent I get to keep the incoming events and add more by calling in the URL - similar to the EventFormatting Agent ....

Sorry, I didn't understand the question.  Please re-open if you'd like to discuss.


[iqiyi] Unable to extract album title

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2017.03.20. If it's not read this FAQ entry and update. Issues with outdated version will be rejected.

[x ] I've verified and I assure that I'm running youtube-dl 2017.03.20

Before submitting an issue make sure you have:

[x ] At least skimmed through README and most notably FAQ and BUGS sections
[x ] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

[x ] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

OUTPUT:
C:\Windows\System32>youtube-dl -v http://www.iqiyi.com/a_19rrhbcuq9.html
[debug] System config: []
[debug] User config: ['-o', 'Z:/Downloads/%(title)s.%(ext)s']
[debug] Custom config: []
[debug] Command-line args: ['-v', 'http://www.iqiyi.com/a_19rrhbcuq9.html']
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2017.03.20
[debug] Python version 3.4.4 - Windows-7-6.1.7601-SP1
[debug] exe versions: ffmpeg N-83280-gcba4f0e, ffprobe N-83280-gcba4f0e
[debug] Proxy map: {}
[iqiyi] temp_id: download video page
[iqiyi] 203227901: Download playlist page 2
[iqiyi] 203227901: Download playlist page 3
[iqiyi] 203227901: Download playlist page 4
[iqiyi] 203227901: Download playlist page 5
[iqiyi] 203227901: Download playlist page 6
[download] Downloading playlist: ??Z ???
[iqiyi] playlist ??Z ???: Collected 291 video ids (downloading 291 of them)
[download] Downloading video 1 of 291
[iqiyi] temp_id: download video page
WARNING: unable to extract album title; please report this issue on https://yt-d
l.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to
update. Be sure to call youtube-dl with the --verbose flag and include its compl
ete output.
[iqiyi] 203227901: Download playlist page 2
[iqiyi] 203227901: Download playlist page 3
[iqiyi] 203227901: Download playlist page 4
[iqiyi] 203227901: Download playlist page 5
[iqiyi] 203227901: Download playlist page 6
[download] Downloading playlist: 203227901
[iqiyi] playlist 203227901: Collected 251 video ids (downloading 251 of them)
[download] Downloading video 1 of 251
[iqiyi] temp_id: download video page
WARNING: unable to extract album title; please report this issue on https://yt-d
l.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to
update. Be sure to call youtube-dl with the --verbose flag and include its compl
ete output.
[iqiyi] 202861101: Download playlist page 2
[iqiyi] 202861101: Download playlist page 3
[iqiyi] 202861101: Download playlist page 4
[iqiyi] 202861101: Download playlist page 5
[iqiyi] 202861101: Download playlist page 6
[iqiyi] 202861101: Download playlist page 7
[iqiyi] 202861101: Download playlist page 8
[iqiyi] 202861101: Download playlist page 9
[iqiyi] 202861101: Download playlist page 10
[iqiyi] 202861101: Download playlist page 11
[iqiyi] 202861101: Download playlist page 12
[iqiyi] 202861101: Download playlist page 13
[iqiyi] 202861101: Download playlist page 14
[iqiyi] 202861101: Download playlist page 15
[iqiyi] 202861101: Download playlist page 16
[download] Downloading playlist: 202861101
[iqiyi] playlist 202861101: Collected 740 video ids (downloading 740 of them)
[download] Downloading video 1 of 740
[iqiyi] temp_id: download video page
WARNING: unable to extract album title; please report this issue on https://yt-d
l.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to
update. Be sure to call youtube-dl with the --verbose flag and include its compl
ete output.
[iqiyi] 202861101: Download playlist page 2
[iqiyi] 202861101: Download playlist page 3
[iqiyi] 202861101: Download playlist page 4
[iqiyi] 202861101: Download playlist page 5
[iqiyi] 202861101: Download playlist page 6
[iqiyi] 202861101: Download playlist page 7
[iqiyi] 202861101: Download playlist page 8
[iqiyi] 202861101: Download playlist page 9
[iqiyi] 202861101: Download playlist page 10
[iqiyi] 202861101: Download playlist page 11
[iqiyi] 202861101: Download playlist page 12
[iqiyi] 202861101: Download playlist page 13
[iqiyi] 202861101: Download playlist page 14
[iqiyi] 202861101: Download playlist page 15
[iqiyi] 202861101: Download playlist page 16
[download] Downloading playlist: 202861101
[iqiyi] playlist 202861101: Collected 740 video ids (downloading 740 of them)
[download] Downloading video 1 of 740
[iqiyi] temp_id: download video page
WARNING: unable to extract album title; please report this issue on https://yt-d
l.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to
update. Be sure to call youtube-dl with the --verbose flag and include its compl
ete output.
[iqiyi] 202861101: Download playlist page 2
[iqiyi] 202861101: Download playlist page 3
[iqiyi] 202861101: Download playlist page 4
[iqiyi] 202861101: Download playlist page 5
[iqiyi] 202861101: Download playlist page 6
[iqiyi] 202861101: Download playlist page 7
[iqiyi] 202861101: Download playlist page 8
[iqiyi] 202861101: Download playlist page 9
[iqiyi] 202861101: Download playlist page 10
[iqiyi] 202861101: Download playlist page 11
[iqiyi] 202861101: Download playlist page 12
[iqiyi] 202861101: Download playlist page 13
[iqiyi] 202861101: Download playlist page 14
[iqiyi] 202861101: Download playlist page 15
[iqiyi] 202861101: Download playlist page 16
[download] Downloading playlist: 202861101
[iqiyi] playlist 202861101: Collected 740 video ids (downloading 740 of them)
[download] Downloading video 1 of 740
[iqiyi] temp_id: download video page
WARNING: unable to extract album title; please report this issue on https://yt-d
l.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to
update. Be sure to call youtube-dl with the --verbose flag and include its compl
ete output.
[iqiyi] 202861101: Download playlist page 2
[iqiyi] 202861101: Download playlist page 3
[iqiyi] 202861101: Download playlist page 4
[iqiyi] 202861101: Download playlist page 5
[iqiyi] 202861101: Download playlist page 6
[iqiyi] 202861101: Download playlist page 7
[iqiyi] 202861101: Download playlist page 8
[iqiyi] 202861101: Download playlist page 9
[iqiyi] 202861101: Download playlist page 10
[iqiyi] 202861101: Download playlist page 11
[iqiyi] 202861101: Download playlist page 12
[iqiyi] 202861101: Download playlist page 13
[iqiyi] 202861101: Download playlist page 14
[iqiyi] 202861101: Download playlist page 15
[iqiyi] 202861101: Download playlist page 16
[download] Downloading playlist: 202861101
[iqiyi] playlist 202861101: Collected 740 video ids (downloading 740 of them)
[download] Downloading video 1 of 740
[iqiyi] temp_id: download video page
WARNING: unable to extract album title; please report this issue on https://yt-d
l.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to
update. Be sure to call youtube-dl with the --verbose flag and include its compl
ete output.
[iqiyi] 202861101: Download playlist page 2
[iqiyi] 202861101: Download playlist page 3
[iqiyi] 202861101: Download playlist page 4
ERROR: Interrupted by user

Description of your issue, suggested solution and other information
I have downloaded other media from this website successfully but this playlist keeps giving me errors. I just updated to the latest version and it still doesn't work. It is quite a long playlist so perhaps that is the problem.
My configuration file looks like this:
Save options
-o Z:/Downloads/%(title)s.%(ext)s

Just to clarify, I am currently in China and can access the website without any problems, even though it may be restricted in other countries.

I got a China proxy and it's working for me:
$ youtube-dl -v "http://www.iqiyi.com/a_19rrhbcuq9.html" --geo-verification-proxy "<IP_ADDRESS>:3128"
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', 'http://www.iqiyi.com/a_19rrhbcuq9.html', '--geo-verification-proxy', '<IP_ADDRESS>:3128']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2017.03.24
[debug] Git HEAD: 54b960f34
[debug] Python version 3.6.0 - Linux-4.10.4-1-ARCH-x86_64-with-arch
[debug] exe versions: ffmpeg 3.2.4, ffprobe 3.2.4
[debug] Proxy map: {}
[iqiyi] temp_id: download video page
[iqiyi] 203227901: Download playlist page 2
[iqiyi] 203227901: Download playlist page 3
[iqiyi] 203227901: Download playlist page 4
[iqiyi] 203227901: Download playlist page 5
[iqiyi] 203227901: Download playlist page 6
[download] Downloading playlist: 龙珠Z 国语版
[iqiyi] playlist 龙珠Z 国语版: Collected 291 video ids (downloading 291 of them)
[download] Downloading video 1 of 291
[iqiyi] temp_id: download video page
[iqiyi] a935566d7740de75d85ab11802691a80: Downloading JSON metadata
[debug] Invoking downloader on 'http://cache.m.iqiyi.com/mus/text/203227901/194ad02f3cbad88598bb4bb2ebe0d019/afbe8fd3d73448c9//20151120/37/f1/0b38282cd4d60651f7fef8336ec52602.m3u8?np_tag=nginx_part_tag&qd_originate=tmts_py&tvid=419250000&bossStatus=0&qd_vip=0&px=&qd_src=3_31_312&prv=&previewType=&previewTime=&from=&qd_time=1490435521980&qd_sc=668ba80921aace4e55c970cec7468461&qypid=419250000_04022000001000000000_4&qd_k=e8353de4dc9a60cd022e919aae854c06&other='
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 169
[download] Destination: 龍珠Z 國語版：第1集 迷你悟饭-a935566d7740de75d85ab11802691a80.mp4
[download]   7.1% of ~88.95MiB at  5.14MiB/s ETA 00:16^C
ERROR: Interrupted by user
Exception ignored in: <_io.FileIO name='龍珠Z 國語版：第1集 迷你悟饭-a935566d7740de75d85ab11802691a80.mp4.part' mode='wb' closefd=True>
ResourceWarning: unclosed file <_io.FileIO name='龍珠Z 國語版：第1集 迷你悟饭-a935566d7740de75d85ab11802691a80.mp4.part' mode='wb' closefd=True>

Could you run youtube-dl -v http://www.iqiyi.com/a_19rrhbcuq9.html --write-pages and upload all *.dump files?

For some reason I couldn't upload the files directly so here is a link to them on Microsoft OneDrive:
https://1drv.ms/u/s!Aga1JaEdoW7Rhm68JuOeBr9ZlzWX

There should be a file called temp_id_http_-_www.iqiyi.com_a_19rrhbcuq9.html.dump. Could you check again you've included all files in Youtube-dl Dumps Files.zip? Also, could you paste the log of this command?
youtube-dl -v "http://www.iqiyi.com/a_19rrhbcuq9.html" --write-pages

Sorry for the long delay in my reply. I've uploaded the file you requested here:
https://1drv.ms/u/s!Aga1JaEdoW7RiX5pRZd3aHw-K00r
I've also included two other dump files that were with it that might be needed. Is this what you mean by the log of that command:
PS C:\Users\User> youtube-dl -v "http://www.iqiyi.com/a_19rrhbcuq9.html" --write-pages
[debug] System config: []
[debug] User config: ['-o', 'Z:/Downloads/%(title)s.%(ext)s']
[debug] Custom config: []
[debug] Command-line args: ['-v', 'http://www.iqiyi.com/a_19rrhbcuq9.html', '--write-pages']
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2017.03.20
[debug] Python version 3.4.4 - Windows-7-6.1.7601-SP1
[debug] exe versions: ffmpeg N-83280-gcba4f0e, ffprobe N-83280-gcba4f0e
[debug] Proxy map: {}
[iqiyi] temp_id: download video page
[iqiyi] Saving request to temp_id_http_-www.iqiyi.com_a_19rrhbcuq9.html.dump
[iqiyi] 203227901: Download playlist page 2
[iqiyi] Saving request to 203227901_http-cache.video.qiyi.com_jp_avlist_203227901_2_50.dump
[iqiyi] 203227901: Download playlist page 3
[iqiyi] Saving request to 203227901_http_-cache.video.qiyi.com_jp_avlist_203227901_3_50.dump
[iqiyi] 203227901: Download playlist page 4
[iqiyi] Saving request to 203227901_http_-cache.video.qiyi.com_jp_avlist_203227901_4_50.dump
[iqiyi] 203227901: Download playlist page 5
[iqiyi] Saving request to 203227901_http_-cache.video.qiyi.com_jp_avlist_203227901_5_50.dump
[iqiyi] 203227901: Download playlist page 6
[iqiyi] Saving request to 203227901_http_-cache.video.qiyi.com_jp_avlist_203227901_6_50.dump
[download] Downloading playlist: ??Z ???
[iqiyi] playlist ??Z ???: Collected 291 video ids (downloading 291 of them)
[download] Downloading video 1 of 291
[iqiyi] temp_id: download video page
[iqiyi] Saving request to temp_id_http_-www.iqiyi.com_v_19rrkoguv0.html.dump
WARNING: unable to extract album title; please report this issue on https://yt-dl.org/bug . Make sure you are using the
latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its compl
ete output.
[iqiyi] 203227901: Download playlist page 2
[iqiyi] Saving request to 203227901_http-cache.video.qiyi.com_jp_avlist_203227901_2_50.dump
[iqiyi] 203227901: Download playlist page 3
[iqiyi] Saving request to 203227901_http_-cache.video.qiyi.com_jp_avlist_203227901_3_50.dump
[iqiyi] 203227901: Download playlist page 4
[iqiyi] Saving request to 203227901_http_-cache.video.qiyi.com_jp_avlist_203227901_4_50.dump
[iqiyi] 203227901: Download playlist page 5
[iqiyi] Saving request to 203227901_http_-cache.video.qiyi.com_jp_avlist_203227901_5_50.dump
[iqiyi] 203227901: Download playlist page 6
[iqiyi] Saving request to 203227901_http_-cache.video.qiyi.com_jp_avlist_203227901_6_50.dump
[download] Downloading playlist: 203227901
[iqiyi] playlist 203227901: Collected 251 video ids (downloading 251 of them)
[download] Downloading video 1 of 251
[iqiyi] temp_id: download video page
[iqiyi] Saving request to temp_id_http_-www.iqiyi.com_v_19rrok4nt0.html.dump
WARNING: unable to extract album title; please report this issue on https://yt-dl.org/bug . Make sure you are using the
latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its compl
ete output.
[iqiyi] 202861101: Download playlist page 2
[iqiyi] Saving request to 202861101_http-cache.video.qiyi.com_jp_avlist_202861101_2_50.dump
[iqiyi] 202861101: Download playlist page 3
[iqiyi] Saving request to 202861101_http_-cache.video.qiyi.com_jp_avlist_202861101_3_50.dump
[iqiyi] 202861101: Download playlist page 4
[iqiyi] Saving request to 202861101_http_-cache.video.qiyi.com_jp_avlist_202861101_4_50.dump
[iqiyi] 202861101: Download playlist page 5
[iqiyi] Saving request to 202861101_http_-cache.video.qiyi.com_jp_avlist_202861101_5_50.dump
[iqiyi] 202861101: Download playlist page 6
[iqiyi] Saving request to 202861101_http_-cache.video.qiyi.com_jp_avlist_202861101_6_50.dump
[iqiyi] 202861101: Download playlist page 7
[iqiyi] Saving request to 202861101_http_-cache.video.qiyi.com_jp_avlist_202861101_7_50.dump
[iqiyi] 202861101: Download playlist page 8
[iqiyi] Saving request to 202861101_http_-cache.video.qiyi.com_jp_avlist_202861101_8_50.dump
[iqiyi] 202861101: Download playlist page 9
[iqiyi] Saving request to 202861101_http_-cache.video.qiyi.com_jp_avlist_202861101_9_50.dump
[iqiyi] 202861101: Download playlist page 10
[iqiyi] Saving request to 202861101_http_-cache.video.qiyi.com_jp_avlist_202861101_10_50.dump
[iqiyi] 202861101: Download playlist page 11
[iqiyi] Saving request to 202861101_http_-cache.video.qiyi.com_jp_avlist_202861101_11_50.dump
[iqiyi] 202861101: Download playlist page 12
[iqiyi] Saving request to 202861101_http_-cache.video.qiyi.com_jp_avlist_202861101_12_50.dump
[iqiyi] 202861101: Download playlist page 13
[iqiyi] Saving request to 202861101_http_-cache.video.qiyi.com_jp_avlist_202861101_13_50.dump
[iqiyi] 202861101: Download playlist page 14
[iqiyi] Saving request to 202861101_http_-cache.video.qiyi.com_jp_avlist_202861101_14_50.dump
[iqiyi] 202861101: Download playlist page 15
[iqiyi] Saving request to 202861101_http_-cache.video.qiyi.com_jp_avlist_202861101_15_50.dump
[iqiyi] 202861101: Download playlist page 16
ERROR: Interrupted by user
PS C:\Users\User> youtube-dl -v "http://www.iqiyi.com/a_19rrhbcuq9.html" --write-pages

This is same for me in China.
Youtube-dl Dumps Files.zip

Sorry for the delay. I've tried to fix the issue based on those dump files. Could you verify it? @nuomi1 @markhavemann

@yan12125 OK.

@nuomi1 Do you mean my patch indeed fixes the problem or you're going to try?

@yan12125 looks like it's worked for me! I can download without any errors so far.
Thank you so much!!

Thanks for the feedback. Feel free to leave comments if similar issues emerge again.


2 Tier Envoy with gRPC-Web filter fails with 503

envoy v1.5.0
grpc-go v1.6.0
Description:
Using a 2 tier envoy setup with a gRPC-Web filter on the downstream envoy, and proxying a go-grpc service on the upstream envoy, returns a RST_STREAM midway through the request to the backend, causing the downstream envoy to return 503 to the javascript client.
The logs show the upstream envoy sends a RST_STREAM frame to the downstream envoy as well as the upstream service.
req:       browser ----> envoy-1 ----> envoy-2 ----> service
resp:      browser <--503-- envoy-1 <--RST-- envoy-2 --RST--> service
A single tier envoy works as expected however.
Repro steps:
Configure a downstream envoy with a cors and grpc-web filter enabled on a route on a http2 http_connection_manager, specifying an upstream envoy cluster. Configure the upstream envoy to proxy a grpc service. Invoke a grpc request on the downstream, and observe 503.
Config:
Downstream envoy:
- address: tcp://<IP_ADDRESS>:6555
  filters:
  - name: http_connection_manager
    type: read
    config:
      add_user_agent: true
      codec_type: auto
      stat_prefix: ingress_http
      use_remote_address: true
      route_config:
        virtual_hosts:
        - name: default
          domains: ["*"]
          routes:
          - prefix: "/"
            timeout_ms: 0
            cluster: default
            cors:
              allow_origin: ["*"]
              allow_methods: "OPTIONS"
              allow_headers: "Content-Type, Authorization, x-grpc-web, X-User-Agent"
              allow_credentials: true
      filters:
      - type: decoder
        name: cors
        config: {}
      - type: auto
        name: grpc_web
        config: {}
      - type: decoder
        name: router
        config: {}

statsd_udp_ip_address: <IP_ADDRESS>:8125
admin:
  access_log_path: /var/log/admin_access.log
  address: tcp://<IP_ADDRESS>:9901

cluster_manager:
  clusters:
  - name: default
    features: http2
    connect_timeout_ms: 100
    type: logical_dns
    lb_type: round_robin
    hosts:  [{ url: tcp://docker.for.mac.localhost:6554 }]

Upstream:
listeners:
- address: tcp://<IP_ADDRESS>:6554
  filters:
  - name: http_connection_manager
    type: read
    config:
      add_user_agent: true
      codec_type: http2
      stat_prefix: ingress_http
      use_remote_address: true
      route_config:
        virtual_hosts:
        - name: default
          domains: ["*"]
          routes:
          - prefix: "/"
            cluster: default
      filters:
      - type: decoder
        name: router
        config: {}
statsd_udp_ip_address: <IP_ADDRESS>:8125
admin:
  access_log_path: /var/log/admin_access.log
  address: tcp://<IP_ADDRESS>:9901

cluster_manager:
  clusters:
  - name: default
    connect_timeout_ms: 100
    type: logical_dns
    lb_type: round_robin
    features: http2
    hosts:  [{ url: tcp://docker.for.mac.localhost:5461 }]

Logs:
Upstream envoy:
[2018-03-29 18:28:44.116][11][trace][http2] source/common/http/http2/codec_impl.cc:507] [C3] send data: bytes=15
[2018-03-29 18:28:44.116][11][trace][connection] source/common/network/connection_impl.cc:300] [C3] writing 15 bytes
[2018-03-29 18:28:44.116][11][trace][http2] source/common/http/http2/codec_impl.cc:467] [C3] sent frame type=4
[2018-03-29 18:28:44.116][11][trace][http2] source/common/http/http2/codec_impl.cc:507] [C3] send data: bytes=9
[2018-03-29 18:28:44.116][11][trace][connection] source/common/network/connection_impl.cc:300] [C3] writing 9 bytes
[2018-03-29 18:28:44.116][11][trace][http2] source/common/http/http2/codec_impl.cc:467] [C3] sent frame type=4
[2018-03-29 18:28:44.116][11][trace][http2] source/common/http/http2/codec_impl.cc:507] [C3] send data: bytes=13
[2018-03-29 18:28:44.116][11][trace][connection] source/common/network/connection_impl.cc:300] [C3] writing 13 bytes
[2018-03-29 18:28:44.116][11][trace][http2] source/common/http/http2/codec_impl.cc:467] [C3] sent frame type=8
[2018-03-29 18:28:44.116][11][trace][http2] source/common/http/http2/codec_impl.cc:507] [C3] send data: bytes=13
[2018-03-29 18:28:44.116][11][trace][connection] source/common/network/connection_impl.cc:300] [C3] writing 13 bytes
[2018-03-29 18:28:44.116][11][trace][http2] source/common/http/http2/codec_impl.cc:467] [C3] sent frame type=3
[2018-03-29 18:28:44.116][11][debug][http2] source/common/http/http2/codec_impl.cc:477] [C3] sent reset code=1
[2018-03-29 18:28:44.116][11][debug][http2] source/common/http/http2/codec_impl.cc:518] [C3] stream closed: 1
[2018-03-29 18:28:44.116][11][debug][router] source/common/router/router.cc:856] [C3][S12760462210153772685] resetting pool request
[2018-03-29 18:28:44.116][11][debug][client] source/common/http/codec_client.cc:91] [C4] request reset
[2018-03-29 18:28:44.116][11][trace][main] source/common/event/dispatcher_impl.cc:133] item added to deferred deletion list (size=1)
[2018-03-29 18:28:44.116][11][debug][pool] source/common/http/http2/conn_pool.cc:186] [C4] destroying stream: 0 remaining
[2018-03-29 18:28:44.116][11][trace][http2] source/common/http/http2/codec_impl.cc:507] [C4] send data: bytes=13
[2018-03-29 18:28:44.116][11][trace][connection] source/common/network/connection_impl.cc:300] [C4] writing 13 bytes
[2018-03-29 18:28:44.116][11][trace][http2] source/common/http/http2/codec_impl.cc:467] [C4] sent frame type=3
[2018-03-29 18:28:44.116][11][debug][http2] source/common/http/http2/codec_impl.cc:477] [C4] sent reset code=0
[2018-03-29 18:28:44.116][11][debug][http2] source/common/http/http2/codec_impl.cc:518] [C4] stream closed: 0```

@negator  What is the expected behavior?
cc/ @fengli79

Can you describe the protocol used in each hop?
I assuming this config will work:
client ---grpc/web---> envoy ---grpc---> envoy ---grpc---> grpc server.
Note, the first envoy already convert the protocol from grpc/web to grpc, so the 2nd envoy should be used as a grpc to grpc (http2) proxy instead of a grpc-web proxy.

Yes @fengli79, that is the setup I am using.

curl -v 'http://localhost:6555/' -H 'X-User-Agent: grpc-web-javascript/0.1' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/grpc-web-text' -H 'Accept: application/grpc-web-text' --data-binary 'AAAAAAA=' --compressed

@negator Could you add some log to show the actual response each envoy received over the wire?
If a one hop proxying works, then it's more like something happened in the 2nd http2 proxying hope.

resp: browser <--503-- envoy-1 <--RST-- envoy-2 --RST--> service

@negator can you clarify what triggers envoy-2 to RST_STREAM to the service?

Sure! (And thanks for the quick responses)
I've attached trace logs from both the downstream and upstream envoys. You can the line sent frame type=3 around time 2018-03-29 22:36:50.019 in the upstream. And you can see recv frame type=3 in the downstream around time 2018-03-29 22:36:50.021.
upstream.txt
downstream.txt

C1 and C2 represent the downstream envoy and upstream service connections in upstream-envoy. And you can see sent frame type=3 for both.

type=3 is the http2 RST_STREAM frame type.
https://github.com/nghttp2/nghttp2/blob/54573f28a8eb48719422a559a41836be14491e80/lib/includes/nghttp2/nghttp2.h#L583

From upsteram.txt:
[2018-03-29 22:36:50.018][11][trace][router] source/common/router/router.cc:874] [C1][S13015957323216215629] proxying 5 bytes
[2018-03-29 22:36:50.018][11][trace][connection] source/common/network/connection_impl.cc:323] [C2] writing 14 bytes, end_stream false
[2018-03-29 22:36:50.018][11][trace][http2] source/common/http/http2/codec_impl.cc:466] [C2] sent frame type=0
[2018-03-29 22:36:50.018][11][trace][http] source/common/http/conn_manager_impl.cc:724] [C1][S13015957323216215629] decode data called: filter=0x28e4a00 status=3
[2018-03-29 22:36:50.018][11][trace][http2] source/common/http/http2/codec_impl.cc:310] [C1] dispatched 400 bytes
[2018-03-29 22:36:50.018][11][trace][http2] source/common/http/http2/codec_impl.cc:506] [C1] send data: bytes=15
[2018-03-29 22:36:50.018][11][trace][connection] source/common/network/connection_impl.cc:323] [C1] writing 15 bytes, end_stream false
[2018-03-29 22:36:50.018][11][trace][http2] source/common/http/http2/codec_impl.cc:466] [C1] sent frame type=4
[2018-03-29 22:36:50.018][11][trace][http2] source/common/http/http2/codec_impl.cc:506] [C1] send data: bytes=9
[2018-03-29 22:36:50.018][11][trace][connection] source/common/network/connection_impl.cc:323] [C1] writing 9 bytes, end_stream false
[2018-03-29 22:36:50.018][11][trace][http2] source/common/http/http2/codec_impl.cc:466] [C1] sent frame type=4
[2018-03-29 22:36:50.019][11][trace][http2] source/common/http/http2/codec_impl.cc:506] [C1] send data: bytes=13
[2018-03-29 22:36:50.019][11][trace][connection] source/common/network/connection_impl.cc:323] [C1] writing 13 bytes, end_stream false
[2018-03-29 22:36:50.019][11][trace][http2] source/common/http/http2/codec_impl.cc:466] [C1] sent frame type=8
[2018-03-29 22:36:50.019][11][trace][http2] source/common/http/http2/codec_impl.cc:506] [C1] send data: bytes=13
[2018-03-29 22:36:50.019][11][trace][connection] source/common/network/connection_impl.cc:323] [C1] writing 13 bytes, end_stream false
[2018-03-29 22:36:50.019][11][trace][http2] source/common/http/http2/codec_impl.cc:466] [C1] sent frame type=3
[2018-03-29 22:36:50.019][11][debug][http2] source/common/http/http2/codec_impl.cc:476] [C1] sent reset code=1
[2018-03-29 22:36:50.019][11][debug][http2] source/common/http/http2/codec_impl.cc:517] [C1] stream closed: 1
[2018-03-29 22:36:50.019][11][debug][router] source/common/router/router.cc:919] [C1][S13015957323216215629] resetting pool request

Does anyone have idea why the reset sent to C1? I don't see any reason for that from the log.

@negator Could you share the grpc server's log, which may give us clues why it close the connection.
@mattklein123 However I saw something wrong in the downstream envoy, it looks like the headers order is not correct.
According to the HTTP2 spec:
All pseudo-header fields MUST appear in the header block before regular header fields.
[2018-03-29 22:36:50.008][12][debug][router] source/common/router/router.cc:250] [C1][S14026194822954064726] cluster 'default' match for URL '/'
[2018-03-29 22:36:50.009][12][debug][router] source/common/router/router.cc:298] [C1][S14026194822954064726]   ':authority':'localhost:6555'
[2018-03-29 22:36:50.009][12][debug][router] source/common/router/router.cc:298] [C1][S14026194822954064726]   'user-agent':'curl/7.54.0'
[2018-03-29 22:36:50.009][12][debug][router] source/common/router/router.cc:298] [C1][S14026194822954064726]   'x-user-agent':'grpc-web-javascript/0.1'
[2018-03-29 22:36:50.009][12][debug][router] source/common/router/router.cc:298] [C1][S14026194822954064726]   'origin':'http://localhost:8080'
[2018-03-29 22:36:50.009][12][debug][router] source/common/router/router.cc:298] [C1][S14026194822954064726]   'accept-encoding':'gzip, deflate, br'
[2018-03-29 22:36:50.009][12][debug][router] source/common/router/router.cc:298] [C1][S14026194822954064726]   'accept-language':'en-US,en;q=0.9'
[2018-03-29 22:36:50.009][12][debug][router] source/common/router/router.cc:298] [C1][S14026194822954064726]   'content-type':'application/grpc'
[2018-03-29 22:36:50.009][12][debug][router] source/common/router/router.cc:298] [C1][S14026194822954064726]   'accept':'application/grpc-web-text'
[2018-03-29 22:36:50.009][12][debug][router] source/common/router/router.cc:298] [C1][S14026194822954064726]   'content-length':'8'
[2018-03-29 22:36:50.009][12][debug][router] source/common/router/router.cc:298] [C1][S14026194822954064726]   ':path':'/'
[2018-03-29 22:36:50.009][12][debug][router] source/common/router/router.cc:298] [C1][S14026194822954064726]   ':method':'POST'
[2018-03-29 22:36:50.009][12][debug][router] source/common/router/router.cc:298] [C1][S14026194822954064726]   'x-forwarded-for':'<IP_ADDRESS>'
[2018-03-29 22:36:50.009][12][debug][router] source/common/router/router.cc:298] [C1][S14026194822954064726]   'x-forwarded-proto':'http'
[2018-03-29 22:36:50.009][12][debug][router] source/common/router/router.cc:298] [C1][S14026194822954064726]   'x-envoy-internal':'true'
[2018-03-29 22:36:50.009][12][debug][router] source/common/router/router.cc:298] [C1][S14026194822954064726]   'x-envoy-downstream-service-cluster':''
[2018-03-29 22:36:50.009][12][debug][router] source/common/router/router.cc:298] [C1][S14026194822954064726]   'x-request-id':'4d86c3b7-6039-4cc3-bb9b-62a1f495a879'
[2018-03-29 22:36:50.010][12][debug][router] source/common/router/router.cc:298] [C1][S14026194822954064726]   'te':'trailers'
[2018-03-29 22:36:50.010][12][debug][router] source/common/router/router.cc:298] [C1][S14026194822954064726]   'grpc-accept-encoding':'identity,deflate,gzip'
[2018-03-29 22:36:50.010][12][debug][router] source/common/router/router.cc:298] [C1][S14026194822954064726]   ':scheme':'http'

https://github.com/envoyproxy/envoy/blob/master/source/common/http/http2/codec_impl.cc#L76

@mattklein123 Means the actually order over the wire is different than the order in the log? It's better can send them in wrong order, but the log may still need to be fixed to avoid confusing.

Yeah I think Envoy does reorder headers before passing to nghttp2, so the log order doesn't match what is over wire.

@negator btw, I think you can workaround this by putting grpc-web filter to envoy-2 instead of envoy-1.

@fengli79 Which END_STREAM are you talking about?
I don't see any reason lead to:
[2018-03-29 22:36:50.019][11][trace][http2] source/common/http/http2/codec_impl.cc:466] [C1] sent frame type=3
[2018-03-29 22:36:50.019][11][debug][http2] source/common/http/http2/codec_impl.cc:476] [C1] sent reset code=1

This is a RST_STREAM, not a frame with END_STREAM. C1 is the server connection of envoy-2 (peer is envoy-1).

@lizan thanks, thats an excellent workaround to use grpc-web on envoy-2 instead. I just tried it and it works 👍

@lizan My bad, I looked at a mis-matched source code.
The C1 send reset code=1 means it's NGHTTP2_PROTOCOL_ERROR?
@dfawley Looks like a underlying HTTP2 compatibility issue between nghttp2 and golang http2?

@mattklein123 thoughts on PROTOCOL_ERROR? We still need to investigate why this happens while workaround is available.

I don't know if this is useful to you, but here is a quick/dirty test environment to verify this:
https://github.com/negator/envoy-grpc-web

I’m guessing this has something to do with Content Length validation, which is strictly enforced by nghttp2. The content-length shows 8 bytes, but you can see data sends totaling a size greater than 8.
https://nghttp2.org/documentation/programmers-guide.html

Nice catch!


decoder return 0x12 when enhance packet loss exce keyframe

when enhance of p frame loss, the next base frame decoder error, the ret value is 0x12


Blacklist for buffertypes

Instead of a whitelist could there be a blacklist?

I'm also thinking the ability to blacklist would be nice.
Maybe following the path of how nvim-treesitter.setup handles whitelist and blacklist.
From :h nvim-treesitter-modules
  require'nvim-treesitter.configs'.setup {
    highlight = {
      enable = true,
      disable = { "cpp", "lua" },
    },
  }

-- disable can also be a function
  require'nvim-treesitter.configs'.setup {
    highlight = {
      enable = true,
      disable = function(lang, bufnr) -- Disable in large C++ buffers
        return lang == "cpp" and vim.api.nvim_buf_line_count(bufnr) > 50000
      end,
    },
  }

I'll be happy to put together a PR if this seems like a good idea.

Sounds good to me

To clarify, I'm guessing that to blacklist a filetype, that means to disable spellsitter as well as set nospell.
I don't think it makes sense to disable spellsitter but leave spellchecking on. Then you'd have to also write your own autocmds to setlocal nospell for the same filetypes again if you wanted no spellchecking whatsoever.

Yeah, this makes sense. I should have realized this myself.
You can implement an effective exclude list by simply adding a FileType autocmd to set setlocal nospell.


Fortran API tests are failing

I could not get the Fortran API tests to run.

I could have a look on it, but can you please give some more details?

Are you lacking the instructions on how to run them or are you running them and you get failures?

Please re-open with relevant information.


Add thedev.ovh to Domains directory

thedev.ovh is a free domain name service (for one domain name), we provide everyone with quality subdomains with high investment and meticulousness. We invest our own money in the domain name, and carefully manage to avoid abuse. I represent the whole team to add the domain free.hrsn.dev so that people can know more about thedev.ovh. We will sell the second subdomain to users for $1. On behalf of thedev.ovh, thank you to free.hrsn.dev

We are not done with the thedev.ovh homepage (https://thedev.ovh) yet. We are still working on it as soon as possible.

thedev.ovh is not listed on the PSL, so we cannot accept it at this point in time.