Error loading key ".ssh/id_rsa": error in libcrypto

Hi,
im using my ssh RSA key for many years. After update to openssl3 i noticed an issue:
[tpg@tpg-virtualbox .ssh]$ ssh-add
Error loading key "/home/tpg/.ssh/id_rsa": error in libcrypto

I've validated my keys:
[tpg@tpg-virtualbox .ssh]$ ssh-keygen -l -f id_rsa.pub
4096 SHA256:hereisthehash<EMAIL_ADDRESS>(RSA)
Newly generated key with ssh-keygen works.
I tried to generate RSA key with openssl:
[tpg@tpg-virtualbox .ssh]$ openssl genrsa -des3 -out private.pem 2048
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
[tpg@tpg-virtualbox .ssh]$ openssl rsa -in private.pem -outform PEM -pubout -out public.pem
Enter pass phrase for private.pem:
writing RSA key
[tpg@tpg-virtualbox .ssh]$ openssl pkey -check -in private.pem -noout
Enter pass phrase for private.pem:
Key is valid
[tpg@tpg-virtualbox .ssh]$ openssl pkey -pubcheck -in public.pem -noout
Could not read key from public.pem
Unable to load key

My system is OpenMandriva Cooker
[tpg@tpg-virtualbox .ssh]$ rpm -qa | grep openssl
openssl-3.0.0-0.alpha8.1.x86_64

[tpg@tpg-virtualbox .ssh]$ rpm -qa | grep openssh
openssh-8.4p1-2.x86_64

Error loading key "/home/tpg/.ssh/id_rsa": error in libcrypto

"error in libcrypto" isn't a very helpful error message!! I wonder if you get anything more useful by trying to inspect the key directly with the openssl command line, e.g. the following command will print the details of the private key in a readable text form:
openssl rsa -in /home/tpg/.ssh/id_rsa -noout -text

Do you get any errors from this command. If so what are they?
[tpg@tpg-virtualbox .ssh]$ openssl verify private.pem
Enter pass phrase for private.pem:
Could not read certificate file from private.pem
Unable to load certificate file
[tpg@tpg-virtualbox .ssh]$ openssl verify public.pem
Could not read certificate file from public.pem
Unable to load certificate file

This is not going to work. openssl verify is used to verify X509 certificates. You're supplying it with an RSA private/public key which is not the same thing. Hence it complains.
Perhaps what you meant was:
openssl pkey -check -in private.pem -noout
openssl pkey -pubcheck -in public.pem -noout

@mattcaswell i've filled this issue as i tried almost everything to debug this. All i got is "error in libcrypto"
[tpg@tpg-virtualbox .ssh]$ openssl rsa -in id_rsa -noout -text
Could not read private key from id_rsa
Unable to load private key

Sorry for pasting wrong output from openssl verify.
Here is good one:
[tpg@tpg-virtualbox .ssh]$ openssl pkey -check -in private.pem -noout
Enter pass phrase for private.pem:
Key is valid
[tpg@tpg-virtualbox .ssh]$ openssl pkey -pubcheck -in public.pem -noout
Could not read key from public.pem
Unable to load key

Could not read private key from id_rsa
Unable to load private key

That isn't much more helpful :-)
Can you take a look at what is inside the id_rsa file. I'm interested in the PEM headers. Mine look like this:
-----BEGIN RSA PRIVATE KEY-----
...snip private key data...
-----END RSA PRIVATE KEY-----

What do yours look like?

@mattcaswell  if you help me how to debug this i'll provide needed information:
cat private.pem
-----BEGIN ENCRYPTED PRIVATE KEY-----
somehash
-----END ENCRYPTED PRIVATE KEY-----

cat id_rsa
-----BEGIN OPENSSH PRIVATE KEY-----
myhash
-----END OPENSSH PRIVATE KEY-----

Ah.
-----BEGIN OPENSSH PRIVATE KEY-----

This is OpenSSH's own private key format. OpenSSL does not support it directly, so we won't be able to use OpenSSL command line tools to examine it. That is a shame. That means the error is somewhere between ssh and the OpenSSL API. You might need to raise an issue with OpenSSH to help track this down. Almost certainly the problem is in OpenSSL but without know what OpenSSH is doing to result in that error, its going to be very difficult for us to figure out what the fix is.

@mattcaswell Ok i understand this, but why RSA private key generated with openssl3 cannot be loaded:
[tpg@tpg-virtualbox .ssh]$ openssl genrsa -des3 -out private.pem 2048
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
[tpg@tpg-virtualbox .ssh]$ openssl rsa -in private.pem -outform PEM -pubout -out public.pem
Enter pass phrase for private.pem:
writing RSA key
[tpg@tpg-virtualbox .ssh]$ openssl pkey -check -in private.pem -noout
Enter pass phrase for private.pem:
Key is valid
[tpg@tpg-virtualbox .ssh]$ openssl pkey -pubcheck -in public.pem -noout
Could not read key from public.pem
Unable to load key

$ openssl pkey -pubcheck -in public.pem -noout
Could not read key from public.pem
Unable to load key

Oops. My mistake. The command should be:
$ openssl pkey -pubcheck -pubin -in public.pem -noout

@mattcaswell Looks like this is openssh issue as openssl can read RSA keys by itself. Thenks for your help. I'll contact openssh people.
[tpg@tpg-virtualbox belr]$ openssl pkey -pubcheck -pubin -in public.pem -noout
Key is valid

Looks like this is openssh issue as openssl can read RSA keys by itself.

You might want to check if it happens with OpenSSL 1.1.1. OpenSSL 3.0 is still in dev and is buggy. Its entirely possible that this still ends up being an OpenSSL bug.

@mattcaswell Hi again,
i added some debug output to openssh https://github.com/OpenMandrivaAssociation/openssh/commit/cdac4905a38e93211ce119573164a451ad628361
[tpg@tpg-virtualbox belcard]$ ssh-add
Error loading key "/home/tpg/.ssh/id_rsa": error:00000000:lib(0)::reason(0)

Unfortunately that doesn't really tell us anything:
error:00000000:lib(0)::reason(0)

This just means there is no error on the OpenSSL error stack. That doesn't mean that an error did not occur - just that there isn't a hint as to what it is on the stack.

I filled bug for OpenSSH https://bugzilla.mindrot.org/show_bug.cgi?id=3233

There is something wrong with openssh in Openmandriva, this issue happened for me as well. I am using their rolling repo.

Looks like certificates are rejected by openvpn if it is linked to openssl3
Please see this bug:
https://issues.openmandriva.org/show_bug.cgi?id=2670

Output of a strace ssh-add -vvv  :
newfstatat(AT_FDCWD, "/foo.ssh/id_rsa", {st_mode=S_IFREG|0600, st_size=3326, ...}, 0) = 0
openat(AT_FDCWD, "/foo/.ssh/id_rsa", O_RDONLY) = 4
newfstatat(4, "", {st_mode=S_IFREG|0600, st_size=3326, ...}, AT_EMPTY_PATH) = 0
getuid()                                = 0
newfstatat(4, "", {st_mode=S_IFREG|0600, st_size=3326, ...}, AT_EMPTY_PATH) = 0
read(4, "-----BEGIN RSA PRIVATE KEY-----\n"..., 4096) = 3326
read(4, "", 770)                        = 0
read(4, "", 4096)                       = 0
close(4)                                = 0
futex(0x7f29f67cf20c, FUTEX_WAKE_PRIVATE,<PHONE_NUMBER>) = 0
futex(0x7f29f67cde50, FUTEX_WAKE_PRIVATE,<PHONE_NUMBER>) = 0
futex(0x7f29f67cde58, FUTEX_WAKE_PRIVATE,<PHONE_NUMBER>) = 0
write(2, "306: Error loading key \"/foo/.s"..., 63306: Error loading key "/foo/.ssh/id_rsa": error in libcrypto
) = 63

We do have certain problems with reading PEM files in OpenSSL 3 for the moment.  There are several angles that we look at.
Pleas stay tuned.

@levitte Are you saying that from Nov 2020 nobody is taking care of this ? And yes i remain tuned starting from the day i filled this issue.

It would be great for debugging if we had some disposable RSA private key that exposes this issue.

@levitte Are you saying that from Nov 2020 nobody is taking care of this ? And yes i remain tuned starting from the day i filled this issue.

We currently have multiple items that need tending to.  All that takes time, and sometimes multiple issue being raised before the underlying problem becomes clear.  Sorry that it's trying your patience.

Well i can try to dig for some old ssh keys. My current one looks like this:
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CB, <- here is the IV
-----END RSA PRIVATE KEY-----

@levitte Yes i know how software development works, and i my point is there maybe some people who may got hit byt this issue and could not handle re-conversion process of old certs.

Interesting ... As is reported vesion is 8.4p1, and so OpenSSH defects like #2901 and #2913 should not apply.
OpenBSD product uses quite unexpected management to load keys. It is based on heurestic management of reasons returned by cryptograpic library(1) and specific "empty" password management(2).
Since 7.9/8.0 (1) is used only with "non-empty" passwords. Error in openssh here - out of scope. Let say that (1) is applicable after password prompt.
About (2) - it cannot produce "error in lib crypto" unless source is patched by vendor.
In brief: code try to read PEM with empty password, pem callback return -1,  PEM_read fail and code return "wrong  password".
I cannot see relation to #14100 - it is applicable for (1), i.e. after password prompt.
Issue could be due to some patches to original code.
Note: I assume that there is no ask-pass program in use.

We have yet another report that FreeRDP crashes with OpenSSLv3
http://issues.openmandriva.org/show_bug.cgi?id=2672

We have yet another report that FreeRDP crashes with OpenSSLv3
http://issues.openmandriva.org/show_bug.cgi?id=2672

Not sure how this is related to the original issue. It should be reported as separate issue ideally with some reproducer cut out of the FreeRDP code. Otherwise it would be really hard to find the cause.

Note that, at least for openssh-portable, ssh-add only understands -----BEGIN OPENSSH PRIVATE KEY-----, not -----BEGIN RSA PRIVATE KEY-----.  These two macros are dead giveaways:
https://github.com/openssh/openssh-portable/blob/0a4b23b11b9a4e6eec332dd5c6ab2ac6f62aa164/sshkey.c#L70-L71
(I ran ssh-add through the debugger to discover this)

@levitte Hi, i did replace that header with my ssh private key, and that did not help at all. Same error.

Richard Levitte wrote:

