rusq / slackdump

Save or export your private and public Slack messages, threads, files, and users locally without admin privileges.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Chromium doesn't get launched on Guix

wehlutyk opened this issue · comments

Describe the bug
./slackdump on Guix just hangs after downloading Chromium (be it the release or dev version).

To Reproduce
Download current release, and run ./slackdump with any configuration.

For the dev version, get go environment in Guix by running guix shell --network go, then go build ./cmd/slackdump as in the instructions, and run as above.

Expected behavior
I expect Chromium to open up for signing in. But no browser appears and the log just hangs there.

Output

sl@beoga ~/C/S/slackdump (master)> ./slackdump
Slackdump dev (commit: placeholder) built on: 2077
[launcher.Browser]2024/01/11 21:49:48 Download: https://storage.googleapis.com/chromium-browser-snapshots/Linux_x64/1131657/chrome-linux.zip
[launcher.Browser]2024/01/11 21:49:48 Progress: 00%
[launcher.Browser]2024/01/11 21:49:49 Progress: 11%
[launcher.Browser]2024/01/11 21:49:50 Progress: 39%
[launcher.Browser]2024/01/11 21:49:51 Progress: 65%
[launcher.Browser]2024/01/11 21:49:52 Progress: 93%
[launcher.Browser]2024/01/11 21:49:53 Unzip: /home/sl/.cache/rod/browser/chromium-1131657
[launcher.Browser]2024/01/11 21:49:53 Progress: 00%
[launcher.Browser]2024/01/11 21:49:54 Progress: 35%
[launcher.Browser]2024/01/11 21:49:55 Progress: 87%
[launcher.Browser]2024/01/11 21:49:55 Downloaded: /home/sl/.cache/rod/browser/chromium-1131657

Desktop (please complete the following information):

  • OS: guix
  • OS Version:
Generation 4	Jan 10 2024 12:38:46	(current)
 guix 5377680
   repository URL: https://git.savannah.gnu.org/git/guix.git
   branch: master
   commit: 537768018ee03a6a9a5562022a16b47ac287d131
 guix-science 9230400
   repository URL: https://github.com/guix-science/guix-science.git
   branch: master
   commit: 92304008555cd44670005a3d12e48bce7a8badfe
 nonguix 9a502ae
   repository URL: https://gitlab.com/nonguix/nonguix
   branch: master
   commit: 9a502ae1b0c97b3fa007b5ea059403268cf8981c
  • Slackdump Version:

Additional context
None.

Hey @wehlutyk , thanks for the report! That's interesting, it hangs after the "unzip" stage. Which auth method did you use?

Before I'm able to reproduce the issue or look into fixing it, you have the following workarounds availble:

  1. When selecting authentication type, can you select "Other" to see if it opens the window to login?
  2. Try the -legacy-browser flag, it's a boolean flag that toggles between chromedp and playwright: ./slackdump -legacy-browser
  3. Follow the manual steps

There are two types of login that the new automation supports:

  1. When one selects "Email" - it asks for email and password, opens the headless chrome, and performs the actions that you'd otherwise perform on the login page, but automatically.
  2. When one selects any other item, except "Cancel" and "-------", it opens the browser and lets you login manually.

I should probably document this.

Hey @wehlutyk , have you had a chance to try the suggested steps?

Hey @rusq , apologies for the lag! I git pulled, then cleaned:

  • git clean -x -f
  • rm -r ~/.cache/ms-playwright-go/
  • re-build with go build ./cmd/slackdump. Now:

Before I'm able to reproduce the issue or look into fixing it, you have the following workarounds availble:

  1. When selecting authentication type, can you select "Other" to see if it opens the window to login?

I can select it, but still no window opens.

  1. Try the -legacy-browser flag, it's a boolean flag that toggles between chromedp and playwright: ./slackdump -legacy-browser
$ ./slackdump -legacy-browser
Slackdump dev (commit: placeholder) built on: 2077
/home/sl/.cache/ms-playwright-go/1.41.1/playwright.sh: line 6: /home/sl/.cache/ms-playwright-go/1.41.1/node: No such file or directory
2024/03/08 13:44:12 failed to initialise the auth provider: can't install the browser: could not install driver: could not install browsers: exit status 127

Then a few checks:

