1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-12 14:23:32 +00:00
Commit Graph

776 Commits

Author SHA1 Message Date
Jordan Aasen
9f1531a1b2 [PM-22375] - [Vault] [Clients] Sort My Items collection to the top of Vault collection filters (#15332)
* WIP - default collection sorting

* apply filtering to popup list filters service.

* add tests. add feature flag checks

* finalize my items collection filters

* fix type error

* re-add service

* re-add comment

* remove unused code

* fix sorting logic

* shorten variable name to fit one line

* fix error

* fix more errors

* abstract logic to vault filter service

* fix test

* export sort as function instead of adding to class

* fix more tests

* add collator arg

* remove ts-ignore. fix type errors

* remove optional param

* fix vault filter service
2025-07-09 09:37:38 -06:00
Jared Snider
b9f930a609 fix(tde-offboarding): Auth/PM-19165 - Handle TDE offboarding on an untrusted device with warning message (#15430)
When a user logs in via SSO after their org has offboarded from TDE, we now show them a helpful error message stating that they must either login on a Trusted device, or ask their admin to assign them a password.

Feature flag: `PM16117_SetInitialPasswordRefactor`
2025-07-08 09:58:03 -07:00
Todd Martin
d1c6b334b1 feat(DuckDuckGo): [PM-9388] Add new device type for DuckDuckGo browser
* Add new device type for DuckDuckGo browser

* Added feature support property for sync domains

* Added new features

* Added isDuckDuckGo() to CLI

* Addressed PR feedback.

* Renamed new property

* Fixed rename that missed CLI.
2025-07-03 11:27:28 -04:00
rr-bw
cc65f5efc6 feat(set-initial-password): [Auth/PM-18784] SetInitialPasswordComponent Handle TDE Offboarding (#14861)
This PR makes it so that `SetInitialPasswordComponent` handles the TDE offboarding flow where an org user now needs to set an initial master password.

Feature flag: `PM16117_SetInitialPasswordRefactor`
2025-07-02 07:23:45 -07:00
rr-bw
5639668d3f feat:(set-initial-password): [Auth/PM-18457] Create SetInitialPasswordComponent (#14186)
Creates a `SetInitialPasswordComponent` to be used in scenarios where an existing and authed user must set an initial password.

Feature Flag: `PM16117_SetInitialPasswordRefactor`
2025-06-30 12:39:53 -07:00
SmithThe4th
62981a1bec Migrate vault filter service from active user state to single user state (#15089) 2025-06-30 13:02:18 -04:00
rr-bw
031c9bc947 fix(auth-guard): [PM-22822] remove SsoNewJitProvisionedUser case (#15376) 2025-06-27 15:24:12 -07:00
rr-bw
7500fe32bb fix(auth-guard): [PM-22822] fix infinite redirect loop (#15371) 2025-06-27 11:19:13 -07:00
Jordan Aasen
62750a06ec [PM-36] - [Tech Debt] Move SearchService to libs/common/vault (#15251)
* wip - migrate search service to vault

* fix import
2025-06-27 08:16:59 -07:00
Ike
7c9e95271d [PM -20329] browser auth approval client api service (#15161)
* feat: Create methods for calling GET auth-request/pending endpoint.

* feat: update banner service on web, and desktop vault

* test: updated banner test to use auth request services

* fix: DI fixes

* feat: add RequestDeviceId to AuthRequestResponse

* fix: add Browser Approvals feature flags to desktop vault and web vault banner service

* test: fix tests for feature flag
2025-06-26 11:13:06 -04:00
rr-bw
cf6b087491 docs(password-management): [PM-18573] Document Master Password Management Flows (#15248)
Adds documentation for our set/change password flows (master password management flows)
2025-06-25 09:32:47 -07:00
Brandon Treston
1c237a3753 [PM-20633] rename personal ownership (#15228)
* sensible renames

* renames

* clean up comments
2025-06-24 09:31:40 -04:00
rr-bw
5bd4d1691e refactor(auth-guard): [PM-22822] Update AuthGuard to explicitly handle each forceSetPasswordReason (#15252)
Update the `authGuard` to explicitly handle each `ForceSetPasswordReason`
2025-06-23 11:45:27 -07:00
SmithThe4th
e291e2df0a [PM-21451] [Vault] [CLI] Changes to Enforce "Remove card item type policy" (#15187)
* Created new service to get restricted types for the CLI

* Created service for cli to get restricted types

* Utilized restriction service in commands

* Renamed function

* Refactored service and made it simpler to check when a cipher type is restricted or not

* Moved service to common so it can be utilized on the cli

* Refactored service to use restricted type service

* Removed userId passing from commands

* Exclude restrict types from export

* Added missing dependency

* Added missing dependency

* Added missing dependency

* Added service utils commit from desktop PR

* refactored to use reusable function

* updated reference

* updated reference

* Fixed merge conflicts

* Refactired services to use isCipherRestricted

* Refactored restricted item types service

* Updated services to use the reafctored item types service
2025-06-23 09:04:56 -07:00
Jordan Aasen
3b830faf09 fix logic for restrictedTypeFilter (#15253) 2025-06-18 16:08:13 -07:00
Jordan Aasen
5fa153e743 [PM-20643] - [Vault] [Desktop] Front End Changes to Enforce "Remove card item type policy" (#15176)
* add restricted item types to legacy vault components

* filter out restricted item types from new menu item in desktop

* use CIPHER_MENU_ITEMS

* use CIPHER_MENU_ITEMS. move restricted cipher service to common

* use move restricted item types service to libs. re-use cipher menu items

* add shareReplay. change variable name

* move restricted filter to search service. remove unecessary import

* add reusable service method

* clean up spec

* add optional chain

* remove duplicate import

* move isCipherViewRestricted to service module

* fix logic

* fix logic

* remove extra space

---------

Co-authored-by: SmithThe4th <gsmith@bitwarden.com>
2025-06-18 12:13:38 -07:00
rr-bw
9e76448188 docs(redirect-guard): [BEEEP] Document redirectGuard (#15196) 2025-06-18 10:12:21 -07:00
Jason Ng
71bc68444d [PM-22419] dismiss account nudge when biometric unlock is set (#15139)
* update account-security-nudge service to look at biomentricUnlockEnabled$ observable, add success toast for biometric unlock
2025-06-17 14:47:10 -04:00
Vicki League
df4aae2fb2 [CL-700] Move auth-owned layout components to UIF ownership (#15093) 2025-06-17 13:33:01 -04:00
Jason Ng
8505686006 [PM-22520] Settings Berry will account for Autofill Badge (#15170) 2025-06-16 09:56:39 -04:00
Jared Snider
bfb0b874ed fix(Multi-Account-Logout: [Auth/PM-19555] Fix multi account logout on lock screens not redirecting properly (#14630)
* PM-19555 - LogoutService - build abstraction, default, and extension service and register with service modules

* PM-19555 - Lock Comp - use logoutService

* PM-19555 - LoginDecryptionOptions - Use logout service which removed need for extension-login-decryption-options.service

* PM-19555 - AccountSwitcher logic update - (1) Use logout service + redirect guard routing (2) Remove logout method from account switcher service (3) use new NewActiveUser type

* PM-19555 - Extension - Acct Switcher comp - clean up TODOs

* PM-19555 - Add TODOs for remaining tech debt

* PM-19555 - Add tests for new logout services.

* PM-19555 - Extension - LoginInitiated - show acct switcher b/c user is AuthN

* PM-19555 - Add TODO to replace LogoutCallback with LogoutService

* PM-19555 WIP

* PM-19555 - Extension App Comp - account switching to account in TDE locked state works now.

* PM-19555 - Extension App Comp - add docs

* PM-19555 - Extension App Comp - add early return

* PM-19555 - Desktop App Comp - add handling for TDE lock case to switch account logic.

* PM-19555 - Extension - Account Component - if account unlocked go to vault

* PM-19555 - Per PR feedback, clean up unnecessary nullish coalescing operator.

* PM-19555 - Extension - AppComponent - fix everHadUserKey merge issue

* PM-19555 - PR feedback - refactor switchAccount and locked message handling on browser & desktop to require user id. I audited all callsites for both to ensure this *shouldn't* error.
2025-06-13 13:22:04 -04:00
Rui Tomé
b5bddd0b06 [PM-17154] Limit item deletion feature flag removal (#15094)
* Refactor components to remove limitItemDeletion feature flag usage

This commit simplifies the logic in various components by removing the limitItemDeletion feature flag. The conditions for displaying restore and delete actions are now based solely on the cipher's permissions, enhancing code clarity and maintainability.

* Refactor cipher deletion logic to remove the feature flag and collection ID dependency

This commit updates the cipher deletion logic across multiple components and services by removing the unnecessary dependency on collection IDs. The `canDeleteCipher$` method now solely relies on the cipher's permissions, simplifying the code and improving maintainability.

* Remove LimitItemDeletion feature flag from feature-flag enum and default values

* Remove configService from ServiceContainer and MainBackground constructor parameters

* Remove configService from RestoreCommand instantiation in OssServeConfigurator and VaultProgram classes
2025-06-10 09:57:34 +01:00
Justin Baur
b1f090e054 Add lang attr on desktop and browser (#14691) 2025-06-09 06:54:00 -04:00
Jason Ng
fdd4d4b9fe [PM-22270] Only Show Generator Nudge For New Accounts (#15059)
* create new account nudge service to replace repeat nudge services checking for 30 day limit
2025-06-06 09:53:08 -04:00
Nick Krantz
92f3630fed rework logic for empty vault nudge (#15013) 2025-06-05 09:18:43 -05:00
Nick Krantz
729d5d3134 [PM-21546] Migrate from enum to constant object (#14975)
* add generic `union-of-values` helper

* migrate `GeneratorDialogAction` to a constant

* migrate `VaultState` to a constant

* migrate `AtRiskCarouselDialogResult` to a constant

* migrate `CredentialGeneratorDialogAction` to a constant

* migrate `FolderAddEditDialogResult` to a constant

* migrate `ViewCipherDialogResult` to a constant

* migrate `VisibleVaultBanner` to a constant

* migrate `VaultFilterLabel` to a constant

* migrate `WebVaultGeneratorDialogResult` to a constant

* migrate `BulkDeleteDialogResult` to a constant

* migrate `BulkMoveDialogResult` to a constant

* migrate `AddEditCipherDialogResult` to a constant

* migrate `VaultItemDialogResult` to a constant

* migrate `BrowserPromptState` to a constant

* migrate `NudgeType` to a constant

* migrate `SecurityTaskStatus` to a constant

* migrate `CipherRepromptType` to a constant

* migrate `SecureNoteType` to a constant

* migrate `FieldType` to a constant

* migrate `LinkedIdType` to a constant

* migrate `CollectionAssignmentResult` to a constant

* migrate `AddEditFolderDialogResult` to a constant

* migrate `AttachmentDialogResult` to a constant

* fix CipherType in delete organization dialog

* fix `in` statement in VaultFilter

* Fix build errors across enum updates

* fix two more CipherType castings

* update CipherResponse `CipherType`

* define type for `fieldType` parameter

* refine how `cipherTypeNames` is generated and add utility function for grabbing cipher type name

* use `CipherType` rather than `number`

* add stricter typing for `FieldType`

* add fixme for `CipherType` to be ADR-0025 compliant

* remove error throw for `toCipherTypeName` and instead update typing to have `| undefined`

* add helpers for CipherType conversions

* prefer `undefined`
2025-06-05 08:45:52 -05:00
Oscar Hinton
e8e2181252 Migrate remaining components to standalone in libs/components (#15053)
Migrates the remaining non standalone components from libs/components. Also resolved some linting ignores and applying strict typescript.
2025-06-05 09:52:53 +02:00
Oscar Hinton
8f74eaea1c Remove standalone true from auth (#15035)
Remove standalone: true from every instance since it's the default as of Angular 19.
2025-06-04 09:22:37 -04:00
Nick Krantz
1bd77fec7a account for deleted ciphers for empty vault nudge (#15014) 2025-06-04 08:09:14 -05:00
Nick Krantz
65f4ff6909 [PM-21791] Nudge UI Bug Fixes (#15010)
* remove margin bottom from empty vault nudge

* update page title to vault options

* show badge on import of vault settings

* add margin between no items title and icon

* add mock to test

* add comment for destroying vault settings page

* fix logic for manage/create collection

* account for deleted ciphers when showing the import nudge

* refactor name of vault import nudge
2025-06-04 08:07:44 -05:00
SmithThe4th
2e66addd6a [PM-19632] Remove security task flag - step 1 (#14904)
* Step 1- remove business logic

* removed dependency

* removed leftover flags
2025-06-03 12:20:29 -04:00
Nick Krantz
24ae013f71 [PM-22269] Generator/Send Nudge Updates (#15049)
* remove margin from the bottom of paragraph tag in generator spotlight

* update aria-label text to match translation key

* Remove `SendNudgeStatus` nudge type

* update web send page to use new title and description

* update old no sends title and description

* hide internal contents on generator nudge

* remove NudgeService from send-v2 test
2025-06-03 14:04:29 +00:00
Oscar Hinton
95856bf3cf [CL-714] Remove standalone true from tools (#15039)
Remove standalone: true from every instance since it's the default as of Angular 19.
2025-06-03 09:55:58 +02:00
Bernd Schoolmann
23ec6bacc9 [PM-20225] Prevent legacy users without userkey from logging in (#14267)
* Prevent legacy users without userkey from logging in

* Remove further web-migration code for legacy users

* Add i18n for legacy user error message

* Update comment

* Remove migrate legacy component

* Remove i18n messages

* Remove migrate legacy encryption reference
2025-06-02 23:56:29 +02:00
Addison Beck
26caeb3083 Implement and extend tsconfig.base across projects (#14554)
* Implement and extend tsconfig.base across projects

* fixup! Merge remote-tracking branch 'origin/main' into rename-tsconfig

* fix: import tsconfig.base from components

* fix: skip typechecking node modules

* fixing tests

* fix the tests for real

* undo accidentally change
2025-06-02 20:38:17 +00:00
Oscar Hinton
f3ff1e98ec Remove standalone true from vault (#15040)
Remove standalone: true from every instance since it's the default as of Angular 19.
2025-06-02 13:22:57 -07:00
Oscar Hinton
26fb7effd3 Remove standalone true from platform and UIF (#15032)
Remove standalone: true from every instance since it's the default as of Angular 19.
2025-06-02 20:03:04 +02:00
Oscar Hinton
2fbc4c1578 [CL-525] Upgrade angular to v19 (#14815)
Upgrade Angular to v19 using the update guide.

- Add `standalone: false` to any missed component in stories or tests.
- Update jest.config to follow the new best practices.
2025-06-02 13:13:31 -04:00
Todd Martin
721657a5c3 Update syntax for Github. (#14845) 2025-05-30 15:31:44 -04:00
Matt Gibson
9f9cb0d13d Add-userid-to-encryption-methods (#14844)
* Get userId from response if available

This is a small improvement for the Auth team which avoids inspection of the access token, sometimes.

* Initialize sdk clients with a userId

* return both Cipher and encryptedFor when encrypting a cipher

Update cipher api requests to include encryptedFor attribute

* Prefer named types with documentation

* Update sdk to latest

* Fixup types

* Fixup tests

* Revert getting userId from identity token response

---------

Co-authored-by: Shane <smelton@bitwarden.com>
2025-05-30 10:50:54 -07:00
Thomas Avery
895d54fd5e [PM-21443] Require userId for KeyService's everHadUserKey$ (#14712)
* Require userId for KeyService's everHadUserKey$

* handle null active user in tdeDecryptionRequiredGuard
2025-05-30 11:40:55 -05:00
Addison Beck
56a3b14583 Introduce eslint errors for risky/circular imports (#14804)
* first draft at an idea dependency graph

* ignore existing errors

* remove conflicting rule regarding internal platform logic in libs

* review: allow components to import from platform
2025-05-23 08:01:25 -04:00
Jordan Aasen
57911f210b [PM-21896] - prevent double reprompt for copy password in desktop cipher form (#14883)
* prevent double reprompt for copy password in desktop cipher form

* adjust name

* fix input name
2025-05-22 10:20:33 -07:00
Jason Ng
fd10a26df9 [PM-18804] generator nudges (#14705)
* added generator spotlight to credential generator component

* moved generator spotlight to browser component and add as slot in libs. update copy for send

* added an aria label for the generator nudge body content

* new copy and styles for browser send will be behind feature flag

* update featureflag call to observable in send-v2

* changed how nudge text is made in credential generator

* added new observable to vault nudges to return specific boolean. Update naming of vault types. update observable calls in credential-generator and send-v2

* update send-v2 and credential generator to use new renamed nudges

* update to create nudge generator spotlight component. using this inside the credential generator for nudge spotlight

* fix imports for Nudge related code

* add libs/angular to storybook

---------

Co-authored-by: Nick Krantz <nick@livefront.com>
2025-05-21 12:46:02 -05:00
Nick Krantz
1c4d851046 [PM-21005] Clear Add/Edit form cache when browser loses focus (#14634) 2025-05-21 08:00:49 -05:00
Jordan Aasen
7641dab0f0 [PM-18801] - account security nudge (#14771)
* account security nudge

* fix messages.json

* fix tests

* fix logic for account security item

* fix tests

* adjust account security nudge work to updated nudge service

* fix account security nudge

* remove unused code. do not show account security badge

* include ff and safari in link html

* fix import

* Revert "include ff and safari in link html"

This reverts commit cd12a36274.
2025-05-20 12:19:34 -07:00
Nick Krantz
83c4438efe Refactor: Move NudgesService to libs/angular/vault (#14843)
* move NudgesService to libs/angular/vault to avoid circular dependencies

* remove fix for spotlight component in storybook
2025-05-19 15:21:14 -05:00
Alec Rippberger
72cfc0bca1 fix(environment-urls): [PM-19890] [Defect][Extension] Environment URLs are removed (#14821)
* Return early to avoid setEnvironment

* Remove ts-strict-ignore and update typing
2025-05-19 15:14:12 -04:00
Maciej Zieniuk
e73f902aee [PM-18576] Fix missing user id on remove password (#13777)
* Passed in userId on RemovePasswordComponent.

* Added userId on other references to KeyConnectorService methods

* remove password component refactor, test coverage, enabled strict

* explicit user id provided to key connector service

* redirect to / instead when user not logged in or not managing organization

* key connector service explicit user id

* key connector service no longer requires account service

* key connector service missing null type

* cli convert to key connector unit tests

* remove unnecessary SyncService

* error toast not showing on ErrorResponse

* bad import due to merge conflict

* bad import due to merge conflict

* missing loading in remove password component for browser extension

* error handling in remove password component

* organization observable race condition in key-connector

* usesKeyConnector always returns boolean

* unit test coverage

* key connector reactive

* reactive key connector service

* introducing convertAccountRequired$

* cli build fix

* moving message sending side effect to sync

* key connector service unit tests

* fix unit tests

* unit tests in wrong place after KM code ownership move

* infinite page reload

* failing unit tests

* failing unit tests

---------

Co-authored-by: Todd Martin <tmartin@bitwarden.com>
2025-05-19 08:51:46 +02:00
Todd Martin
2bde090b37 chore(view-cache): Rename view-cache docs to README to allow Github rendering
* Renamed documentation file

* Updated documentation link.
2025-05-16 15:52:51 -04:00