1
0
mirror of https://github.com/bitwarden/browser synced 2026-02-24 16:43:27 +00:00
Commit Graph

3488 Commits

Author SHA1 Message Date
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
Dave
e262441999 [PM-31088] saltForUser should emit salt from master password unlock data (#18976)
* feat(salt-for-user) [PM-31088]: Add feature flag for saltForUser.

* feat(salt-for-user) [PM-31088]: Flag saltForUser logic to return unlockdata.salt or emailToSalt.

* test(salt-for-user) [PM-31088]: Update tests to include coverage for new behavior.
2026-02-17 17:43:00 -05:00
SmithThe4th
61326979b9 Updated delete attachment to conform with the server side changes (#19014) 2026-02-17 16:07:14 -05:00
Brandon Treston
8a670f1731 fix circular dependency (#19023) 2026-02-17 14:05:14 -05:00
rr-bw
4a651fbfb3 refactor(input-password-flows) [Auth/PM-27086] Use new KM Data Types in InputPasswordComponent flows - TDE & Permission User (#18400)
Updates the SetInitialPasswordService TDE + Permission user flow to use the 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.

The new `setInitialPasswordTdeUserWithPermission()` method essentially takes the existing deprecated `setInitialPassword()` method and:
- Removes logic that is specific to a `JIT_PROVISIONED_MP_ORG_USER` case. This way the method only handles `TDE_ORG_USER_RESET_PASSWORD_PERMISSION_REQUIRES_MP` cases.
- Updates the logic to use `MasterPasswordAuthenticationData` and `MasterPasswordUnlockData`

Behind feature flag: `pm-27086-update-authentication-apis-for-input-password`
2026-02-17 10:44:21 -08:00
Bernd Schoolmann
c47881624a Fix types in auth-request abstraction (#19021)
* Fix types in auth-request abstraction

* Fix firefox build
2026-02-17 10:43:41 -05:00
bmbitwarden
ef786225c9 PM-18607 reimplemented errorOnUnknownProperties (#18922)
* PM-18607 reimplemented errorOnUnknownProperties

* claude review

* claude review

---------

Co-authored-by: John Harrington <84741727+harr1424@users.noreply.github.com>
2026-02-16 19:37:36 -05:00
John Harrington
728eab3dab set auth to false for anon file send access (#18978) 2026-02-16 15:55:03 -07:00
SmithThe4th
8bd1e5a855 [PM-30580] Add encryptMany to SDK for batch cipher encryption (#18942)
* Migrated encrypt many to the sdk

* removed comment

* updated sdk package
2026-02-13 23:13:41 +00:00
SmithThe4th
2297082b1a [PM-31668] Race condition in cipher cache clearing causes stale failed decryption state after leaving organization (#18941)
* Refactored the search index to index with the cipherlistview

* Fixed comment

* clear encrypted cipher state to prevent stale emissions during sync

* skip decrypt call when cipher arry is emoty during sync
2026-02-13 16:46:29 -05:00
John Harrington
bd9734c14c reorder form fields to match design specs (#18964) 2026-02-13 14:14:06 -07:00
Brandon Treston
2912bf05e1 [PM-26901] Add notification handler for auto confirm (#18886)
* 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

* fix test
2026-02-13 14:36:11 -05:00
Jason Ng
10a20a43a3 [PM-31738] update archive toasts (#18923)
* update archive toast for all clients and trash archive restore toast, update archive cipher utilities spec
2026-02-13 13:53:11 -05:00
cyprain-okeke
f46511b3e8 [PM-30908]Correct Premium subscription status handling (#18475)
* Implement the required changes

* Fix the family plan creation for expired sub

* Resolve the pr comments

* resolve the resubscribe issue

* Removed redirectOnCompletion: true from the resubscribe

* Display the Change payment method dialog on the subscription page

* adjust the page reload time

* revert payment method open in subscription page

* Enable cancel premium see the subscription page

* Revert the removal of hasPremiumPersonally

* remove extra space

* Add can view subscription

* Use the canViewSubscription

* Resolve the tab default to premium

* use the subscription Instead of hasPremium

* Revert the changes on user-subscription

* Use the flag to redirect to subscription page

* revert the canViewSubscription change

* resolve the route issue with premium

* Change the path to

* Revert the previous iteration changes

* Fix the build error
2026-02-13 18:56:35 +01:00
Jared
b567fea7e7 [PM-29506] Rid of old feature flag for members feature flag (#18884)
* [PM-31750] Refactor members routing and user confirmation logic

* Simplified user confirmation process by removing feature flag checks.
* Updated routing to directly use the new members component without feature flagging.
* Removed deprecated members component references from routing modules.
* Cleaned up feature flag enum by removing unused entries.

* trigger claude

* [PM-31750] Refactor members component and remove deprecated files

* Renamed vNextMembersComponent to MembersComponent for consistency.
* Removed deprecated_members.component.ts and associated HTML files.
* Updated routing and references to use the new MembersComponent.
* Cleaned up related tests to reflect the component name change.

* Refactor import statements in security-tasks.service.ts for improved readability

* Update apps/web/src/app/admin-console/organizations/manage/user-confirm.component.ts

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>

* Remove BaseMembersComponent and related imports from the admin console, streamlining member management functionality.

* Remove unused ConfigService import from UserConfirmComponent to clean up code.

* Implement feature flag logic for user restoration in MemberDialogComponent, allowing conditional restoration based on DefaultUserCollectionRestore flag.

---------

Co-authored-by: Thomas Rittson <trittson@bitwarden.com>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
2026-02-13 11:38:35 -05:00
Jordan Aasen
2a72d2e74d [PM-25685][PM-31077] - Migrate all Folder models (#17077)
* enforce strict types on folders

* fix folder api service

* fix tests

* fix test

* fix type issue

* fix test

* add extra checks for folders. add specs

* fix folder.id checks

* fix id logic

* remove unecessary check

* name name and id optional in folder model

* fix tests

* Update folder and folderview

* fix folder with id export

* fix tests

* fix tests

* more defensive typing

* fix tests

* no need to check for presence

* check for empty name in folder toDomain

* fixes to folder

* initialize id in folder constructor. fix failing tests

* remove optional param to folder constructor

* fix folder

* fix test

* remove remaining checks for null folder id

* fix logic

* pass null for empty folder ids

* make id more explicit

* fix failing test

* fix failing test

* fix "No Folder" filter
2026-02-12 13:52:29 -08:00
Will Martin
fe15b44ccc [CL-1046] Update dialog components to support attribute selector usage for form integration (#18929)
- Add [bit-dialog] and [bit-simple-dialog] attribute selectors
- Update documentation with recommended form usage pattern
- Add Storybook examples demonstrating <form bit-dialog> pattern
- Migrate simple-configurable-dialog template to new pattern

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-12 11:26:25 -06:00
Bernd Schoolmann
9d69b15798 [PM-32063] Disable cipher-key-downgrading (#18911)
* Proposal: Disable cipher-key-downgrading

* Cleanup
2026-02-12 10:31:48 +01:00
Jordan Aasen
396286ff9a [PM-26703] - Update Item Action Behavior for Extension (#18921)
* Revert "Revert "[PM-26703]- Browser - Update autofill Behavior (#18467)" (#18723)"

This reverts commit 5d17d9ee71.

* fix title in non-autofill list

* add feature flag

* add old logic. add specs

* revert changes

* remove comments

* update language in spec

* update appearance spec

* revert change to security-tasks

* fix logic for blocked uri. add deprecated notice.

* fix test

* fix type error
2026-02-11 16:54:05 -08:00
Rui Tomé
5cf4678838 [PM-28300] Remove BlockClaimedDomainAccountCreation feature flag and related logic from policy component (#18720) 2026-02-11 22:10:55 +00:00
John Harrington
f8976f992a [PM-31611] [Defect] After entering an email, the Anyone with the link option cannot be selected anymore (#18844)
* add authType to to sendDetailsForm valueChanges
2026-02-11 13:37:20 -07:00
Bryan Cunningham
4b7e3eae41 show underline on focus (#18916) 2026-02-11 12:58:59 -05:00
Leslie Xiong
ea55aaaede [CL-1022] Update Berry Styles (#18799)
* created 'berry' component

* added 'bit-berry' to 'popup-tab-navigation'

* simplified - removed null checks

* changed 'effectiveSize' to 'computedSize'

* fixed 'accentPrimary' color

* updated to not render berry if 'count' is 0 or negative number

* simplified checking count undefined

* updated computed padding

* switched from `[ngClass]` to `[class]`

* updated 'popup-tab-navigation' berry to use 'danger' variant

* fixed berry positioning in popup-tab-navigation

* updated content logic

* cleanup unused 'ngClass'

* updated conditional rendering of berry

* updated story 'Usage'

* updates with adding berry 'type'

* added type "status" to popup-tab-navigation

* fixed type error

* updated 'Count Behavior' description
2026-02-11 12:21:33 -05:00