$ cat /home/sl/.cache/ms-playwright-go/1.41.1/playwright.sh
#!/bin/sh
SCRIPT_PATH="$(cd "$(dirname "$0")" ; pwd -P)"
if [ -z "$PLAYWRIGHT_NODEJS_PATH" ]; then
  PLAYWRIGHT_NODEJS_PATH="$SCRIPT_PATH/node"
fi
"$PLAYWRIGHT_NODEJS_PATH" "$SCRIPT_PATH/package/lib/cli/cli.js" "$@"

$ ll /home/sl/.cache/ms-playwright-go/1.41.1/node  # <-- why is this not found?
-rwxr--r-- 1 sl users 92M Mar  8 13:55 /home/sl/.cache/ms-playwright-go/1.41.1/node*

# System node doesn't seem used -- but just to be sure
$ which node
/home/sl/.guix-home/profile/bin/node
  1. Follow the manual steps
$ ./slackdump
Slackdump dev (commit: placeholder) built on: 2077
[launcher.Browser]2024/03/08 14:06:01 Download: https://storage.googleapis.com/chromium-browser-snapshots/Linux_x64/1131657/chrome-linux.zip
[launcher.Browser]2024/03/08 14:06:01 Progress: 00%
[launcher.Browser]2024/03/08 14:06:02 Progress: 05%
[launcher.Browser]2024/03/08 14:06:03 Progress: 10%
[launcher.Browser]2024/03/08 14:06:04 Progress: 21%
[launcher.Browser]2024/03/08 14:06:05 Progress: 30%
[launcher.Browser]2024/03/08 14:06:06 Progress: 54%
[launcher.Browser]2024/03/08 14:06:07 Progress: 74%
[launcher.Browser]2024/03/08 14:06:08 Progress: 94%
[launcher.Browser]2024/03/08 14:06:09 Unzip: /home/sl/.cache/rod/browser/chromium-1131657
[launcher.Browser]2024/03/08 14:06:09 Progress: 00%
[launcher.Browser]2024/03/08 14:06:10 Progress: 35%
[launcher.Browser]2024/03/08 14:06:11 Progress: 84%
[launcher.Browser]2024/03/08 14:06:11 Downloaded: /home/sl/.cache/rod/browser/chromium-1131657
2024/03/08 14:06:11 failed to initialise the auth provider: browser automation error: failed to launch: fork/exec /home/sl/.cache/rod/browser/chromium-1131657/chrome: no such file or directory

$ ll /home/sl/.cache/rod/browser/chromium-1131657/chrome
-rwxr-xr-x 1 sl users 342M Mar  8 14:06 /home/sl/.cache/rod/browser/chromium-1131657/chrome*

$ /home/sl/.cache/rod/browser/chromium-1131657/chrome
fish: Job 1, '/home/sl/.cache/rod/browser/chr…' terminated by signal SIGSEGV (Address boundary error)

Now selecting email (after cleaning up again) does the same:

$ ./slackdump
Slackdump dev (commit: placeholder) built on: 2077
[launcher.Browser]2024/03/08 14:02:11 Download: https://storage.googleapis.com/chromium-browser-snapshots/Linux_x64/1131657/chrome-linux.zip
[launcher.Browser]2024/03/08 14:02:11 Progress: 00%
[launcher.Browser]2024/03/08 14:02:12 Progress: 10%
[launcher.Browser]2024/03/08 14:02:13 Progress: 39%
[launcher.Browser]2024/03/08 14:02:14 Progress: 66%
[launcher.Browser]2024/03/08 14:02:15 Progress: 94%
[launcher.Browser]2024/03/08 14:02:15 Unzip: /home/sl/.cache/rod/browser/chromium-1131657
[launcher.Browser]2024/03/08 14:02:15 Progress: 00%
[launcher.Browser]2024/03/08 14:02:16 Progress: 35%
[launcher.Browser]2024/03/08 14:02:17 Progress: 84%
[launcher.Browser]2024/03/08 14:02:17 Downloaded: /home/sl/.cache/rod/browser/chromium-1131657
2024/03/08 14:02:17 failed to initialise the auth provider: browser automation error: failed to launch: fork/exec /home/sl/.cache/rod/browser/chromium-1131657/chrome: no such file or directory

$ ll /home/sl/.cache/rod/browser/chromium-1131657/chrome
-rwxr-xr-x 1 sl users 342M Mar  8 14:02 /home/sl/.cache/rod/browser/chromium-1131657/chrome*

