docker-for-win: --vcxsrv: X cookie authentication fails

Coming from https://github.com/mviereck/x11docker/issues/145#issuecomment-493565778
@1138-4EB wrote:

When I don't use it (x11docker --verbose x11docker/check), the following error is shown:

LoadPreferences: C:\msys64\home\eine\.XWinrc not found
LoadPreferences: Loading C:\Program Files\VcXsrv\system.XWinrc
Warning: Locale not supported by X, falling back to 'C' locale.
(II) IGLX: Loaded and initialized swrast
(II) GLX: Initialized DRISWRAST GL provider for screen 0
/c/Users/eine/x11docker/cache/x11docker-check-c01f93/xinitrc: line 107: xsetroot: command not found
-rw-r--r-- 1 eine None 0 May 17 04:47 /c/Users/eine/x11docker/cache/x11docker-check-c01f93/share/Xclientcookie
Failed to retrieve trusted cookie from X server. Will bake one myself.
Ignoring locks on authority file Xclientcookie
Ignoring locks and writing authority file Xclientcookie
-rw-r--r-- 1 eine None 230 May 17 04:47 /c/Users/eine/x11docker/cache/x11docker-check-c01f93/share/Xclientcookie
C:\Program Files\VcXsrv\xauth.exe: (argv):1:  unable to read any entries from file "(stdin)"
Ignoring locks on authority file Xclientcookie

==> /c/Users/eine/x11docker/cache/x11docker-check-c01f93/message.log <==
x11docker[258.42]: Waiting since 1s for --vcxsrv to be ready.

I think that unable to read any entries from file "(stdin)" might be familiar to you.

This is the code of interest:
        echo     "[ -s '$Xclientcookie' ] || { "
        echo     "  # still no cookie? try to create one without extension security"
        echo     "  verbose -d 'Failed to retrieve trusted cookie from X server. Will bake one myself.'"
        echo     "  echo 'Failed to retrieve trusted cookie from X server. Will bake one myself.'"
        echo     "  $Xauthexe -v -i -f Xclientcookie add :$Newdisplaynumber . $(makecookie) | rmcr"
        echo     "  ls -l $Xclientcookie"
        echo     "}"
        echo     "# create prepared cookie with localhost identification disabled by ffff, needed if X socket is shared. ffff means 'familiy wild'"
        echo     "Cookie=\$($Xauthexe -i -f Xclientcookie nlist | rmcr | sed -e 's/^/ffff/')"
        echo     "echo \"\$Cookie\" | $Xauthexe -v -i -f Xclientcookie nmerge - | rmcr"rmcr)\""

This is the line that probably fails: https://github.com/mviereck/x11docker/blob/master/x11docker#L3109
        echo     "echo \"\$Cookie\" | $Xauthexe -v -i -f Xclientcookie nmerge - | rmcr"

Can you please try:
rmcr() {                        # remove carriage return to translate DOS/Windows newlines into UNIX newlines
  # convert stdin if $1 is empty. Otherwise convert file $1.
  case "${1:-}" in
    "") sed    "s/$(printf "\r")//g" ;;
    *)  sed -i "s/$(printf "\r")//g"  "${1:-}"
  esac
}
export PATH="$PATH:/c/Program Files/VcXsrv/"
Newdisplaynumber=123
xauth.exe -v -i -f Xclientcookie add :200 . $(mcookie) | rmcr
Cookie="$(xauth.exe -i -f Xclientcookie nlist | rmcr | sed -e 's/^..../ffff/')"
echo "$Cookie" | xauth.exe -v -i -f Xclientcookie nmerge -  ### failing line?
xauth.exe -f Xclientcookie nlist

The last output line must start with ffff like in
ffff 0006<PHONE_NUMBER>72 0003<PHONE_NUMBER> 4d49542d4d414749432d434f4f4b49452d31 0010 621413826a2f0b9cf4026cb0e8af2e17

I am not sure about what to try. I copied the code block to a test.sh file and I tried to execute it:
# ./test.sh
C:\Program Files\VcXsrv\xauth.exe:  file Xclientcookie does not exist
Ignoring locks on authority file Xclientcookie
Ignoring locks and writing authority file Xclientcookie
C:\Program Files\VcXsrv\xauth.exe: (argv):1:  unable to read any entries from file "(stdin)"
Ignoring locks on authority file Xclientcookie

I am not sure about what to try.

And I am a bit confused from your results. :-)
A new attempt: Please execute this script in MSYS2:
#! /bin/bash
rmcr() {
  case "${1:-}" in
    "") sed    "s/$(printf "\r")//g" ;;
    *)  sed -i "s/$(printf "\r")//g"  "${1:-}"
  esac
}
set -x
export PATH="$PATH:/c/Program Files/VcXsrv/"
xauth.exe -v -i -f Xclientcookie add :200 . $(mcookie) | rmcr
Cookie="$(xauth.exe -i -f Xclientcookie nlist | rmcr | sed -e 's/^..../ffff/')"
echo "$Cookie" | xauth.exe -v -i -f Xclientcookie nmerge -
xauth.exe -f Xclientcookie nlist

I get the following output and a valid cookie in MSYS2:
+ export 'PATH=/usr/local/bin:/usr/bin:/bin:/opt/bin:/c/Windows/System32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/:/c/Program Files/VcXsrv/:/c/Program Files/VcXsrv/'
+ PATH='/usr/local/bin:/usr/bin:/bin:/opt/bin:/c/Windows/System32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/:/c/Program Files/VcXsrv/:/c/Program Files/VcXsrv/'
++ mcookie
+ rmcr
+ case "${1:-}" in
++ printf '\r'
+ xauth.exe -v -i -f Xclientcookie add :200 . cfaaeadfbd37f03872a78339b8ea18ec
+ sed $'s/\r//g'
C:\Program Files\VcXsrv\xauth.exe:  file Xclientcookie does not exist
Ignoring locks on authority file Xclientcookie
Ignoring locks and writing authority file Xclientcookie
++ xauth.exe -i -f Xclientcookie nlist
++ rmcr
++ case "${1:-}" in
++ sed -e 's/^..../ffff/g'
+++ printf '\r'
++ sed $'s/\r//g'
+ Cookie='ffff 0010 fe80000000000000e5729ef17ad1c078 0003<PHONE_NUMBER> 4d49542d4d414749432d434f4f4b49452d31 0010 cfaaeadfbd37f03872a78339b8ea18ec
ffff 0010 fe80000000000000255916b63d0fc3e2 0003<PHONE_NUMBER> 4d49542d4d414749432d434f4f4b49452d31 0010 cfaaeadfbd37f03872a78339b8ea18ec
ffff 0010 fe80000000000000c06f04b17b91986e 0003<PHONE_NUMBER> 4d49542d4d414749432d434f4f4b49452d31 0010 cfaaeadfbd37f03872a78339b8ea18ec
ffff 0010 fe80000000000000ec345300f99215ef 0003<PHONE_NUMBER> 4d49542d4d414749432d434f4f4b49452d31 0010 cfaaeadfbd37f03872a78339b8ea18ec
ffff 0004 c0a83801 0003<PHONE_NUMBER> 4d49542d4d414749432d434f4f4b49452d31 0010 cfaaeadfbd37f03872a78339b8ea18ec'
+ echo 'ffff 0010 fe80000000000000e5729ef17ad1c078 0003<PHONE_NUMBER> 4d49542d4d414749432d434f4f4b49452d31 0010 cfaaeadfbd37f03872a78339b8ea18ec
ffff 0010 fe80000000000000255916b63d0fc3e2 0003<PHONE_NUMBER> 4d49542d4d414749432d434f4f4b49452d31 0010 cfaaeadfbd37f03872a78339b8ea18ec
ffff 0010 fe80000000000000c06f04b17b91986e 0003<PHONE_NUMBER> 4d49542d4d414749432d434f4f4b49452d31 0010 cfaaeadfbd37f03872a78339b8ea18ec
ffff 0010 fe80000000000000ec345300f99215ef 0003<PHONE_NUMBER> 4d49542d4d414749432d434f4f4b49452d31 0010 cfaaeadfbd37f03872a78339b8ea18ec
ffff 0004 c0a83801 0003<PHONE_NUMBER> 4d49542d4d414749432d434f4f4b49452d31 0010 cfaaeadfbd37f03872a78339b8ea18ec'
+ xauth.exe -v -i -f Xclientcookie nmerge -
Ignoring locks on authority file Xclientcookie
5 entries read in:  0 new, 5 replacements
Ignoring locks and writing authority file Xclientcookie
+ xauth.exe -f Xclientcookie nlist
ffff 0004 c0a83801 0003<PHONE_NUMBER> 4d49542d4d414749432d434f4f4b49452d31 0010 cfaaeadfbd37f03872a78339b8ea18ec
0006 0010 fe80000000000000255916b63d0fc3e2 0003<PHONE_NUMBER> 4d49542d4d414749432d434f4f4b49452d31 0010 cfaaeadfbd37f03872a78339b8ea18ec
0006 0010 fe80000000000000c06f04b17b91986e 0003<PHONE_NUMBER> 4d49542d4d414749432d434f4f4b49452d31 0010 cfaaeadfbd37f03872a78339b8ea18ec
0006 0010 fe80000000000000ec345300f99215ef 0003<PHONE_NUMBER> 4d49542d4d414749432d434f4f4b49452d31 0010 cfaaeadfbd37f03872a78339b8ea18ec
0000 0004 c0a83801 0003<PHONE_NUMBER> 4d49542d4d414749432d434f4f4b49452d31 0010 cfaaeadfbd37f03872a78339b8ea18ec

I get an empty output: Cookie is empty, because xauth.exe -i -f Xclientcookie nlist produces no output:
# ./test.sh
+ rm Xclientcookie
+ export 'PATH=/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/c/Windows/System32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/c/Program Files/Docker/Docker/resources/bin:/c/Program Files/VcXsrv/'
+ PATH='/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/c/Windows/System32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/c/Program Files/Docker/Docker/resources/bin:/c/Program Files/VcXsrv/'
+ rmcr
+ case "${1:-}" in
++ mcookie
++ printf '\r'
+ xauth.exe -v -i -f Xclientcookie add :200 . 5c8c22d5aa7be4e3ad10f72c6459db64
+ sed $'s/\r//g'
C:\Program Files\VcXsrv\xauth.exe:  file Xclientcookie does not exist
Ignoring locks on authority file Xclientcookie
Ignoring locks and writing authority file Xclientcookie
++ xauth.exe -i -f Xclientcookie nlist
++ rmcr
++ case "${1:-}" in
++ sed -e 's/^..../ffff/g'
+++ printf '\r'
++ sed $'s/\r//g'
+ Cookie=
+ echo ''
+ xauth.exe -v -i -f Xclientcookie nmerge -
C:\Program Files\VcXsrv\xauth.exe: (argv):1:  unable to read any entries from file "(stdin)"
Ignoring locks on authority file Xclientcookie
+ xauth.exe -f Xclientcookie nlist

This is the hexdump of Xclientcookie, in case it helps:
# hexdump Xclientcookie
0000000 0600 1000 80fe 0000 0000 0000 60fc b213
0000010 97e1 0d9c 000a 3203 3030 1200 494d 2d54
0000020 414d 4947 2d43 4f43 4b4f 4549 312d 1000
0000030 8c5c d522 7baa e3e4 10ad 2cf7 5964 64db
0000040 0600 1000 80fe 0000 0000 0000 64a4 5bf0
0000050 9ca6 ff7c 0300 3032 0030 4d12 5449 4d2d
0000060 4741 4349 432d 4f4f 494b 2d45 0031 5c10
0000070 228c aad5 e47b ade3 f710 642c db59 0064
0000080 0000 0d04 000a 014b 0300 3032 0030 4d12
0000090 5449 4d2d 4741 4349 432d 4f4f 494b 2d45
00000a0 0031 5c10 228c aad5 e47b ade3 f710 642c
00000b0 db59 0064 0000 c004 01a8 0080 3203 3030
00000c0 1200 494d 2d54 414d 4947 2d43 4f43 4b4f
00000d0 4549 312d 1000 8c5c d522 7baa e3e4 10ad
00000e0 2cf7 5964 64db
00000e6

