Commit Graph

21891 Commits

Author SHA1 Message Date
adudek-bw
509bf1870f
Fix avoid ambiguous character bug (#20966)
Some checks failed
Scan / Check PR run (push) Has been cancelled
Testing / Run typechecking (push) Has been cancelled
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-browser junit:junit-browser.xml name:Browser paths:apps/browser bitwarden_license/bit-browser]) (push) Has been cancelled
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-cli junit:junit-cli.xml name:CLI paths:apps/cli bitwarden_license/bit-cli]) (push) Has been cancelled
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-desktop junit:junit-desktop.xml name:Desktop paths:apps/desktop]) (push) Has been cancelled
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-libs junit:junit-libs.xml name:Libs paths:libs bitwarden_license/bit-common]) (push) Has been cancelled
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-web junit:junit-web.xml name:Web paths:apps/web bitwarden_license/bit-web]) (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
Scan / Checkmarx (push) Has been cancelled
Scan / Sonar (push) Has been cancelled
Testing / Upload to Codecov (push) Has been cancelled
Testing / Run tests (push) Has been cancelled
2026-06-02 13:32:11 -04:00
Alex Dragovich
d330c1994d
PM-38423 - FIx unsavedSendEditsGuard not handling null component emission on logout while component is active. (#20967) (#20972)
Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>
2026-06-02 09:47:12 -07:00
bw-ghapp[bot]
59e169053d
Update sdk-internal to 0.2.0-main.798 (#20937)
Some checks failed
Scan / Check PR run (push) Has been cancelled
Testing / Run typechecking (push) Has been cancelled
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-browser junit:junit-browser.xml name:Browser paths:apps/browser bitwarden_license/bit-browser]) (push) Has been cancelled
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-cli junit:junit-cli.xml name:CLI paths:apps/cli bitwarden_license/bit-cli]) (push) Has been cancelled
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-desktop junit:junit-desktop.xml name:Desktop paths:apps/desktop]) (push) Has been cancelled
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-libs junit:junit-libs.xml name:Libs paths:libs bitwarden_license/bit-common]) (push) Has been cancelled
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-web junit:junit-web.xml name:Web paths:apps/web bitwarden_license/bit-web]) (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
Scan / Checkmarx (push) Has been cancelled
Scan / Sonar (push) Has been cancelled
Testing / Upload to Codecov (push) Has been cancelled
Testing / Run tests (push) Has been cancelled
Co-authored-by: bw-ghapp[bot] <178206702+bw-ghapp[bot]@users.noreply.github.com>
2026-06-01 17:10:56 +09:00
Bernd Schoolmann
ceb7cd4a5f
[Shared Unlock] [PM-35083] Implement biometrics over sdk IPC (#20689)
* Implement basic version of flagged biometrics ipc over sdk ipc

* Move code

* Noop ipc service

* Clean up unlock service

* Undo change to spec ts

* Rename unlock decrypted key

* Remove unused var

* Remove unused import

* Prettier

* Fix eslint

* Ensure connected

* Undo changes to electron key service

* Newline

* Newline

* Cleanup

* Prettier and eslint cleanup

* Prettier

* Fix test

* Eslint

* Fix types

* Remove log

* Remove service

* Remove unused file

* Cleanup

* Fix DI

* Set unlock service on biometric service

* Address feedback

* Await floating promise

* Prettier

* Make biometrics driver a class

* Add error log
2026-06-01 09:00:19 +02:00
Leslie Tilton
d07a6acf62
[PM-37079] Fix applicationName empty save and fetch in Access Intelligence (#20886)
* Fix applicationName empty save and fetch in access intelligence

* Trim fallback uri in getTrimmedCipherUris. Added test cases
2026-05-29 21:00:20 -05:00
Jackson Engstrom
75caebfb95
[PM-38113] In AC, when item filter is selected and user add new item, it does not default the creation form to selected item type (#20901)
* Adds fallback for when a cipher type isn't passed

* adds tests
2026-05-29 13:01:16 -07:00
Todd Martin
5e09251cee
feat(install-tab): Managed install check for displaying getting started tab
* Propose new managed install check.

* Refactors.

* Inverted the logic to be positive.

* Added Development to allowList, with override.
2026-05-29 15:52:56 -04:00
Jackson Engstrom
7b47aeb974
[PM-23564] Item view shows removed attachment/does not show added attachment temporarily (#20884)
* adds cipher refresh to cancel

* adds tests for new code path
2026-05-29 11:38:07 -07:00
Jackson Engstrom
568faee0ea
[PM-27679] Remove flagged logic from clients and clients feature flag (#20609) 2026-05-29 11:35:17 -07:00
Mike Amirault
eec6bc1a31
[PM-37175] Preserve individual vault export folders when importing to My Items (#20883) 2026-05-29 13:54:58 -04:00
Leslie Xiong
42b0a4dff2
[CL-963] Update breadcrumb styles (#20085) 2026-05-29 12:59:13 -04:00
Andy Pixley
8bef396f66
[BRE-1949] Removing duplicate messages keys (#20916) 2026-05-29 12:25:23 -04:00
Mick Letofsky
58a9ac5814
PM-36952 - Improve code review workflow with added triggers (#20702) 2026-05-29 17:54:46 +02:00
Vicki League
c8d507757d
[CL-1172] Improved non-color a11y for selected vs unselected nav items (#20865) 2026-05-29 10:34:07 -04:00
Mike Amirault
dbd9c69cd4
[PM-28178] Remove Send UI refresh feature flag (#20753) 2026-05-29 10:04:45 -04:00
neuronull
a9cb3b0ed4
SSH Agent v2: testing coverage for unsupported key types (#20789) 2026-05-29 07:38:46 -06:00
Brandon Treston
ef34c468e7
[PM-36067] Add stories for invite link and invite member dialog (#20731)
* add stories for invite link and invite member dialog

* enhance story functionality

* clean up

* add groups to stories

* fix circular dependency, update stories

* update story logic

* mock saving behavior for all invite link stories
2026-05-29 09:14:00 -04:00
Rui Tomé
3337398543
[PM-37797] Add API method to check if email is valid for a given organization invite link (#20749)
Some checks failed
Scan / Check PR run (push) Has been cancelled
Testing / Run typechecking (push) Has been cancelled
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-browser junit:junit-browser.xml name:Browser paths:apps/browser bitwarden_license/bit-browser]) (push) Has been cancelled
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-cli junit:junit-cli.xml name:CLI paths:apps/cli bitwarden_license/bit-cli]) (push) Has been cancelled
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-desktop junit:junit-desktop.xml name:Desktop paths:apps/desktop]) (push) Has been cancelled
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-libs junit:junit-libs.xml name:Libs paths:libs bitwarden_license/bit-common]) (push) Has been cancelled
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-web junit:junit-web.xml name:Web paths:apps/web bitwarden_license/bit-web]) (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
Scan / Checkmarx (push) Has been cancelled
Scan / Sonar (push) Has been cancelled
Testing / Upload to Codecov (push) Has been cancelled
Testing / Run tests (push) Has been cancelled
- Introduced `OrganizationInviteLinkValidateEmailDomainRequest` and `OrganizationInviteLinkValidateEmailDomainResponse` models for email domain validation.
- Updated `OrganizationInviteLinkApiService` to include `validateEmailDomain` method.
- Implemented the `validateEmailDomain` method in `DefaultOrganizationInviteLinkApiService` to handle API requests for domain validation.
- Updated request and response index files to export the new models.
2026-05-29 12:23:34 +01:00
Maciej Zieniuk
f51e144f25
[PM-30848] Key connector for user key rotation (#20805)
* key connector for user key rotation

* one signal, loading state, KC concistency checks

* use bit-spinner component, component not loading

* missing upgradeTokenAction
2026-05-29 11:13:35 +02:00
John Harrington
b202b66a36
adjust policy constraint calibration and clamp constraints (#20810) 2026-05-28 14:44:40 -07:00
cd-bitwarden
3ff86ee82e
[SM-1926] If user sends bad data over for secrets, make sure the bad data doesn… (#19893)
* If user sends bad data over for secrets, make sure the bad data doesn't impact the user from looking at other secrets and correcting the bad data

* fixing bugs Kendra found, adding consistency to the styling for corrupted rows
2026-05-28 16:40:28 -04:00
Will Martin
23c1141bcb
[CL-1129] Enable @angular-eslint/template/elements-content lint rule (#19505)
* Enable @angular-eslint/template/elements-content lint rule

Enables the elements-content rule with bitIconButton exempted via allowList,
since icon buttons use that directive in place of text content. Suppresses
false positives in WebAuthn connector pages where content is injected at
runtime, and flags a genuine empty <a> in change-plan-dialog for follow-up.

* Add FIXME lint suppressions for elements-content in copy-click spec

---------

Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
2026-05-28 15:49:37 -04:00
Stephon Brown
2abb233e60
[PM-36878] Update Existing User Trail Flow (#20610)
* feat(billing): introduce constant for default trial length

* feat(billing): pass trial initiation ID to backend

* feat(billing): display dynamic trial length in UI

* fix(billing): format

* refactor(billing): remove unused trialInitiationId

* fix(billing): update trial initiation button loading condition

* refactor(billing): remove deprecated fixed-length trial message keys

* refactor(i18n): update payment charged with trial message key

* feat(admin-console): add custom trial length to organization creation

* feat(billing): implement custom trial length in organization plans

* feat(billing): display default trial length in individual upgrade summary

* test(billing): add tests for custom trial length in organization plans

* test(billing): fix test getter call

* feat(billing): introduce showTrialOffer variable to exclude free tier

* refactor(billing): utilize showTrialOffer variable in template conditions

* fix(billing): run prettier

* refactor(billing): remove hardcoded default trial length for new organizations

* refactor: use undefined for optional trialLength properties

* refactor: update trialLength check for undefined in API request

* feat: include custom trial length in free trial determination

* fix(billing): use plan's trialPeriodDays for payment description if available

* fix(billing): correctly determine free trial display based on length

* fix(billing): run formatter
2026-05-28 12:46:57 -04:00
bmbitwarden
336a243e27
PM-37696 resolved broswer popup when trying to close tab (#20861) 2026-05-28 12:38:00 -04:00
neuronull
44769ea98e
SSH Agent v2: Sign Request (#20657) 2026-05-28 09:52:58 -06:00
bw-ghapp[bot]
1c6c008403
Autosync the updated translations (#20693)
Co-authored-by: bw-ghapp[bot] <178206702+bw-ghapp[bot]@users.noreply.github.com>
2026-05-28 17:25:33 +02:00
Nick Krantz
ed8b37e025
[PM-35656] Update Copy functionality for new item types (#20708)
* update copy options for new item types

* add event collection for new item types

* bump sdk version

* formatting

* Update apps/desktop/src/vault/app/vault-v3/vault-orig.component.ts

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

---------

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
2026-05-27 21:32:15 -05:00
Thomas Rittson
007b5d9335
[PM-34157] Wire up SDK to NewPolicyService (#20377)
* Add shim in PolicyService to NewPolicyService
* Wire up NewPoilcyService to SDK
* Use SDK enum
2026-05-28 07:14:53 +10:00
Nick Krantz
500345d57f
[PM-37970] Fix vault list icons for Login and Identity with new item types flag (#20818)
* update cipher icons per the new items feature flag

* fix testing dependencies
2026-05-27 16:01:39 -05:00
Bryan Cunningham
045992b426
[PM-36823] ensure browser uses Inter font (#20864)
* ensure browser uses Inter font

* move override from theme

* match existing import patterns

* update imports

* apply fix to correct tsconfig
2026-05-27 16:31:30 -04:00
Bryan Cunningham
88a5a4af8f
[CL-1214] remove tabs min height (#20796)
* remove tab bar min height and minor spacing adjustments

* add margin top

* revert margin changes

* add gap to header
2026-05-27 15:50:53 -04:00
Bryan Cunningham
5443fcce64
[CL-1213] allow tab label to be anchor for spotlight (#20882)
* allow tab label to be anchor for spotlight

* rename element ref
2026-05-27 14:41:04 -04:00
Stephon Brown
283a0782c2
[PM-35228] Add Premium Status Changed Push Notification (#20498) 2026-05-27 14:32:17 -04:00
Jared Snider
b04a699570
BEEEP/Auth/PM-35338 - Auto Submit on OTP Paste (#20250)
* PM-35338 - Auto-submit 2FA on paste for email and authenticator providers

When a code is pasted into the token input, set the form control value and
programmatically click the continue button so the submission goes through
the bitSubmit pipeline (loading state, disabled state) identically to a
manual button click.

* PM-35338 - Auto-submit new device verification on paste

When a code is pasted into the OTP input, set the form control value and
call submit() directly. The component owns both the input and submit(),
so no parent wiring is needed.

* PM-35338 - Auto-submit user verification dialog on OTP paste

Add pasteSubmit output to UserVerificationFormInputComponent, guarded to
only fire in server-side OTP mode (passwordless users). The dialog handles
the output by calling FormGroupDirective.onSubmit() so the submission goes
through the bitSubmit pipeline with proper loading state.

Note: auto-submit on paste for OTP verification applies to sensitive
actions (vault export, disable 2FA, etc.) — pending product sign-off.

* PM-35338 - Route new device verification paste through bitSubmit pipeline

Use FormGroupDirective.onSubmit() instead of calling submit() directly so
the bitSubmit directive handles loading state, form disabling, and error
propagation consistently with the other auto-submit flows in this PR.

* PM-35338 - Use signal output() for submitOnPaste in 2FA child components

New outputs should use the signal-based output() function rather than the
legacy @Output() EventEmitter pattern.

* UserVerificationFormInput - fix lint
2026-05-27 13:17:46 -05:00
Ben Brooks
7547eafe8f
[PM-34497] Handle Same-Origin iframes in queryDeepSelector (#20401)
* [PM-34497] Extend queryDeepSelector to traverse same-origin iframes
* [PM-34497] Adjust focused field rects by iframe offset for DeepSelector traversal
* [PM-34497] Separate iframe and shadow DOM traversal in queryDeepSelector
* [PM-34497] Fix implicit any type error on next variable in queryDeepSelector
* [PM-34497] Route iframe >>> targeting rule selectors to the correct frame to fix field position
* [PM-34497] Use this.sendExtensionMessage for consistency and testability
* [PM-34497] Remove unnecessary updateOverlayCiphers call
* [PM-34497] Use loop index for targeted field opid uniqueness
* [PM-34497] Inline traverseIframeBoundary at its single call site
* [PM-34497] Add deep selector tests for nested shadow roots and iframes
* [PM-34497] Tag-qualify selectors in deep selector iframe tests
* [PM-34497] Add FIXME for authoritative iframe-vs-shadow boundary handling

---------

Signed-off-by: Ben Brooks <bbrooks@bitwarden.com>
2026-05-27 10:16:17 -07:00
renovate[bot]
37db9d091c
[deps] Vault: Update @koa/router to v15.5.0 (#20580)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-27 09:04:25 -07:00
Bryan Cunningham
dd357d457d
update contrast variant text color (#20878) 2026-05-27 11:01:42 -04:00
Nancy Sangani
17a32ecda6
[PM-33781] fix(fido2): fall back to browser for hardware/CTAP1 keys not in vault (#19606)
* fix(fido2): fall back to browser for hardware/CTAP1 keys not in vault

* fix(fido2): remove vault-lookup fallback, keep transport-only fallback

* refactor(fido2): replace parallel transport array with single allowedCredentials descriptor list

---------

Co-authored-by: kmancusi0105 <kmancusi@bitwarden.com>
2026-05-27 08:56:11 +02:00
Bernd Schoolmann
cf914e86e4
Remove unlock-via-sdk-flag (#20832) 2026-05-27 15:04:07 +09:00
adudek-bw
9cd114cae1
Remove feature flag check from password generation (#20671)
* Remove feature flag check from password generation

* Claude review changes
2026-05-26 17:07:28 -04:00
renovate[bot]
8e8ccd8d28
[deps] Architecture: Update lint-staged to v17 (#20843)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-26 17:03:11 -04:00
Bryan Cunningham
c610fb3b7a
[CL-1201] update row selected state and hover state (#20869)
* update row selected state and hover stat

* also show bg change when check is focused

* fix border color changes missed in error

* fix css class

* remove dupe classes
2026-05-26 16:27:15 -04:00
Jackson Engstrom
adbe9d8b7d
[PM-31832] Update *ngIf/*ngFor to @if/@for in vault browser components (#18818) 2026-05-26 13:10:14 -07:00
Vijay Oommen
995ab6de2f
[PM-34724] Access Intelligence Carousel for first time admins (#20734) 2026-05-26 14:28:04 -05:00
renovate[bot]
3f58164141
[deps] Autofill: Update @lit-labs/signals to v0.3.0 (#20841)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-26 10:19:50 -07:00
Jackson Engstrom
846ed3c984
Remove assign to collection dialog displays dummy string 0"> (#20819) 2026-05-26 09:53:55 -07:00
Bryan Cunningham
f6ea7dd6bf
[CL-1204] bulk actions bar (#20735)
* adding bulk actions bar

* responsive bulk actions bar

* allow for custom position of menu

* remove border from compact container

* do not screenshot table story

* supress tooltip showing when a menu is open

* updated docs

* add aria-label to icon only actions

* add aria-label to additional actions button

* fix spec descriptions

* add missing translations

* more grammatically corrrect annoucement

* have consumer provide their own menu

* use data holder components to solve for menu complexities

* use actual icon

* fix trigger being added twice

* rebuild focusKeyManager in case actions change

* address strong agree feedback comments

* update spacing tovisually align dividers

* rename input to avoid collision with popover/coachmark position input

* merge positions

* fix test

* simplify compact mode logic

* more verbose keydown handling for a11y

* remove commented code left in error
2026-05-26 11:31:25 -04:00
Thomas Avery
f084f91c57
[PM-36967] Update rotate_user_keys to use UpgradeTokenAction (#20711) 2026-05-26 10:23:29 -05:00
John Harrington
f684840ab0
[PM-36563] Send access event logs (#20740)
* added enum, i18n key, and service logic

* add enums, i18n, and service logic

* initial work to support Send access logs

* adjust wording of i18n values
2026-05-26 07:09:24 -07:00
Leslie Tilton
99cdeb083d
Fix hanging observables causing blank access intelligence page (#20822) 2026-05-26 08:51:25 -05:00