$ /home/sl/.cache/rod/browser/chromium-1131657/chrome
fish: Job 1, '/home/sl/.cache/rod/browser/chr…' terminated by signal SIGSEGV (Address boundary error)

I'm not sure why downloaded chromium doesn't get seen.

Exploring a little more:

sl@beoga ~/C/S/slackdump (master) > /home/sl/.cache/ms-playwright-go/1.41.1/node ~/.cache/ms-playwright-go/1.41.1/package/lib/cli/cli.js --test
fish: Job 1, '/home/sl/.cache/ms-playwright-g…' terminated by signal SIGSEGV (Address boundary error)

but using the system's node works fine:

sl@beoga ~/C/S/slackdump (master) > node ~/.cache/ms-playwright-go/1.41.1/package/lib/cli/cli.js
Usage: npx playwright [options] [command]
[...]

So playing with playwright shows:

sl@beoga ~/C/S/slackdump (master) > node ~/.cache/ms-playwright-go/1.41.1/package/lib/cli/cli.js open
Error: Executable doesn't exist at /home/sl/.cache/ms-playwright/chromium-1097/chrome-linux/chrome
╔═════════════════════════════════════════════════════════════════════════╗
║ Looks like Playwright Test or Playwright was just installed or updated. ║
║ Please run the following command to download new browsers:              ║
║                                                                         ║
║     npx playwright install                                              ║
║                                                                         ║
║ <3 Playwright Team                                                      ║
╚═════════════════════════════════════════════════════════════════════════╝

sl@beoga ~/C/S/slackdump (master) > npx playwright install
Need to install the following packages:
playwright@1.42.1
Ok to proceed? (y) 
╔═══════════════════════════════════════════════════════════════════════════════╗
║ WARNING: It looks like you are running 'npx playwright install' without first ║
║ installing your project's dependencies.                                       ║
║                                                                               ║
║ To avoid unexpected behavior, please install your dependencies first, and     ║
║ then run Playwright's install command:                                        ║
║                                                                               ║
║     npm install                                                               ║
║     npx playwright install                                                    ║
║                                                                               ║
║ If your project does not yet depend on Playwright, first install the          ║
║ applicable npm package (most commonly @playwright/test), and                  ║
║ then run Playwright's install command to download the browsers:               ║
║                                                                               ║
║     npm install @playwright/test                                              ║
║     npx playwright install                                                    ║
║                                                                               ║
╚═══════════════════════════════════════════════════════════════════════════════╝
BEWARE: your OS is not officially supported by Playwright; downloading fallback build for ubuntu20.04-x64.
Downloading Chromium 123.0.6312.4 (playwright build v1105) from https://playwright.azureedge.net/builds/chromium/1105/chromium-linux.zip
154.7 MiB [====================] 100% 0.0s
Chromium 123.0.6312.4 (playwright build v1105) downloaded to /home/sl/.cache/ms-playwright/chromium-1105
BEWARE: your OS is not officially supported by Playwright; downloading fallback build for ubuntu20.04-x64.
Downloading FFMPEG playwright build v1009 from https://playwright.azureedge.net/builds/ffmpeg/1009/ffmpeg-linux.zip
2.6 MiB [====================] 100% 0.0s
FFMPEG playwright build v1009 downloaded to /home/sl/.cache/ms-playwright/ffmpeg-1009
BEWARE: your OS is not officially supported by Playwright; downloading fallback build for ubuntu20.04-x64.
Downloading Firefox 123.0 (playwright build v1440) from https://playwright.azureedge.net/builds/firefox/1440/firefox-ubuntu-20.04.zip
84.7 MiB [====================] 100% 0.0s
Firefox 123.0 (playwright build v1440) downloaded to /home/sl/.cache/ms-playwright/firefox-1440
BEWARE: your OS is not officially supported by Playwright; downloading fallback build for ubuntu20.04-x64.
Downloading Webkit 17.4 (playwright build v1983) from https://playwright.azureedge.net/builds/webkit/1983/webkit-ubuntu-20.04.zip
133.2 MiB [====================] 100% 0.0s
Webkit 17.4 (playwright build v1983) downloaded to /home/sl/.cache/ms-playwright/webkit-1983
Playwright Host validation warning: 
╔══════════════════════════════════════════════════════╗
║ Host system is missing dependencies to run browsers. ║
║ Missing libraries:                                   ║
║     libgobject-2.0.so.0                              ║
║     libglib-2.0.so.0                                 ║
║     libnss3.so                                       ║
║     libnssutil3.so                                   ║
║     libsmime3.so                                     ║
║     libnspr4.so                                      ║
║     libdbus-1.so.3                                   ║
║     libatk-1.0.so.0                                  ║
║     libatk-bridge-2.0.so.0                           ║
║     libcups.so.2                                     ║
║     libgio-2.0.so.0                                  ║
║     libdrm.so.2                                      ║
║     libatspi.so.0                                    ║
║     libexpat.so.1                                    ║
║     libX11.so.6                                      ║
║     libXcomposite.so.1                               ║
║     libXdamage.so.1                                  ║
║     libXext.so.6                                     ║
║     libXfixes.so.3                                   ║
║     libXrandr.so.2                                   ║
║     libgbm.so.1                                      ║
║     libxcb.so.1                                      ║
║     libxkbcommon.so.0                                ║
║     libpango-1.0.so.0                                ║
║     libcairo.so.2                                    ║
║     libasound.so.2                                   ║
║     libgcc_s.so.1                                    ║
╚══════════════════════════════════════════════════════╝
    at validateDependenciesLinux (/home/sl/.npm/_npx/e41f203b7505f1fb/node_modules/playwright-core/lib/server/registry/dependencies.js:216:9)
    at async Registry._validateHostRequirements (/home/sl/.npm/_npx/e41f203b7505f1fb/node_modules/playwright-core/lib/server/registry/index.js:627:43)
    at async Registry._validateHostRequirementsForExecutableIfNeeded (/home/sl/.npm/_npx/e41f203b7505f1fb/node_modules/playwright-core/lib/server/registry/index.js:725:7)
    at async Registry.validateHostRequirementsForExecutablesIfNeeded (/home/sl/.npm/_npx/e41f203b7505f1fb/node_modules/playwright-core/lib/server/registry/index.js:714:43)
    at async t.<anonymous> (/home/sl/.npm/_npx/e41f203b7505f1fb/node_modules/playwright-core/lib/cli/program.js:119:7)
