Commit Graph

2195 Commits

Author SHA1 Message Date
Vicki League
26c0176e2e
[CL-712] Update icon button, components using it, and affected virtual scroll heights (#15683) 2025-08-05 10:58:49 -04:00
Ben Brooks
bddd81ce79
fix: [PM-23494] detect ID vs login inputs on booksamillion.com (#15548)
* fix: [PM-23494] add newsletter checks; cleanup

Signed-off-by: Ben Brooks <bbrooks@bitwarden.com>

* fix: [PM-23494] improve isExplicitIdentityEmailField, add NewEmailFieldKeywords

Signed-off-by: Ben Brooks <bbrooks@bitwarden.com>

* fix: [PM-23494] improve isNewsletterForm, add NewsletterFormNames

Signed-off-by: Ben Brooks <bbrooks@bitwarden.com>

---------

Signed-off-by: Ben Brooks <bbrooks@bitwarden.com>
2025-08-04 11:02:15 -07:00
rr-bw
25ada6f80f
refactor(login-approval-component) [Auth/PM-14940] Update LoginApprovalComponent (#15511)
- Renames the `LoginApprovalComponent` to `LoginApprovalDialogComponent`
- Renames the property `notificationId` to `authRequestId` for clarity
- Updates text content on the component
2025-08-04 09:20:12 -07:00
Bernd Schoolmann
6bd8638ad8
[PM-24126] Move pin service to km ownership (#15821)
* Move pin service to km ownership

* Run format

* Eslint

* Fix tsconfig

* Fix imports and test

* Clean up imports

* Remove unused dependency on PinService

* Fix comments

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-08-04 17:01:39 +02:00
renovate[bot]
2dd6164fce
[deps] Autofill: Update prettier to v3.6.2 (#15496)
Some checks failed
Chromatic / Check PR run (push) Has been cancelled
Scan / Check PR run (push) Has been cancelled
Testing / Run tests (push) Has been cancelled
Testing / Run Rust tests on ${{ matrix.os }} (macos-14) (push) Has been cancelled
Testing / Run Rust tests on ${{ matrix.os }} (ubuntu-22.04) (push) Has been cancelled
Testing / Run Rust tests on ${{ matrix.os }} (windows-2022) (push) Has been cancelled
Testing / Rust Coverage (push) Has been cancelled
Chromatic / Chromatic (push) Has been cancelled
Scan / Checkmarx (push) Has been cancelled
Scan / Sonar (push) Has been cancelled
Testing / Upload to Codecov (push) Has been cancelled
* [deps] Autofill: Update prettier to v3.6.2

* fix: [PM-23425] Fix prettier issues related to dependency updte

Signed-off-by: Ben Brooks <bbrooks@bitwarden.com>

* [deps] Autofill: Update prettier to v3.6.2

---------

Signed-off-by: Ben Brooks <bbrooks@bitwarden.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ben Brooks <bbrooks@bitwarden.com>
2025-08-01 14:02:54 -07:00
Miles Blackwood
56f80539b9
Combine notif check/attempt, end msg pass syntax. (#15771) 2025-08-01 11:30:40 -04:00
bw-ghapp[bot]
0b3fb6fe87
Autosync the updated translations (#15870)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-08-01 09:38:34 +00:00
Justin Baur
4f9b2b618f
[PM-24280] Remove account service from state (#15828)
* Introduce ActiveUserAccessor

* Use ActiveUserAccessor over AccountService

* Updates tests and testing utils to support ActiveUserAccessor

* Update all injection points

* Fix types test

* Use ternary instead
2025-07-31 09:09:14 -04:00
Bernd Schoolmann
5dae5267d9
[PM-22623] Remove most TS encryption code, remove service workers (#15153)
* Add new encrypt service functions

* Undo changes

* Cleanup

* Fix build

* Fix comments

* Switch encrypt service to use SDK functions

* Move remaining functions to PureCrypto

* Tests

* Increase test coverage

* Enforce sdk.ready and drop unused codepaths

* Delete unused code

* Delete unused code

* Delete more code

* Add forgotten sdk init logic

* Fix build

* Fix cli

* Fix tests

* Fix build

* Fix browser build

* Remove compare and add more comments / warnings

* Run prettier

* Remove unused feature flags

* Add hazmat warning to aesDecrypt

* Fix build

* Fix comment

* Fix test
2025-07-30 15:50:00 +02:00
Jason Ng
2e6977e98c
[PM-23788] changed the getType for canClone to address new cipherLike (#15829) 2025-07-30 08:54:45 -04:00
Vicki League
6a2d8ee294
[CL-768] Fix small a11y errors in storybook stories (#15826) 2025-07-29 14:29:37 -04:00
Bernd Schoolmann
a7d3c0f5c2
[PM-23809] Add simplified interface to MP service (#15631)
* Add new mp service api

* Fix tests

* Add test coverage

* Add newline

* Fix type

* Rename to "unwrapUserKeyFromMasterPasswordUnlockData"

* Fix build

* Fix build on cli

* Fix linting

* Re-sort spec

* Add tests

* Fix test and build issues

* Fix build

* Clean up

* Remove introduced function

* Clean up comments

* Fix abstract class types

* Fix comments

* Cleanup

* Cleanup

* Update libs/common/src/key-management/master-password/types/master-password.types.ts

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

* Update libs/common/src/key-management/master-password/services/master-password.service.ts

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

* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts

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

* Update libs/common/src/key-management/master-password/types/master-password.types.ts

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

* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts

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

* Add comments

* Fix build

* Add arg null check

* Cleanup

* Fix build

* Fix build on browser

* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts

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

* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts

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

* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts

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

* Add tests for null params

* Cleanup and deprecate more functions

* Fix formatting

* Prettier

* Clean up

* Update libs/key-management/src/abstractions/key.service.ts

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

* Make emailToSalt private and expose abstract saltForUser

* Add tests

* Add docs

* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts

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

* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts

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

---------

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
2025-07-29 18:53:17 +02:00
Bernd Schoolmann
38d5edc2c5
[PM-23524] Port desktop settings to CL vault timeout, and drop old non-CL vault timeout components (#15513)
* Remove unused old vault timeout component

* Drop desktop specific vault timeout component and replace it with shared CL implementation

* Fix tests

* Fix test

* Fix build on desktop

* Fix tests

* Fix margin
2025-07-28 07:17:53 -07:00
Daniel Riera
9eceaa3d4c
PM-19574 Browser Autofill overlay displays outdated data (#15624)
* PM-19574

* explicitly set true

* remove delete cipher call to address the issue at the core separately

* add test
2025-07-28 09:55:20 -04:00
bw-ghapp[bot]
106739b730
Autosync the updated translations (#15797)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-07-28 13:18:00 +00:00
bw-ghapp[bot]
5e402d9e54
Autosync the updated translations (#15774)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-07-25 10:07:43 +02:00
Todd Martin
b3db1b79ce
chore(feature flags): [PM-19034] Remove feature flags and old components for Set/Change Password
* Removed flag and components.

* More cleanup

* Removed ChangePasswordComponent.

* Removed old EmergencyAccessTakeover

* Removed service initialization.

* Fixed test failures.

* Fixed tests.

* Test changes.

* Updated comments

* Fixed tests.

* Fixed tests.

* Fixed merge conflict.

* Removed style and routing references.

* Better comments.

* Removed ResetPasswordComponent
2025-07-24 12:46:18 -04:00
Brandon Treston
d0d1359ff4
[PM-12048] Wire up vNextCollectionService (#14871)
Some checks failed
Chromatic / Check PR run (push) Has been cancelled
Scan / Check PR run (push) Has been cancelled
Testing / Run tests (push) Has been cancelled
Testing / Run Rust tests on ${{ matrix.os }} (macos-14) (push) Has been cancelled
Testing / Run Rust tests on ${{ matrix.os }} (ubuntu-22.04) (push) Has been cancelled
Testing / Run Rust tests on ${{ matrix.os }} (windows-2022) (push) Has been cancelled
Testing / Rust Coverage (push) Has been cancelled
Chromatic / Chromatic (push) Has been cancelled
Scan / Checkmarx (push) Has been cancelled
Scan / Sonar (push) Has been cancelled
Testing / Upload to Codecov (push) Has been cancelled
* remove derived state, add cache in service. Fix ts strict errors

* cleanup

* promote vNextCollectionService

* wip

* replace callers in web WIP

* refactor tests for web

* update callers to use vNextCollectionServcie methods in CLI

* WIP make decryptMany public again, fix callers, imports

* wip cli

* wip desktop

* update callers in browser, fix tests

* remove in service cache

* cleanup

* fix test

* clean up

* address cr feedback

* remove duplicate userId

* clean up

* remove unused import

* fix vault-settings-import-nudge.service

* fix caching issue

* clean up

* refactor decryption, cleanup, update callers

* clean up

* Use in-memory statedefinition

* Ac/pm 12048 v next collection service pairing (#15239)

* Draft from pairing with Gibson

* Add todos

* Add comment

* wip

* refactor upsert

---------

Co-authored-by: Brandon <btreston@bitwarden.com>

* clean up

* fix state definitions

* fix linter error

* cleanup

* add test, fix shareReplay

* fix item-more-options component

* fix desktop build

* refactor state to account for null as an initial value, remove caching

* add proper cache, add unit test, update callers

* clean up

* fix routing when deleting collections

* cleanup

* use combineLatest

* fix ts-strict errors, fix error handling

* refactor Collection and CollectionView properties for ts-strict

* Revert "refactor Collection and CollectionView properties for ts-strict"

This reverts commit a5c63aab76.

---------

Co-authored-by: Thomas Rittson <trittson@bitwarden.com>
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
2025-07-23 19:05:15 -04:00
Jordan Aasen
fe1c040993
[PM-23789][PM-237090][PM-23791][PM-23792] - [Web][Desktop][Browser] - Do not import cards if policy is enabled (#15740)
* restrict item types in import

* add comment

* fix spec

* fix dep

* clean up logic
2025-07-23 10:37:40 -07:00
Jared Snider
e47e1f79d9
fix(ChangePasswordComp): [Auth/PM-23913] Extension popout now closes after a password change (#15681) 2025-07-23 12:58:44 -04:00
Jason Ng
aee23f7206
[PM-23722] remove previous change for the account security badge (#15739) 2025-07-23 12:29:40 -04:00
Ben Brooks
a74e95fbfe
[CL-601] Replace default reset button to enable it in more browsers (#14974)
* bb/pm-19497/replace default reset button to enable it in more browsers

* address feedback: add ngClass; improve accessibility

* add signals for form hover and input focus; compute showResetButton

* fix(style): [CL-601] Improve CSS per reviewer comments

Signed-off-by: Ben Brooks <bbrooks@bitwarden.com>

* fix: [CL-601] add ngForm; remove standalone attributes

Signed-off-by: Ben Brooks <bbrooks@bitwarden.com>

* fix: [CL-601] add translation strings

Signed-off-by: Ben Brooks <bbrooks@bitwarden.com>

* fix: [CL-601] Use message key in aria label

Signed-off-by: Ben Brooks <bbrooks@bitwarden.com>

* fix: [CL-601] Remove unnecessary aria-hidden attribute

Signed-off-by: Ben Brooks <bbrooks@bitwarden.com>

* fix: [CL-601] Remove unecessary ngForm attributes

Signed-off-by: Ben Brooks <bbrooks@bitwarden.com>

* fix: [CL-601] Add storybook description

Signed-off-by: Ben Brooks <bbrooks@bitwarden.com>

* fix: [CL-601] Match main for recent signal input changs

Signed-off-by: Ben Brooks <bbrooks@bitwarden.com>

---------

Signed-off-by: Ben Brooks <bbrooks@bitwarden.com>
2025-07-23 09:17:47 -07:00
Jason Ng
d0082981a3
[PM-23788] [PM-23793] Prevent Card Clone when Restricted (#15685)
* add restricted policy check to vault items in web and browser
2025-07-23 12:04:31 -04:00
Miles Blackwood
319528c647
Only call activeAccount$ when activeAccountStatus$ is Unlocked. (#15626) 2025-07-22 14:45:59 -04:00
Nick Krantz
9839087b00
Only return ciphers when they exist. (#15716)
conditionals within the template are checking for an empty array rather than an empty ciphers property.
2025-07-22 09:30:22 -07:00
Justin Baur
a563e6d910
Add messaging & messaging-internal libraries (#15711) 2025-07-22 11:47:25 -04:00
Bernd Schoolmann
8b5e6adc37
[PM-21378] Switch encrypt service to use SDK functions (#14538)
* Add new encrypt service functions

* Undo changes

* Cleanup

* Fix build

* Fix comments

* Switch encrypt service to use SDK functions

* Move remaining functions to PureCrypto

* Tests

* Increase test coverage

* Enforce sdk.ready and drop unused codepaths

* Delete unused code

* Add forgotten sdk init logic

* Fix build error

* Fix browser extension failing to unlock after process reload due to outdated usage of decryptString

* Fix send encryption

* Fix client key half decryption being stuck

* Attempt to fix sharereplay

* Fix build

* Fix type / add filter / add distinctuntilchange

* Fix capitalization
2025-07-21 15:52:38 +02:00
bw-ghapp[bot]
462287223a
Autosync the updated translations (#15691)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-07-19 21:50:09 +02:00
bw-ghapp[bot]
ab9bbc8df8
Autosync the updated translations (#15671)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-07-19 19:26:00 +02:00
Brandon Treston
92bbe0a3c2
[PM-22100] Enforce restrictions based on collection type (#15336)
* enforce restrictions based on collection type, set default collection type

* fix ts strict errors

* fix default collection enforcement in vault header

* enforce default collection restrictions in vault collection row

* enforce default collection restrictions in AC vault header

* enforce default collection restriction for select all

* fix ts strict error

* switch to signal, fix feature flag

* fix story

* clean up

* remove feature flag, move check for defaultCollecion to CollecitonView

* fix test

* remove unused configService

* fix test: coerce null to undefined for collection Id

* clean up leaky abstraction for default collection

* fix ts-strict error

* fix parens

* rename defaultCollection getter

* clean up
2025-07-18 10:53:12 -04:00
rr-bw
8e185e023a
fix(extension-login-approval): [Auth/PM-14939 follow-up-2] feature flag route in Extension (#15668) 2025-07-18 07:07:22 -07:00
rr-bw
99b1e7adf1
feat(extension-login-approvals) [Auth/PM-14939 follow-up] add missing translations to browser when using extension tab (table view) (#15667) 2025-07-17 14:40:57 -07:00
rr-bw
9ca265c543
feat(redirectToVaultIfUnlockedGuard): [Auth/PM-20623] RedirectToVaultIfUnlocked Guard (#15236)
Adds a `redirect-to-vault-if-unlocked.guard.ts` that does the following:
- If there is no active user, allow access to the route
- If the user is specifically Unlocked, redirect the user to /vault
- Otherwise, allow access to the route (fallback/default)
2025-07-17 14:24:53 -07:00
Nick Krantz
b4120e0e3f
[PM-22134] Migrate list views to CipherListView from the SDK (#15174)
* add `CipherViewLike` and utilities to handle `CipherView` and `CipherViewLike`

* migrate libs needed for web vault to support `CipherViewLike`

* migrate web vault components to support

* add  for CipherView.  will have to be later

* fetch full CipherView for copying a password

* have only the cipher service utilize SDK migration flag

- This keeps feature flag logic away from the component
- Also cuts down on what is needed for other platforms

* strongly type CipherView for AC vault

- Probably temporary before migration of the AC vault to `CipherListView` SDK

* fix build icon tests by being more gracious with the uri structure

* migrate desktop components to CipherListViews$

* consume card from sdk

* add browser implementation for `CipherListView`

* update copy message for single copiable items

* refactor `getCipherViewLikeLogin` to `getLogin`

* refactor `getCipherViewLikeCard` to `getCard`

* add `hasFido2Credentials` helper

* add decryption failure to cipher like utils

* add todo with ticket

* fix decryption failure typing

* fix copy card messages

* fix addition of organizations and collections for `PopupCipherViewLike`

- accessors were being lost

* refactor to getters to fix re-rendering bug

* fix decryption failure helper

* fix sorting functions for `CipherViewLike`

* formatting

* add `CipherViewLikeUtils` tests

* refactor "copiable" to "copyable" to match SDK

* use `hasOldAttachments` from cipherlistview

* fix typing

* update SDK version

* add feature flag for cipher list view work

* use `CipherViewLikeUtils` for copyable values rather than referring to the cipher directly

* update restricted item type to support CipherViewLike

* add cipher support to `CipherViewLikeUtils`

* update `isCipherListView` check

* refactor CipherLike to a separate type

* refactor `getFullCipherView` into the cipher service

* add optional chaining for `uriChecksum`

* set empty array for decrypted CipherListView

* migrate nudge service to use `cipherListViews`

* update web vault to not depend on `cipherViews$`

* update popup list filters to use `CipherListView`

* fix storybook

* fix tests

* accept undefined as a MY VAULT filter value for cipher list views

* use `LoginUriView` for uri logic (#15530)

* filter out null ciphers from the `_allDecryptedCiphers$` (#15539)

* use `launchUri` to avoid any unexpected behavior in URIs - this appends `http://` when missing
2025-07-17 14:55:32 -05:00
Alec Rippberger
00b6b0224e
feat(extension-login-approvals): [Auth/PM-14939] devices list view for browser (#14620)
Creates a new `DeviceManagementComponent` that fetches devices and formats them before handing them off to a view component for display.

View components:

- `DeviceManagementTableComponent` - displays on medium to large screens
- `DeviceManagementItemGroupComponent` - displays on small screens

Feature flag: `PM14938_BrowserExtensionLoginApproval`
2025-07-17 10:43:49 -07:00
Bryan Cunningham
250e46ee70
[PM-23816] Revert aria disabled buttons (#15656)
* Revert "[CL-295] Use aria-disabled on buttons (#15009)"

This reverts commit 682f1f83d9.

* fix import

* bring back story fixes
2025-07-17 11:40:22 -04:00
Nick Krantz
24e8f0d75d
[PM-23157] Autofill - Master Reprompt (#15431)
* delay setting `this.cipher` until reprompt is verified

* handle failures of reprompt

* do not show cipher after copy password or copy totp fails
2025-07-16 13:22:51 -05:00
Bernd Schoolmann
60855c734f
[PM-17666] Move Encstring to KM ownership (#15457)
* Move Encstring to KM ownership

* Fix wrong import

* Fix build

* Fix remaining imports

* Fix tests
2025-07-16 11:15:24 -04:00
Jason Ng
ee598288d4
[PM-23722] Add missing account security badge (#15603)
* add account security nudge logic to settings v2 and badge check in nudges service
2025-07-16 09:58:07 -04:00
Vicki League
6811ea4c0b
[CL-707] Migrate CL codebase to signals (#15340) 2025-07-16 08:39:37 -04:00
Bernd Schoolmann
8250e40c6c
[PM-22271] Switch to SDK argon2 implementation, and drop other impls (#15401)
* Switch to SDK argon2 implementation

* Cleanup and update to the latest sdk

* Update package lock

* Remove copy patch

* Fix builds

* Fix test build

* Remove error

* Fix tests

* Fix build

* Run prettier

* Remove argon2 references

* Regenerate index.d.ts for desktop_native napi

* Replace mocked crypto function service type
2025-07-15 11:53:58 +02:00
Jared Snider
b2c2bb4c55
CL-765 - AnonLayoutWrapperComponents - make hideIcon reset properly. (#15610) 2025-07-14 16:56:10 -04:00
Github Actions
1b1361ff5a Bumped client version(s) 2025-07-14 14:28:28 +00:00
bw-ghapp[bot]
0f72bda3c1
Autosync the updated translations (#15598)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-07-14 13:54:49 +02:00
Will Martin
4df5ef155d
[PM-23550] prevent fonts from being cached in browser extension and desktop clients (#15585)
* add content hash to font asset filenames

* add content hash to font asset filename in desktop
2025-07-14 01:21:56 -04:00
Daniel Riera
c1818b32e7
PM-23674 The v3 notification is using erroneous notification sizing in some cases (#15562)
Some checks failed
Chromatic / Check PR run (push) Has been cancelled
Scan / Check PR run (push) Has been cancelled
Testing / Run tests (push) Has been cancelled
Testing / Run Rust tests on ${{ matrix.os }} (macos-14) (push) Has been cancelled
Testing / Run Rust tests on ${{ matrix.os }} (ubuntu-22.04) (push) Has been cancelled
Testing / Run Rust tests on ${{ matrix.os }} (windows-2022) (push) Has been cancelled
Testing / Rust Coverage (push) Has been cancelled
Chromatic / Chromatic (push) Has been cancelled
Scan / SAST scan (push) Has been cancelled
Scan / Quality scan (push) Has been cancelled
Testing / Upload to Codecov (push) Has been cancelled
* PM-23674

* remove duplicate mock
2025-07-11 17:04:50 -04:00
Daniel Riera
4fade99be5
Pm 22882 display simple dialog when advanced matching strategy selected for global setting (#15531)
* PM-22882

* add bit hints

* export dialog and implement in autofill component

* remove unnecessary non null assertion

* set to previous on cancel

* add advanced options message to web and desktop

* tweak styling

* add warning capitalized to web and desktop
2025-07-11 15:36:26 -04:00
Bernd Schoolmann
a32f745c99
[PM-22781] Implement autoconnect to desktop app on app start (#15266)
* Implement autoconnect to desktop app on app start

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

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

* Silence errors and only connect while popup is not open

* Run autoconnect regardless of popup being open

---------

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
2025-07-11 17:43:10 +00:00
SmithThe4th
3c6f763233
[PM-23306] "Show cards in autofill" is defaulting to on when the setting is enabled (#15534)
* disable card autofill

* Fixed dependency issues
2025-07-11 12:50:31 -04:00
bw-ghapp[bot]
00267939c3
Autosync the updated translations (#15580)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-07-11 13:54:03 +00:00