I get an empty output: Cookie is empty, because xauth.exe -i -f Xclientcookie nlist produces no output

I am completly out of ideas. It just works here.
Do you have any idea how to debug this command?

I get an empty output: Cookie is empty, because xauth.exe -i -f Xclientcookie nlist produces no output

I am completly out of ideas. It just works here.
Do you have any idea how to debug this command?

I just started a Debian container and installed xauth there. nlist does not print anything. Therefore, I think that the problem is that the cookie is not valid.
I then tried creating the cookie inside the container (xauth.exe -v -i -f Xclientcookie add :200 . $(mcookie)). With this one, nlist works both inside and outside of the container.
So, an ugly, but possible workaround is to use xauth inside the container to create the cookie.

So, an ugly, but possible workaround is to use xauth inside the container to create the cookie.

That is not a way to go. I'd rather drop --vcxsrv.
A possible workaround could be to depend on Cygwin/X and using its xauth.exe.

--vcxsrv now depends on xauth.exe in Cygwin/X. Please try out.
I'll try to support --xwin for MSYS2 and WSL, too, and drop --vcxsrv at all.

So, an ugly, but possible workaround is to use xauth inside the container to create the cookie.

That is not a way to go. I'd rather drop --vcxsrv.
A possible workaround could be to depend on Cygwin/X and using its xauth.exe.

From a user perspective, I think that it is equivalent (or even better) to use a container as a workaround, instead of requiring Cygwin/X. All the users of x11docker have docker installed. Many users do have MSYS2 or Git Bash. With WSL2, even more users will be able to GNU/Linux apps in the Terminal. So, the advantage of VcXsrv is that the user requires a single additional dependency; a very specific tool: an X server.
Conversely, by requiring Cygwin/X, users are forced to installing a full new term (Cygwin), which duplicates the functionality already available through MSYS or WSL. Moreover, Cygwin does not have any package manager, so it requires multiple packages to be looked for and selected manually. Unless it is possible to provide a kind of config file to Cygwin in order to automate the installation on multiple dependencies, I think that users which are looking for the most painless solution will prefer VcXsrv with --no-auth. This is my use case, since I don't need neither audio nor GPU support and many of the sources I work with are open source.
Nonetheless, I think that the underlying issue might be that xauth in VcXsrv is broken/buggy. It seems that it is a not very used feature, considering that paths where supported quite naively until you asked about it last summer: https://sourceforge.net/p/vcxsrv/bugs/79/.
Therefore, I believe that the way to go is to just add a warning, letting users know that authorization might not work with VcXsrv. Overall, we should suggest Cygwin/X, because of this and because of GPU support. But I would not drop VcXsrv. The code is already written, the 'knowledge' is part of the script, I use it every day, and it works ok until some external update broke it.

Note the difference of size between a cookie created inside the container and the one created outside:

Normally xauth should create only one cookie. Your hexdump shows a single cookie.
The cookie file created by your VcXsrv-xauth.exe contains more than one cookie and is somehow broken.
It contains multiple cookies here, too, but it works.

Might it be that xauth depends on some other 'sytem tools', which might be different? I have not changed VcXsrv in the last 6 months or so, and it has been working seamlessly until some weeks ago. Apart from Win10 being updated, I recently executed pacman -Syu in MSYS2. If you didn't do that, this might be the difference. I'm currently using msys2-runtime-3.0.7-2.

So, the advantage of VcXsrv is that the user requires a single additional dependency; a very specific tool: an X server.
Conversely, by requiring Cygwin/X, users are forced to installing a full new term (Cygwin), which duplicates the functionality already available through MSYS or WSL.

You are right. That was the reason why I preferred --vcxsrv at the first time and added --xwin only in Cygwin itself because it was easy to implement.
Now I have two bugs with VcXsrv: broken --gpu support and broken cookie authentication.
Both VcXsrv and Xwin are accessed over TCP. Without an authentication this opens a severe security leak.

I think that users which are looking for the most painless solution will prefer VcXsrv with --no-auth.

I am aware that many users won't care and will just use --no-auth. But I won't support this without a working authenticated default. One demand of x11docker is to provide a secure setup by default. If that is not possible, I'll drop it.

From a user perspective, I think that it is equivalent (or even better) to use a container as a workaround,

From the developer's perspective:
That adds some more complexity and one more workaround.
I'd rather like to simplify the Windows code part than to expand it.
Issues on Windows are hard to debug, and I'll rather look for a stable working base than to support multiple unstable options that cost a lot of time in maintenance.
I see two ways to simplify the Windows code:
Either: Using Cygwin/X as a stable base. Advantage: Stable Xwin + X tools, can be used in MSYS and WSL, too.
Or: Using WSL as a modern (hopefully stable) base without supporting MSYS or Cygwin, requiring some X tools in WSL as a dependency, and using VcXsrv (with limited --gpu support, and without --pulseaudio).
WSL is trendy and hip. From a popularity point of view, this would be the best choice.
WSL2 claims to support docker natively. That is an important point, too.
I am thinking about this. Probably the best way is to wait for WSL2 and to support only that one in future.

I am aware that many users won't care and will just use --no-auth. But I won't support this without a working authenticated default. One demand of x11docker is to provide a secure setup by default. If that is not possible, I'll drop it.

Although I do not agree, I understand you point of view.

From a user perspective, I think that it is equivalent (or even better) to use a container as a workaround,

From the developer's perspective:
That adds some more complexity and one more workaround.
I'd rather like to simplify the Windows code part than to expand it.
Issues on Windows are hard to debug, and I'll rather look for a stable working base than to support multiple unstable options that cost a lot of time in maintenance.

I don't know if I am missing anything, but generating a cookie in a container would require jsut aliasing a command. I do not feel it to be 'complex'. But I agree that it adds some additional small bit, and you prefer to go the other way.

I see two ways to simplify the Windows code:
Either: Using Cygwin/X as a stable base. Advantage: Stable Xwin + X tools, can be used in MSYS and WSL, too.
Or: Using WSL as a modern (hopefully stable) base without supporting MSYS or Cygwin, requiring some X tools in WSL as a dependency, and using VcXsrv (with limited --gpu support, and without --pulseaudio).

This sounds slightly contradictory to me. You have stated before that you'd rather drop VcXsrv support instead of providing an unsecure default. However, you are suggesting to use VcXsrv here. Does this mean that xauth works in WSL without requiring Cygwin/X?

WSL is trendy and hip. From a popularity point of view, this would be the best choice.

Although I am not a big fan of WSL, I agree. It seems that WSL2 will provide most of the features of MSYS2.

WSL2 claims to support docker natively. That is an important point, too.

I am not sure about this. I have seen that it will be possible to run the docker daemon in a WSL2 machine/container, which is somehow equivalent to Docker in Docker (dind). I don't know for sure whether it'll be possible to run the daemon on the underlying VM (the one running the linux kernel, where all the containers are executed). If this later approach is possible, docker-for-win itself might not make much sense. Otherwise, I do not think that it will make any difference.

I am thinking about this. Probably the best way is to wait for WSL2 and to support only that one in future.

I believe that, at some point, Microsoft will provide a built-in X server, just as they are providing a VM with a Linux kernel and rewriting part of MSYS. At that point, neither VcXsrv nor Cygwin/X will be required. However, I found no reference about this yet.

This sounds slightly contradictory to me. You have stated before that you'd rather drop VcXsrv support instead of providing an unsecure default. However, you are suggesting to use VcXsrv here. Does this mean that xauth works in WSL without requiring Cygwin/X?

Yes. Tools like xauth or xwininfo can be installed in WSL with e.g. apt-get install xauth. x11docker could declare this as a dependency like on a regular Linux system and can use them directly without cmd.exe workarounds or path conversions and carriage return issues. It also provides a better mkfifo support than Cygwin and MSYS, an issue we had in the early x11docker-on-Windows days and is currently fixed with an ugly and time+CPU consuming workaround.
Things would also become easier if x11docker supports Cygwin/X only, but I assume WSL(2) will supersede it in future.

I don't know for sure whether it'll be possible to run the daemon on the underlying VM (the one running the linux kernel, where all the containers are executed). If this later approach is possible, docker-for-win itself might not make much sense.

AFAIK docker will run directly on the WSL2-Linux-Kernel. It is not possible in WSL1 due to missing kernel features (cgroups). There will be no need for the current Docker-VM setup. That might also fix odd bugs like #104.

I believe that, at some point, Microsoft will provide a built-in X server, just as they are providing a VM with a Linux kernel and rewriting part of MSYS. At that point, neither VcXsrv nor Cygwin/X will be required. However, I found no reference about this yet.

There has been some requests in the WSL Github tracker, e.g. https://github.com/microsoft/WSL/issues/2356.
It seems to be out of scope currently, but who knows. Either way, if with VcXsrv or a built-in X, x11docker will be able to provide it to container applications.

I don't know for sure whether it'll be possible to run the daemon on the underlying VM (the one running the linux kernel, where all the containers are executed). If this later approach is possible, docker-for-win itself might not make much sense.

AFAIK docker will run directly on the WSL2-Linux-Kernel. It is not possible in WSL1 due to missing kernel features (cgroups). There will be no need for the current Docker-VM setup. That might also fix odd bugs like #104.

I hope you are correct, but that is not what I understood while watching: https://www.youtube.com/watch?v=lwhMThePdIo. Please see the diagram at min 41:20 and the demo at min 13:00. The docker daemon in the demo is started in 'Ubuntu' which is a container, not the VM.
So, there will be no need for the current Docker-VM setup. But the alternative will not be technically equivalent at all.

There has been some requests in the WSL Github tracker, e.g. microsoft/WSL#2356.

Thanks for the reference.

I've looked into the video, but found it a bit confusing.
I better understand this text: https://devblogs.microsoft.com/commandline/announcing-wsl-2/
It also shows the demo of min 13:00.
Other than WSL1, WSL2 runs a real Linux kernel. This kernel runs in a VM.

The docker daemon in the demo is started in 'Ubuntu' which is a container, not the VM.

Ubuntu runs directly on the Linux kernel. It is not a container, it is a VM. Docker is started in Ubuntu. There is no docker-in-docker setup.

So, there will be no need for the current Docker-VM setup.

This is still a sort of VM setup. But x11docker and docker will run in the same WSL2-VM. Currently, the MobyVM only runs docker.

But the alternative will not be technically equivalent at all.

I don't see disadvantages. Probably the current MobyVM will be dropped, but it will still be possible to run docker.exe in Windows. I assume they'll keep the frontend and change the backend.
For x11docker I see the advantage to have docker and commands like xauth in the same environment as x11docker and to have a full qualified mkfifo.  Only the X server / VcXsrv has to be called elsewhere.
However, maybe WSL2 won't run nested in a Windows VM. I already did not get MobyVM to work.

Ubuntu runs directly on the Linux kernel. It is not a container, it is a VM. Docker is started in Ubuntu. There is no docker-in-docker setup.

I do not think that 'Ubuntu runs directly on the Linux kernel'. When you say 'Ubuntu' I think you mean the shortcut that is shown in the screencast. That is a shortcut to what they call a
'WSL distro', which is a kind of synonym for 'Docker container' or 'OCI container'. Hence, you could start 'Debian' or 'Alpine' instead, and the setup would be equivalent.
Right now, there is no explicit VM behind WSL1, so you cannot interact with it. They say that:

To summarize: while WSL 2 does use a VM, it will be managed and run behind the scenes leaving you with the same user experience as WSL 1.

Which leads me to think that the VM will be a black box, just as the Moby-WM. The difference is that docker is automatically started in Moby-VM, which I don't know if it will be possible in Microsoft's VM.
However, WSL2 distros are not OCI containers, because the target of Microsoft is to be able to execute GNU/Linux tools seamlessly, so they break almost every isolation possible. Hence, it might make sense to execute the docker daemon in a WSL2 distro, provided that the isolation between the distro and the VM is nearly inexistent.
AFAIK, Microsoft is doing this in partnership with Docker, not on their own. Therefore, if they decided to go this way, it must be because there is no relevant performance issue. Furthermore, it is interesting, since it allows to start different docker daemons in several WSL2 distros. And this is precisely the context that I wanted to bring. This is not possible with docker-for-win/WSL1 but I think that it will be an option with WSL2.

This is still a sort of VM setup. But x11docker and docker will run in the same WSL2-VM. Currently, the MobyVM only runs docker.

This is what I am not sure about. I think that x11docker and docker will run in the same WSL2 distro, which will be executed on a VM. But neither x11docker nor docker will run on the VM directly. There seems that there is no explicit mechanism to get a shell in the VM.

I don't see disadvantages. Probably the current MobyVM will be dropped, but it will still be possible to run docker.exe in Windows. I assume they'll keep the frontend and change the backend.

I'm quite sure about it. How will it work, tho? If a single docker daemon is started on a WSL2 distro, it might be possible that it is listening on a default port, which is automatically bind to the VM, and the host (Windows). Any other daemon started in a different WSL2 distro will likely conflict.
Overall, I find it great to let the user configure the docker daemon as in a GNU/Linux environment, instead of being constrained by the configuration of the daemon in the Moby-WM. However, with great power comes great responsibility.

For x11docker I see the advantage to have docker and commands like xauth in the same environment as x11docker and to have a full qualified mkfifo. Only the X server / VcXsrv has to be called elsewhere.

Yes, I think that the codebase will be simplified a lot with WSL2. Support for MSYS2 could be dropped right away. I am not sure about Cygwin/X, tho. GPU support is an interesting feature to have.

However, maybe WSL2 won't run nested in a Windows VM. I already did not get MobyVM to work.

I agree. WSL2 will require Hyper-V. That's why they will keep WSL1: for users without Hyper-V.

Whatever the technical details will be indeed - I am currently thinking about some sort of political dimension.
I've been curious already why there was and is no X suppot for WSL. It is an easy task to provide e.g. VcXsrv in WSL. Microsoft could just do it with almost no effort. There has been several user requests, but they all has been refused.
Maybe Microsoft just dont want it. It would allow the "common GUI user" some Linux experience. Currently only Linux nerds will use WSL. But with a WSL GUI environment many less geeky Windows users could try and like Linux. They could say, Linux is cool, let us use Linux natively and drop Windows at all.
Speaking from me, I am not really happy to support Microsoft. They did a bad lobbywork in Germany a few years ago and killed the Limux project. The city Munich/München switched from Windows to Linux several years ago. After some struggling it got stable and was a famous prestige project.
Suddenly and for no obvious reason, the project was dropped and the city migrated back to Windows. Shortly after that Microsoft built a new big headquarter in Munich.
I am angry. I think of:

Dropping x11docker on Windows at all to not support Microsoft.
Supporting x11docker on good old Cygwin, but not supporting the hype WSL to not support Windows development.
Supporting X on WSL (with and without docker) to make Linux GUIs on Windows available, thus making Linux famous. (However, a much shorter but well done script could suit this better.)

These thoughts are not technical at all, though. I would like to hear your thoughts about this.

These thoughts are not technical at all, though. I would like to hear your thoughts about this.

I must agree with you on almost everything. They also did bad lobbywork around here for several years, and they are still doing it, specially targeting education. I am aware about the case of Munich too.

Supporting x11docker on good old Cygwin, but not supporting the hype WSL to not support Windows development.

I think that this might be incoherent. Although I would prefer having Cygwin support rather than not having support at all, I think that it is not consistent to support Cygwin and not WSL. Both are solutions to use GNU/Linux tools on Microsoft's Windows. Both of them rely on some free, other open, and other closed source pieces of software. The difference between them is mostly technological. I.e., if someone was to write a HyperV-based Cygwin today, the architecture would probably look quite similar to WSL.
Moreover, both installing and using Cygwin is harder than either WSL or GNU/Linux. A common GUI user which needs to start using terminal apps might be confused about WSL being much easier, and it might lead to thinking that Microsoft's Linux is easier than a regular GNU/Linux. I think that, from a strategic point of view, it is better to let new users mix windows and linux binaries almost seamlessly. Hopefully, at one point they will be using all linux binaries without even realizing about it.

Supporting X on WSL (with and without docker) to make Linux GUIs on Windows available, thus making Linux famous. (However, a much shorter but well done script could suit this better.)

I think that x11docker can signifficantly help in this sense. According to the demos, it will be possible to launch a windows GUI app from WSL. So, users might feel that Linux is not for regular apps, because GUIs only work on windows. A simple script (which calls x11docker, or an independent one) sourced in .bashrc can solve this, as you say. A very interesting user group that might benefit from this are developers of apps with GUIs (including videogames) which use frameworks with multi-platform support.

I also think that the Windows part of the codebase is getting too complex, so I agree with you when you point out that in a few months a single and straighforward solution should be kept.
At the same time, the main reason for me to switch from my own script to x11docker was Windows support. On GNU/Linux, it is straighforward to share the X server on the host with any docker container. Hence, it is easy to set up, even by hand. However, on Windows it is not so easy. Therefore, if Windows support was dropped, I would probably need to stick with the current version. For me, it is prioritary to have a common syntax on both platforms, because it allows me to write all the scripts and development assets once. I could wrap x11docker with my own 'entrypoint', which I did in the past; but this would imply that I would not use any x11docker feature which I am not able to replicate on Windows on my own.
In the end, it is going to be mostly your time and effort, so I completely understand if you do not want to support Microsoft at all, be it because you are angry or because of any other reason.

Thank you for your thoughts. You have said some important points to consider.
As a start, I have published runx v0.1.
It allows to run VcXsrv in WSL. It can be sourced it in ~/.bashrc or directly run e.g. runx xterm.
I might extend it for MSYS2 and Cygwin, too.
It can also be used for x11docker in future. This will allow me to drop some Windows code from x11docker.
I want to support x11docker in at least WSL. runx might make it easier to keep support for Cygwin and MSYS2, too.

Thanks to you for making an open dicussion about it ;). I find your solution very sensible.
I tried runx in WSL and I can confirm that it works. Awesome! Just two minor issues:

In line 335 -v|--verbose), I had to add ;;.
todo() is line 433 is empty. This is not allowed. I added : in line 434, just before the first comment.

Thanks to you for making an open dicussion about it ;). I find your solution very sensible.

Thanks. :-)
Let's continue this in #165.


[5.1] Arr/Collection combine

Adds a combine method to the Collection class that allows you to use the collection as keys for the passed items. Additionally, it will just push values that don't have a corresponding key onto the collection. This behaviour can be turned off by setting the second parameter to false. If you do that, values without a corresponding key will be skipped.

I just realised that this could be moved to the Arr class.

Calling combine() on a collection instance doesn't make much sense to me.
Arr::combine() is probably okay.

I'm :-1: on this.
$collection->combine($array) is quite ambiguous as to whether you pass it the keys or the values. You've decided here in your code that you should pass in the values and use the collection's items as keys, but that's just arbitrary. It could just as well have been the other way around.
I agree with @arrilot that this makes no sense on the collection. Use array_combine directly:
$combined = collect(array_combine($c->all(), $values));
// or
$combined = collect(array_combine($keys, $c->all()));

Seems much clearer as to what it does.

I'm :-1: too.

When combining keys ['foo'] and values ['bar', 'baz', 'qux', 'norf'] the loop would run 4 times, yet the resulting array will be ['foo' => 'bar'], which could be done in just 2 iterations.

Now I see what it does. And this is bad. The best thing in array_combine is that it throws a warning when count of keys does not match count of values.
In your method I can only guess if it worked as I assumed or there was insufficient data somewhere. And somewhere during debug is the scariest nightmare.

Going to hold off on this.

@JosephSilber @rkgrep I made this specifically to allow combining arrays of different lengths. But yeah I can imagine people using this and requiring two arrays of equal length in their use case and then having a hard time debugging.


Implement case-sensitive :xml mode

Need an :xml mode on CSS::Grammar::Actions that preserves case sensitivity of element names and namespace prefixes in returned ASTS
Needed for correct operation of CSS::Selectors::To::XPath (under construction) on XML  documents.
Brief note in https://www.w3.org/TR/2018/REC-selectors-3-20181106/#casesens

Actually, I think there's also a bug. Namespace prefixes should always be case sensitive. Changing the title of this ticket.


Inherit cmake presets environments from launch.json

Brief Issue Summary
I would like a way to inherit the environment from CMake presets when debugging using a launch.json file. As far as I can see, this is not yet supported in the current version v1.15.31.
The scenario is that I have configured the PATH environment variable to include the directory containing Qt binaries in CMake presets. This allow me to use the CMake: Debug feature even if my executable is not in the same directory as Qt binaries.
If I need to add command line arguments or launch the target through another executable, I need duplicate the PATH in the launch.json file. This is cumbersome if different presets specify different PATH environment variable, because I need to keep the launch.json in sync.
CMake Tools Diagnostics
No response
Debug Log
No response
Additional Information
No response

Thanks for the request!
Similar to #1829

I have similar issue: configured LD_LIBRARY_PATH env variable in CMakePresets.txt and now have to duplicate it in the launch.json.

@davits Have you tested whether this works in the pre-release channel? Also, to confirm, you mean CMakePresets.json right?


Reconciliate json2Synapse.py with schema.py, others

Right now  json2Synapse.py works as a Python script that you invoke from the command line. We need to incorporate some or all of its functionality so it can be used within a Python module. I've already created a schema.py module where we can put functionality related to working with schemas.
Right now there is a redundancy -- we have ajson2Flatten function in json2Synapse.py and a flattenJson function in schema.py. One of these needs to replace the other. updateTable is possibly not schema specific and might better fit with synapseclient or synapseutils. If there is anything useful for annotating in main, then it needs to be squeezed into one or more functions in the appropriate module.
The idea is that if someone wants to do exactly what json2Synapse.py does, but from the Python interpreter, they would by able to accomplish it in a few short lines of Python code, after importing the appropriate modules.

Moved to /bin


added unit tests again with autocrlf enabled

Summary
This PR adds unit tests for the converters and classes in Temporal.SDK.Common. It uncovered what I believe to be an issue with the VoidPayloadConverter. It was returning true in all cases, so that meant the CompositePayloadConverter would never go through all of its options.
Related Work Items
#13
What was changed
Changed the VoidPayloadConverter to return false when its preconditions fails
Why?
There are currently no tests within the project.

@macrogreg This PR should fix the line ending issue from the previous PR. #51

Hi @mightyshazam , thanks for the update for being on top of the latest changes. Since this PR now includes changes in increments upon, the code delta is not all relevant.
To make things easier, I created this: https://github.com/macrogreg/sdk-dotnet/pull/1
That is a PR from your branch into the branch you based your work upon. So it contain only the delta that is your actual change. I will be doing the review there, so that we can focus only on the relevant changes. :)

I am so sorry @mightyshazam, I typed a comment into a wrong, pressed enter and this got merged. My mistake, I wanted to leave it to you do to the honors, I apologize.


Bug: error while importing data for new subject