npm notice 
npm notice New minor version of npm available! 10.2.3 -> 10.5.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.5.0
npm notice Run npm install -g npm@10.5.0 to update!
npm notice 

Now, not having made any node project inside Guix, I'm not sure the library paths are compatible. But maybe that's not the problem as I'm running npx/npm completely out of context.

Hey @wehlutyk thanks for your investigation! This looks like compatibility issue with Guix that could be raised with playwright/go-rod teams?

Looks like it misses some dependency libraries, but clearly if you're expecting the browser to open, so you have X11 installed, and they should be present on the system (i.e. "libX11.so.6").

  1. What happens when you run the following:
    ldd /home/sl/.cache/rod/browser/chromium-1131657/chrome
    
  2. What happenes if you set the LD_LIBRARY_PATH to point to the directory where "libX11.so.6" resides? I.e.:
    LD_LIBRARY_PATH=/usr/local/lib ./slackdump -list-users
    
    (Using /usr/local/lib for example)

When I wrote "Follow the Manual steps", I meant manually retrieving the slack token and cookie values from the browser, as per this guide, this doesn't need the browser automation, as everything it needs (token, cookies) is provided manually. If you go down this route, I suggest exporting the cookies to the "cookies.txt" file.

$ ldd /home/sl/.cache/rod/browser/chromium-1131657/chrome
	linux-vdso.so.1 (0x00007ffc8b5c0000)
	libdl.so.2 => /gnu/store/ln6hxqjvz6m9gdd9s97pivlqck7hzs99-glibc-2.35/lib/libdl.so.2 (0x00007f37fa8ce000)
	libpthread.so.0 => /gnu/store/ln6hxqjvz6m9gdd9s97pivlqck7hzs99-glibc-2.35/lib/libpthread.so.0 (0x00007f37fa8c9000)
	libgobject-2.0.so.0 => not found
	libglib-2.0.so.0 => not found
	libnss3.so => not found
	libnssutil3.so => not found
	libsmime3.so => not found
	libnspr4.so => not found
	libatk-1.0.so.0 => not found
	libatk-bridge-2.0.so.0 => not found
	libcups.so.2 => not found
	libgio-2.0.so.0 => not found
	libdrm.so.2 => not found
	libdbus-1.so.3 => not found
	libexpat.so.1 => not found
	libxcb.so.1 => not found
	libxkbcommon.so.0 => not found
	libatspi.so.0 => not found
	libX11.so.6 => not found
	libXcomposite.so.1 => not found
	libXdamage.so.1 => not found
	libXext.so.6 => not found
	libXfixes.so.3 => not found
	libXrandr.so.2 => not found
	libgbm.so.1 => not found
	libpango-1.0.so.0 => not found
	libcairo.so.2 => not found
	libasound.so.2 => not found
	libm.so.6 => /gnu/store/ln6hxqjvz6m9gdd9s97pivlqck7hzs99-glibc-2.35/lib/libm.so.6 (0x00007f37fa7e2000)
	libgcc_s.so.1 => not found
	libc.so.6 => /gnu/store/ln6hxqjvz6m9gdd9s97pivlqck7hzs99-glibc-2.35/lib/libc.so.6 (0x00007f37ebc04000)
	/lib64/ld-linux-x86-64.so.2 => /gnu/store/ln6hxqjvz6m9gdd9s97pivlqck7hzs99-glibc-2.35/lib/ld-linux-x86-64.so.2 (0x00007f37fa8d5000)

