[BUG] CryptographyClient: 400 Bad Request returned on automatic retry after 429 Too Many Request response

Describe the bug
We are using CryptographyClient to download blobs with client-side encryption. Because our program makes excessive queries, Key Vault often responds with 429 Too Many Requests. This is not the problem I want to discuss here.
The point is that we receive a 400 Bad Request response on the automatic retry right after that. When I was using Key Vault .NET SDK v3, I did not see this kind of response.

Note that I got a 429 Too Many Requests response when unwrapping the key.
Also, we use Azure.KeyVaultProxy.
Expected behavior
Expect 200 OK or 429 Too Many Reqeusts to be returned after the request is retried.
Actual behavior (include Exception or Stack Trace)
400 Bad Request was returned.

Exception message (Azure.RequestFailedException)
Azure.RequestFailedException at Azure.Security.KeyVault.KeyVaultPipeline+<SendRequestAsync>d__27.MoveNext",,"Azure.RequestFailedException",,"Azure.Security.KeyVault.Keys, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=92742159e12e44c8","Azure.Security.KeyVault.KeyVaultPipeline+<SendRequestAsync>d__27.MoveNext","REDACTED","REDACTED",,,"Azure.RequestFailedException","Service request failed.
Status: 400 (Bad Request)

Content:
{""error"":{""code"":""BadParameter"",""message"":""Request body not specified""}}

Headers:
Cache-Control: no-cache
Pragma: no-cache
x-ms-keyvault-region: japaneast
x-ms-client-request-id: REDACTED
x-ms-request-id: REDACTED
x-ms-keyvault-service-version: <IP_ADDRESS>
x-ms-keyvault-network-info: REDACTED
X-Powered-By: REDACTED
Strict-Transport-Security: REDACTED
X-Content-Type-Options: REDACTED
Date: Wed, 13 Oct 2021 06:00:55 GMT
Content-Length: 72
Content-Type: application/json; charset=utf-8
Expires: -1

Stacktrace
{
  "severityLevel": "Error",
  "parsedStack": [
    {
      "assembly": "Azure.Security.KeyVault.Keys, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=92742159e12e44c8",
      "method": "Azure.Security.KeyVault.KeyVaultPipeline+<SendRequestAsync>d__27.MoveNext",
      "level": 0,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw",
      "level": 1,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess",
      "level": 2,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification",
      "level": 3,
      "line": 0
    },
    {
      "assembly": "Azure.Security.KeyVault.Keys, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=92742159e12e44c8",
      "method": "Azure.Security.KeyVault.KeyVaultPipeline+<SendRequestAsync>d__19`2.MoveNext",
      "level": 4,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw",
      "level": 5,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess",
      "level": 6,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification",
      "level": 7,
      "line": 0
    },
    {
      "assembly": "Azure.Security.KeyVault.Keys, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=92742159e12e44c8",
      "method": "Azure.Security.KeyVault.Keys.Cryptography.RemoteCryptographyClient+<UnwrapKeyAsync>d__14.MoveNext",
      "level": 8,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw",
      "level": 9,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess",
      "level": 10,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification",
      "level": 11,
      "line": 0
    },
    {
      "assembly": "Azure.Security.KeyVault.Keys, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=92742159e12e44c8",
      "method": "Azure.Security.KeyVault.Keys.Cryptography.CryptographyClient+<UnwrapKeyAsync>d__21.MoveNext",
      "level": 12,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw",
      "level": 13,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess",
      "level": 14,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification",
      "level": 15,
      "line": 0
    },
    {
      "assembly": "Azure.Security.KeyVault.Keys, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=92742159e12e44c8",
      "method": "Azure.Security.KeyVault.Keys.Cryptography.CryptographyClient+<Azure-Core-Cryptography-IKeyEncryptionKey-UnwrapKeyAsync>d__38.MoveNext",
      "level": 16,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw",
      "level": 17,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess",
      "level": 18,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification",
      "level": 19,
      "line": 0
    },
    {
      "assembly": "Azure.Storage.Blobs, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=92742159e12e44c8",
      "method": "Azure.Storage.Cryptography.ClientSideDecryptor+<GetContentEncryptionKeyAsync>d__6.MoveNext",
      "level": 20,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw",
      "level": 21,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess",
      "level": 22,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification",
      "level": 23,
      "line": 0
    },
    {
      "assembly": "Azure.Storage.Blobs, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=92742159e12e44c8",
      "method": "Azure.Storage.Cryptography.ClientSideDecryptor+<DecryptInternalV1_0>d__5.MoveNext",
      "level": 24,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw",
      "level": 25,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess",
      "level": 26,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification",
      "level": 27,
      "line": 0
    },
    {
      "assembly": "Azure.Storage.Blobs, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=92742159e12e44c8",
      "method": "Azure.Storage.Cryptography.ClientSideDecryptor+<DecryptInternal>d__4.MoveNext",
      "level": 28,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw",
      "level": 29,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess",
      "level": 30,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification",
      "level": 31,
      "line": 0
    },
    {
      "assembly": "Azure.Storage.Blobs, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=92742159e12e44c8",
      "method": "Azure.Storage.Blobs.BlobClientSideDecryptor+<DecryptInternal>d__2.MoveNext",
      "level": 32,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw",
      "level": 33,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess",
      "level": 34,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification",
      "level": 35,
      "line": 0
    },
    {
      "assembly": "Azure.Storage.Blobs, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=92742159e12e44c8",
      "method": "Azure.Storage.Blobs.Specialized.BlobBaseClient+<DownloadStreamingInternal>d__56.MoveNext",
      "level": 36,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw",
      "level": 37,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess",
      "level": 38,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification",
      "level": 39,
      "line": 0
    },
    {
      "assembly": "Azure.Storage.Blobs, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=92742159e12e44c8",
      "method": "Azure.Storage.Blobs.Specialized.BlobBaseClient+<DownloadContentInternal>d__64.MoveNext",
      "level": 40,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw",
      "level": 41,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess",
      "level": 42,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification",
      "level": 43,
      "line": 0
    },
    {
      "assembly": "Azure.Storage.Blobs, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=92742159e12e44c8",
      "method": "Azure.Storage.Blobs.Specialized.BlobBaseClient+<DownloadContentAsync>d__63.MoveNext",
      "level": 44,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw",
      "level": 45,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess",
      "level": 46,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification",
      "level": 47,
      "line": 0
    },
    {
      "assembly": "Azure.Storage.Blobs, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=92742159e12e44c8",
      "method": "Azure.Storage.Blobs.Specialized.BlobBaseClient+<DownloadContentAsync>d__61.MoveNext",
      "level": 48,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw",
      "level": 49,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess",
      "level": 50,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification",
      "level": 51,
      "line": 0
    },
    {
      "assembly": "Azure.Storage.Blobs, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=92742159e12e44c8",
      "method": "Azure.Storage.Blobs.Specialized.BlobBaseClient+<DownloadContentAsync>d__59.MoveNext",
      "level": 52,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw",
      "level": 53,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess",
      "level": 54,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification",
      "level": 55,
      "line": 0
    },
    {
      "assembly": "MyAssembly",
      "method": "REDACTED",
      "level": 0,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw",
      "level": 57,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess",
      "level": 58,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification",
      "level": 59,
      "line": 0
    },
    {
      "assembly": "MyAssembly",
      "method": "REDACTED",
      "level": 0,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw",
      "level": 61,
      "line": 0
    },
    {
      "assembly": "System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
      "method": "System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess",
      "level": 62,
      "line": 0
    },
    {
      "assembly": "MyAssembly",
      "method": "REDACTED",
      "level": 0,
      "line": 0
    }
  ],
  "outerId": "REDACTED",
  "message": "REDACTED (see above)",
  "type": "Azure.RequestFailedException",
  "id": "REDACTED"
}

To Reproduce
The problem occurs when the following blob upload is performed and then 429 Too Many Requests are returned.
using Azure.Storage.Blobs.Specialized;

BlobClient plaintextBlob;
ClientSideEncryptionOptions encryptionOptions;
BlobClient blob = plaintextBlob.WithClientSideEncryptionOptions(encryptionOptions);

BinaryData data;
await blob.UploadAsync(data);

I will provide more information as it becomes available.
Environment:

Name and version of the Library package used: Azure.Security.KeyVault.Keys 4.1.0
Hosting platform or OS and .NET runtime version (dotnet --info output for .NET Core projects): Azure App Service (Windows)
IDE and version : Visual Studio 2019

@schaabs i think the ask is of the Keyvault SDK, could you let me know if i misunderstood. Thanks

Apologies, but this seems to have slipped through the cracks. Are you still having problems? I would expect an HTTP 429 as well, but would need to see how you are initializing your CryptographyClient for use with client-side encryption. Please use fake input for the Key Vault endpoint and other personally-identifiable information.

I guess this problem is still occurring in our production environment, but unfortunately I cannot confirm it right away.
Assuming that this problem continues to occur in our production environment, is there a way to log it that would be useful for debugging? (In a way that does not degrade performance as much as possible)
Also, some time ago, I tried to reproduce this problem by using Fiddler to return a fake 429 response. As a result, there was no anomaly in the web app retries, and Key Vault always responded with 200 to those retries.

We do support event tracing which, on Azure, can be captured via Azure Monitor / App Insights without a noticeable runtime cost. It would provide more information helpful to debug this issue.
See https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/core/Azure.Core/samples/Diagnostics.md#distributed-tracing for more information.

The last time we received a 429 response was January 20, and we still had this problem (400 response) at that time.
Azure Monitor / App Insights
As noted in the stack trace at the top of the issue, we can see that we seem to have received a 400 response containing "Request body not specified". I'm curious to see the full request message that was actually sent to Key Vault, but it's not recorded in Application Insights.
How we are initializing our CryptographyClient
From Startup.cs:
var azureCredential = new DefaultAzureCredential();
var keyClient = new KeyClient(KeyVaultEndpoint, azureCredential);
services.AddSingleton(provider => keyClient);

