bitwarden / bitwarden/clients

Can't log in Bitwarden via the desktop app in Tails.

Open
#6,312 6 comments 3 reactions 0 assignees View on GitHub
bug desktop
Dominant language
TypeScript
Stars
13.8k
Forks
2k
Avg merge
3d 9h
Merged PRs (30d)
397

Description

### Steps To Reproduce

1. Go to 'https://vault.bitwarden.com/download/?app=desktop&platform=linux' and download the app.
2. Make it executable.
3. Launch the app and enter the e-mail and password.
4. Click on 'Authenticate with Master Password'

### Expected Result

If the 2FA has been setup the app should ask for 2FA otherwise I should be able to login immediately.

### Actual Result

I get the message "Unexpected error: Failed to fetch."

### Screenshots or Videos

![Captură de ecran de la 2023-09-15 20-11-10](https://github.com/bitwarden/clients/assets/92922165/318a1b8c-3553-4539-9f4b-0b35f00bfe32)

### Additional Context

```
sep 15 20:20:36 amnesia org.gnome.Nautilus[19377]: (node:19377) DeprecationWarning: file property is deprecated and will be removed in v5.
sep 15 20:20:36 amnesia org.gnome.Nautilus[19377]: (Use `bitwarden --trace-deprecation ...` to show where the warning was created)
sep 15 20:20:36 amnesia org.gnome.Nautilus[19377]: [19377:0915/202036.225894:ERROR:object_proxy.cc(623)] Failed to call method: org.freedesktop.DBus.Properties.Get: object_path= /org/freedesktop/portal/desktop: org.freedesktop.DBus.Error.InvalidArgs: No such interface “org.freedesktop.portal.FileChooser”
sep 15 20:20:36 amnesia org.gnome.Nautilus[19377]: [19377:0915/202036.225932:ERROR:select_file_dialog_linux_portal.cc(274)] Failed to read portal version property
sep 15 20:20:36 amnesia org.gnome.Nautilus[19412]: libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
sep 15 20:20:36 amnesia org.gnome.Nautilus[19377]: (node:19377) UnhandledPromiseRejectionWarning: TypeError: Cannot read properties of undefined (reading 'init')
sep 15 20:20:36 amnesia org.gnome.Nautilus[19377]: at BiometricsService. (/tmp/.mount_BitwarJCrABo/resources/app.asar/main.js:47195:55)
sep 15 20:20:36 amnesia org.gnome.Nautilus[19377]: at Generator.next ()
sep 15 20:20:36 amnesia org.gnome.Nautilus[19377]: at /tmp/.mount_BitwarJCrABo/resources/app.asar/main.js:47161:71
sep 15 20:20:36 amnesia org.gnome.Nautilus[19377]: at new Promise ()
sep 15 20:20:36 amnesia org.gnome.Nautilus[19377]: at biometrics_service_awaiter (/tmp/.mount_BitwarJCrABo/resources/app.asar/main.js:47157:12)
sep 15 20:20:36 amnesia org.gnome.Nautilus[19377]: at BiometricsService.init (/tmp/.mount_BitwarJCrABo/resources/app.asar/main.js:47194:16)
sep 15 20:20:36 amnesia org.gnome.Nautilus[19377]: at Main. (/tmp/.mount_BitwarJCrABo/resources/app.asar/main.js:53060:46)
sep 15 20:20:36 amnesia org.gnome.Nautilus[19377]: at Generator.next ()
sep 15 20:20:36 amnesia org.gnome.Nautilus[19377]: at fulfilled (/tmp/.mount_BitwarJCrABo/resources/app.asar/main.js:52957:58)
sep 15 20:20:36 amnesia org.gnome.Nautilus[19377]: (node:19377) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
sep 15 20:20:38 amnesia org.gnome.Nautilus[19377]: (node:19377) UnhandledPromiseRejectionWarning: TypeError: Cannot read properties of null (reading 'null')
sep 15 20:20:38 amnesia org.gnome.Nautilus[19377]: at new Menubar (/tmp/.mount_BitwarJCrABo/resources/app.asar/main.js:45541:131)
sep 15 20:20:38 amnesia org.gnome.Nautilus[19377]: at MenuMain. (/tmp/.mount_BitwarJCrABo/resources/app.asar/main.js:45595:56)
sep 15 20:20:38 amnesia org.gnome.Nautilus[19377]: at Generator.next ()
sep 15 20:20:38 amnesia org.gnome.Nautilus[19377]: at fulfilled (/tmp/.mount_BitwarJCrABo/resources/app.asar/main.js:45565:58)
sep 15 20:20:38 amnesia org.gnome.Nautilus[19377]: (node:19377) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 3)
sep 15 20:20:41 amnesia org.gnome.Nautilus[15357]: scheduling to check sse in 10 seconds
sep 15 20:20:41 amnesia org.gnome.Nautilus[15357]: sse info not available, skip reconnect
sep 15 20:20:41 amnesia org.gnome.Nautilus[19377]: 20:20:41.692 › Checking for update
sep 15 20:20:41 amnesia org.gnome.Nautilus[19377]: 20:20:41.910 › Error: Error: net::ERR_CONNECTION_REFUSED
sep 15 20:20:41 amnesia org.gnome.Nautilus[19377]: at SimpleURLLoaderWrapper. (node:electron/js2c/browser_init:2:49549)
sep 15 20:20:41 amnesia org.gnome.Nautilus[19377]: at SimpleURLLoaderWrapper.emit (node:events:513:28)
sep 15 20:20:41 amnesia org.gnome.Nautilus[19377]: (node:19377) UnhandledPromiseRejectionWarning: Error: net::ERR_CONNECTION_REFUSED
sep 15 20:20:41 amnesia org.gnome.Nautilus[19377]: at SimpleURLLoaderWrapper. (node:electron/js2c/browser_init:2:49549)
sep 15 20:20:41 amnesia org.gnome.Nautilus[19377]: at SimpleURLLoaderWrapper.emit (node:events:513:28)
sep 15 20:20:41 amnesia org.gnome.Nautilus[19377]: (node:19377) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 4)

```

### Operating System

Linux

### Operating System Version

Tails 5.17.1

### Installation method

Direct Download (from bitwarden.com)

### Build Version

2023.8.4

### Issue Tracking Info

- [X] I understand that work is tracked outside of Github. A PR will be linked to this issue should one be opened to address it, but Bitwarden doesn't use fields like "assigned", "milestone", or "project" to track progress.

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the login failure with Bitwarden desktop 2023.8.4 on Tails 5.17.1, then inspect the bundled resources/app.asar/main.js entry points shown in the logs, especially the failed fetch and initialization errors. Done means the desktop app can complete login and present 2FA when configured, without the reported fetch error.

Written by the indexing model from the issue text.

Assessment

Tech stack
electron, nodejs, typescript
Domain
authentication, desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.