Problem summary
BIDS_Manager raises an error when importing/converting BIDS data for a very new subject.
Steps to reproduce:

Add new participant (and a new column) in HIP>Dataset>participants interface: this should update the participants.tsv file.
Configure and import any type of data (T1w for instance) in HIP>Dataset>import interface.

Version
v1.1.0-dev.1

This should have caused by a participants.tsv not consistent with the BIDS dataset content (subject already present in the participants.tsv but the sub- directory does not exist).
I am closing this issue for now. Please reopen it if you encounter this issue again.


ci: Add release and promote workflows

Note: STORE_LOGIN secret needs to be added.

Re-trigger failed ci tests.


Feature Request: have the glob function return a promise (while still handling the callback if specified)

With promises and the async/await pattern now firmly established both in the browser and Node.js (not to mention https://deno.land now being a thing), it would be quite useful if glob supported the modern async pattern by returning a promise, in addition to still honoring the callback if specified, e.g.:
function glob(pattern, callback) {
  return new Promise((resolve, reject) => {
    whateverTheInternalCodeCallsAre(pattern, (err, files) => {
      if (callback) {
        callback(err, files);
      }
      if (err) {
        reject(err);
      } else {
        resolve(files);
      }
    });
  });
}

(and of course, "people can just write this themselves", but there would be tremendous value in the library doing this for everyone, instead of thousands of people all having to roll that same code over and over)

You can also do the following:
import { promisify } from "util";
import g from "glob";

export const glob = promisify(g);

Please note that this is not a request for help because someone doesn't know how to use non-promise code in promise-based codebase, it's a feature request for the library itself. Suggestions on alternative ways to achieve a promise API are great on stackoverflow, but don't belong in a feature request issue.

@Pomax I bet adding that functionality would be a welcomed PR, especially given its simplicity.

Indeed, which is why I'd love to see someone else familiar with this code write that PR. I'm already involved in too many open source projects as is, and writing a PR (even "a simple one") takes considerably more time that writing an issue comment given that I'd have to do a code dive first to make sure I'm writing code in the same style, and form not just the PRs but write proper tests for it as well.
But if you think it's simple, you're clearly the better person to write it: I look forward to seeing your PR!

But if you think it's simple, you're clearly the better person to write it: I look forward to seeing your PR!

Ok, fine, you convinced me :joy:
#489

Haha, and only 82 files changed =D

Haha, and only 82 files changed =D

Everything's simple if someone else does it :joy:


Improve Travis CI build Performance

Does travis_retry really solve the build issues? According to the data in paper An empirical study of the long duration of continuous integration builds, travis_retry can only solve 3% of the build failures. And it may cause unstable build and increase build time.
Caching Dependencies and Directories Travis CI can cache content that does not often change, to speed up the build process.
=====================
If there are any inappropriate modifications in this PR, please give me a reply and I will change them.

This repository has been transferred to https://github.com/embulk, and we are going to start using GitHub Actions, instead of Travis.


Fixes for RxJS v5 type definitions

I'm using the ES6 importing syntax of rxjs and directly import from rxjs/Observable for example. Flowtype didn't know about this syntax and was complaining about the unknown type.
To fix this I saw no other way than using the $ syntax to allow importing the same things from different sources w/o having to re-declare everything again and again (DRY).
Also, imo I fixed the namespace rxjs to use rxjs$ instead of rx$ since RxJS v5 is installed as npm i rxjs and not rx, which is the old version of the Reactive Extensions Library.

Thanks!


cmd/scollector: Chef collector

Simple collector for Chef, reads and parses last line from /var/chef/reports/run_status_json.log.

@kylebrandt ok adding this? LGTM.


retire fizz-logger from all services — we should be using sidecars instead and use fizz-logger on the sidecar only.

wontfix. not worth the hassle.
plus an in-app logging has its advantages too.
if nothing, it keeps the infra simpler.


Python Weather App

Build a simple weather application that fetches data from a weather API and displays the current weather conditions for a given location.

Kindly assign this to me. Thank you.


Fix opts in sql_call

With the current code if you pass timeout: 1 to opts, the callback will actually receive [timeout: 1, timeout: 15000] because it's adding the new opts to the default opts, but I suppose it should receive just a single timeout. Is that expected or a bug?

Well, it depends on how the actual adapter callback reads it, but I would say it is safe to say everyone is used to use Keyword.get(kl, :timeout) or kl[:timeout], which would get the first value for the given key, so I guess the old way is actually good enough, and also ++ is faster than Keyword.merge, as to merge it needs to traverse both lists, while on ++ it just iterates to the end of the first one.

Well, it depends on how the actual adapter callback reads it, but I would say it is safe to say everyone is used to use Keyword.get(kl, :timeout) or kl[:timeout], which would get the first value for the given key, so I guess the old way is actually good enough, and also ++ is faster than Keyword.merge, as to merge it needs to traverse both lists, while on ++ it just iterates to the end of the first one.

Good point, I agree. Although who is working on the adapters must be aware of this situation. I'm fine with closing this PR, or maybe adding a comment to expose the motivation to keep it as ++

Yeah, it works as intended. We use ++ for perf reasons. :)

Good to know, thanks!


Implement MapRun

Map and Run are a common combination. Add an extension that combines the two with MapRun.
Before:
            app.Map("/hello", subApp =>
            {
                subApp.Run(context =>
                {
                    return context.Response.WriteAsync("Hello world");
                });
            });

After:
            app.MapRun("/hello", context =>
            {
                 return context.Response.WriteAsync("Hello world");
            });

There's some overlap here with routing. Also, we don't plan to build a child pipeline for this do we? That seems wasteful.

It can be basic sugar method, no?

Map has semantics about updating PathBase that I don't think would be needed here. MatchRun or RunMatch might be better. There's no need to build a sub-pipeline or update PathBase.

cc @glennc

cc @glennc

Killed by @davidfowl


Mininet doesn't work: Destination host unreachable

Describe the bug
Mininet reports Destination host unreachable when ping'ing.
sudo mn                                                                                ─╯
*** Error setting resource limits. Mininet's performance may be affected.
*** Creating network
*** Adding controller
*** Adding hosts:
h1 h2
*** Adding switches:
s1
*** Adding links:
(h1, s1) (h2, s1)
*** Configuring hosts
h1 h2
*** Starting controller
c0
*** Starting 1 switches
s1 ...
*** Starting CLI:
mininet> pingall
*** Ping: testing ping reachability
h1 -> X
h2 -> X
*** Results: 100% dropped (0/2 received)
mininet>

To Reproduce

Install mininet
Run mininet: sudo mn
Run pingall

Expected behavior
Nodes can ping each other.
It works on lima (which is based on qemu rather than containers)
Diagnostic report (REQUIRED)
OrbStack info:
Version: 1.5.0
Commit: afc6a0a9a22761c33329835c75a3b42a4ceb29b8 (v1.5.0)
System info:
macOS: 14.3.1 (23D60)
CPU: arm64, 8 cores
CPU model: Apple M1
Model: MacBookAir10,1
Memory: 16 GiB
Full report: https://orbstack.dev/_admin/diag/orbstack-diagreport_2024-04-06T13-02-10.569134Z.zip

Screenshots and additional context (optional)
No response

Hi, @slinorb, thanks a lot for your quick reply!
However, I tried your command and it still didn't work (Destination host unreachable)
By reading mn's help, I realize that I may have to use --switch=user rather than --switch user. However, I still get the same result.
Here is my debug log.
Any help is highly appreciated!

Hopefully this solves the problem...

Should be fixed by #1140.


fix(secret): add a secret ref column to source

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
We had a secret_ref for source in StreamSourceInfo, but it should be used for format/encode option. We need another secret_ref for source.

Checklist

[ ] I have written necessary rustdoc comments
[ ] I have added necessary unit tests and integration tests
[ ] I have added test labels as necessary. See details.
[ ] I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features #7934).
[ ] My PR contains breaking changes. (If it deprecates some features, please create a tracking issue to remove them in the future).
[ ] All checks passed in ./risedev check (or alias, ./risedev c)
[ ] My PR changes performance-critical code. (Please run macro/micro-benchmarks and show the results.)

[ ] My PR contains critical fixes that are necessary to be merged into the latest release. (Please check out the details)

Documentation

[ ] My PR needs documentation updates. (Please use the Release note section below to summarize the impact on users)

Release note
If this PR includes changes that directly affect users or other significant modifications relevant to the community, kindly draft a release note to provide a concise summary of these changes. Please prioritize highlighting the impact these changes will have on users.
We had a secret_ref for source in StreamSourceInfo, but it should be used for format/encode option. We need another secret_ref for source.
Add this to avoid backward compatibility issue

We had a secret_ref for source in StreamSourceInfo, but it should be used for format/encode option. We need another secret_ref for source.

Then let's unify them at the source level, pb source carries all secret mapping.

Then let's unify them at the source level, pb source carries all secret mapping.

How do you tell the difference between secrets for source and encode/format when they have the same name.

Any way, I guess a migration script might be a better solution for those problem.


removed two instances of unused content constants.

The content constant is defined but never used inside _removeLink and _addLink

Thanks!


Output PreviewSize - HTML/CSS