var keyVaultProxy = new KeyVaultProxy(TimeSpan.FromHours(24));
var options = new CryptographyClientOptions();
options.AddPolicy(keyVaultProxy, HttpPipelinePosition.PerCall);

services.AddSingleton(provider => new BlobServiceClient(StorageConnectionString));

I see that you're creating a CryptographyClientOptions but not how you're adding it. I would also not use the KeyVaultProxy sample in this case, nor is it really necessary: as long as you have the "keys/get" permission the CryptographyClient already downloads and caches the public key for public key operations. The KeyVaultProxy is redundant and could possibly be a cause (this was only a sample I wrote and not official supported).

I see that you're creating a CryptographyClientOptions but not how you're adding it.

You're right... I've edited the comment and added the code.
I now understand that KeyVaultProxy is simply redundant if you reuse the CryptographyClient instance properly (I had a feeling that was the case, but had not confirmed it.) I will try to see if the behavior improves when I remove it. (probably in a few weeks).


Remove debugging code that prints to STDOUT

It prints "method" whenever the gem is required.

@danseedo I've updated here, do you want to pull the latest on the dsd-web repo?

@danseedo I just realized - you will need to bump the version in this repo if you want to be able to a bundle update on dsd-web and pull the latest. Sorry I closed the PR too soon.


implicit namespace packages are missing in subpackages template variable