Note that, at least for openssh-portable, ssh-add only understands -----BEGIN OPENSSH PRIVATE KEY-----, not -----BEGIN RSA PRIVATE KEY-----.  These two macros are dead giveaways:
https://github.com/openssh/openssh-portable/blob/0a4b23b11b9a4e6eec332dd5c6ab2ac6f62aa164/sshkey.c#L70-L71
(I ran ssh-add through the debugger to discover this)

Are you sure? Perhaps you stop debugging too early.
When parse of "custom" format fail with "invalid format" program code calls PEM parser. And this OpenSSL parser coild  PKCS#8 or "Traditional" PEM formats.
Regards
Roumen Petrov

Thanks for the nudge, @petrovr.  You're right, I stopped too soon.  I've gone further now, and it turns out that there's failure to translate the libcrypto error here:
https://github.com/openssh/openssh-portable/blob/0a4b23b11b9a4e6eec332dd5c6ab2ac6f62aa164/sshkey.c#L4610
It's understandable why, as it seems that no error is reported at all...  it seems to me like the decoding process is pruning errors a bit too hard...

Hi,
Richard Levitte wrote:

Thanks for the nudge, @petrovr.  You're right, I stopped too soon.  I've gone further now, and it turns out that there's failure to translate the libcrypto error here:
https://github.com/openssh/openssh-portable/blob/0a4b23b11b9a4e6eec332dd5c6ab2ac6f62aa164/sshkey.c#L4610
It's understandable why, as it seems that no error is reported at all...  it seems to me like the decoding process is pruning errors a bit too hard...

Off topic: for missing error reasons in master branch I open a separate issue.
OpenSSH scenario is following:
(1) try load of key with empty password
(2) password prompt if (1) fail with "wrong password"
(3) try load of key with entered password
(4) ask again for password if (3) fail due to password error (2 or 3 prompts)
Remark: in (1) error reasons translation is not used.
I post in an OpenSSL issues information for this with number of related OpenSSH defects. The one on OpenSSH defect has script that allows to find RSA keys with "empty" password. Script is usable with more recent OpenSSL 1.0.2 releases, after patch X that enhance key processing. It cannot be run with 1.1* as those release does not accept "empty" passwrod.
Instead to remove "translation" authors decide to implement:
(a) own PEM parser callback that return error on empty password and in addition
(b) if PEM parser fail and password is empty to return "wrong password"
Such work-around is suitable for (1) but useless for (3).
Issue with this case is that it lacks information for password prompt. And so I cannot understand how in (1) returned failure reason is 'error in crypto library'.
Of course for such reason code does not prompt for password.
Regards,
Roumen Petrov

Issue with this case is that it lacks information for password prompt. And so I cannot understand how in (1) returned failure reason is 'error in crypto library'.

That seems to happen because PEM_read_bio_PrivateKey returned NULL, but the OpenSSL error queue had no error recorded, so all SSH can report is that something went wrong in libcrypto.
There is a PR that reworks the error reports specifically for PEM and DER decoding, that was approved just a few hours ago, so it may be that ssh-add linked against OpenSSL master branch will work better within 24 hrs

That seems to happen because PEM_read_bio_PrivateKey returned NULL, ...
Not really. Back to https://github.com/openssl/openssl/issues/13443#issuecomment-774728025

This report lack information for password prompt. Let review code:
	clear_libcrypto_errors();
	if ((pk = PEM_read_bio_PrivateKey(bio, NULL, pem_passphrase_cb,
	    (char *)passphrase)) == NULL) {
	       /*
		* libcrypto may return various ASN.1 errors when attempting
		* to parse a key with an incorrect passphrase.
		* Treat all format errors as "incorrect passphrase" if a
		* passphrase was supplied.
		*/
		if (passphrase != NULL && *passphrase != '\0')
			r = SSH_ERR_KEY_WRONG_PASSPHRASE;
		else
			r = convert_libcrypto_error();
		goto out;
	}

First call is with empty password. In case of error (PREM read return NULL) code returns "wrong pass". Next step is "password promt" and then we could see "library error".
Look like fake issue.

@petrovr If you need me to provide here extra information, do so then. Please.guide me what you want and I'll deliver it.

Sorry, I misread current OpenSSH code.
I have to change https://github.com/openssl/openssl/issues/13443#issuecomment-774728025 as without URI prefix issues are rendered to current site.

It seems to me issue is not related to encoder/decoder errors.
Working with OpenSSL store requires suitable error management.
Decoder errors is normal to be excluded unless some one define new "store item for error on a particular entry". Such item could "transfer" errors" to reader. I cannot see any usable in this model.
In PKIX-SSH when is used key from a store and "STORE" does not return items code just return error reason selected from existing - SSH_ERR_KEY_NOT_FOUND.
At application level I do not care for exact error - UI method is provided and cryptographic library is responsible to perform suitable number of prompts and decoding.
So using STORE mean different error management. In this particular case return of key is required.
For instance if store does not return key raise PEM error with reason PEM_R_BAD_DECRYPT or PEM_R_BAD_PASSWORD_READ! Stop!!!
Does a development team would like to resolve issues in bloody third party code? Obviously no.
If code return error in PEM library with a new reason bloody error management in third party code will return invalid format - it is better but not enough to make ssh-add working.
External code must be adjusted to new reality.

#14423 mentioned...

Fixing this should also fix these issues: #13443, #13493, #14100, #14566

... and was merged recently. Perhaps it's worth to recheck if this is still an issue on master (or with the most recent alpha)

I got this error message with a private key that had been copy pasted as text. It turns out that the file must end with a new line for it to work.

I got this error message when using ssh-keygen -t ed25519 to create my key but not when using ssh-keygen (no options).

MareoRaft wrote:

I got this error message when using ssh-keygen -t ed25519 to create my key but not when using ssh-keygen (no options).

-t is used for key generation otherwise is ignored.
Error in libcrypto could be raised only if is PKIX-SSH (release >= 13.0/3 Mar 2021, OpenSSL >= 1.1.1). MareoRaft, would you confirm?
OpenBSD implementation does not use ed25519 if build is with OpenSSL.
Regards,
Roumen

I get the same error when running ssh-add /root/.ssh/id_rsa. The error message:

Error loading key "/root/.ssh/id_rsa": error in libcrypto

Without further details.

I met the same error when using ssh to connect to my server (I have uploaded my public key to my server).
Load key \"/builds/soli/SSH_PRIVATE_KEY\": error in libcrypto

I am not sure if anyone has any hints. thanks

I am also getting this error on Fedora 37, OpenSSH_8.8p1, OpenSSL 3.0.8 using ED25519 keys against a remote server using  OpenSSH_7.4 pat OpenSSH_7.4* compat 0x04000006. I have two ED25519 keys that are used to connect to this server, one for a non-prod environment and one for a production one. The non-prod key works flawlessly every time. The prod one also works flawlessly when using DBeaver and the SSHJ implementation, but trying to use the same key file on the same computer via ssh in a terminal yields the error in libcrypto message. But only for the prod key! Hope this helps isolate where the problem might be.

I just verified ssh-add with openssl-3.0.0-alpha16 and now it WORKS ! Thanks!

Yes, I had this problem too -- made a new key with ssh-keygen, then ran ssh-add.  The second step fixed the (confusing) error: Load key ".ssh/id_rsa.pub": error in libcrypto

private key that had been copy pasted as text
turns out that the file must end with a new line

If you are on Windows and do have newline in the end of the file, try to convert it to Unix style, for example with dos2unix:
$ dos2unix.exe ~/.ssh/your-private-key

That fixed it in my case.

This occurred because the private key was missing, in my case.

This occurred for me as I had an IdentityFile directive in ~/.ssh/config which was pointing to my public key.  Changing it to point to the private key fixed the "error in libcrypto".  Would be great if this error message was more specific.