HTML/CSS Post MVP (https://github.com/RaspberryPiFoundation/editor-ui/issues/493)
design

Not sure if this is in/out of scope for the editor - need to consider use case

Issues:

‘New tab preview’ not getting updates without refreshing the page / running.
What file to run when you click run in the ‘new tab preview’
Currently ‘new tab preview’ defaults to index.html
Navigating back pages in the ‘new tab preview’

MVP:

‘New tab preview’ should show the html file that is currently being previewed in the editor.
Users can still navigate with in-page links
Users need to be able to navigate back in the preview - using native browser back/forwards buttons

closed with merge of #536


In a gridless scene "Token cause difficult terrain" does not work

When I disable the grid in my scene the movement through another token does not add the difficult terrain to the movement.

I just noticed this too. It would be great if it were changed so that it works on gridless too.

+1 to this, if it's not been sorted already?

Experiencing the same issue - though the responsibility of this does seem most likely to lie with Enhanced Terrain Layer, here are the versions of all of the somewhat relevant software/modules that I'm using currently:

Foundry 10.290
Enhanced Terrain Layer 10.6
Terrain Ruler 1.7.2
Elevation Ruler 0.6.0
Drag Ruler 1.13.2
Drag Ruler D&D5e Integration 1.8.6


New Contribution

Contributor: [contributor information - Optional]
SSH Public key: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIComLq7y9ksIY4RV2x6vUJgXC2iHlFPDa+woz97eFqoh
Attestation: [any form of attestation for contribution (e.g., signature) - Optional]

I am ready to contribute - standing by for permission to begin.


support detecting packages in environments created using conda-pack

Applies To

[X] Notebooks (.ipynb files)
[ ] Interactive Window and/or Cell Scripts (.py files with #%% markers)

What happened?
After an upgrade of Jupyter plugin from 2022.2.1010630101 to 2022.2.1020642448 (or later) I no longer can run any notebook - it results it the following error:
View Jupyter [log](command:jupyter.viewOutput) for further details.
[Learn more](https://aka.ms/kernelFailuresMissingModule)

This is perhaps related to the issue https://github.com/microsoft/vscode-jupyter/issues/9231 . The kernel is global and thus cannot be activated. As a result, the site packages are perhaps not added correctly to the path. The kernel is run remotely inside docker.
VS Code Version
Version: 1.65.1 Commit: 8908a9ca0f221f36507231afb39d2d8d1e182702 Date: 2022-03-08T02:09:03.269Z Electron: 13.5.2 Chromium: 91.0.4472.164 Node.js: 14.16.0 V8: 9.1.269.39-electron.0 OS: Linux x64 5.13.0-35-generic
Jupyter Extension Version
v2022.2.1030672458
Jupyter logs
Visual Studio Code (1.65.1, attached-container, desktop)
Jupyter Extension Version: 2022.2.1030672458.
Python Extension Version: 2022.2.1924087327.
User belongs to experiment group 'jupyterTestcf'
User belongs to experiment group 'jupyterEnhancedDataViewer'
Info 10:34:32: ZMQ install verified.
Info 10:34:33: Experiment status for python is {"enabled":true,"optInto":[],"optOutFrom":[]}
Info 10:34:33: Interrupt requested & no kernel.
Info 10:34:33: Setting setActiveController for ~/agentx-data/notebooks/attribution-distribution.ipynb
Info 10:34:33: KernelProvider switched kernel to id = .jvsc74a57bd08fe3fdd79557649874facada13d04ddbe1317ce212365feed75b53cbfabab89f./agentx/bin/python./agentx/bin/python.-m#ipykernel_launcher
Info 10:34:33: Starting Notebook in kernel.ts id = .jvsc74a57bd08fe3fdd79557649874facada13d04ddbe1317ce212365feed75b53cbfabab89f./agentx/bin/python./agentx/bin/python.-m#ipykernel_launcher
Info 10:34:33: Creating raw notebook for ~/agentx-data/notebooks/attribution-distribution.ipynb
Info 10:34:33: Getting preferred kernel for ~/agentx-data/notebooks/attribution-distribution.ipynb
Info 10:34:33: Computing working directory ~/agentx-data/notebooks/attribution-distribution.ipynb
Info 10:34:33: Starting raw kernel Python 3.8.10 64-bit for interpreter /agentx/bin/python
Info 10:34:33: installMissingDependencies /agentx/bin/python
Info 10:34:33: IPyKernel found previously in this environment /agentx/bin/python
Info 10:34:33: Kernel launching with ports 9000,9001,9002,9003,9004. Start port is 9000
Info 10:34:33: Registering dummy command feature
Info 10:34:34: Process Execution: > /agentx/bin/python -m pip list
> /agentx/bin/python -m pip list
Info 10:34:34: Process Execution: > /agentx/bin/python -c "import ipykernel; print(ipykernel.__version__); print("5dc3a68c-e34e-4080-9c3e-2a532b2ccb4d"); print(ipykernel.__file__)"
> /agentx/bin/python -c "import ipykernel; print(ipykernel.__version__); print("5dc3a68c-e34e-4080-9c3e-2a532b2ccb4d"); print(ipykernel.__file__)"
Info 10:34:34: Adding env Variable PYTHONNOUSERSITE to /agentx/bin/python
Info 10:34:34: Process Execution: > /agentx/bin/python -m ipykernel_launcher --ip=<IP_ADDRESS> --stdin=9003 --control=9001 --hb=9000 --Session.signature_scheme="hmac-sha256" --Session.key=b"c5b38cba-137f-479e-859e-69ee56326647" --shell=9002 --transport="tcp" --iopub=9004 --f=/tmp/tmp-46658ITQgjBs6LwFB.json
> /agentx/bin/python -m ipykernel_launcher --ip=<IP_ADDRESS> --stdin=9003 --control=9001 --hb=9000 --Session.signature_scheme="hmac-sha256" --Session.key=b"c5b38cba-137f-479e-859e-69ee56326647" --shell=9002 --transport="tcp" --iopub=9004 --f=/tmp/tmp-46658ITQgjBs6LwFB.json
Info 10:34:34: Process Execution: cwd: ~/agentx-data/notebooks
cwd: ~/agentx-data/notebooks
Warn 10:34:34: StdErr from Kernel Process /agentx/bin/python: No module named ipykernel_launcher

Error 10:34:34: Disposing kernel process due to an error [o [Error]: The kernel died. View Jupyter [log](command:jupyter.viewOutput) for further details.
Error: /agentx/bin/python: No module named ipykernel_launcher...
	at ChildProcess.<anonymous> (/home/agentx/.vscode-server/extensions/ms-toolsai.jupyter-2022.2.1030672458/out/client/extension.js:2:793563)
	at ChildProcess.emit (events.js:327:22)
	at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12)] {
  category: 'kerneldied',
  exitCode: 1,
  stdErr: '/agentx/bin/python: No module named ipykernel_launcher\n'
}
Error 10:34:34: /agentx/bin/python: No module named ipykernel_launcher

Info 10:34:34: Dispose Kernel process
Error 10:34:34: Failed to connect raw kernel session: Error: The kernel died. View Jupyter [log](command:jupyter.viewOutput) for further details.
Error: /agentx/bin/python: No module named ipykernel_launcher...
Error 10:34:34: failed to create INotebook in kernel, UI Disabled = true [o [Error]: The kernel died. View Jupyter [log](command:jupyter.viewOutput) for further details.
Error: /agentx/bin/python: No module named ipykernel_launcher...
	at ChildProcess.<anonymous> (/home/agentx/.vscode-server/extensions/ms-toolsai.jupyter-2022.2.1030672458/out/client/extension.js:2:793563)
	at ChildProcess.emit (events.js:327:22)
	at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12)] {
  category: 'kerneldied',
  exitCode: 1,
  stdErr: '/agentx/bin/python: No module named ipykernel_launcher\n'
}
Error 10:34:34: failed to start INotebook in kernel, UI Disabled = true [o [Error]: The kernel died. View Jupyter [log](command:jupyter.viewOutput) for further details.
Error: /agentx/bin/python: No module named ipykernel_launcher...
	at ChildProcess.<anonymous> (/home/agentx/.vscode-server/extensions/ms-toolsai.jupyter-2022.2.1030672458/out/client/extension.js:2:793563)
	at ChildProcess.emit (events.js:327:22)
	at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12)] {
  category: 'kerneldied',
  exitCode: 1,
  stdErr: '/agentx/bin/python: No module named ipykernel_launcher\n'
}
Info 10:34:34: ipykernel version 6.9.1 for /agentx/bin/python
Info 10:34:34: ipykernel location ~/.local/lib/python3.8/site-packages/ipykernel/__init__.py for /agentx/bin/python
Info 10:34:36: Creating controller for jupyter-notebook with interpreter /agentx/bin/python
Info 10:34:36: Find preferred kernel for ~/agentx-data/notebooks/attribution-distribution.ipynb with metadata {"kernelspec":{"display_name":"Python 3 (ipykernel)","language":"python","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.8.10"}} & preferred interpreter /agentx/bin/python
Info 10:34:36: findKernel found base (Python 3.8.5)
Info 10:34:36: PreferredConnection: .jvsc74a57bd04c2b8563932708ac4f64e3bc4797ea8eb43fc7530baa7f01daadf5b46d7b1fd4./opt/miniconda/python./opt/miniconda/python.-m#ipykernel_launcher found for NotebookDocument: ~/agentx-data/notebooks/attribution-distribution.ipynb
Info 10:34:36: TargetController found ID: .jvsc74a57bd04c2b8563932708ac4f64e3bc4797ea8eb43fc7530baa7f01daadf5b46d7b1fd4./opt/miniconda/python./opt/miniconda/python.-m#ipykernel_launcher for document ~/agentx-data/notebooks/attribution-distribution.ipynb
Info 10:34:36: Setting controller affinity for ~/agentx-data/notebooks/attribution-distribution.ipynb .jvsc74a57bd04c2b8563932708ac4f64e3bc4797ea8eb43fc7530baa7f01daadf5b46d7b1fd4./opt/miniconda/python./opt/miniconda/python.-m#ipykernel_launcher
Info 10:34:53: Execute Cells request 2
Info 10:34:53: Execute Cell 2 ~/agentx-data/notebooks/attribution-distribution.ipynb
Info 10:34:53: Starting Notebook in kernel.ts id = .jvsc74a57bd08fe3fdd79557649874facada13d04ddbe1317ce212365feed75b53cbfabab89f./agentx/bin/python./agentx/bin/python.-m#ipykernel_launcher
Info 10:34:53: Creating raw notebook for ~/agentx-data/notebooks/attribution-distribution.ipynb
Info 10:34:53: Getting preferred kernel for ~/agentx-data/notebooks/attribution-distribution.ipynb
Info 10:34:53: Computing working directory ~/agentx-data/notebooks/attribution-distribution.ipynb
Info 10:34:53: Starting raw kernel Python 3.8.10 64-bit for interpreter /agentx/bin/python
Info 10:34:53: installMissingDependencies /agentx/bin/python
Info 10:34:53: IPyKernel found previously in this environment /agentx/bin/python
Info 10:34:53: Kernel launching with ports 9008,9009,9010,9011,9012. Start port is 9000
Info 10:34:53: Adding env Variable PYTHONNOUSERSITE to /agentx/bin/python
Info 10:34:53: Process Execution: > /agentx/bin/python -c "import ipykernel; print(ipykernel.__version__); print("5dc3a68c-e34e-4080-9c3e-2a532b2ccb4d"); print(ipykernel.__file__)"
> /agentx/bin/python -c "import ipykernel; print(ipykernel.__version__); print("5dc3a68c-e34e-4080-9c3e-2a532b2ccb4d"); print(ipykernel.__file__)"
Info 10:34:53: Process Execution: > /agentx/bin/python -m ipykernel_launcher --ip=<IP_ADDRESS> --stdin=9011 --control=9009 --hb=9008 --Session.signature_scheme="hmac-sha256" --Session.key=b"08943eb3-65de-4242-8f99-4e06e6c9fc06" --shell=9010 --transport="tcp" --iopub=9012 --f=/tmp/tmp-46658MGuUX4D5SnW8.json
> /agentx/bin/python -m ipykernel_launcher --ip=<IP_ADDRESS> --stdin=9011 --control=9009 --hb=9008 --Session.signature_scheme="hmac-sha256" --Session.key=b"08943eb3-65de-4242-8f99-4e06e6c9fc06" --shell=9010 --transport="tcp" --iopub=9012 --f=/tmp/tmp-46658MGuUX4D5SnW8.json
Info 10:34:53: Process Execution: cwd: ~/agentx-data/notebooks
cwd: ~/agentx-data/notebooks
Warn 10:34:54: StdErr from Kernel Process /agentx/bin/python: No module named ipykernel_launcher

Error 10:34:54: Disposing kernel process due to an error [o [Error]: The kernel died. View Jupyter [log](command:jupyter.viewOutput) for further details.
Error: /agentx/bin/python: No module named ipykernel_launcher...
	at ChildProcess.<anonymous> (/home/agentx/.vscode-server/extensions/ms-toolsai.jupyter-2022.2.1030672458/out/client/extension.js:2:793563)
	at ChildProcess.emit (events.js:327:22)
	at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12)] {
  category: 'kerneldied',
  exitCode: 1,
  stdErr: '/agentx/bin/python: No module named ipykernel_launcher\n'
}
Error 10:34:54: /agentx/bin/python: No module named ipykernel_launcher

