1
0
mirror of https://github.com/bitwarden/browser synced 2026-02-28 18:43:26 +00:00
Commit Graph

3510 Commits

Author SHA1 Message Date
Leslie Xiong
b3439482fa [PM-18768] Migrate vault cipher list (#18522)
* migrated vault cipher list

* added back `rounded` prop to `bit-layout`

* moved account switcher to right corner

* moved username below cipher item name

* fixed spacing to align with send pages

* removed commented out

* fixed options buttons overflowing if has launch

* fixed "options" label disappearing when width is insufficient

* reverted search component, added search directly to vault-list

* placed new vault cipher list work behind 'desktop-ui-migration-milestone-3' feature flag

* reverted scss changes

* added back search bar when FF not enabled

* fixed owner column responsiveness (set to table width instead of screen)

* fixed 'owner' column responsiveness

* hide 'owner' column at 'md' breakpoint

* Remove duplicate badge component and org name pipe

* Convert to standalone

* Added back translations

* used correct 'tw' variants for 'px'

* extended existing `item-footer` component

* removed unused `showGroups()` from `vault-cipher-row`

* removed 'addAccess' from `vault-list.component`

* removed more unused, separated 'cipher collections' from 'filter collections'

* converted `vault-wrapper` to use signal

* updated original 'vault.component' to reflect main

* fixed `templateUrl`, merge fix

* changed to `getFeatureFlag$`

* fixes for `item-footer` and `vault-collection-row`

* fixed lint error

* - replaced using global css with tailwind
- added functionality and ui for empty states
- moved search and vault header from 'vault-list' to 'vault component'

* fixed accessing `this.userCanArchive$`

* converted more to tailwind in vault component

* removed unused 'selection' from `vault-list`

* Fix flashing vault list

* Move app-header title to routing module

* Remove broken half-migrated new form

* removed unnecessary `this.organizations$` block

* removed `firstSetup$`, cleaned up unused, separated 'delete' and 'restore' handling for footer and cipher menu

* used desktop 'launch' functionality

* moved 'bit-no-items' into `vault-list`

* removed unused locales

* aligned `handleDelete` and `handleRestore` with original desktop functionality

* Fix linting and tests

* Move no-items out of table similar to send.

* Re-add newline end of messges.json

* Remove events

* Hide copy buttons if there is nothing to copy. Simplify

* fix

* Get rid of unused copyField

* Use dropdown button in vault list instead

* Fix linting

* removed unused imports

* updated `vault-orig` to current in main

* fixed `vault-orig` templateUrl

* fixed import order, removed unused `combineLatest` block

* fixed `onVaultItemsEvent` "delete"

* removed duplicate rendering of logo

* preserve cipher view after 'cancel'

* filter from `allCiphers`

* moved `enforceOrganizationDataOwnership` call inside "syncCompleted" block

* converted `showAddCipherBtn` to observable

* removed unused

* added `submitButtonText` to `app-vault-item-footer`

* removed filtering restricted item types

* fixed `cancelCipher` pass in and set `cipherId`

* updated `submitButtonText`

* updated `vault-orig` to current `vault` in main

---------

Co-authored-by: Hinton <hinton@users.noreply.github.com>
2026-02-26 16:41:02 -05:00
rr-bw
4c2aec162d refactor(input-password-flows): [Auth/PM-27086] Use new KM Data Types in InputPasswordComponent flows - TDE Offboarding (#18204)
Updates the `setInitialPasswordTdeOffboarding` path to use new KM data types:
- `MasterPasswordAuthenticationData`
- `MasterPasswordUnlockData`

This allows us to move away from the deprecated `makeMasterKey()` method (which takes email as salt) as we seek to eventually separate the email from the salt.

Behind feature flag: `pm-27086-update-authentication-apis-for-input-password`
2026-02-26 09:51:19 -08:00
Oscar Hinton
c5fa1a5b04 Eliminate standalone in libs/components (#19142)
* Eliminate last standalone in libs/components

* Fix annon layout
2026-02-26 18:48:41 +01:00
Alex Morask
d8fdfdf559 feat: add 'My Items' feature to enterprise organizations (#19064) 2026-02-26 11:00:18 -06:00
Oscar Hinton
6b326a5fd0 [CL-1051] Generic closeOnNavigation for drawers (#19031)
Exposes closeOnNavigation from cdk config and implements a drawer close solution on navigation. More complex scenarios may still require custom handling.

DialogService is referenced in imported components in some tests meaning we need to use overrideProvider rather than providers.
2026-02-26 17:44:49 +01:00
Oscar Hinton
5c5102fa30 [CL-1058] Eslint suggestions for no-bwi-class and no-icon-children (#19134)
Follow up to #19104 and #18584 to add eslint suggestions that can be applied in editors to speed up resolving the lints.

Also adds a fixedWidth input to bit-icon since having fixed width icons is fairly common and I would prefer that we don't keep bwi-fw
2026-02-26 17:17:23 +01:00
Oscar Hinton
3092b4bcf7 Deprecated JslibModule (#19186)
Deprecates the JslibModule and removes unused pipes and directives.
2026-02-26 17:08:22 +01:00
Nick Krantz
e422dc7f29 [PM-32717] Individual Vault - Edit Cipher permissions (#19228)
* bypass cipher edit permissions for individual vault

* replace bypassCipherEditPermission with form configuration mode

* allow partial edit to view cipher form

* remove old comment
2026-02-25 13:26:56 -06:00
Bernd Schoolmann
666ff42d22 [PM-31763] Add unlock service & module (#18870)
* Add unlock service

* Move methods

* Prettier

* Fix type errors

* Prettier

* Fix test

* Fix module order

* Attempt to fix tests

* Cleanup CODEOWNERS

* Backport biometric unlock and legacy master-key logic

* Add tests for biometrics

* Prettier

* Add biometric unlock to abstract unlock service

* Fix build
2026-02-25 18:50:25 +01:00
Dave
4f706746d6 [PM-30811] Update change email flow to use new Key Management APIs (#18857)
* feat(change-email) [PM-30811]: Add feature flag.

* feat(change-email) [PM-30811]: Add new constructor to EmailTokenRequest.

* feat(change-email) [PM-30811]: Update import.

* feat(change-email) [PM-30811]: Stub new ChangeEmailService.

* feat(change-email) [PM-30811]: Provide ChangeEmailService.

* feat(change-email) [PM-30811]: Add ChangeEmailService impl.

* feat(change-email) [PM-30811]: Add ChangeEmailService to component.

* feat(change-email) [PM-30811]: Remove change-email methods from ApiService.

* feat(change-email) [PM-30811]: Update EmailTokenRequest for new APIs.

* feat(change-email) [PM-30811]: Finish implementation of both paths in ChangeEmailService.

* feat(change-email) [PM-30811]: Wire-up service in ChangeEmailComponent.

* test(change-email) [PM-30811]: Add ChangeEmailService tests.

* test(change-email) [PM-30811]: Update tests.

* refactor(change-email) [PM-30811]: EmailTokenRequest strict-ignore until legacy support can be unwound.

* refactor(change-email) [PM-30811]: Re-order imports.

* test(change-email) [PM-30811]: Update component tests to reflect new implementation.

* refactor(change-email) [PM-30811]: Formatting.

* test(change-email-service) [PM-30811]: Improve accuracy of null-checking tests: kdf, userKey, salt, in order.
2026-02-25 12:41:29 -05:00
Bernd Schoolmann
4024d34df8 [PM-31406] fix: TypeScript 5.9 type compatibility fixes for audit.service (#19195)
* fix: TypeScript 5.9 type compatibility fixes for audit.service

Add explicit `as BufferSource` casts and `Uint8Array` wrapping to satisfy
stricter type checking in TypeScript 5.9. Non-functional changes.

* Add non-null assertion
2026-02-25 10:46:13 -06:00
Bernd Schoolmann
cf7f9cfc7e [BEEEP|PM-32521] Remove compare key hash and move to proof of decryption (#19101)
* Remove compare key hash and move to proof of decryption

* Fix cli build

* Fix mv2

* Fix provider

* Prettier
2026-02-25 17:02:04 +01:00
Alex Morask
b964cfc8e4 [PM-32612] Only show subscription menu option when premium user has subscription (#19209)
* fix(billing): only show Subscription menu option when premium user has subscription

* fix(billing): missed state service invocation changes
2026-02-25 08:25:24 -06:00
Bernd Schoolmann
b27f820ffb Add non-null type hints (#19219) 2026-02-25 14:47:20 +01:00
Bernd Schoolmann
98f6169333 Narrow types for platform utils service (#19196) 2026-02-25 03:12:13 -06:00
Bernd Schoolmann
d20f659bbc [PM-31406] fix: TypeScript 5.9 type compatibility fixes for vault-owned code (#19191)
* fix: TypeScript 5.9 type compatibility fixes for vault-owned code

Add explicit `as BufferSource` casts and `Uint8Array` wrapping to satisfy
stricter type checking in TypeScript 5.9. Non-functional changes.

* Fix cli build
2026-02-25 10:04:23 +01:00
Thomas Rittson
da0005b01b [PM-32131] Add UseMyItems organization ability (#19018)
Not used in the front-end yet, but adding it here
for consistency
2026-02-25 12:54:23 +10:00
Nick Krantz
f2837e9099 normalize origin for comparison (#19212) 2026-02-24 16:39:49 -06:00
Daniel James Smith
181e4767d8 Parse the CommunicationServerConfigResponse within the ConfigService and expose changes via an observable. (#19184)
Model was introduced on the server with https://github.com/bitwarden/server/pull/6892

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2026-02-24 15:03:44 -05:00
Nick Krantz
0a1baa7e42 [PM-31060] Product Update Notification (#19027)
* add feature flag

* temp

* add ping animation with filled info icon

* add ping animation to stop after 4 goes around

* add local state for autofill-icon

* add logic to avoid new accounts

* fix closing of popover

* fix strict typings

* remove `creationDate` logic from being considered for autofill notification

* remove "now," from the autofill description

* remove height and width in the svg
2026-02-24 13:42:45 -06:00
Vijay Oommen
4bcdd08ab8 [PM-32447] Integration card after edits (#19203) 2026-02-24 13:37:33 -06:00
sven-bitwarden
d50c5e1819 [PM-32172] Redirect All Calls to PUT Policy VNext Endpoint (#19015)
* Redirect all remaining calls to VNextSavePolicy endpoint

* Remove unused code

---------

Co-authored-by: bnagawiecki <107435978+bnagawiecki@users.noreply.github.com>
2026-02-24 12:37:58 -06:00
cd-bitwarden
435375ab53 Removing feature flag from client side (#19070) 2026-02-23 12:48:34 -06:00
Thomas Avery
672a6026e3 [PM-27331] Update the sdk service to use accountCryptographicState (#18274)
* Update the sdk service to use accountCryptographicState
2026-02-23 12:23:37 -06:00
Nik Gilmore
99445e1ca6 [PM-31958] BUGFIX: Blank Screen showing after deleting item (#18860)
* Move clearCache calls before SDK calls, to prevent race conditions from firing.

* Swap calls to clearCache and restoreWithServer/restoreManyWithServer to fix race condition
2026-02-23 09:53:01 -08:00
Will Martin
c5e73b4b8c [CL-971] update responsive behavior of three panel layout (#19086)
* update responsive behavior of three panel layout; give sidenav extra top padding on electron; add stories that show mix of drawer and sidenav states

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-23 11:56:01 -05:00
Jared Snider
3782e328e1 refactor(Auth-Font-Icons): [Auth/PM-31804] Migrate auth font icons to use bit-icon (#18816)
* PM-31804 - WIP

* PM-31804 - Profile Component - fix missing translation

* PM-31804 - Web - Emergency Access Takeover Dialog Comp - remove screen reader only span as arialabel on spinner should be sufficient

* PM-31804 - Web - EmergencyAccessViewComp - remove redundant span as aria label handles accessibility.

* PM-31804 - Web - EmergencyAccessViewComp - Remove redundant sr only span - replaced w/ aria label

* PM-31804 - Web - EmergencyAccessViewComp - Remove redundant sr only span - replaced w/ aria label

* PM-31804 - EmergencyAccessComp - Replace redundant sr only span with aria label

* PM-31804 - two-factor-setup.component.html - Replace redundant sr only spans with aria labels

* PM-31804 - WebauthnLoginSettingsModule - remove unnecessary IconModule - it's imported via SharedModule

* PM-31804 - web - emergency-access.component.html - Replace redundant sr only span with aria label

* PM-31804 - LoginDecryptionOptionsComponent - Replace redundant sr only span with aria label

* PM-31804 - ChangePasswordComp - Replace redundant sr only span with aria label

* PM-31804 - AccountComponent - add BitwardenIcon type to satisfy template type requirements for name property.

* PM-31804 - Browser Account Security Component - replace nonexistent chevron icon with existing angle right icon.

* PM-31804 - Fix A11y issues with missing aria labels

* PM-31804 - Remove remaining redundant sr only spans since we now have aria labels
2026-02-23 10:42:02 -05:00
Jackson Engstrom
ef7df6b841 [PM-30521] Add Autofill button to View Login screen for extension (#18766)
* adds autofill button for cipher view

* adds tests

* changes autofill function for non login types

* adds top margin to autofill button

* adds more top margin to autofill button

* only shows autofill button when autofill is allowed (not in a popout)

* add button type

* updates _domainMatched to take a tab param, updates how the component is passed through to slot

* fixes tests from rename

* adds comment about autofill tab checking behavior

* removes diff markers
2026-02-20 14:28:54 -08:00
Jason Ng
60e97a4968 [PM-32341] use an initial cache value in default cipher form (#19091)
* update default cipher form cache with initial cache value
2026-02-20 16:47:44 -05:00
Bernd Schoolmann
3a56f2e832 [PM-30785|BEEEP] Remove deprecated master key login with device flow (#17943)
* Remove deprecated master key login with device flow

* Resolve conflicts / cleanup

* Linting

* Fix lint

* Run prettier
2026-02-20 13:22:05 -05:00
Bernd Schoolmann
0569ec9517 [PM-31880 | BEEEP] Move random out of keyservice to PureCrypto (#18838)
* Move random to PureCrypto

* Rename and fix builds

* Fix tests

* Fix build

* Prettier

* Fix tests
2026-02-20 19:09:52 +01:00
Nick Krantz
99fdaaec91 cast feature flag mock (#19106) 2026-02-20 17:03:46 +00:00
John Harrington
c623407621 [PM-32471] [Defect] Importers have regressed during folder migration (#19079)
* relax type-checking and add importer test coverage

* satisfy lint
2026-02-20 09:31:49 -07:00
Nick Krantz
a610ce01a2 [PM-31433] Welcome Dialog with Extension Prompt (#18849)
* add welcome prompt when extension is not installed

* add feature flag

* move prompt logic to internal service and add day prompt

* rename dialog component

* remove feature flag hardcode and add documentation

* use i18n for image alt

* move state into service

* be more explicit when the account or creation date is not available

* remove spaces

* fix types caused by introducing a numeric feature flag type

* add `typeof` for feature flag typing
2026-02-20 10:23:59 -06:00
Oscar Hinton
1f69b96ed6 Add linting rule to detect when icons are used in buttons (#19104)
* Add linting rule to detect when icons are used in buttons

* Update docs for links

* Add lint for link
2026-02-20 15:54:36 +00:00
Oscar Hinton
bc23640176 [CL] Document the start and end icon attributes (#19100) 2026-02-20 15:09:05 +00:00
Vicki League
e16503f093 [PM-24178] Handle focus when routed dialog closes in vault table (#18409) 2026-02-20 10:01:38 -05:00
Bernd Schoolmann
bb110122a5 [PM-30144] Implement client-side user-key-rotation-service (#18285)
* Implement client-side user-key-rotation-service

* Feature flag

* Add tests

* Fix flag name

* Fix build

* Prettier

* Small clean-up

* Codeowners order cleanup

* Fix eslint issue

* Update sdk to 550

* Cleanup & fix incompatibilities

* Prettier
2026-02-20 15:28:24 +01:00
bmbitwarden
702e6086b9 PM-30876 resolved screenreader for icons on send table rows (#18940)
* PM-30876 resolved screenreader for icons on send table rows

* PM-30876 resolved grey icon issue

* PM-30876 resolved blank underline issue

* PM-30876 resolved screen reader

* PM-30876 resolved screen reader
2026-02-19 19:26:18 -05:00
Jordan Aasen
46a2af38a0 [PM-31974] - Vault Welcome dialog (#18960)
* premium upgrade prompt and onboarding dialog

* finalize onboard vault dialog

* vault welcome dialog no ext

* finish welcome dialog prompt

* revert changes to unified upgrade prompt service

* rename component

* rename feature flag

* add welcome dialog service

* fix tests

* fix footer position in welcome dialog

* present dialog in order

* fix tests

* fix padding
2026-02-19 09:29:54 -08:00
Vijay Oommen
d0ccb9cd31 [PM-32013] Empty state incorrectly rendered (#19033) 2026-02-19 11:12:03 -06:00
Alex Morask
4f256fee6d [PM-29087] [PM-29088] Remove FF: pm-26793-fetch-premium-price-from-pricing-service - Logic + Flag (#18946)
* refactor(billing): remove PM-26793 feature flag from subscription pricing service

* test(billing): update subscription pricing tests for PM-26793 feature flag removal

* chore: remove PM-26793 feature flag from keys
2026-02-19 09:26:18 -06:00
Brandon Treston
c8ba23e28d [PM-26378] Auto confirm events (#19025)
* add notification handler for auto confirm

* add missing state check

* fix test

* isolate angular specific code from shared lib code

* clean up

* use autoconfirm method

* add event logging for auto confirm

* update copy
2026-02-19 09:57:52 -05:00
✨ Audrey ✨
e66a1f37b5 Extract urlOriginsMatch utility and refactor senderIsInternal (#19076)
Adds urlOriginsMatch to @bitwarden/platform, which compares two URLs by
scheme, host, and port. Uses `protocol + "//" + host` rather than
`URL.origin` because non-special schemes (e.g. chrome-extension://)
return the opaque string "null" from .origin, making equality comparison
unreliable. URLs without a host (file:, data:) are explicitly rejected
to prevent hostless schemes from comparing equal.

Refactors senderIsInternal to delegate to urlOriginsMatch and to derive
the extension URL via BrowserApi.getRuntimeURL("") rather than inline
chrome/browser API detection. Adds full test coverage for
senderIsInternal.

The previous string-based comparison used startsWith after stripping
trailing slashes, which was safe in senderIsInternal where inputs are
tightly constrained. As a general utility accepting arbitrary URLs,
startsWith can produce false positives (e.g. "https://example.com"
matching "https://example.com.evil.com"). Structural host comparison
is the correct contract for unrestricted input.
2026-02-19 08:45:24 -05:00
Bernd Schoolmann
6498ec42f8 [BEEEP] Add util functions for uint8 array conversion (#18451)
* Add util functions for uint8 array conversion

* Use polyfill instead of old functionality

* Replace last usage of old functions
2026-02-19 14:04:43 +01:00
Thomas Avery
c9b821262c [PM-30927] Fix lock component initialization bug (#18822) 2026-02-18 17:08:33 -06:00
Leslie Xiong
1efd74daaf fixed berry styles for dark mode (#19068) 2026-02-18 17:59:18 -05:00
John Harrington
263ec94124 [PM-32161] Remove all emails when email list field is cleared and send is saved (#18959)
* add new validation criteria to prevent authType.Email with an empty emails field

* simplify validation logic
2026-02-18 14:59:34 -07:00
Mike Amirault
6dea7504a6 [PM-26732] Remove Chromium ABE importer feature flag (#19039) 2026-02-18 14:49:51 -05:00
Alex Morask
5161a232f5 [PM-29055] Remove pm-25379-use-new-organization-metadata-structure feature flag (#18848)
Remove the fully-enabled feature flag and simplify the billing metadata
API to always use the vNext endpoints. The legacy API path is removed
since the server will no longer serve it.

- Remove FeatureFlag.PM25379_UseNewOrganizationMetadataStructure enum and default
- Delete legacy getOrganizationBillingMetadata() API method (old /billing/metadata path)
- Rename vNext methods to remove VNext suffix
- Simplify OrganizationMetadataService to always use cached vNext path
- Remove ConfigService dependency from OrganizationMetadataService
- Update tests to remove feature flag branching
2026-02-18 09:06:10 -06:00