The sub package filter in the create_package_file function also removes implicit namespace packages (i.e., https://github.com/goerz/better-apidoc/blob/e1e4c59f709bb2f5d0b2a8f2515f9ad4e63a0bf2/better_apidoc.py#L453).
The issue is apparently already fixed in the upstream apidoc tool which performs the filtering using shall_skip (see https://github.com/sphinx-doc/sphinx/blob/b135e7ce4a919f73c04e376a14ce597b0f160cac/sphinx/ext/apidoc.py#L128-L129). Could you adopt this change into better-apidoc?
Furthermore, given that other changes like, for example, exclude support for shall_skip have been added upstream, I wonder if you plan to rebase better-apidoc on a more recent version of sphinx-apidoc in general.

Yes, I am planning to rebase on the latest version at some point, but I don't know yet when I'll get around to it.


Add F# icons

Add F# icons. Used nf-dev-fsharp icon for .fs, .fsx and .fsi extensions.
TODO

[x] Use cargo fmt
[ ] Add necessary tests
[ ] Add changelog entry

Codecov Report

Merging #513 (57dc747) into master (70ec1d6) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master     #513   +/-   ##
=======================================
  Coverage   88.48%   88.49%
=======================================
  Files          36       36
  Lines        3535     3538    +3
=======================================
+ Hits         3128     3131    +3
  Misses        407      407

Impacted Files
Coverage Δ

src/icon.rs
97.64% <100.00%> (+0.02%)
:arrow_up:

Continue to review full report at Codecov.

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

Thanks for the PR.


Adding JWT verifier.

Still missing:

Caching of the already checked JWTs (although it could be done at an upper layer).
Caching of the jwks_uri to avoid 2 roundtrips for each verification.

Fixed:

grpc_httpcli_context vs. grpc_pollset_set in credentials.c. @ctiller please check...

Maybe @nicolasnoble can have a look as well.

Please hold off on merging this one until we get the ASAN problems sorted

LGTM. Looks like it needs to be updated, but will merge when that's green.

Fixes #2334

Jenkins is green.


Setup Travis, add python style checker and fix style errors. Closes #88

@hackupc/dev I suggest y'all set up the max chars per line config to 79 to follow the PEP 8 style rules.
In PyCharm it's at Preferences > Editor > Code Style > Right margin (columns): 79.
Also I'd activate inspections for warnings when violating PEP 8 coding rules (if not already) at:
Preferences > Editor > Inspections > PEP 8 coding style violation and PEP 8 naming convention violations.
I've fixed a couple hundreds of style errors that were in the project (because I'm nice 😇 but won't do it twice). From now on, please pay attention to your IDE/editor's warnings ⚠ and run pep8 */*.py --exclude="*/migrations,app/settings.py" (pip install -r requirements to install pep8) before pushing anything or just let Travis run it for you and fail ❌.
Will test that Travis works correctly once @casassg enables it for the repo.
Lastly, I'm not sure where to put the command in the README, so if someone can add it to the right place I'd be forever grateful.

@wailingtam added Travis to README and triggered first build

Increase size for lines also. I like more following Django coding style for this instead of PEP8. They allow 119 characters as this is the width of GitHub code review.
https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/coding-style/

Sad, PEP8 is the go-to python style guide but I understand ☹
LGTM but can't approve my own PR

I know its the go-to python style, but the char limit makes no sense to me. I rather follow the django coding style because its also a Github maintained project and its the base for our backend.


Add -fsanitize=precise-leak option in clang frontend

It should be possible to add pass using clang frontend, just like LLVM's sanitizers.
./clang/lib/CodeGen/BackendUtil.cpp shows how frontend add passes into the optimization pipeline.
Figure out how clang frontend deals with compiler options, and add pass based on the option.
There are already structures for managing compiler options for sanitizers, so you need to keep that in mind.

Closing this issue because it is going to be done with issue #18


Hot fix remembers selected group #46

This fix was missing

I guess that doesn't always work - e.g. if the new list doesn't contain the old value... The only save thing would to remember the current group and check if its still in the list after the update.

The line "selectRow(0);" reset the select group to All (I'm using the classic look & feel). So when you edit a note, starting with a select group, you save it (now with the Ctrl-S (cool !)), then select group is reset to All, so you have to return to your last selection manually).

Yes, I know. But unfortunately, I don't think your approach works in all possible cases.

You are right, if I move the note to another group, and the current group contains no more notes, it is removed from the list. In that case we have to select "All".

Could you please have a look at my pull-request #49?

Your pull request #49 is working. Thanks


make the Defendant's birthdate an optional question

Should the plantiff's birthday be optional as well?

Should the plantiff's birthday be optional as well?

No


added instagram button on header

Signed-off-by: Vinay Kushwaha<EMAIL_ADDRESS>Contributes to #365
What did you do?

Added the Instragam icon on the header
Linked the Icon to the 5/5 Instagram page feed

Why did you do it?
for fixing the issue as given
How have you tested it?

local build
checked on different screen sizes

Were docs updated if needed?

[ ] No
[ ] Yes
[x] N/A

Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[x] My changes generate no new console logs
[x] Fixes entire issue
[ ] Partial fix for issue

@GeraldMit made the required changes

[x] moved the Instagram icon with other icons on the right in the header bar ( next to FifveFifthsVoter logo and language selection)

@iamvinayvk Thanks for the help here!
@GeraldMit what do you think here? I like it on the header bar. There is some extra styling required because its a link on the header bar which I guess is not expected. If we end up adding more social links, maybe we can look at moving everything to a footer.


[FIX] :  missing import for  parseAuthHeader in server/utils/vectorDbProviders/chroma/index.js

Pull Request Type

[ ] ✨ feat
[x] 🐛 fix
[ ] ♻ refactor
[ ] 💄 style
[ ] 🔨 chore
[ ] 📝 docs

Relevant Issues

Resolves an error when Chroma is set up with an API key.

What is in this change?
Imports parseAuthHeader in server/utils/vectorDbProviders/chroma/index.js
so that Chroma.connect would no longer throw an error.
https://github.com/Mintplex-Labs/anything-llm/blob/fde905aac1812b84066ff72e5f2f90b56d4c3a59/server/utils/vectorDbProviders/chroma/index.js#L17-L29
Additional Information
Add any other context about the Pull Request here that was not captured above.
Developer Validations

[x] I ran yarn lint from the root of the repo & committed changes
[ ] Relevant documentation has been updated
[x] I have tested my code functionality
[x] Docker build succeeds locally

😮💨 Thank you @gabrielkoo . Ping in Discord for a contributor badge! Im in there under the same name


Mention that cookies are required

I went to tryhaskell.org and got an unworking page. I keep cookies disabled as a general rule. When I enabled them for tryhaskell.org, voila, it worked.
You may want to:

add a note mentioning cookies are required or
show a message when cookies are disabled.

One is easier than the other, of course.

Closed by #26.


Move active and selected logic up to notebook

Fixes #104.

This looks great. I want to just test it briefly before merging. I really like how the code base is cleaning up and simplifying with these changes!

Thanks!


StackNavigatorConfig.mode. card not work for android

the version is 1.0.0-beta.6.
and I work on react-native 0.41.2 and react 15.4.0

@MarsArbiter  it seems that you must set headerMode  to  'float' :  headerMode: 'float',

Hi! In an effort to reduce the number of open issues I'm closing issues that haven't had any activity in a while.
If you think this should be re-opened please let me know or, if you can, re-open it.
If this is a question please consider asking it on StackOverflow (react-navigation)
Thanks!

same issue here.
version: 1.0.0-beta.27
react-native version: 0.52.1
react version: 16.2.0


Better urls

Route names instead of urls. Open questions: what happens if error is thrown mid transition?

Error/
Attempted to handle event `reloadRecord` on <client-portal@model:session::ember360:current> while in state root.loaded.updated.invalid. Called with function (t){h(e,t)}.

SecurityError/
SecurityError: DOM Exception 18

ReferenceError /events/2/purchase -> Reference Error: Event (/events/2/purchase)

TypeError/
Cannot read property 'start' of null


High numbers of 'couldn't calibrate' and 'no alignment' reads.

Hi,
I'm using nanopolish variants on sequenced small amplicons (~150-250BP). In general the resulting genotype calls match a lot of our expectations, but we've noticed we're losing quite a few reads (on average ~50%), to "couldn't calibrate" and "no alignment". I saw in another issue that "couldn't calibrate" errors may stem from short reads, but not sure if you have any suggestions for a work around as we really are limited to short reads in this application. Second, its strange to see many "no alignment" calls when we are providing an aligned bam file alongside indexed fastq + raw fast5. So in theory the only reads used for variant calling should be ones that mapped to the genome. Any advice on these issues is greatly appreciated!
Best,
Jordan

Hi Jordan,
The "no alignment" message refers to the internal signal-to-read alignment nanopolish computes to anchor the signal data. If this alignment fails QC, the read will be discarded with the "no alignment" message.
I haven't tried to optimize these thresholds for very short reads but if you're keen to try the relevant thresholds are here:
https://github.com/jts/nanopolish/blob/master/src/nanopolish_raw_loader.cpp#L369
https://github.com/jts/nanopolish/blob/master/src/nanopolish_squiggle_read.cpp#L405
Keep an eye on the genotype accuracy though to make sure loosening these thresholds isn't detrimental to the downstream application.
Jared

Hi Jared,
Thanks for the quick reply! I'll take a look at those and potentially try tweaking them.
Best,
Jordan


Error on Startup

UnicodeDecodeError: 'ascii' codec can't decode byte 0x9c in position 1: ordinal not in range(128)
2016-08-08 14:58:06,320 [sentry.errors.uncaught] [ERROR] [u'IndexError: list index out of range', u'  File "pokecli.py", line 503, in ', u'  File "pokecli.py", line 89, in main', u'  File "pokemongo_bot/init.py", line 427, in tick', u'  File "pokemongo_bot/init.py", line 439, in get_meta_cell', u'  File "pokemongo_bot/init.py", line 529, in find_close_cells', u'  File "pokemongo_bot/init.py", line 1061, in get_map_objects', u'  File "pgoapi/pgoapi.py", line 122, in function', u'  File "pokemongo_bot/api_wrapper.py", line 106, in call', u'  File "pokemongo_bot/api_wrapper.py", line 63, in _call', u'  File "pgoapi/pgoapi.py", line 220, in call', u'  File "pgoapi/rpc_api.py", line 129, in request', u'  File "pgoapi/rpc_api.py", line 359, in _parse_main_response', u'  File "pgoapi/rpc_api.py", line 376, in _parse_sub_responses']

#3122


Tidied up and re-organized documentation a bit

@vokal/ios-developers just some README cleanup. I moved some things around, improved headers, and tweaked some wording.

LGTM

LGTM


New version GitForge: 0.1.1

Registering: GitForge
Repository: https://github.com/christopher-dG/GitForge.jl
Version: v0.1.1
Commit: cd562e958f66afbbad6f8ca29c8feb0f872f750d
Proposed by: @christopher-dG
Reviewed by: @christopher-dG
Reference: https://github.com/christopher-dG/GitForge.jl/commit/cd562e958f66afbbad6f8ca29c8feb0f872f750d#commitcomment-33459366

Whats wrong with CI?

TagBot tag


Fix openssh_sftp_client::fs::Dir::read_dir

Fixed #62

Fix doc of WriteEnd::send_readdir_request
Add new dep futures-core v0.3.28
Refactor: Extract new fn WriteEndWithCachedId::cancel_if_task_failed_inner
Bump tokio-util v0.7.0 => v0.7.8
Add pin-project v1.0.10 to openssh-sftp-client
Optimize use of tokio::select!: make them biased
There is no need for randomisation.
Add new dev-dep futures-util v0.3.28
Fix Dir::read_dir: Issue multiple send_readdir_request requests until eof
ReadDir now implements Stream and FusedStream and has a similar interface to
tokio::fs::ReadDir
Fix run_tests.sh: Allow passing -- --nocapture for cargo-test

Signed-off-by: Jiahao XU<EMAIL_ADDRESS>

Thanks a lot. It fixes the bug completely. And just like #63, if fs::{Dir, ReadDir} can provide an additional API that removes lifetime, it will be better.

Thanks a lot. It fixes the bug completely. And just like #63, if fs::{Dir, ReadDir} can provide an additional API that removes lifetime, it will be better.

Thanks, I will merge this PR and then do #63.
I will remove every lifetime referring to Sftp.


Implement subscriber and agent POST routes

To run:
docker-compose up
Test create agent functionality:
POST  { 	"name": "hello", 	"password": "world" } to localhost:8000/agents
View database:
navigate to http://localhost:8080 (the db admin page) and log in
System: PostgreSQL
Server: postgres
Username: sawtooth
Password: sawtooth
Database: simple-supply
View the agents and blocks tables to see the resources
To run unit tests, run from host machine:
./bin/run-tests

The "Update lint" commit looks like it does stuff other than update lint. It should at least have a commit description.


Old data is not removed on swipe refresh success

On swipe refresh new data is saved.(Updated)
Expected: On swipe refresh success complete concerned table must be cleared before saving new data. So that this will ensure that data deleted on the server never stays locally.

Which deleted data was not cleared. The DB uses update on conflict

For example suppose an event is deleted on server. So swipe refresh can't remove it. As it just updates the data got from server. The deleted data will always stay in local database as it is.


Add support for drag & drop

Leanback doesn't support this out of the box as well: https://developer.android.com/reference/androidx/recyclerview/widget/ItemTouchHelper

This feature will help us alot :D


Does reply_to_message parameter work?

Does reply_to_message parameter work? Doesn't for me. Do you have any example?
Thanks

Did you mean reply_to_message_id? Yes, it does. Could you show your code?

@atipugin I can't understand what is reply_to_message_id
I see only reply_to_message here https://core.telegram.org/bots/api#message
1 Here is my code:
msg = 'set new status'
statuses =
    Telegram::Bot::Types::ReplyKeyboardMarkup
        .new(keyboard: [%w(Yes No)], one_time_keyboard: true, resize_keyboard: true)

bot.api.send_message(chat_id: message.chat.id, text: msg, reply_markup: statuses, reply_to_message: message)

2 Here is the message in telegram:
![telegam]
(http://i.imgur.com/S1ahNlQ.png)
3 And here is a part of a replay message.  reply_to_message is empty
![replay]
(http://i.imgur.com/fMQc6Vu.png)
What am I doing wrong?

You have to take a look at sendMessage method.
Use following code:
bot.api.send_message(chat_id: message.chat.id, text: msg, reply_markup: statuses, reply_to_message_id: message.id)


Active Border above 0.16 causes flicker

Hello!! I have a 1080p OBS canvas, I use a 4K monitor scaled down. Everything working great, with this one caveat mentioned in the title.
Here are my Transform settings and here are my script settings below.

There's no flicker when active border is set at 0.16 and lower. Also, when set above 0.16, there is no flicker if we are at a screen edge.
If there's anything else I can provide, I will be happy to.

I think I've corrected it in https://github.com/tryptech/obs-zoom-and-follow/commit/68e1aef99cb2d55a60324e1ea9d48f92815f8949
If you could test and confirm


Error with MouseOut events on chat boxes when using the pf2e system

Every time the cursor moves out of a chat box an error appears on the console log.

Fixed in v1.3.0, please reopen if it happens again!


Issue/37 add logging

Pull Request
Description
add logging
Fixes #37
How Has This Been Tested?
unittests

[ ] No
[ ] Yes

Checklist:

[ ] My code follows OCF's coding style guidelines
[ ] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have checked my code and corrected any misspellings

Codecov Report

Merging #38 (9f532a1) into main (5accbaf) will decrease coverage by 1.86%.
The diff coverage is 70.00%.

:exclamation: Current head 9f532a1 differs from pull request most recent head 94879da. Consider uploading reports for the commit 94879da to get more accurate results

@@            Coverage Diff             @@
##             main      #38      +/-   ##
==========================================
- Coverage   95.20%   93.33%   -1.87%
==========================================
  Files           3        3
  Lines         125      135      +10
==========================================
+ Hits          119      126       +7
- Misses          6        9       +3

Impacted Files
Coverage Δ

src/main.py
90.62% <70.00%> (-2.40%)
: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 5accbaf...94879da. Read the comment docs.


update eternalDerived file

From<EMAIL_ADDRESS>on October 20, 2009 15:16:55
length doesn't have associated metadata (PATO_0000122).
Check that the externalDerived file is updated.
Original issue: http://code.google.com/p/information-artifact-ontology/issues/detail?id=62

From<EMAIL_ADDRESS>on November 04, 2009 11:49:01
done rev 282
Status: Done


add ujson as an extras_require

@barrywhart Is this what you were referring to with the extras_require?

Yes, exactly! I wouldn't have included so much detail when I mentioned it if I realized fastavro was already using the same technique for snappy compression.

:shipit:


Flag for Country Sint Maarten (Sx) not showing in list

Should be fixed with PR from @tejasna in commit https://github.com/joielechong/CountryCodePicker/commit/70740489f25758046a7dbab091dffefd4ddc44d8


VnV Plan 5.1.2: Test 1 formula formatting

Here latex is treating I and F as two different variables instead of one (it's showing I times F) as $I F$. Use mbox to remove the space so it shows as $\mbox{IF}$ (which is \mbox{IF} ).

Wow! It looks great after using \mbox. Thank you, Lesley! :)


Resource macos_userdefaults: causing Chef Automate server error

Description
The use of the macos_userdefaults resource is causing failures on the server side when Chef::DataCollector attempts to upload the node object after a successful converge.
This issue is specific to the resource after it was modified to utilize CoreFoundations in #11898 by @rishichawda.
I realize that this is potentially an issue on the Automate side, and I previously opened up this issue on Automate's side before I knew the source of the error. I opened that issue a few months ago and have yet to receive a response. I would really appreciate it if your internal team could reach out to the automate team and try to diagnose the issue, or maybe this is something that can be fixed via modifications to the resource.
Chef Version
This is specific to Chef >= 17.7.22
Platform Version
MacOS Monterey
Replication Case
Use the macos_userdefaults resource
Client Output
[2022-07-06T15:13:04-07:00] WARN: Server returned error 500 for https://oe-chef-7x6i.managedautomate.io/organizations/core/data-collector, retrying 1/5 in 3s
[2022-07-06T15:13:07-07:00] WARN: Server returned error 500 for https://oe-chef-7x6i.managedautomate.io/organizations/core/data-collector, retrying 2/5 in 7s
[2022-07-06T15:13:15-07:00] WARN: Server returned error 500 for https://oe-chef-7x6i.managedautomate.io/organizations/core/data-collector, retrying 3/5 in 10s
[2022-07-06T15:13:26-07:00] WARN: Server returned error 500 for https://oe-chef-7x6i.managedautomate.io/organizations/core/data-collector, retrying 4/5 in 27s
[2022-07-06T15:13:53-07:00] WARN: Server returned error 500 for https://oe-chef-7x6i.managedautomate.io/organizations/core/data-collector, retrying 5/5 in 63s
[2022-07-06T15:14:57-07:00] WARN: Error while reporting run start to Data Collector. URL: https://oe-chef-7x6i.managedautomate.io/organizations/core/data-collector Exception: 500 -- 500 "Internal Server Error"

Stacktrace
I was able to retrieve the response body of the API call:
rpc error: code = Internal desc = Unable to transform Run message to ChefClientRun: json: cannot unmarshal bool into Go struct field Deprecation.deprecations.message of type string

After looking into this a little more, I realized that the error is specifically caused by using the deprecated resource property type. Removing the use of this property solves the issue.


vendor: update grpc to v1.0.2

It includes some minor fixes. Also, it makes possible to use
DialContext.
Also, this commit removes packages which contain only LICENSE file - it's new
feature in vndr.

Current coverage is 55.30% (diff: 0.00%)

Merging #1627 into master will increase coverage by 0.12%

@@             master      #1627   diff @@
==========================================
  Files            91         91
  Lines         15030      15038     +8
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           8294       8317    +23
+ Misses         5646       5635    -11
+ Partials       1090       1086     -4

Powered by Codecov. Last update 0fc87cd...985d419

@aluzzardi Added panic, PTAL


[Feature][Transform V2] expose configurable options in FilterFieldTransform

Purpose of this pull request
https://github.com/apache/incubator-seatunnel/issues/3337
expose configurable options in FilterFieldTransform
Check list

[ ] Code changed are covered with tests, or it does not need tests for reason:
[ ] If any new Jar binary package adding in your PR, please add License Notice according
New License Guide
[ ] If necessary, please update the documentation to describe the new feature. https://github.com/apache/incubator-seatunnel/tree/dev/docs
[ ] If you are contributing the connector code, please check that the following files are updated:

Update change log that in connector document. For more details you can refer to connector-v2
Update plugin-mapping.properties and add new connector information in it
Update the pom file of seatunnel-dist

@hailin0 @Hisoka-X PTAL


Add --tls-ca-bundle option to ilab data generate

See https://github.com/instructlab/sdg/pull/106

Put PR up to add that support but I believe it has a dependency to actually be effective on the sdg commit in the requirements.txt file needing to be bumped!
https://github.com/instructlab/instructlab/pull/1649

Put PR up to add that support but I believe it has a dependency to actually be effective on the sdg commit in the requirements.txt file needing to be bumped! #1649

Oh, awesome. Yeah, it'll need instructlab-sdg>=0.1.1

@relyt0925 and I discussed the feature request in PR #1639. At first I was confused, because the requirement and desired outcome was unclear to me. For me, the option name implied that it should modify all TLS/HTTPS connections. However it should only change how OpenAI client connects to an OpenAI compatible server. After some discussion, we came up with this user story:

As an InstructLab user, I want to use an internal OpenAI server endpoint for ilab data generate and ilab model chat. The internal OpenAI uses HTTPS with a private root CA certificate. I need an way to tell InstructLab that it can trust my private CA for communication with my OpenAI server.

To make the behavior of the options more clear, I'm suggesting to name them --endpoint-ca-cert, --endpoint-cert-file, and so on. This makes it obvious that they belong to --endpoint-url. It's too bad that click does not have option groups like argparse. We could look into https://pypi.org/project/click-option-group/ or https://pypi.org/project/cloup/, but that's a feature request for another time.
I also see change to use this feature request to simplify the API of generate_data. Instead of passing 7 arguments, let's just pass a openai.OpenAI client object.

@russellb is this still relevant or can it be closed?

@russellb @nathan-weinberg I believe this is still relevant unless I'm missing something?

@russellb @nathan-weinberg I believe this is still relevant unless I'm missing something?
It hasn't been patched in the upstream code base yet cc @tiran

sorry I thought this had gone in a different direction. I'll reopen it for you.


Create an async path for ExecuteReaderAsync

With sqlite3_step_blocking now in use, we should create a better async path for executereader.
See NativeMethods.cs:277

I don't think this is relevant anymore since we couldn't use Thread.Sleep().


Add Arabic calendars

Greg suggested we add the jalali (Arabic) and hijri (Persian) calendars. He suggests the following calendar and month tags:
JALALI - FARVA, ORDIB, KHORD, TIR, MORDA, SHAHR, MEHR, ABAN, AZAR, DEY, BAHMA, ESFAN
HIJRI - MUHAR, SAFAR, RABIA, RABIT, JUMAA, JUMAT, RAJAB, SHAAB, RAMAD, SHAWW, DHUAQ, DHUAH
(see https://groups.google.com/g/gedcomgeneral/c/WcRBnr7XFpg for the original suggestion)

It would be great to see additional standard calendars supported although the above proposal needs some further discussion.
For example:

jalali (Arabic) and hijri (Persian) calendars

is quite confusing.
As far as I understand, the Jalali calendar was adoped by Iran, and is commonly referred to as the Persian / Iranian Hijri / Shamsi Hijri calendar too. More precisely, it is an astronomical solar Hijri calendar and uses the first set of month names given.  The other set of month names are used with various forms of lunar Hijri calendar (not the Persian calendar).
It would be beneficial to define an abstract set of lunar Hijri and solar Hijri months which can then be used in various real world calendars with precise calendar names as associated enumerations (e.g. Persian, Islamic, Umm al-Qura calendars).  These enumerations must precisely define the calendar rules so that receiving systems can do calculatations with the dates.
A suitable epoch marker would also need to be defined for both calendars to allow for proleptic dates before Hijra.  An epoch name of BH would be a sensible choice.

For reference, the month tags along with the transliterated and original forms.

Gramps currently has: Gregorian, Julian, Hebrew. French Republican. Persian, Islamic, Swedish (only valid for 12 years) calendars.

What other calendars are being considered?

Thus far, the GEDCOM steering committee has not scheduled the addition of any specific calendars, but I think in principle we're open to adding as many as we can come to consensus on the definition of. In addition to those already mentioned in this thread, we've had preliminary conversations about several Tibetan and Hindu calendars because of their multiple day numbering systems (Tibetan khyim, tshes, nyin, and gza'; Hindu divasa and tithi). So far all of those conversations have focused on "can we represent them eventually," not "let's plan to add them soon".
We know that calendars are easy to get wrong and hard to fix once they've been incorrectly characterized in a standard. We'd welcome you adding details about your implementation of the calendars already discussed in this issue to this issue and opening new issues for other calendars.

As an unlikely-to-be-added outlier calendar, could you add a Quaker calendar to the list?
It is a variant of the Gregorian/Julian mess. But with some tweaks for the aversion to pagan eponyms.  (So, the date 14 vii 1720 O.S. means 14th day, 8th month of 120 Old Style. And the 8th month would've been October in that variation of the Julian calendar since the year started in February.)


Relativize include paths / Auto rename include controllers

angely.pro (Bug 58184):
First enhancement: relativize include paths

Since https://github.com/apache/jmeter/issues/2014, include files are allowed to be found relative.
Now, it would be even better if JMeter could determine relative paths of the included files (between the path of the current JMX file and the base dir).
This is typically useful when a team works on some scenarios through a Git repository because the paths are different from one computer to the other.

Second enhancement: auto rename include controller with the JMX filename.
It can be an important time saving in case of many include controllers. Besides, that would allow to easily distinguish them.
Please find attached three patches, one for each enhancement. The third one is the merge of the two features. The first patch requires Java 7 to work because of java.nio.file.Path#relativize(Path).
Created attachment patches_20150728.zip: Patches: relativize include paths, auto rename include controllers, merge of the two features
Votes in Bugzilla: 1
OS: All
Duplicated by:

https://github.com/apache/jmeter/issues/3652

I'm commenting just to say I'm the author of this issue (years later) and to keep track.


Loaded Crossbow Textures Uses Standby Texture

I'm not sure if this is a duplicate of #65 or #81, but I'm trying to create a custom item texture for the crossbow and while everything else works, when the crossbow is loaded with the arrow it shows the standby texture, and when the crossbow is loaded with fireworks it shows the arrow texture. Any idea as to what the issue is or a workaround?
type=item
items=minecraft:crossbow
texture.crossbow=tactical_standby
texture.crossbow_arrow=tactical_arrow
texture.crossbow_firework=tactical_firework
texture.crossbow_pulling_0=tactical_pulling_0
texture.crossbow_pulling_1=tactical_pulling_1
texture.crossbow_pulling_2=tactical_pulling_2
nbt.display.Name=test

Duplicate of #81


Series report cards

https://app.clickup.com/t/2dvj5fv

This adds series report cards to sprocket core, updates the frontend and fixes scrims and series to use mvpr when gpi is 0


Create windows-containers

Identify events as entities in a windows docker environment
Relevant information
We have instrumented the infrastructure agent with docker OHI on some Windows services. Events are in New Relic, we need a way to identify them as entities so that we can pull them into a workload.
Checklist

[x ] I've read the guidelines and understand the acceptance criteria.
[ x] The value of the attribute marked as identifier will be unique and valid.
[x ] I've confirmed that my entity type wasn't already defined. If it is I'm providing an
explanation above.

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

Hi @iychan ,
We appreciate you taking the time to propose a new entity definition. After reviewing this PR, we cannot accept this definition because these new synthesis rules would be applied to all the users sending the same telemetry. If the situation changes, we will revisit this decision.
If you have any further questions or comments about this, please let us know by replying to this issue.


Make Readme -> home page conversion robust

Fixes rendering issue in docs site:

Codecov Report

Merging #69 (fa56b39) into master (575b74a) will decrease coverage by 6.92%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #69      +/-   ##
==========================================
- Coverage   44.00%   37.07%   -6.93%
==========================================
  Files           4        4
  Lines         100       89      -11
==========================================
- Hits           44       33      -11
  Misses         56       56

Impacted Files
Coverage Δ

src/conversions.jl
75.00% <0.00%> (-6.49%)
:arrow_down:

src/data.jl
57.14% <0.00%> (-5.36%)
:arrow_down:

src/projections.jl
21.31% <0.00%> (-3.69%)
: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 575b74a...7015029. Read the comment docs.

The docs are pretty outdated I think, so they likely need a complete make over 😓

Makes sense, discovered that too late, but let me know when the GeoMakie api update / refactor is firming up and I'm happy to take a look at updating the docs :)


Fix for bad characters showing in the stash status in OS X

This fixes Issue #85

Thanks, @matthillman. Confirmed this fixed issue for me. Minor style suggestion: could you surround all params on this line with braces?
eg:
printf $PRINT_F_OPTION "${number_stashes}${COLOR_STASH}≡${RESET_COLOR_STASH}"

Good idea, that makes the intent of that line much clearer.

:+1: Looks good, merging!


How to get Host name and Block them without using self signed certificates

I want to know how can I put decryptSsl to false and still in the OnBeforeRequest Event Handler simply drop the request or might corrupt. I don't need to read the data. It feels as if the OnBeforeRequest is not even triggered when I set decryptSsl to false.. Can u guide me in this regard?
Thanks

We cannot do that. SSL encryption is done at TCP level for the whole HTTP request, including url, headers and body. So, when decryptSsl is false, we cannot even parse the request or response. So it would not fire the request/resonse handlers. An eavesdropper would only able see the source and destination IP address and ports of the request, nothing more.

Isn't the destination IP equivalent to the Host name which I am demanding? If so do we have any provision to filter or process the request (by process I mean to corrupt, not read) that out?

A host can have multiple IP addresses. You may be able to find the host using a reverse lookup.
You may be able to see the hostname even when SSL decryption is disabled when using Transparent end point by parsing the SSL tunnel request from browser, use TunnelConnectRequest

You can also deny SSL connection when using explicit end point, using DenyConnect property during TunnelConnect. Something like below. Remember this is only possible when using ExplicitEndPoint, which I assume you are indeed using. In transparent end point there won't be a connect request.
 private async Task ProxyServer_BeforeTunnelConnectRequest(object sender, TunnelConnectSessionEventArgs e)
        {
            string hostname = e.HttpClient.Request.RequestUri.Host;
            if (hostname.EndsWith("webex.com"))
            {
                e.DenyConnect = true;
            }

        }


5.0.0-alpha.21 - "styled" Button/IconButton is breaking implementations from prior version

When upgrading to the latest build, I noticed that a lot of the button styles are broken when using styled-engine (styled) to create custom button styles.

[X] The issue is present in the latest release.
[X] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯
After looking into the issue, I noticed that ButtonBase now includes some reset styling: eg, padding: 0, margin: 0, border: 0, etc.
// @material-ui/core/ButtonBase/ButtonBase.js

export const ButtonBaseRoot = experimentalStyled('button', {}, {
  name: 'MuiButtonBase',
  slot: 'Root',
  overridesResolver
})({
  display: 'inline-flex',
  alignItems: 'center',
  justifyContent: 'center',
  position: 'relative',
  boxSizing: 'border-box',
  WebkitTapHighlightColor: 'transparent',
  backgroundColor: 'transparent',
  // Reset default value
  // We disable the focus ring for mouse, touch and keyboard users.
  outline: 0,
  border: 0,
  margin: 0,
  // Remove the margin in Safari
  borderRadius: 0,
  padding: 0,
  // Remove the padding in Firefox
  cursor: 'pointer',
  userSelect: 'none',
  verticalAlign: 'middle',
  MozAppearance: 'none',
  // Reset
  WebkitAppearance: 'none',
  // Reset
  textDecoration: 'none',
  // So we take precedent over the style of a native <a /> element.
  color: 'inherit',
  '&::-moz-focus-inner': {
    borderStyle: 'none' // Remove Firefox dotted outline.

  },
  '&.Mui-disabled': {
    pointerEvents: 'none',
    // Disable link interactions
    cursor: 'default'
  },
  '@media print': {
    colorAdjust: 'exact'
  }
});

Expected Behavior 🤔
It seems that switching Button (and all applicable components) over to use emotion has caused some major styling bugs for my big project. In my opinion, these properties used to "reset" the button/a element for all browsers do not belong at the component level, but should be injected via CssBaseline. Ideally, any styled (styled-engine) Button / IconButton components should work seamlessly between prior 5.0.0 versions and the current alpha release.
I believe part of this issue may be due to the change that injects some global stylings for the buttons (as mentioned in PRs). It seems to inject those global styles with precedence over any styling applied via styled from styled-engine. Maybe I'm missing something, but I am using the correct StyleProvider from styled-engine with injectFirst set to true.
Steps to Reproduce 🕹
To reproduce, simply create a styled (style-engine) Button using the previous version and the current version. You should see stark differences in padding/margin/border/etc.
Context 🔦
Your Environment 🌎
5.0.0-alpha.21

Duplicate of #24109


Inspektr Audit - Do not report failed authentications like throttling

Hello CAS developers!
This pull request should fix a strange behavior of the Inspektr JDBC throttling adapter that I described in the CAS Community discussion group here: https://groups.google.com/a/apereo.org/forum/#!topic/cas-user/HAvywDMpWKA
The problem was that the adapter did not distinguish between failed login attempts and actual throttling, which typically happens after N failed login attempts. So every failed login was reported as throttling, both in the database and in the log.
After the fix, the Inspektr JDBC adapter now reports failed logins correctly, not as throttled login attempts anymore. A new action "FAILED_LOGIN_ATTEMPT" is written to the database. "THROTTLED_LOGIN_ATTEMPT" is used only for actual throttling.
A possible alternative solution would be not to log any failed authentication to the database at all because the throttling mechanism examines records created by a different component. So, in fact, the method recordSubmissionFailure() is not that useful. It would be enough to use the super-implementation.
To configure and test:

Switch on Inspektr throttling based on a JDBC datasource
Perform a few invalid logins quickly to get throttled
Without the fix: Observe in the logs and in the database audit table that a throttled login attempt is logged each time.
With the fix: Observe in the logs and in the database audit table that a failed login attempt is logged each time, followed by one throttling message.

We discovered this issue in 5.0.4 but it should apply to 5.0.x, 5.1.x and also the code in master.

 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.Jarda Kacer 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.

Already signed the CLA and added another email address to my account, so hopefully the checks will pass...

Circle CI says:  died unexpectedly
I don't know what I can do to solve that...

Don't worry about it. Travis is what we care about, mostly at the time. CircleCI is a bit of an experiment.
Thank you so much.

@jkacer would you mind if I asked you create the same PR for master and/or 5.1? You're welcome to do just one of those and I'll handle the other if that is too much work.

Hi @mmoayyed ! Sure, no problem, I'll create both at work on Monday and let you know here.

Pull request for branch 5.1.x: https://github.com/apereo/cas/pull/2670
PR for master is on the way...

Pull request for branch 'master': https://github.com/apereo/cas/pull/2671

Thank you very much for accepting this PR, Misagh, as well as the two other PRs!

Pleasure! Thank you for doing all the work. I did absolutely nothing :) keep em coming.


⚠ Bofrost.es has degraded performance

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

HTTP code: 200
Response time: 1624 ms

Resolved: Bofrost.es performance has improved in aedf852 after 20 minutes.


Feature Request; Change sound mode

HW-Q990/995/950A/T, the ability to change the sound mode (Standard, Surround, Game, Adaptive)

It's not possible using SmartThings API
https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference
Duplicate of #14


fix: show pdf file on website

Description

This PR changes the PDF file location to assets to use it in the browser and show it, previously the pdf were showing on the local machine but not working on the browser.
What type of PR is this? (check all applicable)

[ ] 🍕 Feature
[ ] 🐛 Bug Fix
[ ] 📝 Documentation Update
[ ] 🎨 Style
[ ] 🧑💻 Code Refactor
[ ] 🔥 Performance Improvements
[ ] ✅ Test
[ ] 🤖 Build
[ ] 🔁 CI
[ ] 📦 Chore (Release)
[ ] ⏩ Revert

Related Tickets & Documents

Fixes #97
Mobile & Desktop Screenshots/Recordings

Added tests?

[ ] 👍 yes
[ ] 🙅 no, because they aren't needed
[ ] 🙋 no, because I need help

Added to documentation?

[ ] 📜 README.md
[ ] 📓 docs.opensauced.pizza
[ ] 🍕 dev.to/opensauced
[ ] 📕 storybook
[ ] 🙅 no documentation needed

[optional] Are there any post-deployment tasks we need to perform?
[optional] What gif best describes this PR or how it makes you feel?

I was expecting it to work... can we check if the file is created in the assets folder?

I was expecting it to work... can we check if the file is created in the assets folder?

You can workflows manually on your fork to confirm. https://www.youtube.com/watch?v=zOswqcXpQ54

@a0m0rajab have you been able to test this?

@BekahHW yes, it worked locally!
sorry for the late reply.

@BekahHW yes, it worked locally! sorry for the late reply.

There's some conflicts that need to be solved on your branch @a0m0rajab

@CBID2 resolved.

@bdougie, this needs review

@a0m0rajab, we merged some new PRs, so can you solve the merge conflicts on your branch?

Hey @a0m0rajab. Are you still working on this?

@a0m0rajab I'm still not able to get this working locally.

@BekahHW How did you run this locally? for me, I just went through the docs and it worked without any further modification.

@a0m0rajab I ran npm ci and npm start.

Since we weren't able to get this consistently working, I removed it from the footer. I'm going to close this issue for now because we're about to merge in a PR that uses an updated version of docusaurus, so it would probably be easier to start over. But feel free to reopen.


css.resolve does not appear to work according to example

Bug report
The css.resolve example in the Next 7 announcement does not appear to pass styles down to child components.
https://nextjs.org/blog/next-7#styled-jsx-v3
What is the current behavior?
Styles to not pass to Child Component as expected
To replicate
npm i -S next react react-dom
Create this file in /pages/index.js
import css from 'styled-jsx/css'

const ChildComponent = ({className}) =>

This text should have a red background

const { className, styles } = css.resolve`p { background-color: red }`

export default () =>

  <ChildComponent className={className} />
  {styles}

Below is a link to test repository.
https://github.com/Sakarisson/styled-jsx-resolve-demo
What is the expected behavior?
I would expect ChildComponent to get the properties defined in the css.resolve statement.
Instead it doesn't get any CSS passed to it.
Environment (include versions)

OS: MacOS High Sierra 10.13.6
Browser: Firefox 62.0, Chrome 69.0.3497.100
styled-jsx (version): 3.0.3-canary.0

Same problem

sorry there is a mistake in the example. className should be set on the p:
import css from 'styled-jsx/css'

const ChildComponent = ({className}) =>

This text should have a red background

const { className, styles } = css.resolve`p { background-color: red }`

export default () =>

  <ChildComponent className={className} />
  {styles}

I'll update the blog post. Thank you for reporting this!


[TACHYON-993] Added openIfExists method

Most people expect open to throw an exception if the path does not
exist, but currently it would returns null, so that people could use it
as an exists method.
Rather than have an exists method, which introduces atomicity
problems (the file could be deleted in between checking for existence
and opening), we added an openIfExists method, which has the same
behavior as the old open method. The new open method will throw an
exception if the path does not exist.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/Tachyon-Pull-Request-Builder/5764/
Test FAILed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/Tachyon-Pull-Request-Builder/5766/
Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/Tachyon-Pull-Request-Builder/5773/
Test PASSed.

Thanks for the change. I think the new behavior is more consistent with the open method of other file systems.

Can you resolve the conflicts?

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/Tachyon-Pull-Request-Builder/5833/
Test FAILed.

Jenkins, test this please

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/Tachyon-Pull-Request-Builder/5834/
Test PASSed.

@manugoyal Looks good to me overall, would it be possible to have the open method be the one in the interface (from a naming perspective it seems to make more sense)? Not sure if there's a good way to saying openOrElseThrowException though.

I'm a bit confused. So you're sayingopen is still the method that throws an exception and openIfExists still returns null? But instead, we would have open in the TachyonFileSystemCore interface, and openIfExists would only be in AbstractTachyonFileSystem?

@manugoyal oh no I mean open would return TachyonFile or null.

I don't know if one is more complex than the other, they both just do different things when the file doesn't exist. Also the default in most Java classes (FileReader, FileChannel, etc), is to throw an exception in the open method if the file doesn't exist, so users might be more accustomed to open throwing an exception. What do you think?

+1 to having open throw an exception. Since we couldn't guarantee the atomic operation, such behavior sounds safer.

@manugoyal Make sense, LGTM.

+1 LGTM


Issue on kafka_consumer plugin

Hi bro,
I clone this project from master on Ubuntu14.04.
I just put kafka plugin in the config file, and output it to influxdb.
It works well but the result is consits of "kafka_" and the data in the topic , like:
cpu_time_guest  (source data )
kafka_cpu_time_guest (generated by telegraf)
and I write "aaa" into kafka , then using telegraf with that topic, this log information clearly indicate that telegraf is analyzing "aaa".
2015/10/12 17:54:53 Error in plugin [kafka] : unable to parse 'aaa': missing fields
Another problem is that telegraf just gather once in kafka, log informations as follows:
2015/10/12 17:08:41 Cranking default (10s) interval, gathered 2900 metrics from 1 plugins in 1.302290095s
2015/10/12 17:08:50 Cranking default (10s) interval, gathered 0 metrics from 1 plugins in 1.075610727s

The final result I want is the status of kafka_consumer as "redis plugin" .

how would you expect telegraf to parse "aaa"? I believe that the kafka consumer plugin needs to be in the line-protocol format

it's also expected that telegraf plugins prepend measurements with the plugin name

I mean, the contents kafka-plugin gathered are not run-time status or performance of consumer on a topic , they are just source data. The function of kafka plugin is not like redis 's.

that is why it's called a kafka_consumer, it consumes kafka data. I suppose a statistics-gathering plugin would just be called kafka
This should be spelled out in a README, see #177

Did I make a mistake? These two do not have same function?
read metrics from a Kafka topic
[kafka]
Read metrics from one or many redis servers
[redis]

I copy them from config-sample.

@pugna0, correct, they don't have the same function. You can submit a PR if you would like to change the wording, and as I said you can also help the project by submitting a README.

I've got it , thank you very much , I'll leave messages for you if I have any ideas.


[Bugfix] Viewer video freeze after remove publisher source

Solved #300

@vincentsong
Viewer Stream video is not freeze after closing/adding the multiple source from publisher.


No Feedback From Game on Loose

When the player looses there is no feedback from the game
Intended behavior:

Return to menu
Loose splash screen offering restart or go to main menu

Hi @GoodyCarlo,
Thank you for bringing this issue to my attention. I'm pleased to inform you that the problem has been resolved in the latest release, version 1.1.0 beta. I appreciate your patience and encourage you to update to the latest version to enjoy the fix.
If you encounter any further issues or have additional feedback, please don't hesitate to let me know.
Best regards,
your mom


CMD opens and closes..

so i installed this, unzipped it, go to launch the cmd and it just closes as soon as it opens.. help

You execute python scripts by running python FILENAME.py within the files root directory. Double clicking the .py file itself will not launch.
Go to your start menu, type "cmd" in the search and run the "Command Prompt" application, type cd "C:\Users\Sleptix\Documents\.....\MSFS-Landing-Inspector" (update this to your actual directory of the mod), and then enter python msfs_landing_inspector.py
This will launch python and pass the msfs_landing_inspector.py file as the first argument, running the script. From there the command prompt will continue to run and you access the app by going to localhost:5000 in your browser.


[reproducer] Add support for installing kustomize

This change installs kustomize binary on the controller type nodes as required by kustomize_deploy role.
As a pull request owner and reviewers, I checked that:

[ ] Appropriate testing is done and actually running
[ ] Appropriate documentation exists and/or is up-to-date:

[ ] README in the role
[ ] Content of the docs/source is reflecting the changes

Error
2024-05-14 21:48:24,938 p=22441 u=zuul n=ansible | TASK [kustomize_deploy : Build kustomized content for examples/dt/uni01alpha/control-plane/nncp chdir={{ _chdir }}, _raw_params=kustomize build] ***
2024-05-14 21:48:24,939 p=22441 u=zuul n=ansible | Tuesday 14 May 2024  21:48:24 -0400 (0:00:00.079)       0:07:54.690 ***********
2024-05-14 21:48:25,261 p=22441 u=zuul n=ansible | fatal: [localhost]: FAILED! => changed=false
  cmd: kustomize build
  msg: '[Errno 2] No such file or directory: b''kustomize'''
  rc: 2
  stderr: ''
  stderr_lines: <omitted>
  stdout: ''
  stdout_lines: <omitted>

Closed in favor of #1699


fix(wasmstan): use Stan's json_data var context

This is a hopefully temporary fix for the WASM-based optimizer which avoids manually creating an array_var_context. Instead the WASM component's API accepts a JSON string containing the data (similar to how cmdstan accepts a JSON file) and reuses the parsing that cmdstan uses, because it was a bit of a nightmare getting the data in the right format.
In future I'd like to revisit this and fix it since the string/JSON API kinda sucks and it's definitely less performant (needing to stringify/parse JSON isn't great), but this at least gets things working again.
Commits:

fix(wasmstan): use JSON var context to pass data
Bump augurs-js to 0.5.4-dev.0

@coderabbitai review


check if debug running in the script?

Hi, is there a simple way to check if a script is/isn't being run in debug mode (similar to preprocessor instructions)?
pseudocode:
#ifdebug
  doThis();
#endif

Sometimes debug output data are expensive to create.  We need a way to test the debug pattern to see if it is enabled before trying to log it:
const hexDebug = newDebug('myapp:hexDump')
if(hexDebug.isEnabled())
    hexDebug(b.printDebug())

It's hexDebug.enabled in @jcalfee's example.


Don't allocate a closure for IO callbacks in IIS in proc

https://github.com/aspnet/AspNetCore/blob/4d57528704d7ec54570f5960b3b9ddca503d5c89/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IO/AsyncIOOperation.cs#L154
While we're at it we should not capture the ExecutionContext. Lets make the switch to UnsafeQueueUserWorkItem as well.
cc @pakrym @jkotalik

@davidfowl Any measurements or guess in how much of a perf gain this would be? What's your take on relative priority of this?

cc @shirhatti since he's interested in this as well.

Priority is low but it can be done trivially so once we properly to the mondo repo, I can send a PR.


Larger matrix lookup table?

Right now we have a lookup table where we store the hash matrix for each byte. We could also store a hash matrix for each byte pair, which might ~double throughput (at best; in practice you'll have a lot more cache misses). The downside is that you'd need to store 2^16 * 2^6 bytes = 2^20 * 2^2 bytes = 4 MiB. This is just small enough to fit in L3, so the cache miss rate might not be so so bad. My guess is that it's worth attempting and benchmarking.
Another downside is that we want to use this library in a web context, and 4MiB is a lot of weight to add to your binary. You could have two different compilation modes, one with the table calculated on startup (or using a smaller table) and one with the table built in, for cases like this.

It turns out it's really hard to get a 4MiB static array to compile properly into a rust executable, since it overflows rustc's stack. I built a version of this idea using lazy_static! and putting everything in a big vector on startup, which does in fact increase throughput by ~75%, to 54MiB/s (which is 1/3 of SHA3-512).
Not sure how slow this makes startup, but since the typical use case of this library is a long-running application that performs a lot of hashes, this may actually be an acceptable tradeoff. I may feature flag it, or maybe just drop it in as a replacement.

Just for fun I'm testing out a version that stores every 3-byte triple. It starts up for about 3 minutes and then panics. Possibly it runs out of memory?

I guess I could even store non-aligned matrices; for example 12-bit chunks, and then iterate over 6-byte parts of the input and split them in half.

Introduced the "hash_high_throughput" function.


Building the project fails

I am trying to build the project. Initially I ran the build.sh and saw a couple of errors in the log output. So I took a look into the build.sh and ran the first commands until I got an error.
npm install runs fine but npm run build fails with two issues that may or may not be related to each other:
fiete@ubu:~/Documents/development/graphhopper-maps-capacitor$ npm run build

><EMAIL_ADDRESS>build
> webpack --config webpack.config.js

assets by status 14.1 KiB [cached] 3 assets
runtime modules 6.75 KiB 9 modules
orphan modules 401 bytes [orphan] 2 modules
cacheable modules 22.1 KiB
  ./src/app.js + 1 modules 2.14 KiB [built] [code generated]
<EMAIL_ADDRESS>17 KiB [built] [code generated]
<EMAIL_ADDRESS>3.03 KiB [built] [code generated]

ERROR in ./src/app.js 45:11-53
Module not found: Error: Can't resolve '../graphhopper-maps/dist/bundle' in '/home/fiete/Documents/development/graphhopper-maps-capacitor/src'
resolve '../graphhopper-maps/dist/bundle' in '/home/fiete/Documents/development/graphhopper-maps-capacitor/src'
  using description file: /home/fiete/Documents/development/graphhopper-maps-capacitor/package.json (relative path: ./src)
    Field 'browser' doesn't contain a valid alias configuration
    using description file: /home/fiete/Documents/development/graphhopper-maps-capacitor/package.json (relative path: ./graphhopper-maps/dist/bundle)
      no extension
        Field 'browser' doesn't contain a valid alias configuration
        /home/fiete/Documents/development/graphhopper-maps-capacitor/graphhopper-maps/dist/bundle doesn't exist
      .js
        Field 'browser' doesn't contain a valid alias configuration
        /home/fiete/Documents/development/graphhopper-maps-capacitor/graphhopper-maps/dist/bundle.js doesn't exist
      .json
        Field 'browser' doesn't contain a valid alias configuration
        /home/fiete/Documents/development/graphhopper-maps-capacitor/graphhopper-maps/dist/bundle.json doesn't exist
      .wasm
        Field 'browser' doesn't contain a valid alias configuration
        /home/fiete/Documents/development/graphhopper-maps-capacitor/graphhopper-maps/dist/bundle.wasm doesn't exist
      as directory
        /home/fiete/Documents/development/graphhopper-maps-capacitor/graphhopper-maps/dist/bundle doesn't exist

ERROR in   Error: Child compilation failed:
  Module not found: Error: Can't resolve '/home/fiete/Documents/development/graphhopper-maps-capacitor/graphhopper-maps/src/index.html' in '/home/fiete/Documents/development/graphhopper-maps-capacitor'
  ModuleNotFoundError: Module not found: Error: Can't resolve '/home/fiete/Documents/development/graphhopper-maps-capacitor/gra  phhopper-maps/src/index.html' in '/home/fiete/Documents/development/graphhopper-maps-capacitor'
      at /home/fiete/Documents/development/graphhopper-maps-capacitor/node_modules/webpack/lib/Compilation.js:2011:28
      at /home/fiete/Documents/development/graphhopper-maps-capacitor/node_modules/webpack/lib/NormalModuleFactory.js:795:13
      at eval (eval at create (/home/fiete/Documents/development/graphhopper-maps-capacitor/node_modules/tapable/lib/HookCodeFa  ctory.js:33:10), <anonymous>:10:1)
      at /home/fiete/Documents/development/graphhopper-maps-capacitor/node_modules/webpack/lib/NormalModuleFactory.js:275:22
      at eval (eval at create (/home/fiete/Documents/development/graphhopper-maps-capacitor/node_modules/tapable/lib/HookCodeFa  ctory.js:33:10), <anonymous>:9:1)
      at /home/fiete/Documents/development/graphhopper-maps-capacitor/node_modules/webpack/lib/NormalModuleFactory.js:431:22
      at /home/fiete/Documents/development/graphhopper-maps-capacitor/node_modules/webpack/lib/NormalModuleFactory.js:128:11
      at /home/fiete/Documents/development/graphhopper-maps-capacitor/node_modules/webpack/lib/NormalModuleFactory.js:667:25
      at /home/fiete/Documents/development/graphhopper-maps-capacitor/node_modules/webpack/lib/NormalModuleFactory.js:852:8
      at /home/fiete/Documents/development/graphhopper-maps-capacitor/node_modules/webpack/lib/NormalModuleFactory.js:972:5

  - Compilation.js:2011
    [graphhopper-maps-capacitor]/[webpack]/lib/Compilation.js:2011:28

  - NormalModuleFactory.js:795
    [graphhopper-maps-capacitor]/[webpack]/lib/NormalModuleFactory.js:795:13

  - NormalModuleFactory.js:275
    [graphhopper-maps-capacitor]/[webpack]/lib/NormalModuleFactory.js:275:22

  - NormalModuleFactory.js:431
    [graphhopper-maps-capacitor]/[webpack]/lib/NormalModuleFactory.js:431:22

  - NormalModuleFactory.js:128
    [graphhopper-maps-capacitor]/[webpack]/lib/NormalModuleFactory.js:128:11

  - NormalModuleFactory.js:667
    [graphhopper-maps-capacitor]/[webpack]/lib/NormalModuleFactory.js:667:25

  - NormalModuleFactory.js:852
    [graphhopper-maps-capacitor]/[webpack]/lib/NormalModuleFactory.js:852:8

  - NormalModuleFactory.js:972
    [graphhopper-maps-capacitor]/[webpack]/lib/NormalModuleFactory.js:972:5

  - child-compiler.js:169
    [graphhopper-maps-capacitor]/[html-webpack-plugin]/lib/child-compiler.js:169:18

  - Compiler.js:559
    [graphhopper-maps-capacitor]/[webpack]/lib/Compiler.js:559:11

  - Compiler.js:1129
    [graphhopper-maps-capacitor]/[webpack]/lib/Compiler.js:1129:17

  - Hook.js:18 Hook.CALL_ASYNC_DELEGATE [as _callAsync]
    [graphhopper-maps-capacitor]/[tapable]/lib/Hook.js:18:14

  - Compiler.js:1125
    [graphhopper-maps-capacitor]/[webpack]/lib/Compiler.js:1125:33

  - Compilation.js:2782 finalCallback
    [graphhopper-maps-capacitor]/[webpack]/lib/Compilation.js:2782:11

  - Compilation.js:3087
    [graphhopper-maps-capacitor]/[webpack]/lib/Compilation.js:3087:11

  - Hook.js:18 Hook.CALL_ASYNC_DELEGATE [as _callAsync]
    [graphhopper-maps-capacitor]/[tapable]/lib/Hook.js:18:14

1 ERROR in child compilations (Use 'stats.children: true' resp. '--stats-children' for more details)
webpack 5.65.0 compiled with 3 errors in 609 ms

There is the Field 'browser' doesn't contain a valid alias configuration error where I did not find an obvious solution for (maybe check this SO thread) and a possible followup error that the index.html cannot be found.

Okay, I get one step further now when changing the entry option in webpack.config.js to entry: path.resolve(__dirname, 'src', 'app.js').
fiete@ubu:~/Documents/development/graphhopper-maps-capacitor$ npm run build

><EMAIL_ADDRESS>build
> webpack --config webpack.config.js

assets by status 10.7 KiB [cached] 3 assets
runtime modules 6.75 KiB 9 modules
orphan modules 401 bytes [orphan] 2 modules
cacheable modules 22.1 KiB
  ./src/app.js + 1 modules 2.14 KiB [built] [code generated]
<EMAIL_ADDRESS>17 KiB [built] [code generated]
<EMAIL_ADDRESS>3.03 KiB [built] [code generated]
  Entrypoint HtmlWebpackPlugin_0-0 =
  runtime modules 440 bytes 3 modules
  cacheable modules 363 bytes
    data:text/javascript,__webpack_public_path__ = __webpack_base_uri__ = htmlWebpackPluginPublicPath; 77 bytes [built] [code generated]
    ./node_modules/html-webpack-plugin/lib/loader.js!./graphhopper-maps/src/index.html 286 bytes [built] [code generated]

  Child HtmlWebpackCompiler compiled successfully

ERROR in ./src/app.js 45:11-53
Module not found: Error: Can't resolve '../graphhopper-maps/dist/bundle' in '/home/fiete/Documents/development/graphhopper-maps-capacitor/src'
resolve '../graphhopper-maps/dist/bundle' in '/home/fiete/Documents/development/graphhopper-maps-capacitor/src'
  using description file: /home/fiete/Documents/development/graphhopper-maps-capacitor/package.json (relative path: ./src)
    Field 'browser' doesn't contain a valid alias configuration
    using description file: /home/fiete/Documents/development/graphhopper-maps-capacitor/package.json (relative path: ./graphhopper-maps/dist/bundle)
      no extension
        Field 'browser' doesn't contain a valid alias configuration
        /home/fiete/Documents/development/graphhopper-maps-capacitor/graphhopper-maps/dist/bundle doesn't exist
      .js
        Field 'browser' doesn't contain a valid alias configuration
        /home/fiete/Documents/development/graphhopper-maps-capacitor/graphhopper-maps/dist/bundle.js doesn't exist
      .json
        Field 'browser' doesn't contain a valid alias configuration
        /home/fiete/Documents/development/graphhopper-maps-capacitor/graphhopper-maps/dist/bundle.json doesn't exist
      .wasm
        Field 'browser' doesn't contain a valid alias configuration
        /home/fiete/Documents/development/graphhopper-maps-capacitor/graphhopper-maps/dist/bundle.wasm doesn't exist
      as directory
        /home/fiete/Documents/development/graphhopper-maps-capacitor/graphhopper-maps/dist/bundle doesn't exist

webpack 5.65.0 compiled with 1 error in 537 ms

The error on line 45 in app.js is a require of ../graphhopper-maps/dist/bundle which fails because the file does not exist:
fiete@ubu:~/Documents/development/graphhopper-maps-capacitor$ tree graphhopper-maps/
graphhopper-maps/
├── config.js
└── src
    └── index.html

1 directory, 2 files

After changing the output path in webpack.config.js to __dirname, 'graphhopper-maps','dist', the build.js is correctly generated in graphhopper-maps/dist.
    output: {
        path: path.resolve(__dirname, 'graphhopper-maps','dist'),
        filename: 'bundle.js',
    },

To be honest I have never worked with capacitor before, so I have quite literally followed the README. Most likely I am missing something, here is my directory structure (I left out the deeper levels of everything but dist, src and graphhopper-maps):
├── android
├── dist
│   ├── 452.bundle.js
│   ├── bundle.js
│   ├── bundle.js.LICENSE.txt
│   └── index.html
├── fastlane
├── graphhopper-maps
│   ├── config.js
│   ├── dist
│   │   ├── 452.bundle.js
│   │   ├── bundle.js
│   │   ├── bundle.js.LICENSE.txt
│   │   └── index.html
│   └── src
│       └── index.html
├── resources
├── src
│   └── app.js
├── build.sh
├── capacitor.config.json
├── config.js
├── LICENSE
├── output
├── output2
├── package.json
├── package-lock.json
├── README.md
└── webpack.config.js

875 directories, 25 files

Okay, I have figured out the issue: A normal git clone does not fetch the graphhopper-maps submodule. I have created a pull request to have this information in the README.


Questions about using Jackson

Just to check my understanding, libraries like Jackson databind are usable if a ReflectionSupplier implementation is provided, correct?
If so, I am running into two problems:

ConcurrentHashMap is undefined (saw open issue/pr) - is there a way of defining an alternate implementation of a class that doesn't exist?
When including a call to ObjectMapper#readValue, I get the following. Any pointers on how to trace where this is being called from would be great. Trying to see if there's anything I can do to prevent it from going down this path as I don't think it should be necessary.

Error optimizing program for method com.sun.nio.zipfs.ZipFileSystemProvider.getFileSystem(Ljava/net/URI;)Ljava/nio/file/FileSystem;:
var @this as this // 0
var @uri as uri // 1
var @zipfs as zipfs // 3
$0
    goto $1
$1
  at 'com/sun/nio/zipfs/ZipFileSystemProvider.java' 163
    nop
    @2 := field com.sun.nio.zipfs.ZipFileSystemProvider.filesystems @this as `Ljava/util/Map;`
    monitorEnter @2
  at unknown location
    @21 := nullCheck @2
    goto $8
$2
    @12 := phi @14 from $7
  at 'com/sun/nio/zipfs/ZipFileSystemProvider.java' 170
    if @12 !== null then goto $3 else goto $4
    catch  goto $5
$3
  at 'com/sun/nio/zipfs/ZipFileSystemProvider.java' 172
    monitorExit @2
  at unknown location
    goto $9
    catch  goto $5
$4
  at 'com/sun/nio/zipfs/ZipFileSystemProvider.java' 171
    @15 := new java.lang.NoClassDefFoundError
    @16 := 'Class not found: java.nio.file.FileSystemNotFoundException'
    invoke `java.lang.NoClassDefFoundError.<init>(Ljava/lang/String;)V` @15, @16
    throw @15
    catch  goto $5
$5
    @4 := exception
  at 'com/sun/nio/zipfs/ZipFileSystemProvider.java' 173
    monitorExit @21
    throw @4
$6
  at 'com/sun/nio/zipfs/ZipFileSystemProvider.java' 166
    nop
    @5 := field com.sun.nio.zipfs.ZipFileSystemProvider.filesystems @this as `Ljava/util/Map;`
    @6 := invokeVirtual `com.sun.nio.zipfs.ZipFileSystemProvider.uriToPath(Ljava/net/URI;)Ljava/nio/file/Path;` @this, @uri
    @7 := 0
    @17 := new java.lang.NoClassDefFoundError
    @18 := 'Class not found: java.nio.file.LinkOption'
    invoke `java.lang.NoClassDefFoundError.<init>(Ljava/lang/String;)V` @17, @18
    throw @17
    catch java.io.IOException goto $7
    catch  goto $5
$7
    @14 := phi @zipfs from $6, @11 from $6
  at 'com/sun/nio/zipfs/ZipFileSystemProvider.java' 166
    goto $2
    catch  goto $5
$8
  at 'com/sun/nio/zipfs/ZipFileSystemProvider.java' 164
    @zipfs := null
  at unknown location
    goto $6
    catch  goto $5
$9
  at 'com/sun/nio/zipfs/ZipFileSystemProvider.java' 172
    return @12

TeaVM does not support Jackson and is not meant to do it. You should prefer any other library for JSON deserlialization that does not rely on reflection. As for this error: what TeaVM version are you using? How did you run TeaVM? Was there any stack trace? Anyway, here I see that TeaVM was going to report some problem gracefully (e.g. the lack of java.nio.file.FileSystemNotFoundException), but crashed for some reason. TeaVM only support subset of Java class library, as described here and here

I was using 0.7.0 and running with maven (maven clean package). There was no stack trace.
Closing as I don't need a resolution to this and might just be due to using Jackson.


Cognito remembering Devices isn't not working?

I've set up Cognito to always remember the user's device and when authenticating my user I'm getting a NewDeviceMetadata object with a device group and device key, but when checking the device list of the user there aren't any devices remembered.
This is a problem when trying to use the refresh token, since Cognito is set to always remember the devices and therefore a device is also required for a refresh.
For now I simply set Cognito to never remember the devices, but I would prefer to have this working instead of avoiding the problem.

Can you clarify if this is an issue you are experiencing with the service or with the SDK?

I'm guessing it's more a service problem, but then again, I haven't really found anyone else having this problem. To make the login request I'm pretty much using the same code as dbeattie71 here: https://gist.github.com/dbeattie71/44ea3a13145f185d303e620c299ab1c5
And like said above I'm getting a device key in response, but when listing the devices of the user there aren't any. So I was wondering if I need to do some sort of validation for that device key to be remembered on cognito.

Seems like this is a question for the Cognito service team and is best suited for their AWS forum.
Resolving for now. If you determine that you've located a bug with the .NET SDK for this scenario, feel free to re-open this issue or create a new one.

I would like to reopening this issue, since I've tested logging in with an iPad which uses the AWS iOS SDK and it worked, the iPad was listed on the AWS Cognito console so it is not a service problem. Now I'd like to know how to do the same but using the .NET SDK. Is there any method that is supposed to be called once a login has been made to remember the device or is it suppose to be automatic on logon?

Can you share the working iOS SDK code and the .NET SDK code that is not working for you?

An example of how I register, validate and login a user using .NET can be found here: https://gist.github.com/BBNicolas/5ab3f1f8c604ebe2e4ecf14c35487495
For the IOS example it has been made by another development team so I don't have the source code.

Here is the register IOS code: https://gist.github.com/BBNicolas/c88157590cc0eb89684fee6f2b99d8f8

I'm unfamiliar with the specific details of Cognito and how it applies here (hence the recommendation to consult the forums), but the below snippet from this blog post seems to be relevant:

Each SDK can take a callback during the authentication call, which defines how users are asked if they want to remember the device. This authentication call consumes the UpdateDeviceStatus API. That API can be called any time to update the status as needed. The mobile SDKs use convenience wrappers around this method to make the calls more intuitive.

The last sentence may explain why you are seeing a difference of behaviors between the iOS SDK and the .NET SDK: the iOS SDK may be obfuscating this logic and/or performing the calls on your behalf. The .NET code you supplied doesn't appear to do this. The DEVICE_KEY is also being set to null, though I'm not sure if that's relevant.

I've read thought the blog and this is what I was missing:

The path to getting these credentials is as follows:

Every time the user signs in with a new device, the client is given the device key at the end of a successful authentication
From this key, the client creates a secret, using the secure remote password (SRP) protocol, and generates a salt and password verifier.
With that salt, verifier, and the key it was originally given, the client calls the ConfirmDevice API remotely. It is only then that Amazon Cognito begins tracking this device. During this entire flow, the secret remains on only the physical device.

I did my best to create a .NET version of the "generateHashDevice" method based on the JS code here
and I've updated my code here:  https://gist.github.com/BBNicolas/5ab3f1f8c604ebe2e4ecf14c35487495
The device key is now showing on the AWS Cognito Console and using the provided device key while refreshing now works. But the .NET SDK really needs to wrap these calls like the other SDK do, as for now our only solution is to go thought the other SDK and translate bits of code too .NET.
NOTE:
I've only tested using the device key in a refresh call and I haven't tried other calls which might need this device key as well. Like login which when given shouldn't create a new device key, but use the already remembered one. (Passing DEVICE_KEY set as null creates a new one)

Glad to hear that you've been able to get your usecase working.
You are correct, the .NET SDK is missing some of the convenience wrappers that are provided by the mobile SDKs called out in the blog post. We have a feature on our backlog to add similar functionality, but currently do not have an ETA.

Is this functionality implemented for .NET mobile SDK? I am not able to find it in AWSSDK.Extensions.CognitoAuthentication library as well.

Glad to hear that you've been able to get your usecase working.
You are correct, the .NET SDK is missing some of the convenience wrappers that are provided by the mobile SDKs called out in the blog post. We have a feature on our backlog to add similar functionality, but currently do not have an ETA.


Upgrade script does not work with slim releases yet

Gleaning issue from #52 .
Upgrading with slim release can be done if we do it manually.

unpack relup archive manually
copy releases directory and necessary libraries
using release_hander:set_unpacked/2 .

Slim release is a experimental feature of reltool and release_handler does not know
about it at all (at least R16B03). So relup archive includes erts and all libraries in OTP,
we need to select necessary libraries in step 2,
(These steps are illustrated at https://github.com/shino/slim-upgrade-sample )
These steps might possibly be automated by slim-release-aware
install_upgrade escript.

Hi, this issue was closed in an attempt to do quick basic filtering. These issues and pull requests are not issues or code we're spitting on, but given the burden of the task and how much code rot may have happened since these were open is unknown from maintainers at this time. All tickets prior to March 2017 were closed and will be reopened on a per-request basis, please give
rebar3 a try and feel free to reopen if it's a pressing issue that is still unresolved.


test(@angular/cli): output test compilation to es5

Fixes #5185

@Brocco Do we need to change it in https://github.com/angular/angular-cli/blob/master/packages/%40angular/cli/blueprints/ng/files/e2e/tsconfig.e2e.json too for e2e tests?

@sumitarora yes, I will update the PR... good catch!