Info 10:34:54: Dispose Kernel process
Error 10:34:54: Failed to connect raw kernel session: Error: The kernel died. View Jupyter [log](command:jupyter.viewOutput) for further details.
Error: /agentx/bin/python: No module named ipykernel_launcher...
Error 10:34:54: failed to create INotebook in kernel, UI Disabled = false [o [Error]: The kernel died. View Jupyter [log](command:jupyter.viewOutput) for further details.
Error: /agentx/bin/python: No module named ipykernel_launcher...
	at ChildProcess.<anonymous> (/home/agentx/.vscode-server/extensions/ms-toolsai.jupyter-2022.2.1030672458/out/client/extension.js:2:793563)
	at ChildProcess.emit (events.js:327:22)
	at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12)] {
  category: 'kerneldied',
  exitCode: 1,
  stdErr: '/agentx/bin/python: No module named ipykernel_launcher\n'
}
Warn 10:34:54: Kernel Error [o [Error]: The kernel died. View Jupyter [log](command:jupyter.viewOutput) for further details.
Error: /agentx/bin/python: No module named ipykernel_launcher...
	at ChildProcess.<anonymous> (/home/agentx/.vscode-server/extensions/ms-toolsai.jupyter-2022.2.1030672458/out/client/extension.js:2:793563)
	at ChildProcess.emit (events.js:327:22)
	at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12)] {
  category: 'kerneldied',
  exitCode: 1,
  stdErr: '/agentx/bin/python: No module named ipykernel_launcher\n'
}
Error 10:34:54: failed to start INotebook in kernel, UI Disabled = false [o [Error]: The kernel died. View Jupyter [log](command:jupyter.viewOutput) for further details.
Error: /agentx/bin/python: No module named ipykernel_launcher...
	at ChildProcess.<anonymous> (/home/agentx/.vscode-server/extensions/ms-toolsai.jupyter-2022.2.1030672458/out/client/extension.js:2:793563)
	at ChildProcess.emit (events.js:327:22)
	at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12)] {
  category: 'kerneldied',
  exitCode: 1,
  stdErr: '/agentx/bin/python: No module named ipykernel_launcher\n'
}
Error 10:34:54: Failed to execute cells in CellExecutionQueue [o [Error]: The kernel died. View Jupyter [log](command:jupyter.viewOutput) for further details.
Error: /agentx/bin/python: No module named ipykernel_launcher...
	at ChildProcess.<anonymous> (/home/agentx/.vscode-server/extensions/ms-toolsai.jupyter-2022.2.1030672458/out/client/extension.js:2:793563)
	at ChildProcess.emit (events.js:327:22)
	at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12)] {
  category: 'kerneldied',
  exitCode: 1,
  stdErr: '/agentx/bin/python: No module named ipykernel_launcher\n'
}
Info 10:34:54: Cancel pending cells
Info 10:34:54: Cell 2 executed with state Idle
Info 10:34:54: Process Execution: > /agentx/bin/python -c "import ipykernel"
> /agentx/bin/python -c "import ipykernel"
Info 10:34:54: ipykernel version 6.9.1 for /agentx/bin/python
Info 10:34:54: ipykernel location ~/.local/lib/python3.8/site-packages/ipykernel/__init__.py for /agentx/bin/python
Info 10:34:54: Process Execution: > /agentx/bin/python -c "import ipykernel"
> /agentx/bin/python -c "import ipykernel"

Coding Language and Runtime Version
Python 3.8.10
Language Extension Version (if applicable)
v2022.2.1924087327
Anaconda Version (if applicable)
No response
Running Jupyter locally or remotely?
Remote

Sorry you're running into this. We made some recent fixes and perhaps not all of them made it into the latest release. You could try the pre-release to see if it works with that.
Also, does it still work when you go back to 2022.2.1010630101?

Thanks for looking into this! Yes, it does work on 2022.2.1010630101. I still get the same error with the current pre-release.

@vaclavbelak Thanks for confirming the fact that it works with the previous release.

Please provide the output for this in the terminal
/agentx/bin/python --version
Please could you type the following in a terminal and let me know the output?
/agentx/bin/python -c "import ipykernel;print(ipykernel.__file__)"
Please could you type the following in a terminal and let me know the output? (please make note of the -s flag)
/agentx/bin/python -c "import ipykernel;print(ipykernel.__file__)"
Please could you type the following in a terminal and let me know the output?
/agentx/bin/python -c "import sys;print(sys.path)"
Please could you type the following in a terminal and let me know the output? (please make note of the -s flag)
/agentx/bin/python -s -c "import sys;print(sys.path)"
Please could you type the following in a terminal and let me know the output?
python -c "import site;print(site.getusersitepackages())"

Here're the outputs:
$ /agentx/bin/python --version
Python 3.8.10

$ /agentx/bin/python -c "import ipykernel;print(ipykernel.__file__)"
/home/agentx/.local/lib/python3.8/site-packages/ipykernel/__init__.py

$ /agentx/bin/python -c "import ipykernel;print(ipykernel.__file__)"
/home/agentx/.local/lib/python3.8/site-packages/ipykernel/__init__.py

$ /agentx/bin/python -s -c "import ipykernel;print(ipykernel.__file__)"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'ipykernel'

$ /agentx/bin/python -c "import sys;print(sys.path)"
['', '/agentx/lib/python38.zip', '/agentx/lib/python3.8', '/agentx/lib/python3.8/lib-dynload', '/home/agentx/.local/lib/python3.8/site-packages', '/home/agentx/agentx-data/schnitzel/pipeline/agentx_research', '/agentx/lib/python3.8/site-packages']

$ /agentx/bin/python -s -c "import sys;print(sys.path)"
['', '/agentx/lib/python38.zip', '/agentx/lib/python3.8', '/agentx/lib/python3.8/lib-dynload', '/agentx/lib/python3.8/site-packages']

$ python -c "import site;print(site.getusersitepackages())"
/home/agentx/.local/lib/python3.8/site-packages

@vaclavbelak has the problem been resolved with the latest release? If not please could you try using the latest pre-release version?

Thanks a lot for getting back to me Don, really appreciate your help!
I tried the latest release v2022.3.1000901801, with the same result:
Running cells with 'Python 3.8.10 64-bit' requires ipykernel package.
Run the following command to install 'ipykernel' into the Python environment.
Command: '/agentx/bin/python -m pip install ipykernel -U --user --force-reinstall'

I actually tried to run the suggested command, but that didn't help.
I also tried the current pre-release v2022.4.1000912146 with the same result.
I am attaching the screenshot of the kernels dropdown. The agentx environment is created by a conda-pack inside a different docker container and then conda-unpacked inside my working container (in order to essentially get rid of unnecessary build-time-only dependencies / libraries).

conda-pack

that  explains it. the environment is something that probably needs activation or has the activation scripts, even though you might not activate them.

Yes! After installing the ipykernel into the kernel's environment, it started to work. The issue was that the /agentx dir (i.e., the unpacked conda environment) was not writable (owned by root) and so the ipykernel ended up inside the ~/.local dir where it wasn't seen by the Jupyter plugin. Once I made it writable and properly activated it, it started to work.
Thanks a million Don for your help and for providing this excellent support for Python notebooks in the first-place!

Skipping verification as customer worked around problem? Not sure what steps we'd take to repro the issue.


Using {account} variable in ACLs and Oauth

Hello everyone!
When I am trying to use a match like:
{account: "/.+/", name: "${account}/*"}
and when I want to use it together with google_auth I am having such an issue:
root@dockercli:~# docker tag a5a467fddcb8<EMAIL_ADDRESS>FATA[0000] Error response from daemon: Illegal tag name (somedomain.com/ubuntu-test): only [A-Za-z0-9_.-] are allowed, minimum 1, maximum 128 in length
and I can't push it anyhow to registry. To be able to push it I have to include my full e-mail to registry path.
Thanks for great project and I would appreciate your help.

this doesn't seem like auth server error to me.
the error seems pretty clear: tag name is illegal

I agree rojer, more like a feature request.
So currently (when using Google auth) I can use variable {account} which is equal to<EMAIL_ADDRESS>It would be really nice to have {account_prefix} which would be 'someaccount'.
Then something like:
docker tag a5a467fddcb8 registry.somedomain.org/corepb/ubuntu-test
docker push registry.somedomain.org/corepb/ubuntu-test
would be possible.
What do you think?

ah, i see, that's what you mean... ok. let me think about it.

Thanks rojer!

i don't want to introduce a special variable, but supporting capture groups would work.
something like this:
{account: "/^([^@]+).*/", name: "${account:1}/*"}
${account:N} would reference capture group N obtained when matching account.
can you code it yourself? i'd take a PR that implements that. if not, then i'm afraid you'll have to wait until i have some spare time, for which i cannot make any promises...

any update ?

Hey, I have a patch in #124 implement the capture group replacement. Can @rojer merge that ?


Spearbit 11

Description
Fixes: https://github.com/spearbit-audits/connext-nxtp/issues/11

Replaces bytes32(uint256(uint160(msg.sender))) with addressToBytes32(msg.sender)

Type of change

[ ] Docs change / dependency upgrade
[ ] Configuration / tooling changes
[ ] Refactoring
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Requires changes in customer code

High-level change(s) description - from the user's perspective

Related Issue(s)
Fixes
Related pull request(s)

Optimistically merged, will reopen PR until verified sign off


Fix typo and link in the footer component

Trello card
https://trello.com/c/gKJlooqq/2770-correct-licence-typo-and-link-in-footer
Context and changes
Licence had the American spelling 'License', referred to the wrong version and linked to the root of the site.

Happy for this to be merged if ready @peteryates


AWS AMI catalog does not show later version of Flatcar LTS in its catalog page

Description
in AWS AMI catalog page, when you look for Flatcar LTS 2605 version, the latest as of November 2022 that show is 2605.27.1 which is from April 2022.
However on Flatcar's release page, we can see later version such as 2605.32.1 as of November 2022 at https://flatcar-linux.org/releases#release-2605.32.1
This prevents users from finding the right AMI id for these versions in AWS thus not able to upgrade to latest LTS 2605 version.
Could we please get information on whether these releases mentioned in flatcar releases page is coming to AWS or if 2605.27.1 AMI is the latest and possibly last 2605 version?
This is a key information for us as we can NOT go to 3033 which has deprecated use of rkt which, unfortunately, we still use.

HI @kiich,
This seems to be some kind of mistake, we'll need to check the AWS marketplace (@sayanchowdhury). 2605.32.1 is definitely available on AWS, for the time being I recommend looking up the AMI ID in the regions where you deploy and using that directly:
aws ec2 describe-images --owners<PHONE_NUMBER>25 --filters Name=tag:Version,Values=2605.32.1

The AWS Marketplace was not supporting correctly the upload of two versions at the same time of the AMIs on the same offer (LTS-2022 and LTS-2021).
I'll have a look to add the missing AMIs to the marketplace then. :)

This is a key information for us as we can NOT go to 3033 which has deprecated use of rkt which, unfortunately, we still use.

@kiich please also keep in mind that the LTS you're refering too is about to be end-of-life, as mentioned in this release note: https://www.flatcar.org/releases#release-2605.31.1

HI @kiich,
This seems to be some kind of mistake, we'll need to check the AWS marketplace (@sayanchowdhury). 2605.32.1 is definitely available on AWS, for the time being I recommend looking up the AMI ID in the regions where you deploy and using that directly:
aws ec2 describe-images --owners<PHONE_NUMBER>25 --filters Name=tag:Version,Values=2605.32.1

Thanks for this info @jepio - this cleared it up for me! The issue was, we were using owner ID<PHONE_NUMBER>41 and filter on the version - which brings me to next question... Are these 2 owners both Flatcar/Kinvolk
Also to add that the latest I could find from that owner was 2605.31.1 for HVM with no tags - is that correct?

That's great to hear @tormath1 thank you for looking into the AMI catalog issue!
Your last statement made me think... Does this mean Flatcar release 2605.* is going to be stopped as well? (Apologies, i am not up to date with LTS 2021/LTS 2022 channel differences)
If so, this is kind of show-stopper for us as we are heavily reliant on use of rkt - which from your chanelog indicates is deprecated in 3033 ?
(just to clarify, we are all for going to 3033 but would need to invest in some time to see how we can swap the use of rkt with docker and appreciate that rkt has been deprecated for quite some time!)

Yes, rkt is not shipped in Flatcar anymore, as alternative there is Docker/containerd and systemd-nspawn.
You can continue to use rkt if you copy it to, e.g., /opt/bin and the needed units directly to /etc/.
That said, if you want to migrate, here are two examples that use systemd-nspawn, once by downloading an OCI image and either extracting it with Docker or mounting it (with ctr), and once with using a local image:
https://github.com/flatcar/toolbox/blob/flatcar-master/toolbox
https://github.com/flatcar/coreos-overlay/blob/main/coreos-base/oem-gce/files/units/oem-gce.service

