Is version 14 broken?

Describe the issue
I tried to get the version 14 to work on my machine, but i always run into the error:
This command cannot be run due to the error: The file or directory is corrupted and unreadable.
at <ScriptBlock>, C:\Run\navinstall.ps1: line 47
at <ScriptBlock>, C:\Run\start.ps1: line 315
at <ScriptBlock>, <No file>: line 1
remove C:\NAVDVDError

Scripts used to create container and cause the issue
$artifactUrl = Get-BcArtifactUrl -type OnPrem -country na -version '14' -select latest
New-BcContainer `
    -accept_eula `
    -containerName test `
    -auth UserPassword `
    -artifactUrl $artifactUrl `
    -updateHosts `
    -alwaysPull `
    -isolation hyperv

Full output of scripts
BcContainerHelper is version 4.0.9
BcContainerHelper is running as administrator
Hyper-V is Enabled
UsePsSession is True
Host is Microsoft Windows 11 Pro - 21H2
Docker Client Version is 20.10.20
Docker Server Version is 20.10.20
Removing Desktop shortcuts
Fetching all docker images
Fetching all docker volumes
Pulling image mcr.microsoft.com/businesscentral:10.0.20348.1487
10.0.20348.1487: Pulling from businesscentral
Digest: sha256:a587834184d1f1e2855a52db7a20fba720de08e958559fd62e1702daa3d9be59
Status: Image is up to date for mcr.microsoft.com/businesscentral:10.0.20348.1487
mcr.microsoft.com/businesscentral:10.0.20348.1487
Using image mcr.microsoft.com/businesscentral:10.0.20348.1487
Creating Container test
Style: onprem
Multitenant: No
Version: 14.44.49619.0
Platform: 14.0.49616.0
Generic Tag: <IP_ADDRESS>
Container OS Version: 10.0.20348.1487 (ltsc2022)
Host OS Version: 10.0.22000.1455 (21H2)
Using hyperv isolation
Using locale en-US
Disabling the standard eventlog dump to container log every 2 seconds (use -dumpEventLog to enable)
Files in C:\ProgramData\BcContainerHelper\Extensions\test\my:
- AdditionalOutput.ps1
- MainLoop.ps1
- SetupVariables.ps1
- updatehosts.ps1
Creating container test from image mcr.microsoft.com/businesscentral:10.0.20348.1487
66beb96d934487c6b2e67eb8ccfac0fdb81739999d0f6b8819ca513494620881
Waiting for container test to be ready
Using artifactUrl https://bcartifacts.azureedge.net/onprem/14.44.49619.0/na
Using installer from C:\Run\130
Copying Platform Artifacts
c:\dl\onprem\14.44.49619.0\platform
Copying Application Artifacts
Copying Database
Copy Licensefile
Copying Installers
c:\dl\onprem\14.44.49619.0\na\Installers
Copying TestToolKit
c:\dl\onprem\14.44.49619.0\na\TestToolKit
Copying UpgradeToolKit
c:\dl\onprem\14.44.49619.0\na\UpgradeToolKit
Copying Extensions
c:\dl\onprem\14.44.49619.0\na\Extensions
Installing Business Central
Installing Url Rewrite
Installing OpenXML
Installing DotNetCore
This command cannot be run due to the error: The file or directory is corrupted and unreadable.
at <ScriptBlock>, C:\Run\navinstall.ps1: line 47
at <ScriptBlock>, C:\Run\start.ps1: line 315
at <ScriptBlock>, <No file>: line 1
remove C:\NAVDVDError
Using artifactUrl https://bcartifacts.azureedge.net/onprem/14.44.49619.0/na
Using installer from C:\Run\130
Copying Platform Artifacts
c:\dl\onprem\14.44.49619.0\platform
Copying Application Artifacts
Copying Database
Copy Licensefile
Copying Installers
c:\dl\onprem\14.44.49619.0\na\Installers
Copying TestToolKit
c:\dl\onprem\14.44.49619.0\na\TestToolKit
Copying UpgradeToolKit
c:\dl\onprem\14.44.49619.0\na\UpgradeToolKit
Copying Extensions
c:\dl\onprem\14.44.49619.0\na\Extensions
Installing Business Central
Installing Url Rewrite
Installing OpenXML
Installing DotNetCore
This command cannot be run due to the error: The file or directory is corrupted and unreadable.
at <ScriptBlock>, C:\Run\navinstall.ps1: line 47
at <ScriptBlock>, C:\Run\start.ps1: line 315
at <ScriptBlock>, <No file>: line 1
remove C:\NAVDVD
New-BCContainer Telemetry Correlation Id: 58b4c0e5-2df6-4898-8e99-50d1c6c66835
Initialization of container test failed
In C:\Program Files\WindowsPowerShell\Modules\BcContainerHelper\4.0.9\ContainerHandling\Wait-NavContainerReady.ps1:42
Zeichen:17
+ ...             throw "Initialization of container $containerName failed" ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (Initialization of container test failed:String) [], RuntimeException
    + FullyQualifiedErrorId : Initialization of container test failed

Additional context

It happens all the time.
Version 13 works fine.
Version 15 works fine.

Please try to run Flush-ContainerHelperCache to remove all downloaded artifacts to see whether there is a download error.

Thanks, it worked!


update automatic metadata construction

Update automatic metadata construction script to use new MTEBResults format.
Ideally, I would recommend a CLI like:
mteb meta --results {result-folder-for-model-results} --output-path {path_to_file}.md

Where output path can be an exisitng .md file, in which case it will just add the MTEB results to the yaml header.
Initial discussion here: https://github.com/embeddings-benchmark/mteb/pull/775#issuecomment-2123248841

Added in the latest version


infer-capture doesn't like compile_commands.json that uses "arguments" key

The Clang Configuration Database Format Specification allows either a command or an arguments key in the compile_commands.json file's command objects:

command: The compile command executed. After JSON unescaping, this must be a valid command to rerun the exact compilation step for the translation unit in the environment the build system uses. Parameters use shell quoting and shell escaping of quotes, with ‘"‘ and ‘\‘ being the only special characters. Shell expansion is not supported.
arguments: The compile command executed as list of strings. Either arguments or command is required.

Some tools, notably https://github.com/rizsotto/scan-build (a Python reimplementation of Clang's scan-build command) produces JSON files like the example below that includes arguments.
infer capture fails on such input files because parse_json doesn't know about arguments: https://github.com/facebook/infer/blob/3df1e52928b966582445f9a51e32bf22543111d1/infer/src/integration/CompilationDatabase.ml#L57-L82
Sample run:
$ infer capture --debug --compilation-database ~/work/mono/compile_commands.json
Capturing using compilation database...
Uncaught exception:

  (Failure "Json file doesn't have the expected format")

Raised at file "pervasives.ml", line 32, characters 17-33
Called from file "integration/CompilationDatabase.ml" (inlined), line 49, characters 4-59
Called from file "integration/CompilationDatabase.ml", line 76, characters 20-40
Called from file "list.ml", line 77, characters 12-15
Called from file "list.ml", line 77, characters 12-15
Called from file "src/core_list0.ml" (inlined), line 405, characters 16-30
Called from file "integration/CompilationDatabase.ml", line 87, characters 2-50
Called from file "backend/infer.ml", line 234, characters 29-73
Called from file "backend/infer.ml", line 510, characters 2-21
Called from file "backend/infer.ml", line 566, characters 32-45

This is using a version of infer from Homebrew:
$ infer --version
Infer version v0.12.1
Copyright 2009 - present Facebook. All Rights Reserved.

Example compile_commands.json:
[
    {
        "arguments": [
            "cc",
            "-c",
            "-DHAVE_CONFIG_H",
            "-I.",
            "-I../..",
            "-I../..",
            "-I../../mono",
            "-I../../libgc/include",
            "-I../../mono/eglib",
            "-I../../mono/eglib",
            "-fvisibility=hidden",
            "-D_THREAD_SAFE",
            "-DGC_MACOSX_THREADS",
            "-DUSE_MMAP",
            "-DUSE_MUNMAP",
            "-g",
            "-Wall",
            "-Wunused",
            "-Wmissing-prototypes",
            "-Wmissing-declarations",
            "-Wstrict-prototypes",
            "-Wmissing-prototypes",
            "-Wnested-externs",
            "-Wpointer-arith",
            "-Wno-cast-qual",
            "-Wwrite-strings",
            "-Wno-switch",
            "-Wno-switch-enum",
            "-Wno-unused-value",
            "-Wno-attributes",
            "-Wno-format-zero-length",
            "-Qunused-arguments",
            "-Wno-unused-function",
            "-Wno-tautological-compare",
            "-Wno-parentheses-equality",
            "-Wno-self-assign",
            "-Wno-return-stack-address",
            "-Wno-constant-logical-operand",
            "-Wno-zero-length-array",
            "-DHAVE_SGEN_GC",
            "-g",
            "-O2",
            "-std=gnu99",
            "-fno-strict-aliasing",
            "-fwrapv",
            "-DMONO_DLL_EXPORT",
            "-g",
            "-Wall",
            "-Wunused",
            "-Wmissing-prototypes",
            "-Wmissing-declarations",
            "-Wstrict-prototypes",
            "-Wmissing-prototypes",
            "-Wnested-externs",
            "-Wpointer-arith",
            "-Wno-cast-qual",
            "-Wwrite-strings",
            "-Wno-switch",
            "-Wno-switch-enum",
            "-Wno-unused-value",
            "-Wno-attributes",
            "-Wno-format-zero-length",
            "-Qunused-arguments",
            "-Wno-unused-function",
            "-Wno-tautological-compare",
            "-Wno-parentheses-equality",
            "-Wno-self-assign",
            "-Wno-return-stack-address",
            "-Wno-constant-logical-operand",
            "-Wno-zero-length-array",
            "-Werror-implicit-function-declaration",
            "-o",
            "libmonoruntimesgen_la-opcodes.o",
            "opcodes.c"
        ],
        "directory": "/Users/user/mono/mono/metadata",
        "file": "opcodes.c"
    }
]

Thanks for the report. It would make sense to support "arguments" too.


Add sliders for widget coordinates and size

Suggestion: Add sliders on the settings pages to allow users to manually set coordinates (X, Y) and size (Height, Width) of Dashboard widgets.

Honestly I'm not sure this would be very useful.


[Bug] run nccl_api_test failed

I run nccl_api_test  in apps and have errors, but when I link nccl_api_test with standard nccl lib then I can pass the test.
link with mscclpp_nccl and run nccl_api_test

link with standard nccl and run nccl_api_test

Do you know what the problom is? Thanks

mscclpp_nccl currently supports only 8-GPU collectives. We will improve in a future version.


Batched upload for large number of resources

retain referential integrity
configurable batch size (number of resources or size of upload bundle)

closed by ee0c3896dfb0adb96ebd5a9367f9fe588da3ca6f


RFE: remove Include in net worth option for credit card account

When create a credit card account via the importer, there should be an option to create it without Include in net worth
Most credit card already calculates in the main bank account, so there is no need to do it again.
For example:
my main account is hapohlim which already include the expense from my credit card (this is the bank that the card associate to)

So you see all transactions of your credit cards in Hapoalim account (at firefly)?
What is Include in net wort option? is it something in the scrapper?

It's a setting in firefly for account.
I' thinking maybe when you create the account for the credit card add an option to create the account with this setting disable/enabled (can be setting inside your YAML config file for each credit card account)
If it's not possible, please free to close this issue and maybe just add this to your README.

OK, understood. Thank you for your feedback.
Since there are many options, the creation of the accounts are set with minimal settings, so you can change the settings as you wish right after, and it is promised that those settings wouldn't override later.
What do you think?
I will add this to the README.

Add to the README is perfect, thanks.


Select user to start transaction

Select user to start transaction for admins only

Since this branch integrates the stripe code, build-ios is not passing.
The build is passing on my machine

@LucasBrazi06 the style inside the modal can probably be improved (especially for the multi select), what's your opinion ?

@LucasBrazi06 the style inside the modal can probably be improved (especially for the multi select), what's your opinion ?

Do you mean the visual or the code?

@LucasBrazi06 the style inside the modal can probably be improved (especially for the multi select), what's your opinion ?

Do you mean the visual or the code?

The visual

The visual

Screenshot?

The visual

Screenshot?

Light disabled

Light enabled

dark disabled

dark enabled

The visual

Looks good for me!
I would put the 'Validate' button at the top below the Search and as large as the screen (like in OCPP).

@AlixH ANONYMIZE the sensitive user's data !!!

The visual

Looks good for me!
I would put the 'Validate' button at the top below the Search and as large as the screen (like in OCPP).

The 'Validate' button is in the modal component at the moment. I can change the button position but it would be more complex

The 'Validate' button is in the modal component at the moment. I can change the button position but it would be more complex

Ok

@AlixH After many branch merges, could you please sync 'start_custom_transaction' with master-qa and resolve merge conflicts.
Thanks!

Done, just one more fix needed after the merge

@AlixH I think you've made a mistake regarding the branch target in that PR: start_custom_transaction. And there's no PR to merge start_custom_transaction into master-qa.
I merge that PR into start_custom_transaction and make a new PR from that branch.

@AlixH I think you've made a mistake regarding the branch target in that PR: start_custom_transaction. And there's no PR to merge start_custom_transaction into master-qa.
I merge that PR into start_custom_transaction and make a new PR from that branch.

Revert your merge, this was done on purpose to not merge immediately on master-qa.
master-qa -> start_custom_transaction -> select_user

Revert your merge, this was done on purpose to not merge immediately on master-qa.
master-qa -> start_custom_transaction -> select_user

It’s too late.
And stacking PRs to ease review cannot be done that way: one branch per PRs to stack and you never ever merge from master-qa into PR branches, only from the previous branch in the branches stack: master-qa —> branch1 —> branch2 ….
That’s why the code in that PR were including changes in master-qa and the diff have become over time less and less readable.
--
Jérôme Benoit aka fraggle
Piment Noir - https://piment-noir.org
OpenPGP Key ID : 27B535D3
Key fingerprint : B799 BBF6 8EC8 911B B8D7 CDBC C3B1 92C6 27B5 35D3

It’s too late. And stacking PRs to ease review cannot be done that way: one branch per PRs to stack and you never ever merge from master-qa into PR branches, only from the previous branch in the branches stack: master-qa —> branch1 —> branch2 …. That’s why the code in that PR were including changes in master-qa and the diff have become over time less and less readable.

We just put this in place and I want it this way.
Recreate the 2 branches as before.

It’s too late. And stacking PRs to ease review cannot be done that way: one branch per PRs to stack and you never ever merge from master-qa into PR branches, only from the previous branch in the branches stack: master-qa —> branch1 —> branch2 …. That’s why the code in that PR were including changes in master-qa and the diff have become over time less and less readable.
We just put this in place and I want it this way.
Recreate the 2 branches as before.

I will explain to Alix how to stack PRs correctly to actually make the reviewer work easier.
--
Jérôme Benoit aka fraggle
Piment Noir - https://piment-noir.org
OpenPGP Key ID : 27B535D3
Key fingerprint : B799 BBF6 8EC8 911B B8D7 CDBC C3B1 92C6 27B5 35D3


Don't automatically generate html in darwin

With the new folder structure, it's pretty handy to automatically have the html for each sim go into the generation's folder by adding --include_html. However, I think people are more likely to be upset to wake up in the morning and find over 1GB of space has been taken up by their experiment.

Agree.  with my pull/feature I submitted it would be running 24/7.   that is alot of wasted space.


Refactoring of the TextTest class

This PR applies some minor refactoring to the TextTest class, making it easier to understand what's happening:

Add a new buildGenerator() method, which creates a new instance of the text generator at the start of each test and saves it in the private $generator property — this saves a few lines of setup for each test method.
Instead of a foreach loop within testTextMaxLength(), use PHPUnit's data providers to explicitly run each scenario as a separate test.
For test methods that are using @expectException, explicitly add a failure message to the test to describe why the exception should have occurred.

@stevegrunwell im pretty happy with the change. Is it possible to rebase it with latest so we can do some final checks?

@pimjansen A fresh copy has been pushed. I've also moved the @expectedException annotations to $this->setExpectedException() as the annotation version was deprecated in PHPUnit 8.

@stevegrunwell builds are failing, please review

@pimjansen Apologies, type-hints and ::class resolution in some of the test methods were causing it to fail on old versions of PHP. Everything should be green, now.

Thanks!


segfault when passing the wrong type to translate or rotate

Hello @Zuzu-Typ
I have a systematic segfault when passing some wrong type to translate and rotate
right argument types work well, but any argument that should theoretically raise a TypeError triggers a segfault
translate(vec3())  # ok
translate([1,2,3]) # ok
translate((1,2)) # ok

translate('str')  # segfault
translate(0) # segfault
translate(0.0) # segfault

It seems to come from this macro according to gdb
jimy@machine:~/cad/PyGLM$ gdb python
GNU gdb (Debian 13.1-3) 13.1
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from python...
(No debugging symbols found in python)
(gdb) run
Starting program: /usr/bin/python
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Python 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from glm import *
>>> translate('truc')

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7323f12 in translate_ (args=<optimized out>) at PyGLM/functions/stable_extensions/matrix_transform.h:182
182             PyGLM_TYPEERROR_2O("invalid argument type(s) for translate(): ", arg1, arg2);
(gdb) bt
#0  0x00007ffff7323f12 in translate_ (args=<optimized out>) at PyGLM/functions/stable_extensions/matrix_transform.h:182
#1  0x0000000000547ae8 in ?? ()
#2  0x0000000000517eb3 in _PyObject_MakeTpCall ()
#3  0x000000000052b940 in _PyEval_EvalFrameDefault ()
#4  0x000000000052360b in PyEval_EvalCode ()
#5  0x0000000000647497 in ?? ()
#6  0x0000000000644d4f in ?? ()
#7  0x00000000004832e7 in ?? ()
#8  0x0000000000482e19 in _PyRun_InteractiveLoopObject ()
#9  0x0000000000463437 in ?? ()
#10 0x00000000004633ca in PyRun_AnyFileExFlags ()
#11 0x0000000000461ce4 in ?? ()
#12 0x00000000006275c7 in Py_BytesMain ()
#13 0x00007ffff7cc524a in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#14 0x00007ffff7cc5305 in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
#15 0x0000000000627461 in _start ()

I seems to be due to when arg2 is NULL, this macro still attempts to retreive its type name.
So I fixed it by introducing
#define PyGLM_TYPEERROR_1O(str, obj1) PyErr_Format(PyExc_TypeError, "%s'%s'", str, PyGLM_TYPE_AS_CSTRING(obj1));

and calling PyGLM_TYPEERROR_1O when only arg1 is non-null
and calling PyGLM_TYPEERROR_2O when both arg1 and arg2  are non-null

Hi Jimy,
thank you for reporting this!
I'm sure those two aren't the only instances of this oversight.
I'll do some digging.
If I find any additional ones, I'll fix them in your PR.
Cheers
--Zuzu_Typ--

I've looked through the code and found that the only occurence of this error is calling translate with a single argument of an incorrect type.

Thanks for answering so fast :)


[Error] Building yojimbo gmake2 mingw

"sodium_randombytes.c" "sodium_randombytes_salsa20_random.c" sodium/sodium_randombytes_salsa20_random.c:120:8: error: unknown attribute 'thread' ignored       [-Werror,-Wunknown-attributes]   120 | static TLS Salsa20Random stream;       |        ^~~ sodium/sodium_randombytes_salsa20_random.c:94:26: note: expanded from macro 'TLS'    94 | #  define TLS __declspec(thread)       |                          ^~~~~~ <built-in>:389:38: note: expanded from macro '__declspec'   389 | #define __declspec(a) __attribute__((a))
I get the above error when building yojimbo using mingw32-make
Compiler Version : MINGW G++ 14
Issue present on master and latest stable release

Also, is 64 supported , i see that for VS it is coded to x86.
Is x64 easy to switch to after some minor modifications?

64bit is supported

Can u briefly guide how to set it up for 64 bit? I cannot find a resource.


Added instructions to update kubeconfig after manual certs renewal or cluster upgrade

Issue #, if available:
Description of changes:

As a EKSA Cluster admin, I want to update kubeconfig file on Admin machine post renewing cluster certificates manually.

Testing (if applicable):

not tested.

Documentation added/planned (if applicable): This pull request is documentation update
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/cherry-pick release-0.19


StateMachineInterface::getTransitionLogs()

This returns the transition logs of the state machine.

This issue is duplicate of #21.


Unable to browse with uProxy from the air

@jetpack  and I attempted to proxy 5-6 times from while I was flying somewhere over Colorado.
Each time I was able to successfully "Start getting access", however when we started proxying, I was unable to successfully load any sites. Below, you can see that I tried to download hello.com (arbitrary) and testmy.net/download (for speed test) and received the uProxy error message.

My download speed while not proxying with airplane wifi was 47 Kbps 6 kB/s.

I'm glad someone finally tried this!
So, I would expect airlines to do some pretty crazy things with their connections: aggressive HTTP caching, heavily throttling (or just completely disabling) VoIP and video streaming, etc.
Since I'm on a plane right now I decided to inspect my connection some.
Firstly, @quantsword's tool tells me:
============ UDP send test ============
Pong resonse received, latency=205ms
============ NAT provoking test ============
NAT type is PortRestrictedCone
============ STUN server access test ============
stun:stun.l.google.com:19302 returned in 942ms. report reflexive address: {"address":"<IP_ADDRESS>","port":34100}
stun:stun.l.google.com:19302 returned in 942ms. report reflexive address: {"address":"<IP_ADDRESS>","port":32117}
stun:stun.l.google.com:19302 returned in 941ms. report reflexive address: {"address":"<IP_ADDRESS>","port":56457}
stun:stun.l.google.com:19302 returned in 942ms. report reflexive address: {"address":"<IP_ADDRESS>","port":53100}
stun:stun.l.google.com:19302 returned in 940ms. report reflexive address: {"address":"<IP_ADDRESS>","port":44032}
Average laterncy for undefined = 941.4
...
...
Average laterncy for undefined = 1036.6
--- dump buffered logs ---
I [1/13 20:9:27.980] perform udp test
I [1/13 20:9:30.887] perform NAT provoking
I [1/13 20:9:47.886] perform Stun access test

Additionally:

ssh works, albeit a couple of dropped connections (but at least I'm not limited to HTTP).
Each TCP connection seems to be throttled to ~5Kb/sec (note: while I'm downloading a file my ssh connection remains pretty responsive).
I cannot download very large files. Attempting to run curl  http://download.adobe.com/pub/adobe/lightroom/mac/5.x/Lightroom_5_LS11_mac_5_7.dmg reveals that I'm sitting behind a proxy server (the exact response is "Zero Sized Reply" but I can only assume the proxy server is disallowing comically large downloads -- Lightroom is 500Mb+).
I seem to be able to use UDP: not just DNS via host but I also started a UDP echo server on a machine with a public IP and was able to use it just fine, albeit with high latency.
If TCP connections are throttled, what about UDP? I quickly tried to transfer a 1MB file to my server via UDP (with the help of ncat) and what seems to work fine over localhost bombs out at ~192Kb. I don't have time to look very deeply into this but this seems weird (also, the 192Kb transfers in a few seconds...much faster than I can upload on this connection via TCP).

So, this was an interesting little exercise. Thanks for reporting!
This network is weird in several ways which makes me wonder if WebRTC can work here at all. However, with the tools I have right now, I can't say for sure that it shouldn't work. I think it would be very useful to have some tool running on a server with a public IP against which I could establish a WebRTC connection. It would really help me debug these sorts of networks.

OK, so, we were eventually able to proxy from the air.
We've had a bunch of discussions around how to handle incompatible NAT types so I think we can close this issue.


Improve code style

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (e3c280e) to head (b0e1d10).
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #166   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           38        38
  Lines          817       817
  Branches        57        57
=========================================
  Hits           817       817

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


teslajsonpy.exceptions.TeslaException

Is there an existing issue for this?

[X] I have searched both the existing open issues & recently closed issues and did not find a duplicate of this issue.

I have read about the Fleet API and understand I may need to use it

[X] I understand issues relating to read only commands will be auto closed if not using the Fleet API.

Version of the Tesla component
3.21.0
Version of the Tesla car software
2024.14.6
Model
Model 3 - 2022
Current Behavior
Commanding an action from HA to the car no longer works. (ex: switch.turn_on sentry mode) Service call failed!
On the other hand, from the Tesla application, the information on the status of the sentinel is sent correctly to HA.
Expected Behavior
Can send commands to the car as before.
Debug logs
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 239, in handle_call_service
    response = await hass.services.async_call(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2738, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2779, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 975, in entity_service_call
    single_response = await _handle_entity_call(
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 1047, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/config/custom_components/tesla_custom/switch.py", line 158, in async_turn_off
    await self._car.set_sentry_mode(False)
  File "/usr/local/lib/python3.12/site-packages/teslajsonpy/car.py", line 1094, in set_sentry_mode
    data = await self._send_command(
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/teslajsonpy/car.py", line 775, in _send_command
    raise ex
  File "/usr/local/lib/python3.12/site-packages/teslajsonpy/car.py", line 760, in _send_command
    data = await self._controller.api(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/teslajsonpy/controller.py", line 1375, in api
    return await self.__post_with_retries_except_unavailable(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/tenacity/_asyncio.py", line 142, in async_wrapped
    return await fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/tenacity/_asyncio.py", line 58, in __call__
    do = await self.iter(retry_state=retry_state)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/tenacity/_asyncio.py", line 110, in iter
    result = await action(retry_state)
             ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/tenacity/_asyncio.py", line 78, in inner
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/tenacity/__init__.py", line 410, in exc_check
    raise retry_exc.reraise()
          ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/tenacity/__init__.py", line 183, in reraise
    raise self.last_attempt.result()
          ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/concurrent/futures/_base.py", line 449, in result
    return self.__get_result()
           ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/concurrent/futures/_base.py", line 401, in __get_result
    raise self._exception
  File "/usr/local/lib/python3.12/site-packages/tenacity/_asyncio.py", line 61, in __call__
    result = await fn(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/teslajsonpy/controller.py", line 1407, in __post_with_retries_except_unavailable
    return await self.__connection.post(command, method=method, data=data, url=url)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/teslajsonpy/connection.py", line 166, in post
    return await self.__open(url, method=method, headers=self.head, data=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/teslajsonpy/connection.py", line 218, in __open
    raise TeslaException(resp.status_code)
teslajsonpy.exceptions.TeslaException
2024-05-27 14:32:39.708 DEBUG (MainThread) [custom_components.tesla_custom] Running controller.update()
2024-05-27 14:32:39.708 DEBUG (MainThread) [teslajsonpy.controller] Get vehicles. Force: False Time: 50 Interval 60
2024-05-27 14:32:39.709 DEBUG (MainThread) [custom_components.tesla_custom] Finished fetching tesla_custom data in 0.001 seconds (success: True)
2024-05-27 14:32:40.318 DEBUG (MainThread) [custom_components.tesla_custom] Running controller.update()
2024-05-27 14:32:40.318 DEBUG (MainThread) [teslajsonpy.controller] Get vehicles. Force: False Time: 50 Interval 60
2024-05-27 14:32:40.319 DEBUG (MainThread) [teslajsonpy.controller] 22645: online. Polling policy: normal. Update state: normal. Since last park: 50. Since last wake up: 50. Idle interval: 600. shift_state: None sentry: True climate: False, charging: Disconnected
2024-05-27 14:32:40.319 DEBUG (MainThread) [teslajsonpy.controller] 22645: Skipping update with state online. Polling: True. Last update: 9 ago. Last parked: 50 ago. Last wake up 50 ago.
2024-05-27 14:32:40.319 DEBUG (MainThread) [custom_components.tesla_custom] Finished fetching tesla_custom data in 0.001 seconds (success: True)
2024-05-27 14:32:49.708 DEBUG (MainThread) [custom_components.tesla_custom] Running controller.update()
2024-05-27 14:32:49.708 DEBUG (MainThread) [teslajsonpy.controller] Get vehicles. Force: False Time: 60 Interval 60
2024-05-27 14:32:49.709 DEBUG (MainThread) [teslajsonpy.connection] Token expiration in 0:47:58
2024-05-27 14:32:49.709 DEBUG (MainThread) [teslajsonpy.connection] get: https://owner-api.teslamotors.com/api/1/products {}
2024-05-27 14:32:49.903 DEBUG (MainThread) [teslajsonpy.connection] 200: {"response":[{"id":929736399770700,"user_id":1689127259543628,"vehicle_id":1689156871245645,"vin":"LRW3E7FS9NCXXXXXX","color":null,"access_type":"OWNER","display_name":"La Fleche Bleue","option_codes":null,"cached_data":"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","granular_access":{"hide_private":false},"tokens":["433f81a80dcf43ad","ac4c1c7679d14375"],"state":"online","in_service":false,"id_s":"929736399770700","calendar_enabled":true,"api_version":76,"backseat_token":null,"backseat_token_updated_at":null,"ble_autopair_enrolled":false,"command_signing":"required","release_notes_supported":true}],"count":1}
2024-05-27 14:32:49.904 DEBUG (MainThread) [custom_components.tesla_custom] Finished fetching tesla_custom data in 0.196 seconds (success: True)
2024-05-27 14:32:50.319 DEBUG (MainThread) [custom_components.tesla_custom] Running controller.update()
2024-05-27 14:32:50.319 DEBUG (MainThread) [teslajsonpy.controller] Get vehicles. Force: False Time: 0 Interval 60
2024-05-27 14:32:50.319 DEBUG (MainThread) [teslajsonpy.controller] 22645: online. Polling policy: normal. Update state: normal. Since last park: 60. Since last wake up: 60. Idle interval: 600. shift_state: None sentry: True climate: False, charging: Disconnected
2024-05-27 14:32:50.320 DEBUG (MainThread) [teslajsonpy.controller] 22645: Skipping update with state online. Polling: True. Last update: 19 ago. Last parked: 60 ago. Last wake up 60 ago.
2024-05-27 14:32:50.320 DEBUG (MainThread) [custom_components.tesla_custom] Finished fetching tesla_custom data in 0.001 seconds (success: True)
2024-05-27 14:32:59.708 DEBUG (MainThread) [custom_components.tesla_custom] Running controller.update()
2024-05-27 14:32:59.708 DEBUG (MainThread) [teslajsonpy.controller] Get vehicles. Force: False Time: 10 Interval 60
2024-05-27 14:32:59.709 DEBUG (MainThread) [custom_components.tesla_custom] Finished fetching tesla_custom data in 0.001 seconds (success: True)
2024-05-27 14:33:00.319 DEBUG (MainThread) [custom_components.tesla_custom] Running controller.update()
2024-05-27 14:33:00.319 DEBUG (MainThread) [teslajsonpy.controller] Get vehicles. Force: False Time: 10 Interval 60
2024-05-27 14:33:00.320 DEBUG (MainThread) [teslajsonpy.controller] 22645: online. Polling policy: normal. Update state: normal. Since last park: 70. Since last wake up: 70. Idle interval: 600. shift_state: None sentry: True climate: False, charging: Disconnected
2024-05-27 14:33:00.320 DEBUG (MainThread) [teslajsonpy.controller] 22645: Skipping update with state online. Polling: True. Last update: 29 ago. Last parked: 70 ago. Last wake up 70 ago.
2024-05-27 14:33:00.320 DEBUG (MainThread) [custom_components.tesla_custom] Finished fetching tesla_custom data in 0.002 seconds (success: True)
2024-05-27 14:33:09.708 DEBUG (MainThread) [custom_components.tesla_custom] Running controller.update()
2024-05-27 14:33:09.708 DEBUG (MainThread) [teslajsonpy.controller] Get vehicles. Force: False Time: 20 Interval 60
2024-05-27 14:33:09.708 DEBUG (MainThread) [custom_components.tesla_custom] Finished fetching tesla_custom data in 0.001 seconds (success: True)
2024-05-27 14:33:10.319 DEBUG (MainThread) [custom_components.tesla_custom] Running controller.update()
2024-05-27 14:33:10.320 DEBUG (MainThread) [teslajsonpy.controller] Get vehicles. Force: False Time: 20 Interval 60
2024-05-27 14:33:10.320 DEBUG (MainThread) [teslajsonpy.controller] 22645: online. Polling policy: normal. Update state: normal. Since last park: 80. Since last wake up: 80. Idle interval: 600. shift_state: None sentry: True climate: False, charging: Disconnected
2024-05-27 14:33:10.320 DEBUG (MainThread) [teslajsonpy.controller] 22645: Updating VEHICLE_DATA
2024-05-27 14:33:10.321 DEBUG (MainThread) [teslajsonpy.connection] Token expiration in 0:47:37
2024-05-27 14:33:10.322 DEBUG (MainThread) [teslajsonpy.connection] get: https://owner-api.teslamotors.com/api/1/vehicles/LRW3E7FS9NCXXXXXX/vehicle_data?endpoints=charge_state%3Bclimate_state%3Bdrive_state%3Bgui_settings%3Bvehicle_config%3Bvehicle_state%3Blocation_data {}
2024-05-27 14:33:11.046 DEBUG (MainThread) [teslajsonpy.connection] 200: {"response":{"id":929736399770700,"user_id":1689127259543628,"vehicle_id":1689156871245645,"vin":"LRW3E7FS9NCXXXXXX","color":null,"access_type":"OWNER","granular_access":{"hide_private":false},"tokens":["433f81a80dcf43ad","ac4c1c7679d14375"],"state":"online","in_service":false,"id_s":"929736399770700","calendar_enabled":true,"api_version":76,"backseat_token":null,"backseat_token_updated_at":null,"ble_autopair_enrolled":false,"charge_state":{"battery_heater_on":false,"battery_level":63,"battery_range":159.33,"charge_amps":16,"charge_current_request":16,"charge_current_request_max":16,"charge_enable_request":true,"charge_energy_added":43.98,"charge_limit_soc":100,"charge_limit_soc_max":100,"charge_limit_soc_min":50,"charge_limit_soc_std":80,"charge_miles_added_ideal":198.5,"charge_miles_added_rated":198.5,"charge_port_cold_weather_mode":false,"charge_port_color":"\u003cinvalid\u003e","charge_port_door_open":false,"charge_port_latch":"Engaged","charge_rate":0.0,"charger_actual_current":0,"charger_phases":null,"charger_pilot_current":16,"charger_power":0,"charger_voltage":2,"charging_state":"Disconnected","conn_charge_cable":"\u003cinvalid\u003e","est_battery_range":163.55,"fast_charger_brand":"\u003cinvalid\u003e","fast_charger_present":false,"fast_charger_type":"\u003cinvalid\u003e","ideal_battery_range":159.33,"max_range_charge_counter":4,"minutes_to_full_charge":0,"not_enough_power_to_heat":null,"off_peak_charging_enabled":false,"off_peak_charging_times":"all_week","off_peak_hours_end_time":360,"preconditioning_enabled":false,"preconditioning_times":"all_week","scheduled_charging_mode":"Off","scheduled_charging_pending":false,"scheduled_charging_start_time":null,"scheduled_charging_start_time_app":0,"scheduled_departure_time":1711793700,"scheduled_departure_time_minutes":675,"supercharger_session_trip_planner":false,"time_to_full_charge":0.0,"timestamp":1716813190578,"trip_charging":false,"usable_battery_level":62,"user_charge_enable_request":null},"climate_state":{"allow_cabin_overheat_protection":false,"auto_seat_climate_left":true,"auto_seat_climate_right":true,"auto_steering_wheel_heat":true,"battery_heater":false,"battery_heater_no_power":null,"cabin_overheat_protection":"Off","cabin_overheat_protection_actively_cooling":false,"climate_keeper_mode":"off","cop_activation_temperature":"High","defrost_mode":0,"driver_temp_setting":20.0,"fan_status":0,"hvac_auto_request":"On","inside_temp":27.4,"is_auto_conditioning_on":false,"is_climate_on":false,"is_front_defroster_on":false,"is_preconditioning":false,"is_rear_defroster_on":false,"left_temp_direction":0,"max_avail_temp":28.0,"min_avail_temp":15.0,"outside_temp":19.5,"passenger_temp_setting":20.0,"remote_heater_control_enabled":false,"right_temp_direction":0,"seat_heater_left":0,"seat_heater_rear_center":0,"seat_heater_rear_left":0,"seat_heater_rear_right":0,"seat_heater_right":0,"side_mirror_heaters":false,"steering_wheel_heat_level":0,"steering_wheel_heater":false,"supports_fan_only_cabin_overheat_protection":true,"timestamp":1716813190578,"wiper_blade_heater":false},"drive_state":{"gps_as_of":1716813189,"heading":202,"latitude":48.922045,"longitude":2.27314,"native_latitude":48.922045,"native_location_supported":1,"native_longitude":2.27314,"native_type":"wgs","power":0,"shift_state":null,"speed":null,"timestamp":1716813190578},"gui_settings":{"gui_24_hour_time":true,"gui_charge_rate_units":"kW","gui_distance_units":"km/hr","gui_range_display":"Rated","gui_temperature_units":"C","gui_tirepressure_units":"Bar","show_range_units":false,"timestamp":1716813190578},"vehicle_config":{"aux_park_lamps":"None","badge_version":1,"can_accept_navigation_requests":true,"can_actuate_trunks":true,"car_special_type":"base","car_type":"model3","charge_port_type":"CCS","cop_user_set_temp_supported":false,"dashcam_clip_save_supported":true,"default_charge_to_max":true,"driver_assist":"TeslaAP3","ece_restrictions":true,"efficiency_package":"M3SRPlus2021Q3GFSH","eu_vehicle":true,"exterior_color":"DeepBlue","exterior_trim":"Black","exterior_trim_override":"","has_air_suspension":false,"has_ludicrous_mode":false,"has_seat_cooling":false,"headlamp_type":"Global","interior_trim_type":"Black2","key_version":2,"motorized_charge_port":true,"paint_color_override":"","performance_package":"Base","plg":true,"pws":true,"rear_drive_unit":"PM216MOSFET","rear_seat_heaters":1,"rear_seat_type":0,"rhd":false,"roof_color":"RoofColorGlass","seat_type":null,"sentry_preview_supported":false,"spoiler_type":"None","sun_roof_installed":null,"supports_qr_pairing":false,"third_row_seats":"None","timestamp":1716813190578,"trim_badging":"50","use_range_badging":true,"utc_offset":3600,"webcam_selfie_supported":true,"webcam_supported":true,"wheel_type":"PinwheelRefresh18"},"vehicle_state":{"api_version":76,"autopark_state_v2":"unavailable","calendar_supported":true,"car_version":"2024.14.6 e43dddb645f3","center_display_state":0,"dashcam_clip_save_available":true,"dashcam_state":"Recording","df":0,"dr":0,"fd_window":0,"feature_bitmask":"fbdffbff,24cbc7f","fp_window":0,"ft":0,"is_user_present":false,"locked":true,"media_info":{"a2dp_source_name":"Galaxy S20 FE 5G de Christophe","audio_volume":1.3333,"audio_volume_increment":0.333333,"audio_volume_max":10.333333,"media_playback_status":"Stopped","now_playing_album":"","now_playing_artist":"","now_playing_duration":0,"now_playing_elapsed":0,"now_playing_source":"TuneIn","now_playing_station":"","now_playing_title":""},"media_state":{"remote_control_enabled":true},"notifications_supported":true,"odometer":20695.756521,"parsed_calendar_supported":true,"pf":0,"pr":0,"rd_window":0,"remote_start":false,"remote_start_enabled":true,"remote_start_supported":true,"rp_window":0,"rt":0,"santa_mode":0,"sentry_mode":true,"sentry_mode_available":true,"service_mode":false,"service_mode_plus":false,"software_update":{"download_perc":0,"expected_duration_sec":2700,"install_perc":0,"status":"","version":" "},"speed_limit_mode":{"active":false,"current_limit_mph":80.650403,"max_limit_mph":120,"min_limit_mph":50.0,"pin_code_set":false},"timestamp":1716813190578,"tpms_hard_warning_fl":false,"tpms_hard_warning_fr":false,"tpms_hard_warning_rl":false,"tpms_hard_warning_rr":false,"tpms_last_seen_pressure_time_fl":1716812765,"tpms_last_seen_pressure_time_fr":1716812735,"tpms_last_seen_pressure_time_rl":1716812736,"tpms_last_seen_pressure_time_rr":1716812765,"tpms_pressure_fl":3.1,"tpms_pressure_fr":3.075,"tpms_pressure_rl":3.0,"tpms_pressure_rr":3.025,"tpms_rcp_front_value":2.9,"tpms_rcp_rear_value":2.9,"tpms_soft_warning_fl":false,"tpms_soft_warning_fr":false,"tpms_soft_warning_rl":false,"tpms_soft_warning_rr":false,"valet_mode":false,"valet_pin_needed":false,"vehicle_name":"La Fleche Bleue","vehicle_self_test_progress":0,"vehicle_self_test_requested":false,"webcam_available":true}}}
2024-05-27 14:33:11.047 DEBUG (MainThread) [custom_components.tesla_custom] Finished fetching tesla_custom data in 0.728 seconds (success: True)
2024-05-27 14:33:19.708 DEBUG (MainThread) [custom_components.tesla_custom] Running controller.update()
2024-05-27 14:33:19.708 DEBUG (MainThread) [teslajsonpy.controller] Get vehicles. Force: False Time: 30 Interval 60
2024-05-27 14:33:19.709 DEBUG (MainThread) [custom_components.tesla_custom] Finished fetching tesla_custom data in 0.001 seconds (success: True)
2024-05-27 14:33:20.319 DEBUG (MainThread) [custom_components.tesla_custom] Running controller.update()
2024-05-27 14:33:20.319 DEBUG (MainThread) [teslajsonpy.controller] Get vehicles. Force: False Time: 30 Interval 60
2024-05-27 14:33:20.320 DEBUG (MainThread) [teslajsonpy.controller] 22645: online. Polling policy: normal. Update state: normal. Since last park: 90. Since last wake up: 90. Idle interval: 600. shift_state: None sentry: True climate: False, charging: Disconnected
2024-05-27 14:33:20.320 DEBUG (MainThread) [teslajsonpy.controller] 22645: Skipping update with state online. Polling: True. Last update: 9 ago. Last parked: 90 ago. Last wake up 90 ago.
2024-05-27 14:33:20.320 DEBUG (MainThread) [custom_components.tesla_custom] Finished fetching tesla_custom data in 0.002 seconds (success: True)
2024-05-27 14:33:29.708 DEBUG (MainThread) [custom_components.tesla_custom] Running controller.update()
2024-05-27 14:33:29.708 DEBUG (MainThread) [teslajsonpy.controller] Get vehicles. Force: False Time: 40 Interval 60
2024-05-27 14:33:29.709 DEBUG (MainThread) [custom_components.tesla_custom] Finished fetching tesla_custom data in 0.001 seconds (success: True)
2024-05-27 14:33:30.319 DEBUG (MainThread) [custom_components.tesla_custom] Running controller.update()
2024-05-27 14:33:30.319 DEBUG (MainThread) [teslajsonpy.controller] Get vehicles. Force: False Time: 40 Interval 60
2024-05-27 14:33:30.320 DEBUG (MainThread) [teslajsonpy.controller] 22645: online. Polling policy: normal. Update state: normal. Since last park: 100. Since last wake up: 100. Idle interval: 600. shift_state: None sentry: True climate: False, charging: Disconnected
2024-05-27 14:33:30.320 DEBUG (MainThread) [teslajsonpy.controller] 22645: Skipping update with state online. Polling: True. Last update: 19 ago. Last parked: 100 ago. Last wake up 100 ago.
2024-05-27 14:33:30.320 DEBUG (MainThread) [custom_components.tesla_custom] Finished fetching tesla_custom data in 0.002 seconds (success: True)
2024-05-27 14:33:39.708 DEBUG (MainThread) [custom_components.tesla_custom] Running controller.update()
2024-05-27 14:33:39.709 DEBUG (MainThread) [teslajsonpy.controller] Get vehicles. Force: False Time: 50 Interval 60
2024-05-27 14:33:39.709 DEBUG (MainThread) [custom_components.tesla_custom] Finished fetching tesla_custom data in 0.001 seconds (success: True)
2024-05-27 14:33:40.319 DEBUG (MainThread) [custom_components.tesla_custom] Running controller.update()
2024-05-27 14:33:40.319 DEBUG (MainThread) [teslajsonpy.controller] Get vehicles. Force: False Time: 50 Interval 60
2024-05-27 14:33:40.319 DEBUG (MainThread) [teslajsonpy.controller] 22645: online. Polling policy: normal. Update state: normal. Since last park: 110. Since last wake up: 110. Idle interval: 600. shift_state: None sentry: True climate: False, charging: Disconnected
2024-05-27 14:33:40.320 DEBUG (MainThread) [teslajsonpy.controller] 22645: Skipping update with state online. Polling: True. Last update: 29 ago. Last parked: 110 ago. Last wake up 110 ago.
2024-05-27 14:33:40.320 DEBUG (MainThread) [custom_components.tesla_custom] Finished fetching tesla_custom data in 0.001 seconds (success: True)
2024-05-27 14:33:49.707 DEBUG (MainThread) [custom_components.tesla_custom] Running controller.update()
2024-05-27 14:33:49.708 DEBUG (MainThread) [teslajsonpy.controller] Get vehicles. Force: False Time: 60 Interval 60
2024-05-27 14:33:49.708 DEBUG (MainThread) [teslajsonpy.connection] Token expiration in 0:46:58
2024-05-27 14:33:49.709 DEBUG (MainThread) [teslajsonpy.connection] get: https://owner-api.teslamotors.com/api/1/products {}
2024-05-27 14:33:49.893 DEBUG (MainThread) [teslajsonpy.connection] 200: {"response":[{"id":929736399770700,"user_id":1689127259543628,"vehicle_id":1689156871245645,"vin":"LRW3E7FS9NCXXXXXX","color":null,"access_type":"OWNER","display_name":"La Fleche Bleue","option_codes":null,"cached_data":"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","granular_access":{"hide_private":false},"tokens":["433f81a80dcf43ad","ac4c1c7679d14375"],"state":"online","in_service":false,"id_s":"929736399770700","calendar_enabled":true,"api_version":76,"backseat_token":null,"backseat_token_updated_at":null,"ble_autopair_enrolled":false,"command_signing":"required","release_notes_supported":true}],"count":1}
2024-05-27 14:33:49.894 DEBUG (MainThread) [custom_components.tesla_custom] Finished fetching tesla_custom data in 0.187 seconds (success: True)
2024-05-27 14:33:50.319 DEBUG (MainThread) [custom_components.tesla_custom] Running controller.update()
2024-05-27 14:33:50.319 DEBUG (MainThread) [teslajsonpy.controller] Get vehicles. Force: False Time: 0 Interval 60
2024-05-27 14:33:50.320 DEBUG (MainThread) [teslajsonpy.controller] 22645: online. Polling policy: normal. Update state: normal. Since last park: 120. Since last wake up: 120. Idle interval: 600. shift_state: None sentry: True climate: False, charging: Disconnected
2024-05-27 14:33:50.320 DEBUG (MainThread) [teslajsonpy.controller] 22645: Updating VEHICLE_DATA
2024-05-27 14:33:50.321 DEBUG (MainThread) [teslajsonpy.connection] Token expiration in 0:46:57
2024-05-27 14:33:50.321 DEBUG (MainThread) [teslajsonpy.connection] get: https://owner-api.teslamotors.com/api/1/vehicles/LRW3E7FS9NCXXXXXX/vehicle_data?endpoints=charge_state%3Bclimate_state%3Bdrive_state%3Bgui_settings%3Bvehicle_config%3Bvehicle_state%3Blocation_data {}
2024-05-27 14:33:50.704 DEBUG (MainThread) [teslajsonpy.connection] 200: {"response":{"id":929736399770700,"user_id":1689127259543628,"vehicle_id":1689156871245645,"vin":"LRW3E7FS9NCXXXXXX","color":null,"access_type":"OWNER","granular_access":{"hide_private":false},"tokens":["433f81a80dcf43ad","ac4c1c7679d14375"],"state":"online","in_service":false,"id_s":"929736399770700","calendar_enabled":true,"api_version":76,"backseat_token":null,"backseat_token_updated_at":null,"ble_autopair_enrolled":false,"charge_state":{"battery_heater_on":false,"battery_level":63,"battery_range":159.23,"charge_amps":16,"charge_current_request":16,"charge_current_request_max":16,"charge_enable_request":true,"charge_energy_added":43.98,"charge_limit_soc":100,"charge_limit_soc_max":100,"charge_limit_soc_min":50,"charge_limit_soc_std":80,"charge_miles_added_ideal":198.5,"charge_miles_added_rated":198.5,"charge_port_cold_weather_mode":false,"charge_port_color":"\u003cinvalid\u003e","charge_port_door_open":false,"charge_port_latch":"Engaged","charge_rate":0.0,"charger_actual_current":0,"charger_phases":null,"charger_pilot_current":16,"charger_power":0,"charger_voltage":2,"charging_state":"Disconnected","conn_charge_cable":"\u003cinvalid\u003e","est_battery_range":163.46,"fast_charger_brand":"\u003cinvalid\u003e","fast_charger_present":false,"fast_charger_type":"\u003cinvalid\u003e","ideal_battery_range":159.23,"max_range_charge_counter":4,"minutes_to_full_charge":0,"not_enough_power_to_heat":null,"off_peak_charging_enabled":false,"off_peak_charging_times":"all_week","off_peak_hours_end_time":360,"preconditioning_enabled":false,"preconditioning_times":"all_week","scheduled_charging_mode":"Off","scheduled_charging_pending":false,"scheduled_charging_start_time":null,"scheduled_charging_start_time_app":0,"scheduled_departure_time":1711793700,"scheduled_departure_time_minutes":675,"supercharger_session_trip_planner":false,"time_to_full_charge":0.0,"timestamp":1716813230497,"trip_charging":false,"usable_battery_level":62,"user_charge_enable_request":null},"climate_state":{"allow_cabin_overheat_protection":false,"auto_seat_climate_left":true,"auto_seat_climate_right":true,"auto_steering_wheel_heat":true,"battery_heater":false,"battery_heater_no_power":null,"cabin_overheat_protection":"Off","cabin_overheat_protection_actively_cooling":false,"climate_keeper_mode":"off","cop_activation_temperature":"High","defrost_mode":0,"driver_temp_setting":20.0,"fan_status":0,"hvac_auto_request":"On","inside_temp":27.3,"is_auto_conditioning_on":false,"is_climate_on":false,"is_front_defroster_on":false,"is_preconditioning":false,"is_rear_defroster_on":false,"left_temp_direction":0,"max_avail_temp":28.0,"min_avail_temp":15.0,"outside_temp":19.5,"passenger_temp_setting":20.0,"remote_heater_control_enabled":false,"right_temp_direction":0,"seat_heater_left":0,"seat_heater_rear_center":0,"seat_heater_rear_left":0,"seat_heater_rear_right":0,"seat_heater_right":0,"side_mirror_heaters":false,"steering_wheel_heat_level":0,"steering_wheel_heater":false,"supports_fan_only_cabin_overheat_protection":true,"timestamp":1716813230497,"wiper_blade_heater":false},"drive_state":{"gps_as_of":1716813229,"heading":202,"latitude":48.922045,"longitude":2.27314,"native_latitude":48.922045,"native_location_supported":1,"native_longitude":2.27314,"native_type":"wgs","power":0,"shift_state":null,"speed":null,"timestamp":1716813230497},"gui_settings":{"gui_24_hour_time":true,"gui_charge_rate_units":"kW","gui_distance_units":"km/hr","gui_range_display":"Rated","gui_temperature_units":"C","gui_tirepressure_units":"Bar","show_range_units":false,"timestamp":1716813230497},"vehicle_config":{"aux_park_lamps":"None","badge_version":1,"can_accept_navigation_requests":true,"can_actuate_trunks":true,"car_special_type":"base","car_type":"model3","charge_port_type":"CCS","cop_user_set_temp_supported":false,"dashcam_clip_save_supported":true,"default_charge_to_max":true,"driver_assist":"TeslaAP3","ece_restrictions":true,"efficiency_package":"M3SRPlus2021Q3GFSH","eu_vehicle":true,"exterior_color":"DeepBlue","exterior_trim":"Black","exterior_trim_override":"","has_air_suspension":false,"has_ludicrous_mode":false,"has_seat_cooling":false,"headlamp_type":"Global","interior_trim_type":"Black2","key_version":2,"motorized_charge_port":true,"paint_color_override":"","performance_package":"Base","plg":true,"pws":true,"rear_drive_unit":"PM216MOSFET","rear_seat_heaters":1,"rear_seat_type":0,"rhd":false,"roof_color":"RoofColorGlass","seat_type":null,"sentry_preview_supported":false,"spoiler_type":"None","sun_roof_installed":null,"supports_qr_pairing":false,"third_row_seats":"None","timestamp":1716813230497,"trim_badging":"50","use_range_badging":true,"utc_offset":3600,"webcam_selfie_supported":true,"webcam_supported":true,"wheel_type":"PinwheelRefresh18"},"vehicle_state":{"api_version":76,"autopark_state_v2":"unavailable","calendar_supported":true,"car_version":"2024.14.6 e43dddb645f3","center_display_state":0,"dashcam_clip_save_available":true,"dashcam_state":"Recording","df":0,"dr":0,"fd_window":0,"feature_bitmask":"fbdffbff,24cbc7f","fp_window":0,"ft":0,"is_user_present":false,"locked":true,"media_info":{"a2dp_source_name":"Galaxy S20 FE 5G de Christophe","audio_volume":1.3333,"audio_volume_increment":0.333333,"audio_volume_max":10.333333,"media_playback_status":"Stopped","now_playing_album":"","now_playing_artist":"","now_playing_duration":0,"now_playing_elapsed":0,"now_playing_source":"TuneIn","now_playing_station":"","now_playing_title":""},"media_state":{"remote_control_enabled":true},"notifications_supported":true,"odometer":20695.756521,"parsed_calendar_supported":true,"pf":0,"pr":0,"rd_window":0,"remote_start":false,"remote_start_enabled":true,"remote_start_supported":true,"rp_window":0,"rt":0,"santa_mode":0,"sentry_mode":true,"sentry_mode_available":true,"service_mode":false,"service_mode_plus":false,"software_update":{"download_perc":0,"expected_duration_sec":2700,"install_perc":0,"status":"","version":" "},"speed_limit_mode":{"active":false,"current_limit_mph":80.650403,"max_limit_mph":120,"min_limit_mph":50.0,"pin_code_set":false},"timestamp":1716813230497,"tpms_hard_warning_fl":false,"tpms_hard_warning_fr":false,"tpms_hard_warning_rl":false,"tpms_hard_warning_rr":false,"tpms_last_seen_pressure_time_fl":1716812765,"tpms_last_seen_pressure_time_fr":1716812735,"tpms_last_seen_pressure_time_rl":1716812736,"tpms_last_seen_pressure_time_rr":1716812765,"tpms_pressure_fl":3.1,"tpms_pressure_fr":3.075,"tpms_pressure_rl":3.0,"tpms_pressure_rr":3.025,"tpms_rcp_front_value":2.9,"tpms_rcp_rear_value":2.9,"tpms_soft_warning_fl":false,"tpms_soft_warning_fr":false,"tpms_soft_warning_rl":false,"tpms_soft_warning_rr":false,"valet_mode":false,"valet_pin_needed":false,"vehicle_name":"La Fleche Bleue","vehicle_self_test_progress":0,"vehicle_self_test_requested":false,"webcam_available":true}}}
2024-05-27 14:33:50.706 DEBUG (MainThread) [custom_components.tesla_custom] Finished fetching tesla_custom data in 0.387 seconds (success: True)
2024-05-27 14:33:52.642 ERROR (MainThread) [custom_components.frigate.api] Error fetching information from http://ccab4aaf-frigate-fa:5000/api/stats: Cannot connect to host ccab4aaf-frigate-fa:5000 ssl:default [None]
2024-05-27 14:33:59.708 DEBUG (MainThread) [custom_components.tesla_custom] Running controller.update()
2024-05-27 14:33:59.708 DEBUG (MainThread) [teslajsonpy.controller] Get vehicles. Force: False Time: 10 Interval 60
2024-05-27 14:33:59.709 DEBUG (MainThread) [custom_components.tesla_custom] Finished fetching tesla_custom data in 0.001 seconds (success: True)
2024-05-27 14:34:00.319 DEBUG (MainThread) [custom_components.tesla_custom] Running controller.update()
2024-05-27 14:34:00.320 DEBUG (MainThread) [teslajsonpy.controller] Get vehicles. Force: False Time: 10 Interval 60
2024-05-27 14:34:00.320 DEBUG (MainThread) [teslajsonpy.controller] 22645: online. Polling policy: normal. Update state: normal. Since last park: 130. Since last wake up: 130. Idle interval: 600. shift_state: None sentry: True climate: False, charging: Disconnected
2024-05-27 14:34:00.320 DEBUG (MainThread) [teslajsonpy.controller] 22645: Skipping update with state online. Polling: True. Last update: 9 ago. Last parked: 130 ago. Last wake up 130 ago.
2024-05-27 14:34:00.321 DEBUG (MainThread) [custom_components.tesla_custom] Finished fetching tesla_custom data in 0.001 seconds (success: True)
2024-05-27 14:34:09.708 DEBUG (MainThread) [custom_components.tesla_custom] Running controller.update()
2024-05-27 14:34:09.709 DEBUG (MainThread) [teslajsonpy.controller] Get vehicles. Force: False Time: 20 Interval 60
2024-05-27 14:34:09.709 DEBUG (MainThread) [custom_components.tesla_custom] Finished fetching tesla_custom data in 0.001 seconds (success: True)
2024-05-27 14:34:10.320 DEBUG (MainThread) [custom_components.tesla_custom] Running controller.update()
2024-05-27 14:34:10.321 DEBUG (MainThread) [teslajsonpy.controller] Get vehicles. Force: False Time: 20 Interval 60
2024-05-27 14:34:10.321 DEBUG (MainThread) [teslajsonpy.controller] 22645: online. Polling policy: normal. Update state: normal. Since last park: 140. Since last wake up: 140. Idle interval: 600. shift_state: None sentry: True climate: False, charging: Disconnected
2024-05-27 14:34:10.321 DEBUG (MainThread) [teslajsonpy.controller] 22645: Skipping update with state online. Polling: True. Last update: 19 ago. Last parked: 140 ago. Last wake up 140 ago.
2024-05-27 14:34:10.322 DEBUG (MainThread) [custom_components.tesla_custom] Finished fetching tesla_custom data in 0.001 seconds (success: True)
2024-05-27 14:34:11.705 ERROR (MainThread) [homeassistant.components.hassio.handler] Client error on /addons/a0d7b954_esphome/changelog request 0, message='Attempt to decode JSON with unexpected mimetype: application/octet-stream', url=URL('http://<IP_ADDRESS>/addons/a0d7b954_esphome/changelog')
2024-05-27 14:34:19.708 DEBUG (MainThread) [custom_components.tesla_custom] Running controller.update()
2024-05-27 14:34:19.708 DEBUG (MainThread) [teslajsonpy.controller] Get vehicles. Force: False Time: 30 Interval 60
2024-05-27 14:34:19.709 DEBUG (MainThread) [custom_components.tesla_custom] Finished fetching tesla_custom data in 0.001 seconds (success: True)
2024-05-27 14:34:20.319 DEBUG (MainThread) [custom_components.tesla_custom] Running controller.update()
2024-05-27 14:34:20.320 DEBUG (MainThread) [teslajsonpy.controller] Get vehicles. Force: False Time: 30 Interval 60
2024-05-27 14:34:20.320 DEBUG (MainThread) [teslajsonpy.controller] 22645: online. Polling policy: normal. Update state: normal. Since last park: 150. Since last wake up: 150. Idle interval: 600. shift_state: None sentry: True climate: False, charging: Disconnected
2024-05-27 14:34:20.320 DEBUG (MainThread) [teslajsonpy.controller] 22645: Skipping update with state online. Polling: True. Last update: 29 ago. Last parked: 150 ago. Last wake up 150 ago.
2024-05-27 14:34:20.321 DEBUG (MainThread) [custom_components.tesla_custom] Finished fetching tesla_custom data in 0.002 seconds (success: True)

Anything else?
No response

Do these debug logs correspond to the same time period when the exception happened? I don’t see any errors in the log you posted.
If this recently broke without any changes from you, I would guess it’s because Tesla is now requiring the Fleet API for your vehicle. Read the documentation about setting that up.

Yes the debug log comes from when I reproduced the problem (but it was too big for Github, I had to take it only from the end of the file).
On the other hand I had the following in HA's diary
Enregistreur: homeassistant.components.websocket_api.http.connection
Source: components/websocket_api/commands.py:239
intégration: Home Assistant WebSocket API (documentation, problèmes)
S'est produit pour la première fois: 14:31:16 (2 occurrences)
Dernier enregistrement: 14:32:32
[546798003392] Unexpected exception
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 239, in handle_call_service
response = await hass.services.async_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/core.py", line 2738, in async_call
response_data = await coro
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/core.py", line 2779, in _execute_service
return await target(service_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 975, in entity_service_call
single_response = await _handle_entity_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 1047, in _handle_entity_call
result = await task
^^^^^^^^^^
File "/config/custom_components/tesla_custom/switch.py", line 158, in async_turn_off
await self._car.set_sentry_mode(False)
File "/usr/local/lib/python3.12/site-packages/teslajsonpy/car.py", line 1094, in set_sentry_mode
data = await self._send_command(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/teslajsonpy/car.py", line 775, in _send_command
raise ex
File "/usr/local/lib/python3.12/site-packages/teslajsonpy/car.py", line 760, in _send_command
data = await self._controller.api(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/teslajsonpy/controller.py", line 1375, in api
return await self.__post_with_retries_except_unavailable(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/tenacity/_asyncio.py", line 142, in async_wrapped
return await fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/tenacity/_asyncio.py", line 58, in call
do = await self.iter(retry_state=retry_state)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/tenacity/_asyncio.py", line 110, in iter
result = await action(retry_state)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/tenacity/_asyncio.py", line 78, in inner
return fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/tenacity/init.py", line 410, in exc_check
raise retry_exc.reraise()
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/tenacity/init.py", line 183, in reraise
raise self.last_attempt.result()
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/concurrent/futures/_base.py", line 449, in result
return self.__get_result()
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/concurrent/futures/_base.py", line 401, in __get_result
raise self._exception
File "/usr/local/lib/python3.12/site-packages/tenacity/_asyncio.py", line 61, in call
result = await fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/teslajsonpy/controller.py", line 1407, in __post_with_retries_except_unavailable
return await self.__connection.post(command, method=method, data=data, url=url)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/teslajsonpy/connection.py", line 166, in post
return await self.__open(url, method=method, headers=self.head, data=data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/teslajsonpy/connection.py", line 218, in __open
raise TeslaException(resp.status_code)
teslajsonpy.exceptions.TeslaException
the complete log and attached!
home-assistant_tesla_custom_2024-05-27T12-34-22.313Z.log

I also have the same issue and have the fleet API configured

same here from yesterday, I can update the data but any command doesn't work.

Same

Please do not add "same" or "me too" like comments, it makes issues far longer & harder to navigate and doesn't help anyone unless you're adding in additional details to help narrow down or replicate.
If you are interested in the issue, please use the subscribe to issue button to be notified of any updates.

@Nessy1970 the error is clearly stated in your log file:

2024-05-27 14:32:17.880 DEBUG (MainThread) [teslajsonpy.connection] 403: {"response":null,"error":"Tesla Vehicle Command Protocol required, please refer to the documentation here: https://developer.tesla.com/docs/fleet-api#2023-10-09-rest-api-vehicle-commands-endpoint-deprecation-warning","error_description":""}

Additionally, when opening this issue you ticked the box saying:

I have read about the Fleet API and understand I may need to use it
I understand issues relating to read only commands will be auto closed if not using the Fleet API.

@Nessy1970 the error is clearly stated in your log file:

2024-05-27 14:32:17.880 DEBUG (MainThread) [teslajsonpy.connection] 403: {"response":null,"error":"Tesla Vehicle Command Protocol required, please refer to the documentation here: https://developer.tesla.com/docs/fleet-api#2023-10-09-rest-api-vehicle-commands-endpoint-deprecation-warning","error_description":""}

Additionally, when opening this issue you ticked the box saying:

I have read about the Fleet API and understand I may need to use it
I understand issues relating to read only commands will be auto closed if not using the Fleet API.

Therefore even for those who have always worked until last week they have discontinued the possibility of sending commands via integration.
The use of the fleet API method seems imho to be a rather complex solution, I deduce that this add on no longer makes much sense to have, also because there are no clear guides on how to apply the fleet API other than just links that refer to unclear
and complex instructions. Thank you.

@skipishere thanks for your reply, I read the instructions to configure the proxy and unfortunately it is beyond my skills. I stukked at the first row :)
I really appreciate the work that the community does during their free time to make the add on as functional as possible.
At the moment I will wait to see if alternative solutions come out.

I configured Fleet API, and everything works again. Except sending a destination address in the car.

@skipishere thanks for your reply, I read the instructions to configure the proxy and unfortunately it is beyond my skills. I stukked at the first row :) I really appreciate the work that the community does during their free time to make the add on as functional as possible. At the moment I will wait to see if alternative solutions come out.

@skipishere thanks for your reply, I read the instructions to configure the proxy and unfortunately it is beyond my skills. I stukked at the first row :) I really appreciate the work that the community does during their free time to make the add on as functional as possible. At the moment I will wait to see if alternative solutions come out.

I have a step-by-step tutorial, but it is in French
https://forum.hacf.fr/t/lintegration-tesla-et-automatisation/7572/218?page=10

@Nessy1970 thanks a lot!

Hi, is this the only solution now with fleets? Why is the other option then still available?
Best,

@traveler6666 at the moment some cars pre2024 still work on the old way but "at some point" will be forced to use the fleet API.
Also from docs

Pre-2021 Model S/X are excluded from these changes.

ok. Understood. Thank you.

@traveler6666 its still available because (A) Tesla has not given a clear cutoff date when it will completely stop working; it seems to be a gradual rollout. And (B) the old method still works fine for reading sensor data, not sending commands.

Till today I have been using TeslaMate to retrieve data and the Fleet API for commands (for solar charging), and this worked well, but now seems to be rate limited (with Tesla suggesting 5 minute poll).
I had therefore turned polling to once a day, assuming this might contribute to the 50 commands per day limit, as I can usually just live under that limit.
Could someone please confirm:-

Does polling "cost" a command?
Is there any way to poll on demand?
Simply put - any tips on solar charging using Fleet?

@abreingan please open up a separate discussion


[5.6] Extend Resource Instead of JsonResource in the stub

The examples in the docs are showing that a singular resource extends the Resource and not the JsonResource

The docs need to be fixed.


Show most general unifier

When searching on a type, it would be nice to show the most general unifier in a tooltip or similar.
Internally, the result of the unification is a ([Assignment], [Assignment]): the first is the list of assignments that need to be done to the searched type; the second is the list of assignments that need to be done to the found type. An assignment is a simple tuple (TypeVar, Type) and can be represented as "v → t". I'm just not sure how to show in which direction the assignments go.
Any ideas on UX are welcome.

Since 80074bdd0ee5dda78a0ea805ad4105fd15201586 the most general unifier is returned (if a type is searched for). It is not shown in the frontend yet.

So this works, but UX isn't great yet. Still, any ideas are welcome.