1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-15 15:53:27 +00:00
Commit Graph

3886 Commits

Author SHA1 Message Date
Bernd Schoolmann
11a7eb2f73 [PM-16612] Prevent emergency access fingerprint confirmation dialog being spoofable (#12651)
* Prevent emergency access dialog spoofing

* Fix tests
2025-01-09 16:06:14 +01:00
Brandon Treston
1b64bc2462 Fix invite member dialog remaining count (#12667) 2025-01-09 09:58:45 -05:00
Bernd Schoolmann
a527aa9196 [PM-2094] Fix windows hello focusing behavior (#12255)
* Implement new windows focus behavior

* Fix formatting

* Fix clippy warning

* Fix clippy warning

* Fix build

* Fix build
2025-01-09 14:07:40 +01:00
Bernd Schoolmann
67a59b6072 [PM-15584] Fix autoprompt safari process reload (#12352)
* Move ownership of biometrics to key-management

* Move biometrics ipc ownership to km

* Move further files to km; split off preload / ipc to km

* Fix linting

* Fix linting

* Fix tests

* Extract biometric messaging service

* Fix tests

* Update .github/CODEOWNERS

Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com>

* Update .github/CODEOWNERS

Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com>

* Change ownership of native messaging to key-management

* Initial refactor

* Initial refactor

* Continued refactor

* Continued refactor

* Add message for when biometric unlock is not configured in desktop app

* Clean up lock component

* Clean up lock component html

* Fix build

* Fix status for windows and linux

* Continue refactor

* Refactor browser

* Fix unlock on extensions and add message enums

* Implement safari and fix setup

* Fix cli and web

* Make tests pass

* Add backward compatibility

* Fix version incompatibility

* Clean up auto-bio-prompt on desktop

* Fix biometric auto prompt on browser

* Fix tests

* Remove logging

* Add null in return type of unlockwithbiometricsforuser

* Move biometrics to libs/key-management

* Add README to capital whitelist

* Update package-lock.json

* Move km to key-management

* Move km to key-management

* Fix build for cli

* Import fixes

* Apply prettier fix

* Fix test

* Import fixes

* Import fixes

* Update libs/key-management/README.md

Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com>

* Update libs/key-management/package.json

Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com>

* Update lock file

* Change imports to top level km package

* Change import order

* Fix cli build

* Remove debug logging

* Fix user not showing in "notenabledinconnecteddesktopapp" helptext

* Document autoprompt and enable it on manual account switch

* Fix build

* Fix unlock on windows

* Rename duckduckgo message handler service

* Fix merge conflicts

* Fix codeowners

* Fix biometric message handler naming

* Update codeowners for renamed message handler service

* Fix cli build error

* Fix browser build errors

* Fix tests and update lock components

* Fix linking

* Fix build error

* Fix build error

* Fix build error

* Fix build error

* Fix logging message

* Fix conflicts

* Add jsdoc to biometric status enum

* Add jsdoc to biometric commands

* Remove unused initialization code

* Fix incorrectly checked setup-required status in desktop settings component

* Extract process reload when required

* Remvoe cryptoservice reference

* Remove commented out tests

* Improve tests

* Fix build

* Fix tests

* Fix biometric unlock

* Fix errors from prior merge

* Re-add tests

* Update lock component tests

* Add tests for process reload for biometric ipc unlock

* Fix autoprompt happening when it should not

* Fix lock v2

* Fix lint

* Update apps/browser/src/auth/popup/settings/account-security.component.ts

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>

* Update apps/desktop/src/app/accounts/settings.component.ts

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>

* Update apps/desktop/src/key-management/biometrics/main-biometrics.service.ts

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>

* Update libs/key-management/src/biometrics/biometric.service.ts

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>

* Update libs/key-management/src/biometrics/biometrics-status.ts

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>

* Update apps/browser/src/background/nativeMessaging.background.ts

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>

* Update apps/desktop/src/key-management/biometrics/main-biometrics.service.ts

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>

* Cleanup

* Remove unavailabilityReason from UI

* Fix autoprompt safari process reload

* Apply changes according to feedback

* Adjust PR according to feedback

* Address feedback

* Fix account settings biometrics setting

* Fix build

* Cleanup

* Fix incorrect merge

* Allow disabling biometrics in browser while desktop app is disconnected

---------

Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com>
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
2025-01-09 13:01:49 +01:00
Jonas Hendrickx
aec25b1491 [PM-15840] When org reaches collection limit, organization upgrade pa… (#12648) 2025-01-09 07:53:29 +00:00
Bernd Schoolmann
0d5e4c6f58 [PM-16859] Fix item creation resetting to login item type on browser (#12765)
* Fix broken item creation on browser

* Fix creation of ssh keys items from a filtered vault resetting to login on web
2025-01-08 23:24:23 +00:00
Todd Martin
d9e65aca14 Remove lock and logout settings from Safari Account Settings (#12699) 2025-01-08 15:34:16 -05:00
tangowithfoxtrot
16a0176f84 fix: account for different build output on arm (#12761) 2025-01-08 10:53:57 -08:00
Jordan Aasen
38c1cdfb62 [PM-14289] - vault cipher form - set default owner as organization from collection when possible (#12682)
* set default org by referencing collecction

* get organizationId from collection

* always get organizationId from collection when possible
2025-01-08 10:36:38 -08:00
Shane Melton
d72dd2ea76 [PM-16098] Improved cipher decryption error handling (#12468)
* [PM-16098] Add decryptionFailure flag to CipherView

* [PM-16098] Add failedToDecryptCiphers$ observable to CipherService

* [PM-16098] Introduce decryption-failure-dialog.component

* [PM-16098] Disable cipher rows for the Web Vault

* [PM-16098] Show decryption error dialog on vault load or when attempting to view/edit a corrupted cipher

* [PM-16098] Browser - Show decryption error dialog on vault load or when attempting to view/edit a corrupted cipher

* [PM-16098] Desktop - Show decryption error dialog on vault load or when attempting to view a corrupted cipher. Remove edit/clone context menu options and footer actions.

* [PM-16098] Add CS link to decryption failure dialog

* [PM-16098] Return cipherViews and move filtering of isDeleted to consumers

* [PM-16098] Throw an error when retrieving cipher data for key rotation when a decryption failure is present

* [PM-16098] Properly filter out deleted, corrupted ciphers when showing dialog within the Vault

* [PM-16098] Show the decryption error dialog when attempting to view a cipher in trash and disable the restore option

* [PM-16098] Exclude failed to decrypt ciphers from getAllDecrypted method and cipherViews$ observable

* [PM-16098] Avoid re-sorting remainingCiphers$ as it was redundant

* [PM-16098] Update tests

* [PM-16098] Prevent opening view dialog in AC for corrupted ciphers

* [PM-16098] Remove withLatestFrom operator that was causing race conditions when navigating away from the individual vault

* [PM-16098] Ensure decryption error dialog is only shown once on Desktop when switching accounts
2025-01-08 08:42:46 -08:00
Tom
8bb080cf93 Removing testing tabs and the learn more link (#12481) 2025-01-08 16:09:05 +01:00
Bernd Schoolmann
bb2961f4ca [PM-10413] ssh keygen on web and browser (#12176)
* Move desktop to sdk ssh-key generation

* Add ssh keygen support on web and browser

* Move ssh keygen on all clients behind feature flag

* Update package lock

* Fix linting

* Fix build

* Fix build

* Remove rand_chacha

* Move libc to linux-only target

* Remove async-streams dep

* Make generateSshKey private

* Remove async from generate ssh key

* Update cargo lock

* Fix sdk init for ssh key generation

* Update index.d.ts

* Fix build on browser

* Fix build

* Fix build by updating libc dependency
2025-01-08 16:01:23 +01:00
Oscar Hinton
3949aae8e3 [PM-16838] Fix bad imports for shared and platform code (#12743)
Imports containing /src/ are forbidden.
2025-01-08 14:29:26 +01:00
Bernd Schoolmann
244539cc38 [PM-16837] Fix agent only loading when featureflag is on during startup (#12742)
* Fix ssh generation and import not being available when agent feature-flag is disabled

* Fix agent only loading when featureflag is on during startup
2025-01-08 14:25:19 +01:00
Bernd Schoolmann
1b08335245 Fix ssh generation and import not being available when agent feature-flag is disabled (#12741) 2025-01-08 14:08:52 +01:00
Bernd Schoolmann
72121cda94 [PM-10741] Refactor biometrics interface & add dynamic status (#10973) 2025-01-08 10:46:00 +01:00
Evan Bassler
0bd988dac8 [PM-15190] hide empty ciphers from autofill (#12491)
* hide empty ciphers from autofill

---------

Co-authored-by: Evan Bassler <evanbassler@EvanBasslersMBP.attlocal.net>
2025-01-07 17:07:30 -06:00
Jonathan Prusik
dbed5ff79b [PM-16247] Autofill base common content components (#12668)
* PoC implementation

* build notification header components

* use emotion css, and add button row components

* add icons

* update close button component to use new icon

* add cipher components

* reorganize notification component to accomodate body overflow with static footer

* add action row component and fix overflow cases

* fix component directory casings

* add scrollbar styles

* fix edit button icon display size issue

* fix edit button interaction

* cleanup and add dropdown menu buttons

* fix footer display of full-width children

* use svg brand icon in header component

* refine body and footer overflow layout handling

* fix fallback cipher icon sizing and other cleanup

* component restructure and cleanup

* restructure icon components

* cleanup

* re-org notification body and footer components and add typing

* additional cleanup
2025-01-07 15:09:43 -05:00
Alec Rippberger
f99a3c4162 feat(web): [PM-1214] add device management screen
Adds a device management tab under settings -> security that allows users to:
- View and manage their account's connected devices
- Remove/deactivate devices
- See device details like platform, last login, and trust status
- Sort and filter device list with virtual scrolling

Resolves PM-1214
2025-01-07 13:29:36 -06:00
cyprain-okeke
02556c1416 Changes to restart cancelled org (#12730) 2025-01-07 20:09:37 +01:00
Thomas Avery
c0d3fe15d1 [PM-11528] Move Lock to KM ownership (#12407)
* update code owners

* Move lock component v2 to KM

* Add @bitwarden/key-management/angular to tsconfigs

* Move lock component service to KM

* Move lock component v1 to KM

* Update imports

* Move into @bitwarden/key-management

* Revert "Move into @bitwarden/key-management"

This reverts commit b7514fb8c2.

* Add to tsconfig.libs
2025-01-07 16:47:51 +01:00
Conner Turnbull
91d6963074 [PM-14366] Deprecated active user state from billing state service (#12273)
* Updated billing state provider to not rely on ActiveUserStateProvider

* Updated usages

* Resolved browser build

* Resolved web build

* Resolved CLI build

* resolved desktop build

* Update apps/cli/src/tools/send/commands/create.command.ts

Co-authored-by:  Audrey  <ajensen@bitwarden.com>

* Move subscription visibility logic from component to service

* Resolved unit test failures. Using existing userIds where present

* Simplified activeUserId access

* Resolved typescript strict errors

* Resolved broken unit test

* Resolved ts strict error

---------

Co-authored-by:  Audrey  <ajensen@bitwarden.com>
2025-01-07 10:25:26 -05:00
renovate[bot]
003f5fdae9 [deps]: Lock file maintenance (#12709)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>
2025-01-07 13:38:19 +01:00
Jonathan Prusik
15faf52f57 [PM-13115] Allow users to disable extension content script injections by domain (#11826)
* add disabledInteractionsUris state to the domain settings service

* add routes and ui for user disabledInteractionsUris state management

* use disabled URIs service state as a preemptive conditon to injecting content scripts

* move disabled domains navigation button from account security settings to autofill settings

* update disabled domain terminology to blocked domain terminology

* update copy

* handle blocked domains initializing with null value

* add dismissable banner to the vault view when the active autofill tab is on the blocked domains list

* add autofill blocked domain indicators to autofill suggestions section header

* add BlockBrowserInjectionsByDomain feature flag and put feature behind it

* update router config to new style

* update tests and cleanup

* use full-width-notice slot for domain script injection blocked banner

* convert thrown error on content script injection block to a warning and early return

* simplify and enspeeden state resolution for blockedInteractionsUris

* refactor feature flag state fetching and update tests

* document domain settings service

* remove vault component presentational updates
2025-01-06 17:10:34 -05:00
Jordan Aasen
ddc817689a [PM-13365] - don't display totp capture when in popout (#12645)
* don't display totp capture when in popout

* add canCaptureTotp method

* dry up logic

* add unit tests

* fix failing tests

* add missing mock to cipher-form story
2025-01-06 13:52:42 -08:00
Brandon Treston
066773e983 [PM-16524] move integration page shared components into admin console ownership (#12664)
* move integrations shared components to AC ownership

* fix stories
2025-01-06 16:05:29 -05:00
Daniel James Smith
6aa5b1b953 [PM-7105][PM-7242][PM-16256] Remove v1 code for Tab/Vault Part 2 (#12516)
* Remove v1 code for Tab/Vault Part 2

* Removal conditional for assign-collections

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-01-06 21:14:16 +01:00
Victoria League
ea10c29024 [CL-506] Upgrade to Angular 18 (#12218) 2025-01-06 13:49:33 -05:00
Jordan Aasen
ce07e408ea [PM-13028] - add fixed width to vault list icon (#12644)
* add fixed width to vault list icon

* justify start

* don't display totp capture when in popout

* Revert "don't display totp capture when in popout"

This reverts commit f50b0a6caf.
2025-01-06 10:46:59 -08:00
Jordan Aasen
65699c7b8a [PM-15999] - use new generator components in desktop app (#12639)
* use new generator components in desktop app

* add generator to export

* add TODO comment

* use app-specific component

* use vault-owned generator component

* use CipherFormGeneratorComponent

* rename to dialog component. reference ticket number in comment

* use static method for opening dialog
2025-01-06 10:40:00 -08:00
Daniel James Smith
c349ea95c6 Remove v1 popout component (#12518)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-01-06 18:11:31 +01:00
Shane Melton
828a7fe339 [PM-15557] Log the Cipher_ClientViewed event when opening the VaultItemDialog (#12669) 2025-01-06 08:42:38 -08:00
bw-ghapp[bot]
e75a38c438 Autosync the updated translations (#12713)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-01-06 15:34:47 +00:00
bw-ghapp[bot]
860711337e Autosync the updated translations (#12712)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-01-06 15:34:23 +00:00
bw-ghapp[bot]
9f670c6820 Autosync the updated translations (#12673)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-01-06 15:34:03 +00:00
Daniel James Smith
534e42b9f0 [PM-16432] Remove v1 account security settings (#12578)
* Remove v1 account security settings

Delete v1 component
Remove conditional routing based on extension refresh feature flag

* Remove unused import

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-01-06 16:31:16 +01:00
bw-ghapp[bot]
d34888a568 Autosync the updated translations (#12672)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-01-06 15:31:19 +01:00
Rui Tomé
196c1e1fa4 Fix installation ID missing in events by returning an object with the 'name' property instead of a string (#12463) 2025-01-03 14:36:43 -06:00
renovate[bot]
dac23db952 [deps] Platform: Update Rust crate napi-build to v2.1.4 (#12546)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-03 15:15:32 -05:00
Kyle Spearrin
05d373d070 turn off autocomplete for browser search input (#12679) 2025-01-03 14:51:54 -05:00
renovate[bot]
c69278e761 [deps] Platform: Update Rust crate uniffi to 0.28.3 (#12549)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-03 14:28:44 -05:00
renovate[bot]
1e6471bb1d [deps] Platform: Update Rust crate cc to 1.2.4 (#12297)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-03 12:57:54 -05:00
Daniel James Smith
654eef1de2 Remove v1 account switcher (#12577)
Remove conditional rendering for extensionRefresh feature flag

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-01-03 11:11:12 +01:00
bw-ghapp[bot]
1f00eb1bfb Autosync the updated translations (#12671)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-01-03 11:05:20 +01:00
Evan Bassler
9807b33181 add field type to show correct new cipher popup form (#12433)
Co-authored-by: Evan Bassler <evanbassler@EvanBasslersMBP.attlocal.net>
2025-01-02 16:17:47 -06:00
SmithThe4th
10c8a2101a [PM-12049] Remove usage of ActiveUserState from folder service (#11880)
* Migrated folder service from using active user state to single user state

Added extra test cases for encrypted folder and decrypted folders

Updated derived state to use decrypt with key

* Update callers in the web

* Update callers in the browser

* Update callers in libs

* Update callers in cli

* Fixed test

* Fixed folder state test

* Fixed test

* removed duplicate activeUserId

* Added takewhile operator to only make calls when userId is present

* Simplified to accept a single user id instead of an observable

* Required userid to be passed from notification service

* [PM-15635] Folders not working on desktop (#12333)

* Added folders memory state definition

* added decrypted folders state

* Refactored service to remove derived state

* removed combinedstate and added clear decrypted folders to methods

* Fixed test

* Fixed issue with editing folder on the desktop app

* Fixed test

* Changed state name

* fixed ts strict issue

* fixed ts strict issue

* fixed ts strict issue

* removed unnecessasry null encrypteed folder check

* Handle null folderdata

* [PM-16197] "Items with No Folder" shows as a folder to edit name and delete (#12470)

* Force redcryption anytime encryption state changes

* Fixed text file

* revert changes

* create new object with nofolder instead of modifying exisiting object

* Fixed failing test

* switched to use memory-large-object

* Fixed ts sctrict issue

---------

Co-authored-by: Matt Bishop <mbishop@bitwarden.com>
Co-authored-by: bnagawiecki <107435978+bnagawiecki@users.noreply.github.com>
2025-01-02 17:16:33 -05:00
Alex Morask
15cc4ff1eb [PM-14461] Update organization state after subscription update (#12222)
* Update organization state after subscription update

* QA: Fix SM trial seat adjustment
2025-01-02 15:37:09 -05:00
Addison Beck
0ae10f0d9b fix(safari): make sure to return from bespoke reload clause (#12661)
On https://github.com/bitwarden/clients/pull/12326 I refactored and
extended a bit of special case logic for process reloads on Safari. This
appears to have caused a regression, and I think it's because I didn't
return from the function when Safari reloads. This makes it still call
`chrome.runtime.reload()`, which makes Safari send an "install" event,
which leads to our extension opening it's Getting Started page.

This commit returns after the location reload in Safari. This is tricky
to test locally as the issue does not appear with sideloaded apps. I'll
test it with Testflight!
2025-01-02 14:46:31 -05:00
renovate[bot]
5a3681655b [deps] Platform: Update Rust crate libc to v0.2.169 (#12131)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-02 14:28:57 -05:00
Jonas Hendrickx
c724b0d974 [PM-13999] show estimated tax for taxable countries (#12245) 2025-01-02 20:28:04 +01:00