Fixed it  by using a init container that has the keys mounted (from secrets, I'm on kubernetes) to /tmp/.ssh and a mount with the actual data.
initContainers:
      - name: init-copy-keys
        image: busybox:1.36.1
        command: ['sh', '-c', 'cp -LR /tmp/.ssh/id* /config/.ssh/ && echo "done"']
        volumeMounts:
          - name: github-repo-keys
            mountPath: /tmp/.ssh
          - name: volume0
            mountPath: /config

volumes:
        - name: github-repo-keys
          secret:
            secretName: github-keys
            items:
            - key: public-key
              path: id_ed25519.pub
            - key: private-key
              path: id_ed25519


Using msal-browser with B2C

Please follow the issue template below. Failure to do so will result in a delay in answering your question.
Library

[ ]<EMAIL_ADDRESS>or<EMAIL_ADDRESS>[x]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>
Description
Hi,
I am trying to understand how to use msal-browser (released version 2.0.0).
Having read through a lot of the help files and viewed lots of samples, I am still unable to get things to work as expected.
Here is my scenario:
1/ I have configured a B2C tenant and registered an SPA application to run on http://localhost:3000 using Auth. flow with PKCE.
2/ Downloaded the samples and attempted running the sample, "samples\msal-browser-samples\TypescriptTestApp2.0"
3/ I assume configured correctly, as I am able to signup and signin successfully using a local account, (username and password, NOT social login). This is using the loginRedirect methods on Chrome (with CORS disabled, more details here: https://github.com/AzureAD/microsoft-authentication-library-for-js/issues/1795)
4/ I wish to use the token of the logged in user in order to make a call to an API, in this case we will use what is in the sample (Graph API). Please note, I am not expecting the API to work, but at least be able to see the setup of the call to the API created successfully, (with the correct token added to the header).
Here is where my knowledge is a little thin, and I need some guidance please:
1/
After logging in, the AuthenticationResult response object passed to the handleResponse method, contains an AccountInfo object. The username of this object is always undefined. Upon investigation, it appears this is a known issue with B2C, as it is looking for the "preferred_username" claim, that is never supplied by the B2C tenant.
Further research, found here: https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-net-aad-b2c-considerations
informed me that I should add the displayName claim (which comes through as "name" in the claims). The response object does now contain this claim, and I am able to access it and display this to the user.
If I attempt refresh the page, the AuthenticationResult response object is null, and the returned account (currentAccounts[0]) is correct, however, the username of this object is always undefined. As the response object is null, I am unable to determine the logged in user. This is where the documentation stops.
Some thoughts were to perhaps persist the username or the entire token in a cookie to access on subsequent refreshes / new tabs? Can somebody point me to some documentation or some examples of what I should do please?
2/
Once logged in, I clicked the button, "See Profile". This attempts to get the token for the logged in user by using the same AccountInfo object (with username as undefined) but fails with the following error:
ClientAuthError: no_tokens_found: No tokens were found for the given scopes, and no authorization code was passed to acquireToken. You must retrieve an authorization code before making a call to acquireToken().
I assume Msal should have stored the token for the logged in user and retrieved it for me by using the acquireTokenSilent method. I am currently configured as follows:
cache: {
cacheLocation: "localStorage", // This configures where your cache will be stored
storeAuthStateInCookie: true, // Set this to "true" if you are having issues on IE11 or Edge
},
Changing the cache settings made no difference.
Some thoughts:
It cannot get the token because of this whole issue surrounding the username being undefined?
Perhaps I should be passing in a loginHint to the SilentRequest, but not sure why that would work either.
Again, if someone can point me in the right direction, it would be most appreciated.
Warm regards,
Vaughan

@vaughanh1 To answer your first question regarding the username in the AccountInfo object, this is a known issue which we are actively looking into. If you just need to get the account object you can call getAllAccounts() and then find the account you need from the returned array. If you are only signing in one user at a time this should only contain a single element.
If you need access to the name claim you mentioned you can pull that from the idToken which is cached in local or session storage, depending on how you've configured msal. It is expected that AuthenticationResult would be null when refreshing the page as this is populated directly from the response of attempting to acquire a token, when you refresh this value is lost.
As for the 2nd issue, since MS Graph scopes cannot be used in B2C scenarios, it's not surprising that this would not work. For testing purposes I would suggest creating a custom scope on your app registration which you can request from your app. Also please keep in mind that for B2C currently you will also need to request the offline_access scope in order to obtain a refresh token. This differs a little bit from AAD scenarios and the samples we currently have up but we're working on getting B2C aligned in the near future.
Apologies for the lack of documentation, we have some docs and B2C specific samples pending and will be sure to get those up as soon as the major blockers to getting B2C working are resolved. Thanks for your patience and as always we'll be happy to answer any additional questions you have in the meantime.

When you mention that B2C is getting aligned in the near future, how soon is that? Just a rough ETA would work (1 month, 3 months, in one year etc.) I am currently working on a product for a client, and I am facing many issues with MSAL B2C.

@ammar-mop I unfortunately can't share any sort of ETA but getting B2C working with msal-browser v2.0 is one of our highest priorities right now and we're working with the service teams to get that work done as quickly as possible. If you need an immediate solution we recommend using<EMAIL_ADDRESS>for the time being and upgrading to 2.0 when the issues are resolved. My sincerest apologies for the inconveniences this may cause.

For the getAccount question, this was resolved by #2114.
offline_access is already tracked in #1999.
Closing, as the first issue has been addressed, and the second issue is already tracked.


fix: temporarily increased the timeout for the SdkClient test suite to 90000ms to reduce flakiness

Description:
This PR temporarily bumped timeout for the sdkClient test suite to 90000ms to reduce flakyness
Fixes #2846
Notes for reviewer:
This is a temporarily solution. The issue lies in the TransactionService class that takes long time to retrieve balance information of the operator. More information is captured in this ticket https://github.com/hashgraph/hedera-json-rpc-relay/issues/2847.
Checklist

[ ] Documented (Code comments, README, etc.)
[ ] Tested (unit, integration, etc.)

Instead of extending the timeout from 45 seconds to 90 seconds to address the flakiness, I think we should focus on the fact that this transaction used to complete in less than 45 seconds, and now it’s taking twice as long.
The delay is especially evident when the relay executes multiple file appends and has to retry operator balance queries during hbar limiter metrics capture. To improve user experience and avoid unnecessary slowdowns, I suggest we handle these metrics asynchronously and address the actual problem which we have - that this transaction no longer executes in the time frame it used to.

Hey @victor-yanev, thanks for the comment! I also noticed that the main issue behind this timeout problem stems from the TransactionService class, as I mentioned in the "notes for reviewer" section. That’s why I labeled it as a "temporary" solution to help unblock the PRs for now. But yes, I definitely agree with you and appreciate the great suggestion—I’ll look into making the account balance queries asynchronous to improve the situation.


Implement setAudioStream in Android and setSpeakerphoneOn in iOS

This implements setAudioStream in Android.

This implements setSpeakerphoneOn in iOS.

This changes is needed to support playing sound via earpiece speaker or default speaker.

Android: setAudioStream('VOICE_CALL') && setSpeakerphoneOn(true) or setSpeakerphoneOn(false)
iOS: setCategory('PlayAndRecord') && setSpeakerphoneOn(true) or setSpeakerphoneOn(false)

Great job, could someone check this?

@renanpupin I'm a colleague of @ghsdh3409 and tested this version with tens of users without any problem. It should work fine.

@ghsdh3409 can you provide documentation for this?

@trepidity Okay, I will update that on the README.md and commit on this pull request.

Thanks so much @ghsdh3409. I'll get this merged as soon as you have made that change. Thanks again for help.

@trepidity Sorry for late. I have updated documentation.

Ping.

@zmxv @trepidity Can we hope this PR will be merged?

@ghsdh3409 Any motivation for closing it...? People wants your PR!


ZEPPELIN-296 add flink docs

ZEPPELIN-296 initial documentation for Apache Flink interpreter
While we are at it, there are some minor updates for the docs too.

@chiwanpark @felixcheung - thank you for reviews! The feedback has been addressed in 364010c

Ready to be merged

looks good

@chiwanpark thank you! addressed in 8a2f909
squashed Flink commits
ready to be merged

Looks good to me.

Looks good to merge. :+1:


Start up crash

Critical problem: mixins.valkyrie.json:GuiMainMenuMixin from mod Valkyrie_0_1_3 target net.minecraft.client.gui.GuiMainMenu was loaded too early.

Already fixed in the latest dev build


Kafka Ui Ldap authentication login page takes around 1 minute to load

Issue submitter TODO list

[X] I've looked up my issue in FAQ
[X] I've searched for an already existing issues here
[X] I've tried running master-labeled docker image and the issue still persists there
[X] I'm running a supported version of the application which is listed here

Describe the bug (actual behavior)
Kafka Ui Ldap authentication login page takes around 1 minute to load
Expected behavior
Kafka Ui Ldap authentication login page takes around 1 minute to load, it should be fast, logging is working fine
any property to use to manage that?
no error coming in logs, authentication also working fine but the login page is coming very late
Your installation details
latest master image used
helm chart version is 0.7.6
Steps to reproduce
ldap authentication properties
AUTH_TYPE: LDAP
SPRING_LDAP_URLS: ""
SPRING_LDAP_BASE: ""
SPRING_LDAP_ADMIN_USER: ""
SPRING_LDAP_USER_FILTER_SEARCH_BASE: ""
SPRING_LDAP_USER_FILTER_SEARCH_FILTER: ""
SPRING_LDAP_GROUP_FILTER_SEARCH_BASE: ""
Screenshots
No response
Logs
No response
Additional context
No response

hi can someone share some screenshot of the browser network tab while loading ldap login page

@SwarnalathaMunukutla https://github.com/kafbat/kafka-ui/issues/602#issuecomment-2405665405


PyPi package available?

Hey there!
This looks like it is a great project. I was wondering if it was packaged in PyPi or somewhere so I can import it into my django project without directly cloning the repository. If not I could package it up and get that up and running, although admittedly I am relearning Python after an extended absence.

Hi @illegalnumbers. Thanks. It's not. And while I see the upside to better packaging, it also requires a little more effort in maintenance (proper versioning, updating pypi) which I don't think anyone here has the time to commit to it.

Thanks for the response!
What do you mean by 'updating pypi'?
As for versioning - it could be as simple as semantic versioning, no?

What do you mean by 'updating pypi'?

Posting new updates to pypi.

it could be as simple as

Everything takes time.

Can't travis do those things for you automatically?
https://docs.travis-ci.com/user/deployment/pypi/
As for versioning it could be done as easily as pushing up a git tag on build as well.

@illegalnumbers Any way you could help us along with a pull request that sets up the necessary edits to .travis.yml for us to test out?

Yea sure! I will be incapacitated all week this week due to surgery but after I start feeling better I'd be fine with doing a pull request.

So while building the setup.py for PyPi to work I need an email address associated with the maintainer of the package...is there something specific I should use there? For the example they show just using a googlegroup or something so it doesn't have to be a direct line to anyone.

Additionally - pip provides entry_points as an alternative to having scripts in your package that are runnable. Would it be preferentially to port the commands from the script directory to various entry_points since it's platform independent? I could try and get that up too.

Just to show progress. If anyone wants like owner access or whatever let me know and I can grant it. I need to do some fiddling with my local repo before opening a PR. I had to use 'united-states-' since 'congress' was already taken.

Well after toying with this for days I can see why you didn't just use PyPi to begin with. The setup of this is incredibly poor and makes me grateful I write Ruby for a living. Still trying to figure out why some dependencies don't get installed, are missing from certain repo's in a test environment, etc.

Seems I'm getting nowhere with the test PyPi package. It works when you install from prod PyPi so I'm going to leave it at that for now.
Someone test this out for me if you will pip install united-states-congress
Pull request incoming for this.

@JoshData can this issue be closed in favor of #282

@illegalnumbers Hey. I pinged you on Twitter about taking over the pypi package. (I completely forgot about this issue.) Hope to hear back (there or here or in #282). Thanks.


rasa init should include tests by default

Proposed changes:

include default e2e tests to an initial project created with rasa init command

Status (please check what you already did):

[ ] updated the changelog (please check changelog for instructions)

@alwx I guess I'm the reviewer not the assignee right?

@wochinge sorry! yes :)

@alwx @wochinge is this ready to go into 1.9.0?

@tttthomasssss for sure. I am only waiting for https://github.com/RasaHQ/rasa/pull/5438 to be merged, and then this one will be merged, too.


bug: Xcode installed, but returns error Xcode must be fully installed before you can continue

Provide environment information
  System:
    OS: macOS 14.4.1
    CPU: (8) arm64 Apple M1
    Memory: 279.61 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.12.2 - ~/.nvm/versions/node/v20.12.2/bin/node
    Yarn: 1.22.19 - /opt/homebrew/bin/yarn
    npm: 10.5.0 - ~/.nvm/versions/node/v20.12.2/bin/npm
    pnpm: 8.11.0 - /opt/homebrew/bin/pnpm
    bun: 1.0.2 - ~/.bun/bin/bun
    Watchman: 2<IP_ADDRESS> - /opt/homebrew/bin/watchman

Describe the bug
I've already installed Xcode, already confirmed that the iphone simulator works, but for some reason, expo won't track my Xcode installation.

Link to reproduction
https://github.com/t3-oss/create-t3-turbo/assets/87289753/090adba3-980c-4968-a4a8-ecf39e99e7dc
To reproduce
bunx expo start

then click option i
Additional information
No response

Try running:
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

Also make sure you allow your terminal to send system events:

Stale


On EAS Build, White screen after splash screen

I am using NativeBase 3.2.2 on Expo 42.
So everything is ok for iOS and Android with Expo Go, Expo build.
But it is white screen after splash when I try EAS build, not Expo build.
I can't get any error logs(sentry) and resolutions.
What is the issue?

NativeBase version 3.2.2
Expo sdk version 42

I have same issue and error
No native splash screen registered for given view controller. Call 'SplashScreen.show' for given view controller first.]
on expo go works as excepted


Add support for custom .npmrc

I was building a modified version of TSDX (custom themes), and one of the issues I faced was that if templates had private packages, even though the template had a correct .npmrc the install step wouldn't pick it up and timeout, the solution was to use shelljs instead.
This would go hand in hand with https://github.com/formium/tsdx/pull/502 as well.

So I was looking at CRA issues/PRs to potentially better understand the case for #502 and I found this issue regarding private registries: https://github.com/facebook/create-react-app/issues/8425
That issue is slightly different in that it's about installing a private template, not just private deps, but it's the same concept.
There they seem to recommend using a global ~/.npmrc.
Then when I thought about it, I realized, a template shouldn't include it's own .npmrc, because it contains secrets. So I think using a global ~/.npmrc makes more sense anyway. And further to that, generally templates are installed by users and not by robots, so you can just npm login + yarn login beforehand.

Using tsdx directly and copy pasting templates, instead of maintaining a custom tsdx.


Tweaks to fix React/TypeScript problems

Hi there, I just tried adding scroll-to-hash-element to a project (React 18, TypeScript 4.1) and had to make a few tweaks...

Typescript error: ScrollToHashElement missing return-type
A hash link clicked twice in a row fails to navigate the second time
Window listeners are being added multiple times
On first run the page scrolls smoothly to a hashlink. Default to "auto" behavior on first run.

Please feel free to edit / merge in the changes if you like them :)
Chichi.

