rusq / slackdump

Save or export your private and public Slack messages, threads, files, and users locally without admin privileges.
GNU General Public License v3.0
813 stars 60 forks source link

Chromium doesn't get launched on Guix #265

Closed wehlutyk closed 3 months ago

wehlutyk commented 5 months ago

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):

Additional context None.

rusq commented 5 months ago

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.

rusq commented 5 months ago

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

wehlutyk commented 3 months ago

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

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.

wehlutyk commented 3 months ago

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.

rusq commented 3 months ago

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.

wehlutyk commented 3 months ago
$ 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)
wehlutyk commented 3 months ago

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
wehlutyk commented 3 months ago

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.

rusq commented 3 months ago

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.

wehlutyk commented 3 months ago

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).