Thank you @pothos
For this

You can continue to use rkt if you copy it to, e.g., /opt/bin and the needed units directly to /etc/
Would you happen have example on how to do this in Flatcar? Is it something you build into the image?

thanks for the links on systemd-nspaw - i will take a look and see the work involved there. Appreciate your help!


Don't lowercase cardinal directions for stop names

The system is converting bus stops to Title Case, but this converts NE to Ne. Add a list of exceptions and include NE, NW, SE, and SW in the initial set; make sure we can add more in the future by just putting it in one place.

I have fixed this by adding some regex replacement code to the clean_destination() function in /aplication/helpers/transit_functions_helper.php.  It is committed.


No intellisense

Behaviour
When loading the application, after a few seconds a popup error appears saying Intellisense for python cannot work because of an error.
By looking at the Python output, I can see it fails a few times during what seems to be interpreters discovery. First it output "Unknown option: -I" errors with system-installed python2 interpreters. Then another similar error ("Invalid command line arguments.") with a micropython interpreter from pyenv.
And later another error about an invalid version for that micropython interpreter.
From that, intellisense is not working, eventhough I don't currently use any of these interpreters in my workspace actually. Leading to basically a "broken" development environment.
That behaviour is new since latest updates. Though, just rolling back python extension version by 1 or 2 versions does not fix the issue. I suspect the errors could have been here before, but now it would prevent latest intellisense to work at all, maybe?
Or it is due to something completely different. Unfortunately, I cannot confirm my interpretation of the issue as I cannot really remove the python2 interpreter as it is the system one, and I understand it is still used by many system packages.
And I am not rely willing to remove or update the micropython one, as this one is related to an embedded device I use from time to time.
Expected vs. Actual
Either that such interpreter discovery errors do not break all important features of this extension for other interpreters actively used.
Or that there would be a way to exclude some interpretters (only option middly related to that is to exclude some pyenv environment from Jupyter, which is ineffective here).
Actual behaviour is a "wide" loss of functionality (ie.
Steps to reproduce:

Have some python2 or micropython interpreters installed.
Start the application.

Diagnostic data

Python version (& distribution if applicable, e.g. Anaconda): 3.11.3
Type of virtual environment used (e.g. conda, venv, virtualenv, etc.): Pyenv
Value of the python.languageServer setting: Default

Output for VS IntelliCode in the Output panel

Language server is set to "Default". Pylance is used as current language server.
Acquiring model
vs-intellicode-python was passed a model: {}.
Acquiring model 'intellisense-members-lstm-pylance' for python
Querying IntelliCode service for available models.
Cached model is up to date.
Activating Python extension
Language server extension command failed. Exception: Error: command 'python.intellicode.loadLanguageServerExtension' not found
    at e.CommandService._tryExecuteCommand (vscode-file://vscode-app/snap/codium/329/usr/share/codium/resources/app/out/vs/workbench/workbench.desktop.main.js:1514:15997)
    at e.CommandService.executeCommand (vscode-file://vscode-app/snap/codium/329/usr/share/codium/resources/app/out/vs/workbench/workbench.desktop.main.js:1514:15879)
Error while activating Python: {}

Output for Python in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Python)

2023-07-11 10:59:24.257 [info] Telemetry level is off
2023-07-11 10:59:24.257 [info] Experiments are disabled, only manually opted experiments are active.
2023-07-11 10:59:24.368 [info] Test server listening.
2023-07-11 10:59:24.394 [info] > conda info --json
2023-07-11 10:59:24.552 [info] Python interpreter path: ~/.pyenv/versions/3.11.3/bin/python
2023-07-11 10:59:25.041 [info] Found: /bin/python2 --> /bin/python2.7
2023-07-11 10:59:25.057 [info] Found: /bin/python2.7 --> /bin/python2.7
2023-07-11 10:59:25.216 [info] Found: /bin/python3 --> /bin/python3.8
2023-07-11 10:59:25.218 [info] Found: /bin/python3.8 --> /bin/python3.8
2023-07-11 10:59:25.328 [info] > ~/.pyenv/versions/3.10.11/bin/python -I ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/get_output_via_markers.py ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/interpreterInfo.py
2023-07-11 10:59:25.332 [info] Found: /usr/bin/python2 --> /usr/bin/python2.7
2023-07-11 10:59:25.334 [info] Found: /usr/bin/python2.7 --> /usr/bin/python2.7
2023-07-11 10:59:25.336 [info] Found: /usr/bin/python3 --> /usr/bin/python3.8
2023-07-11 10:59:25.336 [info] Found: /usr/bin/python3.8 --> /usr/bin/python3.8
2023-07-11 10:59:25.387 [info] > ~/.pyenv/versions/3.10.5/bin/python -I ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/get_output_via_markers.py ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/interpreterInfo.py
2023-07-11 10:59:25.418 [info] > ~/.pyenv/versions/3.10.9/bin/python -I ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/get_output_via_markers.py ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/interpreterInfo.py
2023-07-11 10:59:25.464 [info] > ~/.pyenv/versions/3.11.1/bin/python -I ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/get_output_via_markers.py ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/interpreterInfo.py
2023-07-11 10:59:25.478 [info] > ~/.pyenv/versions/3.11.3/bin/python -I ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/get_output_via_markers.py ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/interpreterInfo.py
2023-07-11 10:59:26.829 [info] > ~/.pyenv/versions/3.8.16/bin/python -I ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/get_output_via_markers.py ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/interpreterInfo.py
2023-07-11 10:59:27.613 [info] > ~/.pyenv/versions/3.9.16/bin/python -I ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/get_output_via_markers.py ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/interpreterInfo.py
[...]
2023-07-11 10:59:28.297 [info] > ~/.pyenv/versions/micropython-1.19.1/bin/python -I ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/get_output_via_markers.py ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/interpreterInfo.py
2023-07-11 10:59:28.325 [error] [Error: Command failed: /home/lexa/.pyenv/versions/micropython-1.19.1/bin/python -I /home/lexa/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/get_output_via_markers.py /home/lexa/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/interpreterInfo.py
Invalid command line arguments. Use -h option for help.

	at ChildProcess.exithandler (node:child_process:409:12)
	at ChildProcess.emit (node:events:513:28)
	at maybeClose (node:internal/child_process:1093:16)
	at Socket.<anonymous> (node:internal/child_process:451:11)
	at Socket.emit (node:events:513:28)
	at Pipe.<anonymous> (node:net:757:14)] {
  code: 1,
  killed: false,
  signal: null,
  cmd: '/home/lexa/.pyenv/versions/micropython-1.19.1/bin/python -I /home/lexa/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/get_output_via_markers.py /home/lexa/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/interpreterInfo.py'
}
2023-07-11 10:59:28.386 [info] > ~/.pyenv/versions/3.11.3/envs/py-project-py3.11.3/bin/python -I ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/get_output_via_markers.py ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/interpreterInfo.py
[...]
2023-07-11 10:59:29.386 [info] > ~/.virtualenvs/lookups/bin/python -I ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/get_output_via_markers.py ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/interpreterInfo.py
2023-07-11 10:59:29.400 [info] > ~/.virtualenvs/lookups-0.3.0/bin/python -I ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/get_output_via_markers.py ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/interpreterInfo.py
2023-07-11 10:59:29.515 [info] > ~/.virtualenvs/lookups-3.10/bin/python -I ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/get_output_via_markers.py ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/interpreterInfo.py
2023-07-11 10:59:29.529 [info] > ~/.virtualenvs/openide-examples/bin/python -I ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/get_output_via_markers.py ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/interpreterInfo.py
2023-07-11 10:59:29.593 [info] > ~/.virtualenvs/openide-py3.9.16/bin/python -I ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/get_output_via_markers.py ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/interpreterInfo.py
2023-07-11 10:59:29.673 [info] > ~/.virtualenvs/openide-release/bin/python -I ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/get_output_via_markers.py ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/interpreterInfo.py
2023-07-11 10:59:29.772 [info] > ~/.virtualenvs/openide-rescue/bin/python -I ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/get_output_via_markers.py ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/interpreterInfo.py
[...]
2023-07-11 10:59:29.938 [info] > ~/.virtualenvs/pynand2tetris/bin/python -I ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/get_output_via_markers.py ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/interpreterInfo.py
2023-07-11 10:59:29.975 [info] > ~/.virtualenvs/pynand2tetris-nollvm/bin/python -I ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/get_output_via_markers.py ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/interpreterInfo.py
2023-07-11 10:59:29.995 [info] > ~/.virtualenvs/qmk/bin/python -I ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/get_output_via_markers.py ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/interpreterInfo.py
2023-07-11 10:59:30.030 [info] > ~/.virtualenvs/rpi-pio/bin/python -I ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/get_output_via_markers.py ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/interpreterInfo.py
[...]
2023-07-11 10:59:30.086 [info] > /bin/python2 -I ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/get_output_via_markers.py ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/interpreterInfo.py
2023-07-11 10:59:30.100 [info] > /bin/python3 -I ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/get_output_via_markers.py ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/interpreterInfo.py
2023-07-11 10:59:30.118 [info] > /usr/bin/python2 -I ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/get_output_via_markers.py ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/interpreterInfo.py
2023-07-11 10:59:30.136 [info] > /usr/bin/python3 -I ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/get_output_via_markers.py ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/interpreterInfo.py
2023-07-11 10:59:30.141 [warning] [Error: Command failed: /bin/python2 -I /home/lexa/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/get_output_via_markers.py /home/lexa/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/interpreterInfo.py
Unknown option: -I
usage: /bin/python2 [option] ... [-c cmd | -m mod | file | -] [arg] ...
Try `python -h' for more information.

	at ChildProcess.exithandler (node:child_process:409:12)
	at ChildProcess.emit (node:events:513:28)
	at maybeClose (node:internal/child_process:1093:16)
	at Socket.<anonymous> (node:internal/child_process:451:11)
	at Socket.emit (node:events:513:28)
	at Pipe.<anonymous> (node:net:757:14)] {
  code: 2,
  killed: false,
  signal: null,
  cmd: '/bin/python2 -I /home/lexa/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/get_output_via_markers.py /home/lexa/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/interpreterInfo.py'
}
2023-07-11 10:59:30.141 [error] Support for Python 2.7 has been dropped by the Python extension so certain features may not work, upgrade to using Python 3.
2023-07-11 10:59:30.153 [info] > /bin/python2 ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/get_output_via_markers.py ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/interpreterInfo.py
2023-07-11 10:59:30.154 [warning] [Error: Command failed: /usr/bin/python2 -I /home/lexa/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/get_output_via_markers.py /home/lexa/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/interpreterInfo.py
Unknown option: -I
usage: /usr/bin/python2 [option] ... [-c cmd | -m mod | file | -] [arg] ...
Try `python -h' for more information.

	at ChildProcess.exithandler (node:child_process:409:12)
	at ChildProcess.emit (node:events:513:28)
	at maybeClose (node:internal/child_process:1093:16)
	at Socket.<anonymous> (node:internal/child_process:451:11)
	at Socket.emit (node:events:513:28)
	at Pipe.<anonymous> (node:net:757:14)] {
  code: 2,
  killed: false,
  signal: null,
  cmd: '/usr/bin/python2 -I /home/lexa/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/get_output_via_markers.py /home/lexa/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/interpreterInfo.py'
}
2023-07-11 10:59:30.154 [error] Support for Python 2.7 has been dropped by the Python extension so certain features may not work, upgrade to using Python 3.
2023-07-11 10:59:30.167 [info] > /usr/bin/python2 ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/get_output_via_markers.py ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/interpreterInfo.py
2023-07-11 10:59:30.357 [info] > ~/.pyenv/versions/micropython-1.19.1/bin/python -I ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/get_output_via_markers.py ~/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/interpreterInfo.py
2023-07-11 10:59:30.363 [error] [Error: Command failed: /home/lexa/.pyenv/versions/micropython-1.19.1/bin/python -I /home/lexa/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/get_output_via_markers.py /home/lexa/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/interpreterInfo.py
Invalid command line arguments. Use -h option for help.

	at ChildProcess.exithandler (node:child_process:409:12)
	at ChildProcess.emit (node:events:513:28)
	at maybeClose (node:internal/child_process:1093:16)
	at Socket.<anonymous> (node:internal/child_process:451:11)
	at Socket.emit (node:events:513:28)
	at Pipe.<anonymous> (node:net:757:14)] {
  code: 1,
  killed: false,
  signal: null,
  cmd: '/home/lexa/.pyenv/versions/micropython-1.19.1/bin/python -I /home/lexa/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/get_output_via_markers.py /home/lexa/.vscode-oss/extensions/ms-python.python-2023.12.0/pythonFiles/interpreterInfo.py'
}
2023-07-11 10:59:30.450 [info] Starting Pylance language server.
2023-07-11 10:59:30.456 [info] Found: /bin/python2 --> /bin/python2.7
2023-07-11 10:59:30.460 [info] Found: /bin/python2.7 --> /bin/python2.7
2023-07-11 10:59:30.464 [info] Found: /bin/python3 --> /bin/python3.8
2023-07-11 10:59:30.465 [info] Found: /bin/python3.8 --> /bin/python3.8
2023-07-11 10:59:30.490 [info] Found: /usr/bin/python2 --> /usr/bin/python2.7
2023-07-11 10:59:30.491 [info] Found: /usr/bin/python2.7 --> /usr/bin/python2.7
2023-07-11 10:59:30.493 [info] Found: /usr/bin/python3 --> /usr/bin/python3.8
2023-07-11 10:59:30.494 [info] Found: /usr/bin/python3.8 --> /usr/bin/python3.8
2023-07-11 10:59:30.749 [error] Invalid version for /home/lexa/.pyenv/versions/micropython-1.19.1/bin/python: {"name":"micropython-1.19.1","location":"/home/lexa/.pyenv/versions/micropython-1.19.1","kind":"global-pyenv","executable":{"filename":"/home/lexa/.pyenv/versions/micropython-1.19.1/bin/python","sysPrefix":"","ctime":1669931344374,"mtime":1665003120155},"display":"Python ('micropython-1.19.1')","version":{"major":-1,"minor":-1,"micro":-1,"release":{"level":"final","serial":-1}},"arch":1,"distro":{"org":"micropython"},"source":[],"id":"/home/lexa/.pyenv/versions/micropython-1.19.1/bin/python","detailedDisplayName":"Python ('micropython-1.19.1': pyenv)"}
2023-07-11 10:59:31.644 [info] Extension search path: /home/lexa/.vscode-oss/extensions
2023-07-11 10:59:31.646 [info] Extension search path: /home/lexa/.vscode-oss/extensions

User Settings

Multiroot scenario, following user settings may not apply:

languageServer: "Pylance"

linting
• flake8Args: "<placeholder>"
• flake8Enabled: true
• mypyArgs: "<placeholder>"

formatting
• autopep8Args: "<placeholder>"

testing
• pytestEnabled: true

Meanwhile can you upload:

Output for Python language server in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Python language server)

XXX

If the interpreter isn't set, Pylance won't work for most stuff. Only things like import sys will find modules.
The log for Pylance should tell us if we got an interpreter or not.

Can you also include what version of VS code you're on? This might be this issue here:
https://github.com/microsoft/vscode/issues/187312


fix issue 956

fixes #956

That is indeed an option – I'd have to retrieve some information.
I've done a little experiment, but it seems that some information is not showing in the dom somehow which is why I can't use :has. Will look into it.

@nics @mietcls well especially for the greyed out filters you will have to need some "data" in the elements, and some counters that say "all of these elements have an attribute with value 0". Not sure if that's possible.

@mietcls @nics what's the status on this?

@mietcls @nicolasfranck I'm implementing this with some css voodoo:
.badge-list {
    .dropdown:has(:checked) .badge-default {
        @extend .badge-primary;
    }
}

replaced by 0f5d34c2979554f349bfd6310c86b0f28ceee10d


panic on android

Similar to https://github.com/DataDog/gohai/issues/57 i'm trying to build and run on an android box with GOOS=android GOARCH=arm GOARM=7 CGO_ENABLED=1 go generate ./info and GOOS=android GOARCH=arm GOARM=7 CGO_ENABLED=1 go build -o trace-agent ./cmd/trace-agent
But when running on the box, it works and I see profile's in datadog site, but then panics.
Couple other questions I could find in the repos/site:
Does the trace agent have to be manually run along side the regular agent? Or does the regular agent start it if located in a certain place?
Does the trace agent depend on the regular agent for functionality or upload to datadog on it's own?
I don't see a "service" in the datadog site created, only point in time profile's?
2018-06-26 23:23:13 DEBUG (sampler.go:105) - *sampler.ScoreEngine: inTPS: 0.027939, outTPS: 0.027939, maxTPS: 10.000000, offset: 1.000000, slope: 3.000000, cardinality: 1
seelog internal error: mkdir /var: read-only file system
2018-06-26 23:23:13 DEBUG (trace_writer.go:124) - Flushing current traces
seelog internal error: mkdir /var: read-only file system
2018-06-26 23:23:13 DEBUG (stats_writer.go:107) - going to flush 3 entries in 1 stat buckets in 1 payloads
seelog internal error: mkdir /var: read-only file system
2018-06-26 23:23:13 ERROR (logonpanic.go:38) - Unexpected panic: runtime error: invalid memory address or nil pointer dereference
goroutine 13 [running]:
github.com/DataDog/datadog-trace-agent/watchdog.LogOnPanic()
	/go/src/github.com/DataDog/datadog-trace-agent/watchdog/logonpanic.go:29 +0x84
panic(0xab8690d8, 0xabab6688)
	/usr/local/go/src/runtime/panic.go:505 +0x218
sync/atomic.addUint64(0xbc742264, 0x1, 0x0, 0x3, 0x3)
	/usr/local/go/src/sync/atomic/64bit_arm.go:31 +0x4c
github.com/DataDog/datadog-trace-agent/writer.(*StatsWriter).handleStats(0xbc742240, 0xbc7f43e0, 0x1, 0x1)
	/go/src/github.com/DataDog/datadog-trace-agent/writer/stats_writer.go:114 +0x1a4
github.com/DataDog/datadog-trace-agent/writer.(*StatsWriter).Run(0xbc742240)
	/go/src/github.com/DataDog/datadog-trace-agent/writer/stats_writer.go:82 +0xd4
github.com/DataDog/datadog-trace-agent/writer.(*StatsWriter).Start.func1(0xbc742240)
	/go/src/github.com/DataDog/datadog-trace-agent/writer/stats_writer.go:62 +0x3c
created by github.com/DataDog/datadog-trace-agent/writer.(*StatsWriter).Start
	/go/src/github.com/DataDog/datadog-trace-agent/writer/stats_writer.go:60 +0x40

Closing this issue for inactivity. If you still experience this issue feel free to re-open. Thanks!


Remove commenting feedback system from across Windows Iot docs

Docs Build status updates of commit e40da87:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

windows-iotcore/docfx.json
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


[geotrans] fix cmake message typo

Describe the pull request

What does your PR fix?
Fixes trivial typo in geotrans cmake message text

Which triplets are supported/not supported?

N/A

According to our policy, minor changes (not involving the build process) should not be fixed by opening PR alone.
Sorry.

@JackBoosY no problem for me. Thanks for taking the time.


Menu calculate new height on _renderVisibility

When I load "menuItens" asynchronously new itens can be added after "componentDidMount" and call "_renderVisibility" again.
I do a hotfix to calculate new height on render visibility.
Thank you.

@pettom I'm sorry I didn't get to merge this before 0.8. Would you like to resubmit the PR?

@hai-cea no problem, but can I submit other branch ?

@hai-cea Sorry for my confused pull request. I have updated again and I think it cleaner now.

Thanks @pettom !


WIP: bos-tasks-4vscg: Update translations from Fedora Zanata

Update translations from Fedora Zanata

[ ] po-refresh

po-refresh in progress on bos-tasks-4vscg.
Log: http://fedorapeople.org/groups/cockpit/logs/po-refresh-431-20181126-051818/

po-refresh in progress on bos-tasks-4wkwn.
Log: http://fedorapeople.org/groups/cockpit/logs/po-refresh-431-20181126-051616/

po-refresh in progress on bos-tasks-gswxd.
Log: http://fedorapeople.org/groups/cockpit/logs/po-refresh-431-20181126-051919/


OpenTelemetry Inner Spans/Manual Telemetry

https://github.com/biothings/biothings_explorer/issues/741

@rjawesome This is a great start but something seems off...testing on my local it appears that context isn't properly being carried, so various spans end up having no or incorrect parents when viewed in Jaeger.

Seems to be working on my end for sync query... If you could let me know some more details about how you are  testing then I can try to reproduce it.

Another note, JaegerExporter is being deprecated soon and it seems like the library wants people to use HTTP instead of UDP?

It may be possible to switch back from JaegerExporter, will need some testing against CI that I can do later. For now, could you tell me your test setup to see if I can replicate the behavior you're seeing?

JAEGER_SERVER=localhost
docker run --hostname=3d5beae3832e --user=10001 --env=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin --env=SAMPLING_STRATEGIES_FILE=/etc/jaeger/sampling_strategies.json --volume=/tmp -p 16686:16686 -p 6831:6831/udp --restart=no --label='desktop.docker.io/wsl-distro=Ubuntu-16.04' --runtime=runc -d jaegertracing/all-in-one:latest
I'm querying /v1/query

Using your setup, adding a timeout seemed to make it more reliable for me (sometimes for me it doesn't work on the first query, so try running it a couple times). Also the HTTP exporter seems more reliable than the Proto for OTLP (see the second code thing)
In taskHandler.js (should require opentelemetry.js at the top as well which is in this branch)
...
 try {
    transaction.finish();
    span.end();
    Telemetry.removeOtelSpan();
  } catch (error) {
    debug("Sentry/OpenTelemetry transaction finish error. This does not affect execution.");
    debug(error);
  }

  await new Promise((resolve, reject) => {
    setTimeout(resolve, 5000);
  })

  debug(`Worker thread ${threadId} completed ${workerData.queue} task.`);

...

also, my implementation of trace exporter in opentelemetry.js (seems to be more reliable with HTTP -> see the import)
const { OTLPTraceExporter } = require("@opentelemetry/exporter-trace-otlp-http");
  traceExporter: new OTLPTraceExporter({
    url: `http://${process.env.JAEGER_HOST}:4318/v1/traces`,
  }),


Precision not reported correctly on found coordinates

Describe the bug
verify precision reported on coordinate extraction.  prec=900 for DMS match with second resolution.  Should be +/- 30m.
Confidence is also not reported on REST API.
To Reproduce
Xponents 3.3.2
Expected behavior
lat,lon = 45˚ 45' 45"  x 33˚ 33' 33" , ... precision should be < 30 m.
Confidence for solid deg/min/sec should be 90+
MGRS confidence should be 90+ for grid with offset with 1km precision, and less so with less precision.
Pure decimal degree coordinates probably vary in confidence:  decimal deg with hemisphere symbol is 90.  Without hemisphere or other indicator of geographic nature of coord, .... its just a decimal pair (1.45352  4.55577).   Confidence ~ 50 for DD w/out symbols.

could not reproduce.