1
0
mirror of https://github.com/bitwarden/browser.git synced 2025-03-10 13:09:37 +01:00
Commit Graph

1671 Commits

Author SHA1 Message Date
Merissa Weinstein
334dd4cebe
[PM-10429] remove onboarding module for the browser refresh (#12759)
* remove onboarding module

* revert package.json commit
2025-01-15 11:53:03 -06:00
Bernd Schoolmann
a5dce05354
[PM-17035] Fix biometric unlock badge in mv2 (#12854)
* Fix biometrics not working in firefox or windows

* Remove logs

* Update badge after biometric unlock

* Add removal todo note

* Remove debug logging

* Fix type warnings

* Fix userkey typing in background biometrics service

* Simplify types for userkey in foreground-browser-biometrics and runtime.background.ts

* Add process reload logging

* Fix autoprompt not working when no process reload happened

* Fix biometric unlock badge in mv2

* Fix instant reprompt on firefox lock

* Remove biometrics autoprompt on firefox (#12856)
2025-01-15 17:59:39 +01:00
Jonathan Prusik
b26ad6a173
update the suggested items section header copy based on the blocked state of the current page (#12860) 2025-01-15 11:22:24 -05:00
Thomas Rittson
8c13ea894b
[PM-16917] Remove jest-extended dependency (#12798)
* add toContainPartialObjects matcher (replacing toIncludeAllPartialMembers from jest-extended)
* replace jest-extended matchers with equivalent default matchers
2025-01-15 10:43:26 -05:00
Maciej Zieniuk
bdab4aa939
PM-17042: Biometrics auto prompt popup does not show up on safari (#12868)
This is due to missing await before process reload, triggered by lock, effectively disabling the biometrics auto prompt on safari.
This should be detected by eslint, but due to misconfiguration, nothing was reported. Also fixed two other missing awaits on biometrics unlock.
2025-01-15 16:29:37 +01:00
Oscar Hinton
f44b36bdf6
Fix linting conflicts after merge (#12864) 2025-01-14 12:48:50 -05:00
Bernd Schoolmann
318a3ac6a9
[PM-17038] Fix biometrics autoprompt in firefox and chrome (#12853)
* Fix biometrics not working in firefox or windows

* Remove logs

* Update badge after biometric unlock

* Add removal todo note

* Remove debug logging

* Fix type warnings

* Fix userkey typing in background biometrics service

* Simplify types for userkey in foreground-browser-biometrics and runtime.background.ts

* Add process reload logging

* Fix autoprompt not working when no process reload happened

* Fix instant reprompt on firefox lock

* Fix biometrics enabling error on chrome

* Update apps/browser/src/key-management/biometrics/foreground-browser-biometrics.ts

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

* FIx build & linting

---------

Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com>
2025-01-14 18:29:52 +01:00
renovate[bot]
62e879940c
[deps] SM: Update typescript-eslint monorepo to v8 (major) (#10601)
* [deps] SM: Update typescript-eslint monorepo to v8

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Hinton <hinton@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-01-14 11:23:59 -05:00
Bernd Schoolmann
8e95029439
[PM-16985] Fix biometrics not working in firefox or windows (#12833)
* Fix biometrics not working in firefox or windows

* Remove logs

* Update badge after biometric unlock

* Add removal todo note

* Remove debug logging

* Fix type warnings

* Fix userkey typing in background biometrics service

* Simplify types for userkey in foreground-browser-biometrics and runtime.background.ts
2025-01-14 16:20:18 +01:00
Evan Bassler
d471fe0418
[PM-14954] implement multi input totp styling (#12449)
* update menu and button position for multi-input totp

* update test to better handle breaking changes

* fix sizing bug by filtering duplicate opid fields

* update getTotpFields usage

* revert private changes per feedback

* Update apps/browser/src/autofill/utils/index.ts with positive fucntion

Co-authored-by: Jonathan Prusik <jprusik@users.noreply.github.com>

* fix type and update rectNotZero function

---------

Co-authored-by: Evan Bassler <evanbassler@EvanBasslersMBP.attlocal.net>
Co-authored-by: Jonathan Prusik <jprusik@users.noreply.github.com>
Co-authored-by: Evan Bassler <evanbassler@Mac.attlocal.net>
2025-01-13 14:18:42 -06:00
Github Actions
83ee64ba1d Bumped client version(s) 2025-01-13 20:04:22 +00:00
Jonathan Prusik
3f00f9eaf8
[PM-16804] Add supporting Vault component presentational updates for blocked domains (#12720)
* Revert "remove vault component presentational updates"

This reverts commit fe40dd8464.

* update vault popup autofill service to enable moving state closer to blocked domain component callsites

* hide autofill actions from suggestions if the current tab location is on the blocklist

* update autofill suggestions section title

* update blocked domain section indicator tooltip message

* create and use blocked-injection-banner component

* update blocked URI banner with deeplink to settings

* remove blocked URI indicator for suggestions section

* fix suggested items showing cipher external link button

* fix message catalog updates

* move currentURIIsBlocked state fetching into VaultListItemsContainerComponent

* leverage shareReplay caching for new state additions to VaultPopupAutofillService

* have blocked-injection-banner component consume observable rather than init value

* fix tests

* use observables in the vault-list-items-container template
2025-01-13 14:43:34 -05:00
Bernd Schoolmann
a54508a0e3
[PM-16932] Fix timeout when desktop app is not started (#12799)
* Fix biometrics button showing up when biometrics is not enabled

* Fix tests

* Fix timeout when desktop app is not started

* Update comments for legacy biometrics removal
2025-01-13 19:59:59 +01:00
Victoria League
8062475044
[PM-16243] Allow users to collapse extension sections (#12756) 2025-01-13 10:37:26 -05:00
Jonathan Prusik
fb4d7e8f05
fix broken blockedInteractionsUris state contruction (#12813) 2025-01-13 09:01:16 -05:00
Daniel James Smith
22f4822efc
[PM-16470] Remove v1 autofill owned refresh code (#12579)
* Remove v1 autofill owned settings

* Remove Fido2 v1 components

* Remove conditional to enable AutofillOnPageLoadOrgPolicy

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-01-13 08:44:42 -05:00
bw-ghapp[bot]
ae92ddf177
Autosync the updated translations (#12825)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-01-13 09:34:24 +00:00
Bernd Schoolmann
6872100f07
Fix biometrics being disabled before permission is granted (#12792) 2025-01-13 09:30:30 +01:00
Bernd Schoolmann
5dc523bacb
[PM-16895] Fix biometric prompt showing up in browser while disabled (#12781) 2025-01-13 09:29:42 +01:00
Todd Martin
4c8565f7f3
Modify Edge and Opera artifacts to build Mv3 - Part 1 (#12674)
* Modify Edge and Chrome artifacts to build Mv3 version to mimic Chrome

* Added back the Mv3 scripts so that workflows run on the PR will pass
2025-01-12 16:37:15 -05:00
Jonathan Prusik
9e33e6960b
fix bad imports (#12803) 2025-01-10 12:11:21 -05:00
bw-ghapp[bot]
c0dfac4495
Autosync the updated translations (#12794)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-01-10 17:11:15 +01:00
Oscar Hinton
db84ccf935
[PM-16838] Forbid imports containing /src/ (#12744)
Forbids bad imports containing /src/.
2025-01-10 10:37:34 -05:00
Thomas Avery
8cfa30acb5
[PM-16889] Add KM lib to tailwind configs (#12783)
Add KM lib to tailwind configs
2025-01-09 13:07:26 -06:00
Jordan Aasen
06ca00f3c1
[PM-13306] - add missing elements to browser vault trash list (#12736)
* add missing elements to trash list

* fix failing test
2025-01-09 09:40:59 -08: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
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
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
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
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
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
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
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
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
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
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
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
Kyle Spearrin
05d373d070
turn off autocomplete for browser search input (#12679) 2025-01-03 14:51: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
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