1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-06 00:13:28 +00:00
Commit Graph

2279 Commits

Author SHA1 Message Date
Thomas Avery
17f661e3d1 [PM-19287] Feature flag for encrypt service (#13894)
* Extract getFeatureFlagValue to pure function

Co-authored-by: Matt Gibson <mgibson@bitwarden.com>

* Add broadcasting abstractions and OnServerConfigChange interface.

Co-authored-by: Matt Gibson <mgibson@bitwarden.com>

* Add implementation of onServerConfigChange on encrypt services

Co-authored-by: Matt Gibson <mgibson@bitwarden.com>

* Add onServerConfigChange implementation for encrypt worker

Co-authored-by: Matt Gibson <mgibson@bitwarden.com>

* Wire up broadcasting in dependency injection

Co-authored-by: Matt Gibson <mgibson@bitwarden.com>

* Add unit tests

* Handle subscribing for onServerConfigChange in init services

---------

Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
2025-04-01 14:14:00 -05:00
Jordan Aasen
fa0a7af8ed disable drag for single website uri (#14082) 2025-04-01 17:46:59 +00:00
Jordan Aasen
c73404e5f6 [PM-18869][defect] - browser - vault list not updating after favorite/unfavorite (#13669)
* fix type errors to allow vault list update after favoriting

* add null to failedToDecryptCiphers$ return type

* add null to failedToDecryptCiphers$ return type
2025-04-01 10:38:23 -07:00
Jason Ng
3003d129c9 [PM-18984] Vault Nudges Service (#13970)
* build vault nudge service for upcoming onboarding nudges
2025-04-01 13:38:11 -04:00
Jake Fink
a3c9a42d13 [PM-19172] Passes UserId through change email component and adds tests (#13686)
* add tests and pass userid

* add tests for getOrDeriveMasterKey

* remove extra coalesce for token
2025-04-01 11:54:13 -04:00
Vicki League
575e8b691f [CL-570] Deprecate old icons (#13663) 2025-04-01 11:34:04 -04:00
Shane Melton
c3e562e75d [PM-17563] [PM-19754] Migrate Security Task Module to libs/common (#14036)
* [PM-17563] Remove references to Angular from TaskService

* [PM-17563] Move Task module to libs/common/vault to avoid Angular dependency

* [PM-17563] Fix bad imports

* [PM-17563] Fix a few more missed imports
2025-04-01 07:27:05 -07:00
Miles Blackwood
4e413283a8 [PM-16635] Remove InlineMenuFieldQualification feature flag references. (#13230)
* Remove InlineMenuFieldQualification feature flag references.

Removes all business logic related to InlineMenuFieldQualification Feature Flag, while leaving the flag in enum itself intact. No corresponding pull on server, where there exists no current references.

* Removes the feature flag from enum.

* Remove inlineMenuFieldQualificationFlagSet from InlineMenuFieldQualificationService.

* Removes deprecated isFieldForLoginFormFallback method.
2025-03-31 12:36:31 -04:00
Bernd Schoolmann
6849d3aa98 [PM-2199] Implement userkey rotation for all TDE devices (#13576)
* Implement key rotation v2

* Pass through masterpassword hint

* Properly split old and new code

* Mark legacy rotation as deprecated

* Throw when data is null

* Cleanup

* Add tests

* Fix build

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

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

* Update apps/web/src/app/auth/settings/change-password.component.ts

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

* Add documentation

* Centralize loading logic

* Add proof-of-concept for tde rotation

* Fix build

* Only include trusted devices in rotation request

* Undo featureflag change

* Fix tests

* Prettier format

* Fix build

* Undo changes to migrate legacy component

* Address feedback & add tests

---------

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
2025-03-31 18:16:11 +02:00
Daniel James Smith
7992e0247e Fix wrong file extension being set when exporting with attachments (#14067)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-03-31 15:06:27 +00:00
Bernd Schoolmann
15738f16ae [PM-18038] Fix safari using outdated biometrics protocol (#13287)
* Fix safari using outdated biometrics protocol

* Remove logging

* Remove log

* Move canEnableBiometricUnlock to biometric service

* Fix build

* Add tests

* Fix type error

* Attempt to fix build

* Fix build

* Fix test failure
2025-03-31 16:59:01 +02:00
Bernd Schoolmann
22039d038d [PM-3475] Remove deprecated keys (#13266)
* Remove deprecated keys

* Fix cli build

* Fix build
2025-03-31 16:58:02 +02:00
Daniel James Smith
0311681803 Fix filename not including "_encrypted_" when selecting encrypted vault exports (#14066)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-03-31 16:55:04 +02:00
Daniel James Smith
49924512b8 [PM-19656] Fix zip option not being set correctly after navigating to Admin Console (#14058)
* Simplify if to reduce nesting

* Start subscribing to changes of the vaultSelector as soon as possible during ngOnInit

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-03-31 15:55:20 +02:00
Todd Martin
51bfbcf090 chore(UI Refresh): [PM-19679] Remove unauth-ui-refresh flag from clients
* Completed feature flag grouping

* Added organization of default value section.

* Clarified comment.

* Removed flag

* Removed merge error that duplicated comment.
2025-03-31 09:11:47 -04:00
Todd Martin
907abc9dae Complete feature flag grouping by team (#14054)
* Completed feature flag grouping

* Added organization of default value section.

* Clarified comment.
2025-03-30 15:49:52 -04:00
Jason Ng
66a914badf [PM-19654] add hideIcon option to extension anon layout (#14045) 2025-03-28 15:50:30 -04:00
Addison Beck
f759e62aeb fix(browser): restore timer based background syncs (#14031)
* docs: fix a typo

* fix(browser): restore timer-based background syncs

The browser extension was not performing scheduled background syncs every 30 minutes as expected. This was due to missing task scheduling code that was accidentally removed during the web push implementation (PR #11346).

This commit:
- Creates a new BackgroundSyncService to manage sync scheduling
- Properly initializes the sync interval in main.background.ts
- Adds a test to ensure the sync initialization code isn't accidentally removed again
- Organizes platform module structure to support the new service

Fixes PM-19396

* review: remove unecassary await keyword
2025-03-28 14:17:18 -04:00
Alec Rippberger
d5f033efa2 refactor(auth): [PM-9179] remove deprecated TwoFactorComponents
Remove deprecated TwoFactorComponentsV1 and TwoFactorOptionsComponentV1 components, related functionality (unauthUiRefreshSwap) and orphaned styles/translation messages.
2025-03-28 12:51:20 -05:00
Vicki League
6204e2a092 [CL-550] Update cipher form story (#14019) 2025-03-28 13:41:53 -04:00
Daniel James Smith
7ed2145393 Set correct filename extensions on vault-export (#14018)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-03-28 16:20:36 +01:00
Jordan Aasen
b2ad50b14d [PM-16100][A11y][Extension] Usernames not being read by screen readers like they used to be (#13800)
* update autofill a11y

* fixes to cipher item title
2025-03-27 11:57:24 -07:00
bnagawiecki
10695fd971 add data-testids to 3 ssh key fields (#14024) 2025-03-27 14:20:34 -04:00
Jordan Aasen
93a289bfa8 add tests (#13923) 2025-03-27 10:46:39 -07:00
Rui Tomé
b6e9596c84 [PM-18523] Make the External ID in the Group dialog conditional (#14006)
* Add SsoExternalIdVisibility feature flag

* Implement visibility logic for Group external ID based on SsoExternalIdVisibility feature flag
2025-03-27 14:53:32 +00:00
✨ Audrey ✨
07245d790f [PM-19571] do not import ssh keys when rehydrating exported data (#14014)
* do not import ssh keys when rehydrating exported data
* Remove import_ssh_key sdk function from toView

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-03-27 09:32:10 -04:00
✨ Audrey ✨
9eeeac24d4 Revert "[PM-19571] do not import ssh keys when rehydrating exported data (#14…" (#14013)
This reverts commit e60ea3497a.
2025-03-26 22:37:24 +00:00
✨ Audrey ✨
e60ea3497a [PM-19571] do not import ssh keys when rehydrating exported data (#14012) 2025-03-26 22:25:32 +00:00
Vicki League
4734cab9a6 [CL-550] Fix popup layout padding and adjust views with extra bottom space (#13562)
* [CL-550] Fix popup layout padding and adjust views with extra bottom space

* simplify css

* fix add/edit item page

* cr changes

* fix failing test

---------

Co-authored-by: Will Martin <contact@willmartian.com>
2025-03-26 17:26:05 -04:00
Jason Ng
a3e01ad672 [PM-10610] push notification to end user notification service (#13876)
* use NotificationsService.notifictions$ for tracking inside default end user notification
2025-03-26 13:16:40 -04:00
Jonas Hendrickx
be8c5f28b5 [PM-18170] Remove 'PM-15814-alert-owners-of-reseller-managed-orgs' feature flag (#13757) 2025-03-26 12:59:27 -04:00
Addison Beck
2b9ef7fe19 fix: use newly-minted policy methods in metadata provider (#13993)
Recently the policy service was refactored and some method signatures were
changed. One of these changes involved renaming the `getAll` observable to
`policiesByType`.

This was not merged into the metadata provider work before it was merged, so
those changes were committed using removed method signatures.

This commit updates these references.
2025-03-25 23:11:26 +00:00
✨ Audrey ✨
15b2b46b85 [PM-18665] introduce metadata provider (#13744) 2025-03-25 16:08:30 -05:00
Justin Baur
abb314a0e7 [PM-19432] Fix Multiple WS Connections (#13985)
* Test facilitation changes

* Fix multiple connections to SignalR
2025-03-25 13:32:11 -04:00
Oscar Hinton
d0c91db3b3 [CL-614] More spacing fixes (#13955)
* Fix all dialogs to use ng-container for bitDialogFooter

* Fix button spacing

* Fix send icon spacing
2025-03-25 08:56:36 -07:00
Brandon Treston
0fd01ed7ee [PM-18566] Wire up vNextPolicyService for Clients (#13678)
* wire up vNext impl

* wire up vNextPolicyService for browser

* wire up vNextPolicyService for desktop

* wire up vNextPolicyService for cli

* fix test

* fix missed caller

* cleanup

* fix missing property assignment

* fix QA bug for PM-19205

* fix QA bug for PM-19206

* fix QA bug for pm-19228

* cleanup
2025-03-25 11:30:47 -04:00
Justin Baur
a9fd16968f [PM-14999] Remove Sequentialize (#12113)
* Remove Sequentialize

* Delete `clearCaches`
2025-03-25 10:11:45 -04:00
Bernd Schoolmann
27baa92fcf [PM-10749] [BEEEP] New export format: Zip with attachments (#10465)
* Add new export format: zip

* Restrict zip export to just individual vaults

* Add tests

* Remove unused import

* Fix build error

* Fix tests

* Fix test

* Fix retrieval of ciphers by passing in activeUserId

* Guard feature behind `export-attachments`-feature-flag

* Extend cipher filter to also filter out any ciphers that are assigned to an organization

* Added apiService to retrieve AttachmentData (metaData) and then download the attachment

- Added ApiService as a depdency within DI for VaultExportService/IndividualVaultExportService
- Added unit tests for filtering ciphers
- Added unit test for downloading attachment metadata and attachments

* Moved attachment decryption into a separate method and added unit tests

* Added null check for creating the base attachment folder

* Move format check for zip within Org export into an early return/throw

* Add feature flag guard on the CLI

* Extend ExportScopeCallout to display an individual export will contain attachment when zip-format is selected

* Fix adding/removing the zip-export option based on selected vault and state of `export-attachments` feature-flag

* Separate AAA visually using whitespace within tests

* Remove unused error var

* Write test that verifies different http request failures when retrieving attachment data

* Remove uneeded ignore lint rule

* Rewrite test to actually check that ciphers assigned to an org are filtered out

* Introduce ExportedVault return type (#13842)

* Define ExportedVault type unioned by 2 new types that describe a plain-text export vs a blob-based zip-export

* Extend static getFileName to handle formats and add unit-tests

* Introduce new export return type throughout the vault export module

- Update abstractions
- Update return types within implementations
- Update callers/consumers to handle the new return value
- Fix all unit tests

* Add support for new export return type and fix download of blobs via CLI

* Add documentation to public methods

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>

---------

Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-03-25 13:30:54 +01:00
Alex Morask
034112f42e Hide bank account for provider when initial tax info is non-US (#13968) 2025-03-25 08:11:32 -04:00
Bernd Schoolmann
8c6a33d7b8 [PM-16603] Implement userkey rotation v2 (#12646)
* Implement key rotation v2

* Pass through masterpassword hint

* Properly split old and new code

* Mark legacy rotation as deprecated

* Throw when data is null

* Cleanup

* Add tests

* Fix build

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

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

* Update apps/web/src/app/auth/settings/change-password.component.ts

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

* Add documentation

* Centralize loading logic

* Fix build

* Remove sharedlib from legacymigration component

---------

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
2025-03-24 20:41:21 +01:00
Anders Åberg
8e62e0589d PM-11230: Add hybrid as passkey transport (#13536) 2025-03-24 20:17:18 +01:00
Vijay Oommen
8ed8c9af6a [PM-18685] Disable MyVault when the Person Ownership policy is true (#13930) 2025-03-24 08:33:17 -05:00
Anders Åberg
8e455007c0 PM-19095: Wire passkey autofill to UI (#13051)
* Passkey stuff

Co-authored-by: Anders Åberg <github@andersaberg.com>

* Ugly hacks

* Work On Modal State Management

* Applying modalStyles

* modal

* Improved hide/show

* fixed promise

* File name

* fix prettier

* Protecting against null API's and undefined data

* Only show fake popup to devs

* cleanup mock code

* rename minmimal-app to modal-app

* Added comment

* Added comment

* removed old comment

* Avoided changing minimum size

* Add small comment

* Rename component

* adress feedback

* Fixed uppercase file

* Fixed build

* Added codeowners

* added void

* commentary

* feat: reset setting on app start

* Moved reset to be in main / process launch

* Add comment to create window

* Added a little bit of styling

* Use Messaging service to loadUrl

* Enable passkeysautofill

* Add logging

* halfbaked

* Integration working

* And now it works without extra delay

* Clean up

* add note about messaging

* lb

* removed console.logs

* Cleanup and adress review feedback

* This hides the swift UI

* pick credential, draft

* Remove logger

* a whole lot of wiring

* not working

* Improved wiring

* Cancel after 90s

* Introduced observable

* Launching bitwarden if its not running

* Passing position from native to electron

* Rename inModalMode to modalMode

* remove tap

* revert spaces

* added back isDev

* cleaned up a bit

* Cleanup swift file

* tweaked logging

* clean up

* Update apps/desktop/macos/autofill-extension/CredentialProviderViewController.swift

Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>

* Update apps/desktop/src/platform/main/autofill/native-autofill.main.ts

Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>

* Update apps/desktop/src/platform/services/desktop-settings.service.ts

Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>

* adress position feedback

* Update apps/desktop/macos/autofill-extension/CredentialProviderViewController.swift

Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>

* Removed extra logging

* Adjusted error logging

* Use .error to log errors

* remove dead code

* Update desktop-autofill.service.ts

* use parseCredentialId instead of guidToRawFormat

* Update apps/desktop/src/autofill/services/desktop-autofill.service.ts

Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>

* Change windowXy to a Record instead of [number,number]

* Update apps/desktop/src/autofill/services/desktop-fido2-user-interface.service.ts

Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>

* Remove unsued dep and comment

* changed timeout to be spec recommended maxium, 10 minutes, for now.

* Correctly assume UP

* Removed extra cancelRequest in deinint

* Add timeout and UV to confirmChoseCipher

UV is performed by UI, not the service

* Improved docs regarding undefined cipherId

* cleanup: UP is no longer undefined

* Run completeError if ipc messages conversion failed

* don't throw, instead return undefined

* Disabled passkey provider

* Throw error if no activeUserId was found

* removed comment

* Fixed lint

* removed unsued service

* reset entitlement formatting

* Update entitlements.mas.plist

---------

Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
Co-authored-by: Colton Hurst <colton@coltonhurst.com>
Co-authored-by: Andreas Coroiu <andreas.coroiu@gmail.com>
Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>
2025-03-24 07:50:11 -04:00
Patrick-Pimentel-Bitwarden
841e5980d7 fix(device-approval-login): [PM-19379] Approve Device Login - Fix the call so that it works when not in a TDE scenario. (#13934) 2025-03-21 10:22:37 -04:00
Jeffrey Holland
79fd1b3263 PM-17187 Autofill new card information in the popout (#13688) 2025-03-20 20:54:33 +01:00
Jason Ng
cf827981af [PM-19240] Do not show task unless Manage or Edit Permission (#13880)
* do not show task for edit except pw
2025-03-20 15:16:18 -04:00
Alex Rosenfeld
bd0fedc5ce [PM-18153] add support for importing some older / wonky card formats from msecure (#13328)
* add support for importing some older / wonky card formats from msecure

* slightly less fuzzy logic

---------

Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
2025-03-20 18:53:17 +01:00
Justin Baur
23fbb56248 Switch Notifications to only connect on unlocked (#13913) 2025-03-20 10:56:30 -04:00
Patrick-Pimentel-Bitwarden
2e0c991f83 fix(device-approval-persistence): [PM-9112] Device Approval Persistence (#13680)
* feat(device-approval-persistence): [PM-9112] Device Approval Persistence - Added in view cache data needed to persist the approval process. Clears after 2 minutes.
2025-03-19 19:26:10 +00:00
Jason Ng
4c4019c35f [PM]19342] Onboarding Nudges Feature Flag (#13906) 2025-03-19 14:49:03 -04:00