Now, cleaning again:

rm -r ~/.cache/ms-playwright
rm -r ~/.cache/ms-playwright-go
rm -r ~/.cache/rod

Then:

sl@beoga ~/C/S/slackdump_Linux_x86_64> guix shell libx11

sl@beoga ~/C/S/slackdump_Linux_x86_64> env | grep GUIX_ENVIRONMENT
GUIX_ENVIRONMENT=/gnu/store/sk5rsixr08kwp7vrs2kkkpsbl1k13axj-profile

sl@beoga ~/C/S/slackdump_Linux_x86_64> echo $LD_LIBRARY_PATH

sl@beoga ~/C/S/slackdump_Linux_x86_64> set -x LD_LIBRARY_PATH /gnu/store/sk5rsixr08kwp7vrs2kkkpsbl1k13axj-profile/lib

sl@beoga ~/C/S/slackdump_Linux_x86_64> echo $LD_LIBRARY_PATH
/gnu/store/sk5rsixr08kwp7vrs2kkkpsbl1k13axj-profile/lib

sl@beoga ~/C/S/slackdump_Linux_x86_64> ./slackdump -list-users
Slackdump 2.5.4 (commit: 19920aa6ddd3cc6cd9071316b993a400e1f22d4e) built on: 2024-02-07T09:58:39Z
[launcher.Browser]2024/03/09 10:22:15 Download: https://storage.googleapis.com/chromium-browser-snapshots/Linux_x64/1131657/chrome-linux.zip
[launcher.Browser]2024/03/09 10:22:15 Progress: 00%
[launcher.Browser]2024/03/09 10:22:16 Progress: 06%
[launcher.Browser]2024/03/09 10:22:17 Progress: 28%
[launcher.Browser]2024/03/09 10:22:18 Progress: 53%
[launcher.Browser]2024/03/09 10:22:19 Progress: 77%
[launcher.Browser]2024/03/09 10:22:20 Unzip: /home/sl/.cache/rod/browser/chromium-1131657
[launcher.Browser]2024/03/09 10:22:20 Progress: 00%
[launcher.Browser]2024/03/09 10:22:21 Progress: 34%
[launcher.Browser]2024/03/09 10:22:22 Progress: 84%
[launcher.Browser]2024/03/09 10:22:22 Downloaded: /home/sl/.cache/rod/browser/chromium-1131657
2024/03/09 10:22:22 failed to initialise the auth provider: browser automation error: failed to launch: fork/exec /home/sl/.cache/rod/browser/chromium-1131657/chrome: no such file or directory

sl@beoga ~/C/S/slackdump_Linux_x86_64 [1]> ll /home/sl/.cache/rod/browser/chromium-1131657/chrome
-rwxr-xr-x 1 sl users 342M Mar  9 10:22 /home/sl/.cache/rod/browser/chromium-1131657/chrome*

Might indeed be an issue to explore with the playwright/go-rod teams :)

Then just to check:

sl@beoga ~/C/S/slackdump_Linux_x86_64> tree /gnu/store/sk5rsixr08kwp7vrs2kkkpsbl1k13axj-profile/lib
/gnu/store/sk5rsixr08kwp7vrs2kkkpsbl1k13axj-profile/lib
├── libX11.la -> /gnu/store/m5bx3y9wkjgksa1jj2ijzb9s6f882gqs-libx11-1.8.7/lib/libX11.la
├── libX11.so -> /gnu/store/m5bx3y9wkjgksa1jj2ijzb9s6f882gqs-libx11-1.8.7/lib/libX11.so
├── libX11.so.6 -> /gnu/store/m5bx3y9wkjgksa1jj2ijzb9s6f882gqs-libx11-1.8.7/lib/libX11.so.6
├── libX11.so.6.4.0 -> /gnu/store/m5bx3y9wkjgksa1jj2ijzb9s6f882gqs-libx11-1.8.7/lib/libX11.so.6.4.0
├── libX11-xcb.la -> /gnu/store/m5bx3y9wkjgksa1jj2ijzb9s6f882gqs-libx11-1.8.7/lib/libX11-xcb.la
├── libX11-xcb.so -> /gnu/store/m5bx3y9wkjgksa1jj2ijzb9s6f882gqs-libx11-1.8.7/lib/libX11-xcb.so
├── libX11-xcb.so.1 -> /gnu/store/m5bx3y9wkjgksa1jj2ijzb9s6f882gqs-libx11-1.8.7/lib/libX11-xcb.so.1
├── libX11-xcb.so.1.0.0 -> /gnu/store/m5bx3y9wkjgksa1jj2ijzb9s6f882gqs-libx11-1.8.7/lib/libX11-xcb.so.1.0.0
├── libXau.la -> /gnu/store/xj6bygvf0217ivdp606m98r5q054xkyj-libxau-1.0.10/lib/libXau.la
├── libXau.so -> /gnu/store/xj6bygvf0217ivdp606m98r5q054xkyj-libxau-1.0.10/lib/libXau.so
├── libXau.so.6 -> /gnu/store/xj6bygvf0217ivdp606m98r5q054xkyj-libxau-1.0.10/lib/libXau.so.6
├── libXau.so.6.0.0 -> /gnu/store/xj6bygvf0217ivdp606m98r5q054xkyj-libxau-1.0.10/lib/libXau.so.6.0.0
├── libxcb-composite.la -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-composite.la
├── libxcb-composite.so -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-composite.so
├── libxcb-composite.so.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-composite.so.0
├── libxcb-composite.so.0.0.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-composite.so.0.0.0
├── libxcb-damage.la -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-damage.la
├── libxcb-damage.so -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-damage.so
├── libxcb-damage.so.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-damage.so.0
├── libxcb-damage.so.0.0.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-damage.so.0.0.0
├── libxcb-dpms.la -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-dpms.la
├── libxcb-dpms.so -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-dpms.so
├── libxcb-dpms.so.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-dpms.so.0
├── libxcb-dpms.so.0.0.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-dpms.so.0.0.0
├── libxcb-dri2.la -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-dri2.la
├── libxcb-dri2.so -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-dri2.so
├── libxcb-dri2.so.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-dri2.so.0
├── libxcb-dri2.so.0.0.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-dri2.so.0.0.0
├── libxcb-dri3.la -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-dri3.la
├── libxcb-dri3.so -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-dri3.so
├── libxcb-dri3.so.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-dri3.so.0
├── libxcb-dri3.so.0.1.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-dri3.so.0.1.0
├── libxcb-glx.la -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-glx.la
├── libxcb-glx.so -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-glx.so
├── libxcb-glx.so.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-glx.so.0
├── libxcb-glx.so.0.0.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-glx.so.0.0.0
├── libxcb.la -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb.la
├── libxcb-present.la -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-present.la
├── libxcb-present.so -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-present.so
├── libxcb-present.so.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-present.so.0
├── libxcb-present.so.0.0.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-present.so.0.0.0
├── libxcb-randr.la -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-randr.la
├── libxcb-randr.so -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-randr.so
├── libxcb-randr.so.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-randr.so.0
├── libxcb-randr.so.0.1.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-randr.so.0.1.0
├── libxcb-record.la -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-record.la
├── libxcb-record.so -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-record.so
├── libxcb-record.so.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-record.so.0
├── libxcb-record.so.0.0.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-record.so.0.0.0
├── libxcb-render.la -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-render.la
├── libxcb-render.so -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-render.so
├── libxcb-render.so.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-render.so.0
├── libxcb-render.so.0.0.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-render.so.0.0.0
├── libxcb-res.la -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-res.la
├── libxcb-res.so -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-res.so
├── libxcb-res.so.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-res.so.0
├── libxcb-res.so.0.0.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-res.so.0.0.0
├── libxcb-screensaver.la -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-screensaver.la
├── libxcb-screensaver.so -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-screensaver.so
├── libxcb-screensaver.so.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-screensaver.so.0
├── libxcb-screensaver.so.0.0.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-screensaver.so.0.0.0
├── libxcb-shape.la -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-shape.la
├── libxcb-shape.so -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-shape.so
├── libxcb-shape.so.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-shape.so.0
├── libxcb-shape.so.0.0.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-shape.so.0.0.0
├── libxcb-shm.la -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-shm.la
├── libxcb-shm.so -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-shm.so
├── libxcb-shm.so.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-shm.so.0
├── libxcb-shm.so.0.0.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-shm.so.0.0.0
├── libxcb.so -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb.so
├── libxcb.so.1 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb.so.1
├── libxcb.so.1.1.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb.so.1.1.0
├── libxcb-sync.la -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-sync.la
├── libxcb-sync.so -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-sync.so
├── libxcb-sync.so.1 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-sync.so.1
├── libxcb-sync.so.1.0.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-sync.so.1.0.0
├── libxcb-xf86dri.la -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-xf86dri.la
├── libxcb-xf86dri.so -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-xf86dri.so
├── libxcb-xf86dri.so.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-xf86dri.so.0
├── libxcb-xf86dri.so.0.0.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-xf86dri.so.0.0.0
├── libxcb-xfixes.la -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-xfixes.la
├── libxcb-xfixes.so -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-xfixes.so
├── libxcb-xfixes.so.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-xfixes.so.0
├── libxcb-xfixes.so.0.0.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-xfixes.so.0.0.0
├── libxcb-xinerama.la -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-xinerama.la
├── libxcb-xinerama.so -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-xinerama.so
├── libxcb-xinerama.so.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-xinerama.so.0
├── libxcb-xinerama.so.0.0.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-xinerama.so.0.0.0
├── libxcb-xinput.la -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-xinput.la
├── libxcb-xinput.so -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-xinput.so
├── libxcb-xinput.so.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-xinput.so.0
├── libxcb-xinput.so.0.1.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-xinput.so.0.1.0
├── libxcb-xkb.la -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-xkb.la
├── libxcb-xkb.so -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-xkb.so
├── libxcb-xkb.so.1 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-xkb.so.1
├── libxcb-xkb.so.1.0.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-xkb.so.1.0.0
├── libxcb-xtest.la -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-xtest.la
├── libxcb-xtest.so -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-xtest.so
├── libxcb-xtest.so.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-xtest.so.0
├── libxcb-xtest.so.0.0.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-xtest.so.0.0.0
├── libxcb-xv.la -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-xv.la
├── libxcb-xvmc.la -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-xvmc.la
├── libxcb-xvmc.so -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-xvmc.so
├── libxcb-xvmc.so.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-xvmc.so.0
├── libxcb-xvmc.so.0.0.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-xvmc.so.0.0.0
├── libxcb-xv.so -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-xv.so
├── libxcb-xv.so.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-xv.so.0
├── libxcb-xv.so.0.0.0 -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/libxcb-xv.so.0.0.0
├── libXdmcp.la -> /gnu/store/nrbnpqy75s7ygl3f93g6s3rh7iapa32h-libxdmcp-1.1.3/lib/libXdmcp.la
├── libXdmcp.so -> /gnu/store/nrbnpqy75s7ygl3f93g6s3rh7iapa32h-libxdmcp-1.1.3/lib/libXdmcp.so
├── libXdmcp.so.6 -> /gnu/store/nrbnpqy75s7ygl3f93g6s3rh7iapa32h-libxdmcp-1.1.3/lib/libXdmcp.so.6
├── libXdmcp.so.6.0.0 -> /gnu/store/nrbnpqy75s7ygl3f93g6s3rh7iapa32h-libxdmcp-1.1.3/lib/libXdmcp.so.6.0.0
└── pkgconfig
    ├── pthread-stubs.pc -> /gnu/store/79cx86rwdbz3kj1a5mhrlyfjf4dj8iil-libpthread-stubs-0.4/lib/pkgconfig/pthread-stubs.pc
    ├── x11.pc -> /gnu/store/m5bx3y9wkjgksa1jj2ijzb9s6f882gqs-libx11-1.8.7/lib/pkgconfig/x11.pc
    ├── x11-xcb.pc -> /gnu/store/m5bx3y9wkjgksa1jj2ijzb9s6f882gqs-libx11-1.8.7/lib/pkgconfig/x11-xcb.pc
    ├── xau.pc -> /gnu/store/xj6bygvf0217ivdp606m98r5q054xkyj-libxau-1.0.10/lib/pkgconfig/xau.pc
    ├── xcb-composite.pc -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/pkgconfig/xcb-composite.pc
    ├── xcb-damage.pc -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/pkgconfig/xcb-damage.pc
    ├── xcb-dpms.pc -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/pkgconfig/xcb-dpms.pc
    ├── xcb-dri2.pc -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/pkgconfig/xcb-dri2.pc
    ├── xcb-dri3.pc -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/pkgconfig/xcb-dri3.pc
    ├── xcb-glx.pc -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/pkgconfig/xcb-glx.pc
    ├── xcb.pc -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/pkgconfig/xcb.pc
    ├── xcb-present.pc -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/pkgconfig/xcb-present.pc
    ├── xcb-randr.pc -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/pkgconfig/xcb-randr.pc
    ├── xcb-record.pc -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/pkgconfig/xcb-record.pc
    ├── xcb-render.pc -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/pkgconfig/xcb-render.pc
    ├── xcb-res.pc -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/pkgconfig/xcb-res.pc
    ├── xcb-screensaver.pc -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/pkgconfig/xcb-screensaver.pc
    ├── xcb-shape.pc -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/pkgconfig/xcb-shape.pc
    ├── xcb-shm.pc -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/pkgconfig/xcb-shm.pc
    ├── xcb-sync.pc -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/pkgconfig/xcb-sync.pc
    ├── xcb-xf86dri.pc -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/pkgconfig/xcb-xf86dri.pc
    ├── xcb-xfixes.pc -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/pkgconfig/xcb-xfixes.pc
    ├── xcb-xinerama.pc -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/pkgconfig/xcb-xinerama.pc
    ├── xcb-xinput.pc -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/pkgconfig/xcb-xinput.pc
    ├── xcb-xkb.pc -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/pkgconfig/xcb-xkb.pc
    ├── xcb-xtest.pc -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/pkgconfig/xcb-xtest.pc
    ├── xcb-xvmc.pc -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/pkgconfig/xcb-xvmc.pc
    ├── xcb-xv.pc -> /gnu/store/hawczxw7ni5b6ffsacp260klddw1j1vw-libxcb-1.15/lib/pkgconfig/xcb-xv.pc
    ├── xdmcp.pc -> /gnu/store/nrbnpqy75s7ygl3f93g6s3rh7iapa32h-libxdmcp-1.1.3/lib/pkgconfig/xdmcp.pc
    └── xorg-macros.pc -> /gnu/store/qwpw0mxza9a4crspj90d8s44wmk27d5g-util-macros-1.19.3/lib/pkgconfig/xorg-macros.pc

2 directories, 142 files

Thanks for the browser's token point! I'll try that in the meantime -- hoping it can also manually solve #273 which I just bumped into when trying this in an Ubuntu VM.

No problem, sorry, can't be of much help with this, thank you for all the diagnostics.

I doubt that the manual method will help overriding the issue described in #273 as it is API restriction. Interestingly, many people are facing it now, seems to be something fresh.

I'll close this issue for now, but please let me know if you're able to fix it, it would be great to include these instructions in the readme.

Just to mention, the manual method seems to work (under Ubuntu, ongoing)! The snippet JSON.parse(localStorage.localConfig_v2).teams[document.location.pathname.match(/^\/client\/(T[A-Z0-9]+)/)[1]].token failed, but exploring a little more to find the token and copying it worked.

In my case the token was reached by replacing T in /^\/client\/(T[A-Z0-9]+)/: /^\/client\/([A-Z0-9]+)/ (as mine starts with E, I guess due to Enterprise Slack).