Thank you for this contribution!


Roll Number input is now case insensitive

Fixing #8

I think a better solution would be to add re.IGNORECASE to the re.fullmatch() function in line no 55 instead of mutating the input.
Doesn't really matter tho, just a personal preference.

Just add .vscode/* to gitignore

I think a better solution would be to add re.IGNORECASE to the re.fullmatch() function in line no 55 instead of mutating the input. Doesn't really matter tho, just a personal preference.

Was thinking of converting that roll number into lowercase so that our database also has them in lowercase

I think a better solution would be to add re.IGNORECASE to the re.fullmatch() function in line no 55 instead of mutating the input. Doesn't really matter tho, just a personal preference.

Was thinking of converting that roll number into lowercase so that our database also has them in lowercase

Ah I see! Data sanitizing could be done on the web backend also, but it's just personal preference like I mentioned.

I think a better solution would be to add re.IGNORECASE to the re.fullmatch() function in line no 55 instead of mutating the input. Doesn't really matter tho, just a personal preference.

Was thinking of converting that roll number into lowercase so that our database also has them in lowercase

Ah I see! Data sanitizing could be done on the web backend also, but it's just personal preference like I mentioned.

okay, for now, let's leave that to the website backend.


Expose ability to obtain ContractPackageHash of new locked contract

Creating a locked contract package is currently hidden behind new_locked_contract, which only returns a ContractHash. To create entrypoints with group restrictions, we first need to create a contract package, then create a group, then we can create restricted entrypoints.
Reference:
https://github.com/casper-network/casper-node/blob/7c9b7a7df1affa75d29c97f0e141f29d0df415d6/smart_contracts/contract/src/contract_api/storage.rs#L152-L167. We should make this public.

@mpapierski please fix the comment on /// Create a locked contract stored under


Workflow Sample Working with Dataset

Signed-off-by: Caihua Zhao<EMAIL_ADDRESS>

I updated the copyright, please help review, thanks!

Updated the format, please review again, thanks.

Description for file is not right. It picked up the last comment regarding the copyright update.

I am not sure I understand this, do I need to take any actions here?


granular access policies

Fixes #2346

What should be the behaviour when policy is defined but has_access is not ? then should we assume true as default.
Front end calls files api to get list of files in dashboard folder and uses that to list out dashboards on the project, however we currently do not check policy in this api call as we will have to get catalog entry if we want to do that. So even if user does not have access to few dashboards they are all shown, however the one with no access are greyed out with hover msg like "This dashboard isn't working, check project logs" as while getting the metricsview definition it will get error. May be front end should check the error code to hide these dashboards.

Few pending things (needs discussion on some items as well) -

Apply include/exclude to measures
[UI] support to ask for dev JWT in local env and design around it
Adding support for roles in user attributes and semantics around it
[UI] Fix use of files api to display list of dashboards

Apply include/exclude to measures

Can you suggest what this could look like? We can maybe leverage that dimension/measure names are unique to avoid the need for separate sections?

Adding support for roles in user attributes and semantics around it

We could pass a list of all the user's resolved roles, but it seems weird because it would mix org and project level roles. Passing the permissions also doesn't seem great since they may change.
Ideally, people would handle these kinds of permissions in their mappings, but in practice, people will probably want an easy way to know about roles, especially if someone is admin or not.
What about we just introduce a .claims.admin bool field that is true if the resolved permissions have manage_project? That should address must use cases.

lint job is failing with
  Error: G602: Potentially accessing slice out of bounds (gosec)
  Error: G602: Potentially accessing slice out of bounds (gosec)

It passes locally.


[Dependency] Replace deprecated module gulp-util with replace-ext

Closed Issues
#6063
Description
Replace deprecated module gulp-util with official replacement replace-ext.
Also removes unused variable util from tasks/admin/components/create.js
References:

https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5
https://github.com/gulpjs/gulp-util/issues/143

I've verified related build functionality still works as expected and merged into next release.


gcc: expose --disable-bootstrap as disableBootstrap

Description of changes
This PR exposes GCC's --disable-bootstrap flag as a (non-inverted) parameter enableBootstrap.
Eval is unchanged.
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

I just wanted to say that this is a really nice split out change to make the initial PR easier to review.


add headers sync harness

Have some comments in there still from previous code, for informational purposes for now.

@dergoegge I think this is good to go. Let me know what you think. I separated into 3 commits, makes the most sense.

I think commit https://github.com/marcofleon/bitcoin/pull/1/commits/2e4f5f0ee7f447ea2e966269a744928ae73e415f should come before https://github.com/marcofleon/bitcoin/pull/1/commits/8c2b1d90d9f73720ceff080fdb38bec1230cf0c0.
You could also consider formatting the commit message in https://github.com/marcofleon/bitcoin/pull/1/commits/2e4f5f0ee7f447ea2e966269a744928ae73e415f with e.g. "gq" in vim, so that the lines wrap nicely.

Looks good to me, will do a deeper review on the real PR.
nit on the title: this is a harness for the headers pre-sync.


CargoDestroyed UI feedback enhancements

When the route planning screen transitions to the CargoDestroyed, these things should happen:

[x] The game should halt simulation
[x] The camera should frame the crash site
[x] The CargoUnit should be hidden
[ ] #116
[ ] #117
[x] GUI displays route fail message, retry button
[ ] (opt.) music sfx should play - sad trombone theme

Spawned #116, #117 to track remaining work, otherwise this is done


VERI-Wild issue

I'm trying to use pre-trained model VERI-Wild on FastMot.
I exported the VERI-Wild model to onnx and it has a feature dimension of 2048.
Also, I checked the ONNX model using np.testing.assert_allclose(torch_out, ort_out, rtol=1e-3, atol=1e-6) and the output of the original pytorch model doesn't match the onnx version.
https://github.com/GeekAlexis/FastMOT/issues/86#issuecomment-826424817
I should to re-train the VERI-Wild model or I can use the pre-trained model?
When I tried to train VERI-Wild dataset the error below is raised:
[05/14 16:05:08 fastreid.engine.defaults]: Prepare training set
Traceback (most recent call last):
  File "tools/train_net.py", line 57, in <module>
    args=(args,),
  File "./fastreid/engine/launch.py", line 71, in launch
    main_func(*args)
  File "tools/train_net.py", line 42, in main
    trainer = DefaultTrainer(cfg)
  File "./fastreid/engine/defaults.py", line 205, in __init__
    data_loader = self.build_train_loader(cfg)
  File "./fastreid/engine/defaults.py", line 416, in build_train_loader
    return build_reid_train_loader(cfg, combineall=cfg.DATASETS.COMBINEALL)
  File "./fastreid/config/config.py", line 264, in wrapped
    explicit_args = _get_args_from_config(from_config, *args, **kwargs)
  File "./fastreid/config/config.py", line 292, in _get_args_from_config
    ret = from_config_func(*args, **kwargs)
  File "./fastreid/data/build.py", line 36, in _train_loader_from_config
    data = DATASET_REGISTRY.get(d)(root=_root, **kwargs)
  File "./fastreid/data/datasets/veriwild.py", line 53, in __init__
    train = self.process_dir(self.train_list)
  File "./fastreid/data/datasets/veriwild.py", line 69, in process_dir
    dataset.append((self.imgid2imgpath[imgid], vid, self.imgid2camid[imgid]))
KeyError: '119083.jpg 0 23'

As you have successfully exported to fastreid->ONNX, could you please share the path setup for the ONNX utility as I am getting an error if my files VeRi files are in ~/Download directory. I am using the e.g. below but may root-path is --config-file ~/Download/sbs_R50-ibn.yml --name baselineR50 --output outputs/onnx_model ~/Downloads/veri_sbs_R50-ibn.pth
python onnx_export.py --config-file root-path/bagtricks_R50/config.yml --name baseline_R50 --output outputs/onnx_model --opts MODEL.WEIGHTS root-path/logs/market1501/bagtricks_R50/model_final.pth
Thanks,

@levipereira Hi~ We found the reason. The latest official VERI-Wild TXT files have updated on 2020.09.07, however, we used the 2019 TXT version when we developed this system.
That's not a big deal, just change one line of the code (please refer to this), and you'll be able to match the latest VERI-Wild TXT version.

@JinkaiZheng  this change worked except to one line in txt file raise error during
000001 00001/000001.jpg 14403 14 1

[06/16 16:09:49 fastreid]: Full config saved to /mnt/docker/repos_git/fast-reid/logs/veriwild/bagtricks_R50-ibn_4gpu/config.yaml
[06/16 16:09:49 fastreid.utils.env]: Using a generated random seed 49486628
[06/16 16:09:49 fastreid.engine.defaults]: Prepare training set

Traceback (most recent call last):
  File "tools/train_net.py", line 57, in <module>
    args=(args,),
  File "./fastreid/engine/launch.py", line 71, in launch
    main_func(*args)
  File "tools/train_net.py", line 42, in main
    trainer = DefaultTrainer(cfg)
  File "./fastreid/engine/defaults.py", line 201, in __init__
    data_loader = self.build_train_loader(cfg)
  File "./fastreid/engine/defaults.py", line 400, in build_train_loader
    return build_reid_train_loader(cfg, combineall=cfg.DATASETS.COMBINEALL)
  File "./fastreid/config/config.py", line 264, in wrapped
    explicit_args = _get_args_from_config(from_config, *args, **kwargs)
  File "./fastreid/config/config.py", line 292, in _get_args_from_config
    ret = from_config_func(*args, **kwargs)
  File "./fastreid/data/build.py", line 36, in _train_loader_from_config
    data = DATASET_REGISTRY.get(d)(root=_root, **kwargs)
  File "./fastreid/data/datasets/veriwild.py", line 53, in __init__
    train = self.process_dir(self.train_list)
  File "./fastreid/data/datasets/veriwild.py", line 71, in process_dir
    print(self.imgid2imgpath[imgid])
KeyError: '000001'

As Workaround I removed this line from train_test.txt and worked.
But this new error is raised during training... how to fix it?
[06/16 06:33:57 fastreid.utils.events]:  eta: 1 day, 21:06:04  epoch/iter: 9/43399  total_loss: 5.984  loss_cls: 5.923  loss_triplet: 0.04957  time: 0.3407  data_time: 0.0018  lr: 3.50e-04  max_mem: 6332M
[06/16 06:33:57 fastreid.engine.defaults]: Prepare testing set
[06/16 06:33:59 fastreid.data.datasets.bases]: => Loaded SmallVeRiWild in csv format:
| subset   | # ids   | # images   | # cameras   |
|:---------|:--------|:-----------|:------------|
| query    | 3000    | 3000       | 105         |
| gallery  | 3000    | 38861      | 146         |
[06/16 06:33:59 fastreid.evaluation.evaluator]: Start inference on 41861 images
ERROR [06/16 06:34:01 fastreid.engine.train_loop]: Exception during training:
Traceback (most recent call last):
  File "./fastreid/engine/train_loop.py", line 147, in train
    self.after_epoch()
  File "./fastreid/engine/train_loop.py", line 181, in after_epoch
    h.after_epoch()
  File "./fastreid/engine/hooks.py", line 377, in after_epoch
    self._do_eval()
  File "./fastreid/engine/hooks.py", line 351, in _do_eval
    results = self._func()
  File "./fastreid/engine/defaults.py", line 303, in test_and_save_results
    self._last_eval_results = self.test(self.cfg, self.model)
  File "./fastreid/engine/defaults.py", line 439, in test
    results_i = inference_on_dataset(model, data_loader, evaluator, flip_test=cfg.TEST.FLIP.ENABLED)
  File "./fastreid/evaluation/evaluator.py", line 126, in inference_on_dataset
    evaluator.process(inputs, outputs)
  File "./fastreid/evaluation/reid_evaluation.py", line 43, in process
    'camids': inputs['camids'].to(self._cpu_device)
AttributeError: 'list' object has no attribute 'to'
[06/16 06:34:01 fastreid.engine.hooks]: Overall training speed: 43398 iterations in 4:06:27 (0.3407 s / it)
[06/16 06:34:01 fastreid.engine.hooks]: Total training time: 4:07:54 (0:01:26 on hooks)
Traceback (most recent call last):
  File "tools/train_net.py", line 57, in <module>
    args=(args,),
  File "./fastreid/engine/launch.py", line 71, in launch
    main_func(*args)
  File "tools/train_net.py", line 45, in main
    return trainer.train()
  File "./fastreid/engine/defaults.py", line 348, in train
    super().train(self.start_epoch, self.max_epoch, self.iters_per_epoch)
  File "./fastreid/engine/train_loop.py", line 147, in train
    self.after_epoch()
  File "./fastreid/engine/train_loop.py", line 181, in after_epoch
    h.after_epoch()
  File "./fastreid/engine/hooks.py", line 377, in after_epoch
    self._do_eval()
  File "./fastreid/engine/hooks.py", line 351, in _do_eval
    results = self._func()
  File "./fastreid/engine/defaults.py", line 303, in test_and_save_results
    self._last_eval_results = self.test(self.cfg, self.model)
  File "./fastreid/engine/defaults.py", line 439, in test
    results_i = inference_on_dataset(model, data_loader, evaluator, flip_test=cfg.TEST.FLIP.ENABLED)
  File "./fastreid/evaluation/evaluator.py", line 126, in inference_on_dataset
    evaluator.process(inputs, outputs)
  File "./fastreid/evaluation/reid_evaluation.py", line 43, in process
    'camids': inputs['camids'].to(self._cpu_device)
AttributeError: 'list' object has no attribute 'to'

I met the same problem.

fix it in d792a69f3f69159ba3ca6341a8be0e6da2b31633


Add returnOnNull filter option

What does this PR do?
This pull request adds a returnOnNull option which will break the filter chain and return null if a null value is found anywhere within the chain.
Checklist

[x] Pull request contains a clear definition of changes
[x] Tests (either unit, integration, or acceptance) written and passing
[x] Relevant documentation produced and/or updated

Coverage remained the same at 100.0% when pulling d6e3bb7547a64d052accaae422770542e2652903 on chadicus:master into a8dec173063ee2444ec297f065f64496b7d21590 on traderinteractive:master.


SFBF deserialization fails

Demo repo
https://github.com/abapGit-tests/SFBF.git
Diff after pull

And a shortdump when navigating to the object via abapGit or tx SFW2

is this a new bug or has it been broken for a long time?

Seems quite new.
abapGit CI says that it was ok on february 20th
https://github.com/abapGit/ci.abapgit.org/blob/b59a93e8cf88410d7ae85d4d7ed98b7555cd1a8a/src/08002743b1381ed8b8a29429c189dd50.smim.abapgit_ci_result.html#L813-L825
and failed the first time on february 21th
https://github.com/abapGit/ci.abapgit.org/blob/dc1b558cb0079b94c57fae6f46b1af0cd9169a35/src/08002743b1381ed8b8a29429c189dd50.smim.abapgit_ci_result.html#L813-L825
Wasn't that the time we merged parallel DDIC activation? But could also be a coincidence.

yea, guess the problem is the parallel ddic activation, I'm also not sure if I would categorize SFBF as DDIC

yes side effects of the new DDIC actiavtion.
Fixed in the draft #2518 seems it needs the old activation function.
I think this is for SFBF, SFBS and maybe SFWF?

Meanwhile the object is deserialized but inactive.


adding env var for --terragrunt-include-external-dependencies

Hey there!
We've been running into the same issue as #1418 and gruntwork-io/terratest/issues/699. This small patch provides the ability to use an environment var with the expected behavior.
I looked through the tests around this code and didn't see where the env var bits for cli flags were tested. I'm happy to add coverage for this or discuss any required changes.
Let me know what thoughts are around the change.
Edit: forgot to include test run output, gist link here - not sure if the full integration tests need to pass as well, in which case I'll need to read through what is required in AWS and plan accordingly.

@brikis98 sorry about the hassle on the strange commit for configstack/stack.go and my poorly configured vscode plugins for markdown.
I think all your comments are addressed now.

Tests passed! Merging now.

https://github.com/gruntwork-io/terragrunt/releases/tag/v0.29.9


NavigatorIOS doesn't work with TabBarIOS

Inside of my index.ios.js, I've got this:
render() {
    return (
      <TabBarIOS
        selectedTab={this.state.selectedTab}>
        <TabBarItemIOS
          name="search"
          icon={require('image!search')}
          selected={this.state.selectedTab === 'search'}
          onPress={() => {
            this.setState({
              selectedTab: 'search'
            });
          }}>
          <View>
            <NavigatorIOS
              ref="nav"
              initialRoute={{
                component: SearchScreen,
                title: config.names.search,
              }}
            />
          </View>
        </TabBarItemIOS>
      </TabBarIOS>
    );
  }

When the tab is selected, it does not display the NavigatorIOS correctly. The navigation bar appears at the top (and the navigator's initial route component does get mounted). However, it is not displayed at all. It's just a blank space inside.
When I try rendering the initial route component outside of the NavigatorIOS, it works just fine. Is this intended behavior?

Try giving your NavigatorIOS a style of flex=1:
...
<NavigatorIOS
    ref="nav"
    style={{
        flex:1,
    }}
   initialRoute={{
       ...
   }}
/>
...

@pjjanak Unfortunately, that does not fix it. Thank you for the suggestion, though!

Try @pjjanak suggestion but remove wrapper <View> around <NavigatorIOS>

That works! Thanks!


What is the default limit of results to be returned when running post_find?

When I run 'post_find' results are limited to 25 documents. Should I expect this?  Looking at the docs I would have assumed it to be unlimited, unless this default limit is controlled by a server config somewhere?
If not, and the default is 25, might be worth updating the docs to reflect this.

It is indeed a server configuration and  the default is 25 in CouchDB.
Cloudant's limits are documented here.

Thanks @ricellis , I think the default must have been bigger for couch 2. I recently upgraded to couch 3 and that's what brought the limit down.


Filter expressions for humans

Is your feature request related to a problem? Please describe.
I'm not feeling well, I just wanted to get this thought out. I'll expand in the future.
10 year ago I was writing code for computers, now I'm writing code for humans. Similar to CLI arguments (-h vs --help) the filter expressions should allow a verbose counterpart. E.g. ~b vs ~body or ~c vs ~status_code. Like I said I'll put some more thought into it later. I feel like the current expressions grew historically, since there's an inconsistent mix of ~bs, ~dsts and ~websockets.

I might come back in the future.


[update-checkout] Fetch if the local branch/tag doesn't exist

Dependencies are usually updated to a different branch/tag name
when new versions get new released, but local checkout might not
have that fetched yet, so if initial checkout fails, let's fetch
before attempting to checkout.

Fresh case - experimental-string-processing switching to dev/5 which I didn't have locally.

@swift-ci please smoke test

@swift-ci please smoke test

@xedin this needs a test


429 suspicious activity and locked out for hours from Panasonic comfort cloud - account with multiple AC's

Hi,
After installing in HA thru HACS and entering a login for Panasonic comfort cloud, all my AC's (3 locations)  are visible and give data to HA. Interaction with the AC is possible, I can turn it on-off, etc. I see temperature. All seems ok.
After 2-3 interactions with the AC, I get errors and I am unable to use or access the AC's thru HA but also get blocked/logged out in the app. Note the app was not open or active at this point, I have also tried logging out of the app first to avoid both interacting at the same time, it makes no difference, the account with multiple AC's gets locked after a little while (<1 hour).
Having tried to research the errors I find other people making interaction with this API service, experiencing this if they have more than one AC in the account and it seems something is triggering Panasonics systems that there is too many hits within a certain amount of time and they then block the account for x number of hours before opening again. But without more AC's it becomes difficult for the developer to test/experience.
In my case my account had 3 locations with a total of 10 AC's, I tried removing 2, it did not help. I tried disabling all but two, it did not help.
I then found some people solved the problem for a similair script for Homey by making a new account and giving access only to a few AC's for this account and using it only to automate. I have created an account with 2 AC's in now. But when I connect this account, it shows me that it found the 8 AC's from the previous account. Most likely something in configuration or cache is not removed when deleting the hub?
To be clear just like in the other threads I have found with people having this problem, the mobile app can interact without any problems, including with 10 AC's and even with two phones active on the same app and account. It is only when using the scripts and this component that after 2-3 interactions everything is logged out and blocked for hours before being restored.
I have tried uninstalling, installing, deleting, etc. multiple times it makes no difference, the new account with access to only 2 AC's (confirmed in the app), when I connect it in HA hub, it shows 8 AC's from the previous account that is no longer connected.
I even tried connecting the old primary account, then adding a secondary account as the next hub, thinking I would disable or delete the first after, but when connecting the second I get an error, possibly due to being the same AC ids'?
I can possibly solve this myself, if you help me with information on how I can add the secondary account, without it getting mixed in the old data, i.e. how do I remove the old data when uninstalling the component is not enough. As I think the secondary account will not get locked out, as it only has two AC's. I can then add a third account for the next two, etc.
If anyone knows how to remove the cached information let me know.
Alternatively if there is a way to test limiting how many calls of certain types or just in general that are made within x time, we can test what triggers it and what does not?
I am happy to do more debugging, including I can do tests directly on the code or with remote work. I do normally work with programming, but I don't normallyt work in Python or Home Assistant, so my knowledge there is not enough to fix it without help/tips.
Thank you.
Regards
Sole
Using HA Core OS
Core
2023.11.3
Supervisor
2023.11.6
I see errors getting http status code 429
I get messages saying suspicious acitivity detected from Panasonic
Account blocked in the app
A few logged errors to choose from:
2023-12-01 23:28:11.159 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry  for panasonic_cc
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 402, in async_setup
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/panasonic_cc/__init__.py", line 79, in async_setup_entry
    devices = await hass.async_add_executor_job(api.get_devices)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/panasonic_cc/pcomfortcloud/session.py", line 207, in get_devices
    self.login()
  File "/config/custom_components/panasonic_cc/pcomfortcloud/session.py", line 106, in login
    self._create_token()
  File "/config/custom_components/panasonic_cc/pcomfortcloud/session.py", line 164, in _create_token
    raise ResponseError(response.status_code, response.text)
custom_components.panasonic_cc.pcomfortcloud.session.ResponseError: Invalid response, status code: 429 - Data:
2023-12-01 23:28:38.945 ERROR (MainThread) [frontend.js.latest.202310302] Uncaught error from Chrome <IP_ADDRESS> on Windows 10
TypeError: Cannot read properties of null (reading 'removeEventListener')
renderHeading (src/components/ha-dialog.ts:51:24)
apply (src/scoped-custom-element-registry.js:262:44)
mainWindow.history.pushState (src/dialogs/make-dialog-manager.ts:129:7)

2023-12-01 23:50:25.330 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [139950573469248] Invalid response, status code: 429 - Data:
Traceback (most recent call last):
  File "/config/custom_components/panasonic_cc/panasonic.py", line 21, in wrapper_call
    func(*args, **kwargs)
  File "/config/custom_components/panasonic_cc/panasonic.py", line 353, in set_device
    self._api.set_device(
  File "/config/custom_components/panasonic_cc/pcomfortcloud/session.py", line 426, in set_device
    raise ResponseError(response.status_code, response.text)
custom_components.panasonic_cc.pcomfortcloud.session.ResponseError: Invalid response, status code: 429 - Data:

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 230, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 2035, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2072, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 235, in handle_service
    return await service.entity_service_call(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 876, in entity_service_call
    response_data = await _handle_entity_call(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 948, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/scene/__init__.py", line 114, in _async_activate
    await self.async_activate(**kwargs)
  File "/usr/src/homeassistant/homeassistant/components/homeassistant/scene.py", line 334, in async_activate
    await async_reproduce_state(
  File "/usr/src/homeassistant/homeassistant/helpers/state.py", line 67, in async_reproduce_state
    await asyncio.gather(
  File "/usr/src/homeassistant/homeassistant/helpers/state.py", line 61, in worker
    await platform.async_reproduce_states(
  File "/usr/src/homeassistant/homeassistant/components/climate/reproduce_state.py", line 92, in async_reproduce_states
    await asyncio.gather(
  File "/usr/src/homeassistant/homeassistant/components/climate/reproduce_state.py", line 78, in _async_reproduce_states
    await call_service(SERVICE_SET_FAN_MODE, [ATTR_FAN_MODE])
  File "/usr/src/homeassistant/homeassistant/components/climate/reproduce_state.py", line 51, in call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 2035, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2072, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 235, in handle_service
    return await service.entity_service_call(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 876, in entity_service_call
    response_data = await _handle_entity_call(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 948, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/config/custom_components/panasonic_cc/climate.py", line 160, in async_set_fan_mode
    await self._api.set_fan_mode(fan_mode)
  File "/config/custom_components/panasonic_cc/panasonic.py", line 284, in set_fan_mode
    await self.hass.async_add_executor_job(
  File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/panasonic_cc/panasonic.py", line 23, in wrapper_call
    args[0]._api.login()
  File "/config/custom_components/panasonic_cc/pcomfortcloud/session.py", line 106, in login
    self._create_token()
  File "/config/custom_components/panasonic_cc/pcomfortcloud/session.py", line 164, in _create_token
    raise ResponseError(response.status_code, response.text)
custom_components.panasonic_cc.pcomfortcloud.session.ResponseError: Invalid response, status code: 429 - Data:
2023-12-01 23:50:27.213 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [139950573469248] Invalid response, status code: 429 - Data:
Traceback (most recent call last):
  File "/config/custom_components/panasonic_cc/panasonic.py", line 21, in wrapper_call
    func(*args, **kwargs)
  File "/config/custom_components/panasonic_cc/panasonic.py", line 353, in set_device
    self._api.set_device(
  File "/config/custom_components/panasonic_cc/pcomfortcloud/session.py", line 426, in set_device
    raise ResponseError(response.status_code, response.text)
custom_components.panasonic_cc.pcomfortcloud.session.ResponseError: Invalid response, status code: 429 - Data:

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 230, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 2035, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2072, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 235, in handle_service
    return await service.entity_service_call(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 876, in entity_service_call
    response_data = await _handle_entity_call(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 948, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/scene/__init__.py", line 114, in _async_activate
    await self.async_activate(**kwargs)
  File "/usr/src/homeassistant/homeassistant/components/homeassistant/scene.py", line 334, in async_activate
    await async_reproduce_state(
  File "/usr/src/homeassistant/homeassistant/helpers/state.py", line 67, in async_reproduce_state
    await asyncio.gather(
  File "/usr/src/homeassistant/homeassistant/helpers/state.py", line 61, in worker
    await platform.async_reproduce_states(
  File "/usr/src/homeassistant/homeassistant/components/climate/reproduce_state.py", line 92, in async_reproduce_states
    await asyncio.gather(
  File "/usr/src/homeassistant/homeassistant/components/climate/reproduce_state.py", line 56, in _async_reproduce_states
    await call_service(SERVICE_SET_HVAC_MODE, [], {ATTR_HVAC_MODE: state.state})
  File "/usr/src/homeassistant/homeassistant/components/climate/reproduce_state.py", line 51, in call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 2035, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2072, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 235, in handle_service
    return await service.entity_service_call(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 876, in entity_service_call
    response_data = await _handle_entity_call(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 948, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/config/custom_components/panasonic_cc/climate.py", line 127, in async_set_hvac_mode
    await self._api.turn_off()
  File "/config/custom_components/panasonic_cc/panasonic.py", line 234, in turn_off
    await self.hass.async_add_executor_job(
  File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/panasonic_cc/panasonic.py", line 23, in wrapper_call
    args[0]._api.login()
  File "/config/custom_components/panasonic_cc/pcomfortcloud/session.py", line 106, in login
    self._create_token()
  File "/config/custom_components/panasonic_cc/pcomfortcloud/session.py", line 164, in _create_token
    raise ResponseError(response.status_code, response.text)
custom_components.panasonic_cc.pcomfortcloud.session.ResponseError: Invalid response, status code: 429 - Data:

2023-11-24 12:38:30.161 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry  for panasonic_cc
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 402, in async_setup
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/panasonic_cc/__init__.py", line 79, in async_setup_entry
    devices = await hass.async_add_executor_job(api.get_devices)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/panasonic_cc/pcomfortcloud/session.py", line 207, in get_devices
    self.login()
  File "/config/custom_components/panasonic_cc/pcomfortcloud/session.py", line 106, in login
    self._create_token()
  File "/config/custom_components/panasonic_cc/pcomfortcloud/session.py", line 164, in _create_token
    raise ResponseError(response.status_code, response.text)
custom_components.panasonic_cc.pcomfortcloud.session.ResponseError: Invalid response, status code: 429 - Data:

2023-12-01 11:53:15.283 ERROR (MainThread) [homeassistant.config_entries] Error unloading entry  for panasonic_cc
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 557, in async_unload
    result = await component.async_unload_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/panasonic_cc/__init__.py", line 102, in async_unload_entry
    await asyncio.wait(
  File "/usr/local/lib/python3.11/asyncio/tasks.py", line 425, in wait
    raise TypeError("Passing coroutines is forbidden, use tasks explicitly.")
TypeError: Passing coroutines is forbidden, use tasks explicitly.
2023-12-01 11:53:15.285 WARNING (MainThread) [py.warnings] /usr/src/homeassistant/homeassistant/config_entries.py:576: RuntimeWarning: coroutine 'ConfigEntries.async_forward_entry_unload' was never awaited
  return False

2023-12-01 23:11:58.506 ERROR (MainThread) [homeassistant.components.automation.office_ac_off] Office AC Off: Error executing script. Unexpected error for device at pos 1: Invalid response, status code: 429 - Data:
Traceback (most recent call last):
  File "/config/custom_components/panasonic_cc/panasonic.py", line 21, in wrapper_call
    func(*args, **kwargs)
  File "/config/custom_components/panasonic_cc/panasonic.py", line 353, in set_device
    self._api.set_device(
  File "/config/custom_components/panasonic_cc/pcomfortcloud/session.py", line 426, in set_device
    raise ResponseError(response.status_code, response.text)
custom_components.panasonic_cc.pcomfortcloud.session.ResponseError: Invalid response, status code: 429 - Data:

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 468, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 720, in _async_device_step
    await device_action.async_call_action_from_config(
  File "/usr/src/homeassistant/homeassistant/components/device_automation/action.py", line 71, in async_call_action_from_config
    await platform.async_call_action_from_config(hass, config, variables, context)
  File "/usr/src/homeassistant/homeassistant/components/climate/device_action.py", line 97, in async_call_action_from_config
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 2035, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2072, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 235, in handle_service
    return await service.entity_service_call(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 876, in entity_service_call
    response_data = await _handle_entity_call(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 948, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/config/custom_components/panasonic_cc/climate.py", line 127, in async_set_hvac_mode
    await self._api.turn_off()
  File "/config/custom_components/panasonic_cc/panasonic.py", line 234, in turn_off
    await self.hass.async_add_executor_job(
  File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/panasonic_cc/panasonic.py", line 23, in wrapper_call
    args[0]._api.login()
  File "/config/custom_components/panasonic_cc/pcomfortcloud/session.py", line 106, in login
    self._create_token()
  File "/config/custom_components/panasonic_cc/pcomfortcloud/session.py", line 164, in _create_token
    raise ResponseError(response.status_code, response.text)
custom_components.panasonic_cc.pcomfortcloud.session.ResponseError: Invalid response, status code: 429 - Data:
2023-12-01 23:11:58.511 ERROR (MainThread) [homeassistant.components.automation.office_ac_off] While executing automation automation.office_ac_off
Traceback (most recent call last):
  File "/config/custom_components/panasonic_cc/panasonic.py", line 21, in wrapper_call
    func(*args, **kwargs)
  File "/config/custom_components/panasonic_cc/panasonic.py", line 353, in set_device
    self._api.set_device(
  File "/config/custom_components/panasonic_cc/pcomfortcloud/session.py", line 426, in set_device
    raise ResponseError(response.status_code, response.text)
custom_components.panasonic_cc.pcomfortcloud.session.ResponseError: Invalid response, status code: 429 - Data:

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/automation/__init__.py", line 655, in async_trigger
    await self.action_script.async_run(
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1578, in async_run
    return await asyncio.shield(run.async_run())
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 420, in async_run
    await self._async_step(log_exceptions=False)
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 470, in _async_step
    self._handle_exception(
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 493, in _handle_exception
    raise exception
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 468, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 720, in _async_device_step
    await device_action.async_call_action_from_config(
  File "/usr/src/homeassistant/homeassistant/components/device_automation/action.py", line 71, in async_call_action_from_config
    await platform.async_call_action_from_config(hass, config, variables, context)
  File "/usr/src/homeassistant/homeassistant/components/climate/device_action.py", line 97, in async_call_action_from_config
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 2035, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2072, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 235, in handle_service
    return await service.entity_service_call(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 876, in entity_service_call
    response_data = await _handle_entity_call(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 948, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/config/custom_components/panasonic_cc/climate.py", line 127, in async_set_hvac_mode
    await self._api.turn_off()
  File "/config/custom_components/panasonic_cc/panasonic.py", line 234, in turn_off
    await self.hass.async_add_executor_job(
  File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/panasonic_cc/panasonic.py", line 23, in wrapper_call
    args[0]._api.login()
  File "/config/custom_components/panasonic_cc/pcomfortcloud/session.py", line 106, in login
    self._create_token()
  File "/config/custom_components/panasonic_cc/pcomfortcloud/session.py", line 164, in _create_token
    raise ResponseError(response.status_code, response.text)
custom_components.panasonic_cc.pcomfortcloud.session.ResponseError: Invalid response, status code: 429 - Data:
2023-12-01 23:11:59.010 ERROR (MainThread) [homeassistant.components.automation.office_ac_off] Office AC Off: Error executing script. Unexpected error for device at pos 1: Invalid response, status code: 429 - Data:
Traceback (most recent call last):
  File "/config/custom_components/panasonic_cc/panasonic.py", line 21, in wrapper_call
    func(*args, **kwargs)
  File "/config/custom_components/panasonic_cc/panasonic.py", line 353, in set_device
    self._api.set_device(
  File "/config/custom_components/panasonic_cc/pcomfortcloud/session.py", line 426, in set_device
    raise ResponseError(response.status_code, response.text)
custom_components.panasonic_cc.pcomfortcloud.session.ResponseError: Invalid response, status code: 429 - Data:

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 468, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 720, in _async_device_step
    await device_action.async_call_action_from_config(
  File "/usr/src/homeassistant/homeassistant/components/device_automation/action.py", line 71, in async_call_action_from_config
    await platform.async_call_action_from_config(hass, config, variables, context)
  File "/usr/src/homeassistant/homeassistant/components/climate/device_action.py", line 97, in async_call_action_from_config
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 2035, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2072, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 235, in handle_service
    return await service.entity_service_call(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 876, in entity_service_call
    response_data = await _handle_entity_call(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 948, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/config/custom_components/panasonic_cc/climate.py", line 127, in async_set_hvac_mode
    await self._api.turn_off()
  File "/config/custom_components/panasonic_cc/panasonic.py", line 234, in turn_off
    await self.hass.async_add_executor_job(
  File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/panasonic_cc/panasonic.py", line 23, in wrapper_call
    args[0]._api.login()
  File "/config/custom_components/panasonic_cc/pcomfortcloud/session.py", line 106, in login
    self._create_token()
  File "/config/custom_components/panasonic_cc/pcomfortcloud/session.py", line 164, in _create_token
    raise ResponseError(response.status_code, response.text)
custom_components.panasonic_cc.pcomfortcloud.session.ResponseError: Invalid response, status code: 429 - Data:
2023-12-01 23:11:59.014 ERROR (MainThread) [homeassistant.components.automation.office_ac_off] While executing automation automation.office_ac_off
Traceback (most recent call last):
  File "/config/custom_components/panasonic_cc/panasonic.py", line 21, in wrapper_call
    func(*args, **kwargs)
  File "/config/custom_components/panasonic_cc/panasonic.py", line 353, in set_device
    self._api.set_device(
  File "/config/custom_components/panasonic_cc/pcomfortcloud/session.py", line 426, in set_device
    raise ResponseError(response.status_code, response.text)
custom_components.panasonic_cc.pcomfortcloud.session.ResponseError: Invalid response, status code: 429 - Data:

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/automation/__init__.py", line 655, in async_trigger
    await self.action_script.async_run(
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1578, in async_run
    return await asyncio.shield(run.async_run())
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 420, in async_run
    await self._async_step(log_exceptions=False)
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 470, in _async_step
    self._handle_exception(
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 493, in _handle_exception
    raise exception
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 468, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 720, in _async_device_step
    await device_action.async_call_action_from_config(
  File "/usr/src/homeassistant/homeassistant/components/device_automation/action.py", line 71, in async_call_action_from_config
    await platform.async_call_action_from_config(hass, config, variables, context)
  File "/usr/src/homeassistant/homeassistant/components/climate/device_action.py", line 97, in async_call_action_from_config
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 2035, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2072, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 235, in handle_service
    return await service.entity_service_call(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 876, in entity_service_call
    response_data = await _handle_entity_call(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 948, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/config/custom_components/panasonic_cc/climate.py", line 127, in async_set_hvac_mode
    await self._api.turn_off()
  File "/config/custom_components/panasonic_cc/panasonic.py", line 234, in turn_off
    await self.hass.async_add_executor_job(
  File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/panasonic_cc/panasonic.py", line 23, in wrapper_call
    args[0]._api.login()
  File "/config/custom_components/panasonic_cc/pcomfortcloud/session.py", line 106, in login
    self._create_token()
  File "/config/custom_components/panasonic_cc/pcomfortcloud/session.py", line 164, in _create_token
    raise ResponseError(response.status_code, response.text)
custom_components.panasonic_cc.pcomfortcloud.session.ResponseError: Invalid response, status code: 429 - Data:

2023-12-01 23:16:10.230 DEBUG (MainThread) [custom_components.panasonic_cc.panasonic] Error trying to get device d71b1acc0f6945f896ab46a355f81de5a7af04c5d0cf8968740bb05cd02e1b91 state, probably expired token, trying to update it...
2023-12-01 23:16:10.233 DEBUG (MainThread) [custom_components.panasonic_cc.panasonic] Error trying to get device d71b1acc0f6945f896ab46a355f81de5a7af04c5d0cf8968740bb05cd02e1b91 state, probably expired token, trying to update it...
2023-12-01 23:16:10.234 DEBUG (MainThread) [custom_components.panasonic_cc.panasonic] Error trying to get device 74e1ada6e728a9c2382b2e84e1d6fe005990437f60a1478626a532a6acc14c31 state, probably expired token, trying to update it...
2023-12-01 23:16:10.246 DEBUG (MainThread) [custom_components.panasonic_cc.panasonic] Error trying to get device 099b59fa7aeb355812c325918771a36a2076b542e723f599029026bff9b18ade state, probably expired token, trying to update it...
2023-12-01 23:16:10.246 DEBUG (MainThread) [custom_components.panasonic_cc.panasonic] Error trying to get device 099b59fa7aeb355812c325918771a36a2076b542e723f599029026bff9b18ade state, probably expired token, trying to update it...
2023-12-01 23:16:10.249 DEBUG (MainThread) [custom_components.panasonic_cc.panasonic] Error trying to get device 8c072bb735bbf3d49c9a65c29f50389f89dae7b46abb195e78eb815961c32b80 state, probably expired token, trying to update it...
2023-12-01 23:16:10.255 DEBUG (MainThread) [custom_components.panasonic_cc.panasonic] Error trying to get device 74e1ada6e728a9c2382b2e84e1d6fe005990437f60a1478626a532a6acc14c31 state, probably expired token, trying to update it...
2023-12-01 23:16:10.267 DEBUG (MainThread) [custom_components.panasonic_cc.panasonic] Error trying to get device c7aef25d4681d8e97315aafe280c465573a309c181662ebed47f3a45aab9355c state, probably expired token, trying to update it...
2023-12-01 23:16:10.273 DEBUG (MainThread) [custom_components.panasonic_cc.panasonic] Error trying to get device 64c20d4fbfb75263c071d907d88eea22157a7a9e8031cb5889f1881953fad660 state, probably expired token, trying to update it...
2023-12-01 23:16:10.287 DEBUG (MainThread) [custom_components.panasonic_cc.panasonic] Failed to renew token for device d71b1acc0f6945f896ab46a355f81de5a7af04c5d0cf8968740bb05cd02e1b91, giving up for now
2023-12-01 23:16:10.296 DEBUG (MainThread) [custom_components.panasonic_cc.panasonic] Failed to renew token for device 099b59fa7aeb355812c325918771a36a2076b542e723f599029026bff9b18ade, giving up for now
2023-12-01 23:16:10.328 DEBUG (MainThread) [custom_components.panasonic_cc.panasonic] Failed to renew token for device c7aef25d4681d8e97315aafe280c465573a309c181662ebed47f3a45aab9355c, giving up for now
2023-12-01 23:16:10.330 DEBUG (MainThread) [custom_components.panasonic_cc.panasonic] Failed to renew token for device d71b1acc0f6945f896ab46a355f81de5a7af04c5d0cf8968740bb05cd02e1b91, giving up for now
2023-12-01 23:16:10.333 DEBUG (MainThread) [custom_components.panasonic_cc.panasonic] Failed to renew token for device 64c20d4fbfb75263c071d907d88eea22157a7a9e8031cb5889f1881953fad660, giving up for now
2023-12-01 23:16:10.335 DEBUG (MainThread) [custom_components.panasonic_cc.panasonic] Failed to renew token for device 74e1ada6e728a9c2382b2e84e1d6fe005990437f60a1478626a532a6acc14c31, giving up for now
2023-12-01 23:16:10.336 DEBUG (MainThread) [custom_components.panasonic_cc.panasonic] Failed to renew token for device 8c072bb735bbf3d49c9a65c29f50389f89dae7b46abb195e78eb815961c32b80, giving up for now
2023-12-01 23:16:10.341 DEBUG (MainThread) [custom_components.panasonic_cc.panasonic] Failed to renew token for device 099b59fa7aeb355812c325918771a36a2076b542e723f599029026bff9b18ade, giving up for now
2023-12-01 23:16:10.347 DEBUG (MainThread) [custom_components.panasonic_cc.panasonic] Failed to renew token for device 74e1ada6e728a9c2382b2e84e1d6fe005990437f60a1478626a532a6acc14c31, giving up for now

Hi. I have 6 AC’s and I just have the same error today :(

I have 1 AC and since this morning it is no longer working for me, same error HTTP 429

Just checked my HA log, and since 2 am local time the integration gets a 503 every 5 minutes and it appears that the 503 is retried several times (?). So seeing this I can understand the 429

Same for me. So something change this nights
All my AC's stop to work in HA today (but the panasonic app works) so all my automation didn't work this morning and woke up in a polar cold :(

Same issue here with 5 ACs. I disabled automations. the panasonic app seems to be working.

Same here with 3 ACs. Panasonic app is still working.

To  everybody , did you try to reconnect the plug in or not ? I disabled it and I plan to wait 48h before trying again

hi,
Same problem today, Panasonic App works

Try logout from Panasonic app and login again - can you login? I have error : Suspicious activity and account blocked for 24h.

 I had it too - that it did not work through the API, in the application it worked for a while and then ban for 24h. So better find battery and remote ;)

OK, the ban on the account is lifted after 24 hours,  You can then use the account in the app, but NOT in HA, I get
'''pcomfortcloud.session.ResponseError: Invalid response, status code: 500 - Data: {"code":5001,"message":"DB system error due to db system"}
"""
The account is not banned and is still usable via the app. Suspect for as long as I dont force the code 500 I will not be banned.

Hi,
This morning I just reloaded the Panasonic integration on HA and it works again. hoping it holds

They blocked my account again for 24 hours due to incorrect login attempts. 😓

May be solved by #152 if we could disable polling.


fix: Query fee estimates from internal port 80

Internally the faucet is listening to the port 80. This is fixing the following error messages in lnd.
2023-07-22 05:18:04.923 [ERR] LNWL: unable to query web api for fee response: Get "http://<IP_ADDRESS>:8080/fee/btc-fee-estimates.json": dial tcp <IP_ADDRESS>:8080: connect: connection refused
2023-07-22 05:18:04.923 [ERR] LNWL: unable to query estimator: web API error: fee rate cache is empty
``

bors r+


ISA_cve_plugin: error handling of 'cve' searches of patch filenames

Found during a source code scan for OpenXT ( http://openXT.org ).
This patch filename:
meta-selinux/recipes-security/selinux/libsemanage/libsemanage-Fix-execve-segfaults-on-Ubuntu.patch
unfortunately contains the substring 'cve' which confuses the tool
looking for CVE identifiers in patch filenames.
Ignore patches where the string parsing does not match.
Signed-off-by: Christopher Clark<EMAIL_ADDRESS>

Can one of the admins verify this patch?

test this please

Checks passed, reports generated. Thank you!


add protocol list view (Trac #33)

-create a list view showing the protocol steps and allowing the user
to edit parameters (e.g., voltage, frequency) in bulk
-would be cool to do this in a way that could be generalized this to
work with other plugins (maybe a right click menu, e.g., "Set
voltage", "Feedback options", etc.)
Migrated from http://microfluidics.utoronto.ca/ticket/33
{
    "status": "closed",
    "changetime": "2014-04-17T19:39:01",
    "description": "-create a list view showing the protocol steps and allowing the user\nto edit parameters (e.g., voltage, frequency) in bulk\n-would be cool to do this in a way that could be generalized this to\nwork with other plugins (maybe a right click menu, e.g., \"Set\nvoltage\", \"Feedback options\", etc.)",
    "reporter": "cfobel",
    "cc": "",
    "resolution": "fixed",
    "_ts": "1397763541728826",
    "component": "microdrop",
    "summary": "add protocol list view",
    "priority": "major",
    "keywords": "",
    "version": "0.1",
    "time": "2012-01-06T21:39:19",
    "milestone": "Microdrop 1.0",
    "owner": "cfobel",
    "type": "enhancement"
}

Trac update at 20120127T01:39:07:

<EMAIL_ADDRESS>commented:

commit 0f26d32732240a4f659a338df86bcffb5d2ce726
Author: Christian Fobel<EMAIL_ADDRESS>Date:   Thu Jan 26 20:26:57 2012 -0500
[SUBMODULE] Switch back to dmf_control_board ma...

[SUBMODULE] Switch back to dmf_control_board master branch. Fixes #37.

<EMAIL_ADDRESS>changed resolution from "" to "fixed"
<EMAIL_ADDRESS>changed status from "new" to "closed"

Trac update at 20120129T02:35:12<EMAIL_ADDRESS>commented:

commit b2ab88d3330d0568732f03cfef2a40a0c9ebc7d7
Merge: dd1f3aadd005c5f8ce10f5ee7f046006128fbfa3 bca6311c93bb4afca4c1b21e1e0ec2b9b298402f
Author: Christian Fobel<EMAIL_ADDRESS>Date:   Sat Jan 28 21:20:48 2012 -0500
Merge branch 'protocol_grid_right_click'

See #37.

Trac update at 20140417T19:39:01: ryan changed component from "core" to "microdrop"


Remove min/max for offset/limit in schema

The schema shouldn't set a min/max for the offset or limit

Actually use a min of 0 for offset and min of 1 for limit


Drop mocksocket & securemock dependencies from sniffer and rest client (no needed)

Signed-off-by: Andriy Redko<EMAIL_ADDRESS>Description
In scope of https://github.com/opensearch-project/OpenSearch/issues/114, it turned out the :client:sniffer and :client:rest test cases are never run under SecurityManager. As such, the usage of SecureMock and MockSocket is not needed and regular Mockito dependency could be used without any consequences.
Issues Resolved
Part of: https://github.com/opensearch-project/OpenSearch/issues/114
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[X] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Thank you for review, @dblock , comments / concerns addressed :-)

start gradle check

@dblock if you have time to take a final look please, seems to be all good. As a side note, I would be more than happy to help out with mocksocket & securemock deps in the test framework, there are a few options (besides forking and giving all permissions) which we could explore, what do you think?

@dblock if you have time to take a final look please, seems to be all good. As a side note, I would be more than happy to help out with mocksocket & securemock deps in the test framework, there are a few options (besides forking and giving all permissions) which we could explore, what do you think?

I merged this, thank you!
Your offer would be very much appreciate. I know @VachaShah has been looking into this, so just don't walk on each-other's shoes!

@reta, should we backport this into 1.1 as well?

@dblock yes, I will open the PR shortly, thank you!


List of symbols for glib

support vector is 2.28 (oh centos) through lastest (2.44) so we need to ifdef wrap new symbols

Updating support to latest LTS ubuntu version (2.50)
will accept ifdefs for older versions but I'm not doing the work :)
new symbols file exists in docs now with currently wrapped/in progress statuses


Doxygen update - geometric/morphological ops

Adds doxygen docs for geometric/morphological ops
Replaces hardcoded GPU flags with Doxygen tags to always generate CPU/GPU docs

@kiritigowda There were few changes pending in the previous doxygn PR. Merging this PR will equalize support for all funcs.


Use sfuture 1.0.0

Remove dependency on mpromise.

@junehwi please test it

Sent to the comment by<EMAIL_ADDRESS>e-mail.