1
0
mirror of https://github.com/bitwarden/browser synced 2026-01-03 09:03:32 +00:00
Commit Graph

1435 Commits

Author SHA1 Message Date
Maciej Zieniuk
bbea11388a [PM-26057] Enforce session timeout policy (#17424)
* enforce session timeout policy

* better angular validation

* lint fix

* missing switch break

* fallback when timeout not supported with highest available timeout

* failing unit tests

* incorrect policy message

* vault timeout type adjustments

* fallback to "on browser refresh" for browser, when policy is set to "on system locked", but not available (Safari)

* docs, naming improvements

* fallback for current user session timeout to "on refresh", when policy is set to "on system locked", but not available.

* don't display policy message when the policy does not affect available timeout options

* 8 hours default when changing from non-numeric timeout to Custom.

* failing unit test

* missing locales, changing functions access to private, docs

* removal of redundant magic number

* missing await

* await once for available timeout options

* adjusted messaging

* unit test coverage

* vault timeout numeric module exports

* unit test coverage
2025-12-05 14:55:59 +01:00
bw-ghapp[bot]
2976c9c654 Autosync the updated translations (#17826)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-12-05 11:00:29 +01:00
Nick Krantz
dab1a37bfe PM-24535 Web premium upgrade path for archive (#16854)
* add premium badge to web filter when the user does not have access to premium

* remove feature flag pass through in favor of showing/hiding archive vault observable

* refactor archive observable to be more generic

* add archive premium badge for the web

* show premium badge inline for archive filter

* show premium subscription ended message when user has archived ciphers

* fix missing refactor

* remove unneeded can archive check

* reference observable directly

* reduce the number of firstValueFroms by combining observables into a single stream

* fix failing tests

* add import to storybook

* update variable naming for premium filters

* pass event to `promptForPremium`

* remove check for organization

* fix footer variable reference

* refactor back to `hasArchiveFlagEnabled$` - more straight forward to the underlying logic

* update archive service test with new feature flag format
2025-12-03 14:19:26 -06:00
Bernd Schoolmann
6e2203d6d4 [PM-18026] Implement forced, automatic KDF upgrades (#15937)
* Implement automatic kdf upgrades

* Fix kdf config not being updated

* Update legacy kdf state on master password unlock sync

* Fix cli build

* Fix

* Deduplicate prompts

* Fix dismiss time

* Fix default kdf setting

* Fix build

* Undo changes

* Fix test

* Fix prettier

* Fix test

* Update libs/angular/src/key-management/encrypted-migration/encrypted-migrations-scheduler.service.ts

Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com>

* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts

Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com>

* Update libs/angular/src/key-management/encrypted-migration/encrypted-migrations-scheduler.service.ts

Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com>

* Only sync when there is at least one migration

* Relative imports

* Add tech debt comment

* Resolve inconsistent prefix

* Clean up

* Update docs

* Use default PBKDF2 iteratinos instead of custom threshold

* Undo type check

* Fix build

* Add comment

* Cleanup

* Cleanup

* Address component feedback

* Use isnullorwhitespace

* Fix tests

* Allow migration only on vault

* Fix tests

* Run prettier

* Fix tests

* Prevent await race condition

* Fix min and default values in kdf migration

* Run sync only when a migration was run

* Update libs/common/src/key-management/encrypted-migrator/default-encrypted-migrator.ts

Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com>

* Fix link not being blue

* Fix later button on browser

---------

Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com>
2025-12-03 19:04:18 +01:00
Michael L.
6ae096485a Add support for Helium browser integration on mac (#17293)
Co-authored-by: Addison Beck <github@addisonbeck.com>
2025-12-03 12:14:07 -05:00
Isaac Ivins
365af52e33 [PM-27794] create send component desktop migration (#17786)
* wip

* updated tests to work, and linter
2025-12-02 21:27:41 +01:00
Leslie Xiong
d373eefc9d [PM-27793] Create new v3 vault component (#17684)
Created Vault component for desktop vault-v3
- copied content from vault-v2.component.ts/html
- removed vault filters from html
2025-12-02 10:26:28 -08:00
Stephon Brown
a9bf66e689 [PM-27600] Replace Hard-Coded Storage amount (#17393)
* feat(billing): add provided as a required property to premium response

* fix(billing): replace hard coded storage variables with retrieved plan

* tests(billing): add tests to pricing-summary service

* feat(billing): add optional property.

* fix(billing): update storage logic

* fix(billing): remove optional check

* fix(billing): remove optionality

* fix(billing): remove optionality

* fix(billing): refactored storage calculation logic

* feat(billing): add provided amounts to subscription-pricing-service

* fix(billing): update cloud premium component

* fix(billing): update desktop premium component

* fix(billing): update org plans component

* fix(billing) update stories and tests

* fix(billing): update messages

* fix(billing): replace storage sizes

* fix(billing): update messages

* fix(billing): update components

* fix(billing): update components for pricing and storage retrieval

* fix(billing): revert self-hosted change
2025-12-02 10:49:55 -05:00
Vicki League
aac7ca172b [CL-717] Skip failing test affected by Angular 20 upgrade (#17761) 2025-12-01 20:38:09 +00:00
Vicki League
10424e227b [CL-717][PM-27966] Update to Angular 20 and Storybook 9 (#17638) 2025-12-01 14:15:58 -05:00
Isaac Ivins
d05356dbeb [PM-27792] Scaffold layout desktop migration (#17658)
Introduces foundational scaffolding for the Bitwarden Desktop application UI migration
2025-12-01 10:04:07 -08:00
bw-ghapp[bot]
39a2d80b10 Autosync the updated translations (#17749)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-12-01 12:06:45 +00:00
Github Actions
fc63c0c2cf Bumped client version(s) 2025-12-01 11:46:54 +00:00
Bernd Schoolmann
b7287d4614 [PM-26570] Remove biometrics v1 (#17629)
* Remove biometrics v1

* Cargo fmt

* Fix windows build

* Apply prettier

* Remove proxy code

* Fix build

* Fix

* Fix tests

* Remove v2 flag
2025-12-01 10:16:36 +01:00
bw-ghapp[bot]
9264c13145 Autosync the updated translations (#17710)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-11-28 06:24:03 +01:00
Bernd Schoolmann
eb4fd42153 [PM-28446] Log package types (#17496)
* User agent

* Update to use header

* Fix build on cli

* Replace unsandboxed with unknown

* Apply feedback

* Prevent sending null values
2025-11-27 00:22:59 +01:00
John Harrington
6f5491f7dc PM-22143 Refactor TS enums to be const objects (Send specific enums) (#16399) 2025-11-26 15:08:59 -07:00
Github Actions
fdacd01f83 Bumped Desktop client to 2025.11.3 2025-11-26 01:15:04 +00:00
Nick Krantz
273f04c6a3 [PM-26513] Desktop Archive Upgrade (#16964)
* always shows desktop archive filter regardless of the users premium status

* include spec files in tsconfig

* add upgrade path for desktop

* combine duplicate class instances

* remove optional chaining

* update tests to avoid null assertions

* add test files to the spec tsconfig

* implement signal for premium badge component

* remove badge template reference
2025-11-25 15:12:20 -06:00
Dave
cf6569bfea feat(user-decryption-options) [PM-26413]: Remove ActiveUserState from UserDecryptionOptionsService (#16894)
* feat(user-decryption-options) [PM-26413]: Update UserDecryptionOptionsService and tests to use UserId-only APIs.

* feat(user-decryption-options) [PM-26413]: Update InternalUserDecryptionOptionsService call sites to use UserId-only API.

* feat(user-decryption-options) [PM-26413] Update userDecryptionOptions$ call sites to use the UserId-only API.

* feat(user-decryption-options) [PM-26413]: Update additional call sites.

* feat(user-decryption-options) [PM-26413]: Update dependencies and an additional call site.

* feat(user-verification-service) [PM-26413]: Replace where allowed by unrestricted imports invocation of UserVerificationService.hasMasterPassword (deprecated) with UserDecryptionOptions.hasMasterPasswordById$. Additional work to complete as tech debt tracked in PM-27009.

* feat(user-decryption-options) [PM-26413]: Update for non-null strict adherence.

* feat(user-decryption-options) [PM-26413]: Update type safety and defensive returns.

* chore(user-decryption-options) [PM-26413]: Comment cleanup.

* feat(user-decryption-options) [PM-26413]: Update tests.

* feat(user-decryption-options) [PM-26413]: Standardize null-checking on active account id for new API consumption.

* feat(vault-timeout-settings-service) [PM-26413]: Add test cases to illustrate null active account from AccountService.

* fix(fido2-user-verification-service-spec) [PM-26413]: Update test harness to use FakeAccountService.

* fix(downstream-components) [PM-26413]: Prefer use of the getUserId operator in all authenticated contexts for user id provided to UserDecryptionOptionsService.

---------

Co-authored-by: bnagawiecki <107435978+bnagawiecki@users.noreply.github.com>
2025-11-25 11:23:22 -05:00
neuronull
489eb40057 Desktop Autotype fix IPC error handling (#17332)
* Desktop Autotype fix IPC error handling

* TS lint

* sweep sweep: fix unecessary member name qualifier
2025-11-21 14:02:22 -07:00
Dave
daf7b7d2ce fix(two-factor) [PM-21204]: Users without premium cannot disable premium 2FA (#17134)
* refactor(two-factor-service) [PM-21204]: Stub API methods in TwoFactorService (domain).

* refactor(two-factor-service) [PM-21204]: Build out stubs and add documentation.

* refactor(two-factor-service) [PM-21204]: Update TwoFactorApiService call sites to use TwoFactorService.

* refactor(two-fatcor) [PM-21204]: Remove deprecated and unused formPromise methods.

* refactor(two-factor) [PM-21204]: Move 2FA-supporting services into common/auth/two-factor feature namespace.

* refactor(two-factor) [PM-21204]: Update imports for service/init containers.

* feat(two-factor) [PM-21204]: Add a disabling flow for Premium 2FA when enabled on a non-Premium account.

* fix(two-factor-service) [PM-21204]: Fix type-safety of module constants.

* fix(multiple) [PM-21204]: Prettier.

* fix(user-verification-dialog) [PM-21204]: Remove bodyText configuration for this use.

* fix(user-verification-dialog) [PM-21204]: Improve the error message displayed to the user.
2025-11-21 10:35:34 -05:00
bw-ghapp[bot]
5ff6e50e1d Autosync the updated translations (#17530)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-11-21 09:40:12 +01:00
Bernd Schoolmann
5f27452ac2 Fix desktop not launching (#17485) 2025-11-20 02:41:59 +01:00
Github Actions
02ef4e72de Bumped Desktop client to 2025.11.2 2025-11-18 17:54:35 +00:00
bw-ghapp[bot]
0d14060e9d Autosync the updated translations (#17460)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-11-18 18:33:12 +01:00
Addison Beck
3b97093338 fix(desktop): persist zoom state across vault locks (#17217)
* fix(desktop): persist zoom state across vault locks

Replace role-based zoom menu items with custom click handlers to fix
zoom persistence issue where keyboard shortcuts (Ctrl+/-/0, Cmd+/-/0)
weren't saving zoom changes after vault lock.

Changes:
- Add custom click handlers for zoomIn/zoomOut/resetZoom menu items
- Add WindowMain.saveZoomFactor() method for immediate persistence
- Pass WindowMain dependency to ViewMenu constructor
- Update zoom-changed event comment to clarify coverage
- Maintain existing mouse wheel zoom persistence via zoom-changed event

Fixes: PM-791
Fixes: https://github.com/bitwarden/clients/issues/4675

* chore: update to macos-15 runners

* review: downgrade macos build runner to 14

* review: align step with min zoom level

* cleanup from merge
2025-11-14 11:54:08 -05:00
bw-ghapp[bot]
1ce33a0a98 Autosync the updated translations (#17377)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-11-14 12:44:13 +01:00
Mark Youssef
a55d0f02f2 [CL-672] update mobile design of dialog (#14828)
---------

Co-authored-by: Vicki League <vleague@bitwarden.com>
2025-11-13 21:59:03 -05:00
Github Actions
7ba3924a4f Bumped Desktop client to 2025.11.1 2025-11-13 21:48:27 +00:00
Maciej Zieniuk
3da3aa5e8c moving ownership of Auth vault timeout input component to KM (#17180)
(cherry picked from commit 5e595dabf71cdb312ae9e1e3bcc3121b3aebf19f)
2025-11-12 22:15:01 +01:00
Bernd Schoolmann
f2e485ec8e [PM-27847] Enable biometric IPC on mac dmg (#16247)
* Enable biometric IPC on mac dmg

* Remove i18n string
2025-11-12 15:00:46 +00:00
Maciej Zieniuk
021d3e53aa [PM-26056] Consolidated session timeout component (#16988)
* consolidated session timeout settings component

* rename preferences to appearance

* race condition bug on computed signal

* outdated header for browser

* unnecessary padding

* remove required on action, fix build

* rename localization key

* missing user id

* required

* cleanup task

* eslint fix signals rollback

* takeUntilDestroyed, null checks

* move browser specific logic outside shared component

* explicit input type

* input name

* takeUntilDestroyed, no toast

* unit tests

* cleanup

* cleanup, correct link to deprecation jira

* tech debt todo with jira

* missing web localization key when policy is on

* relative import

* extracting timeout options to component service

* duplicate localization key

* fix failing test

* subsequent timeout action selecting opening without dialog on first dialog cancellation

* default locale can be null

* unit tests failing

* rename, simplifications

* one if else feature flag

* timeout input component rendering before async pipe completion
2025-11-11 08:15:36 -06:00
Vicki League
c22cba76ec [PM-26984] Use medium instead of semibold or bold, and for headings (#17184) 2025-11-10 17:11:35 -05:00
bw-ghapp[bot]
c47e7c3acb Autosync the updated translations (#17270)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-11-10 10:47:17 -06:00
neuronull
146f612fbd Fix Desktop app tokio thread panic autofill service on unsupported platforms (#17218) 2025-11-07 09:27:17 -07:00
Daniel James Smith
3c2f44095a [PM-27656] Show error message when detecting Chromium v3 encryption, which isn't supported yet (#17156)
* Replace any-returns with types

* Show an error message when a failure from the native call is returned

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
2025-11-06 20:53:13 +01:00
Bernd Schoolmann
3125f679d3 [PM-25206] Inject service instead of passing as param (#16801)
* Inject service instead of passing as param

* [PM-25206] Move locking logic to LockService (#16802)

* Move locking logic to lock service

* Fix tests

* Fix CLI

* Fix test

* FIx safari build

* Update call to lock service

* Remove locked callback

* Clean up lock service logic

* Add tests

* Fix cli build

* Add extension lock service

* Fix cli build

* Fix build

* Undo ac changes

* Undo ac changes

* Run prettier

* Fix build

* Remove duplicate call

* [PM-25206] Remove VaultTimeoutService lock logic (#16804)

* Move consumers off of vaulttimeoutsettingsservice lock

* Fix build

* Fix build

* Fix build

* Fix firefox build

* Fix test

* Fix ts strict errors

* Fix ts strict error

* Undo AC changes

* Cleanup

* Fix

* Fix missing service
2025-11-05 17:11:34 +01:00
Dave
e6c2786dcc fix(desktop-app-component) [PM-27467]: Remove early call of updateAppMenu on logout; await broadcastService handling of loggedOut to update app menu to prevent evaluation of activeUserState. (#17219) 2025-11-04 20:32:27 +00:00
Vicki League
9bd7b58f6b [PM-26984] Use medium instead of semibold or bold (#17188) 2025-11-04 15:27:13 -05:00
Shane Melton
7e5f02f90c [PM-24469] Implement Risk Insights for Premium in Cipher view component (#17012)
* [PM-24469] Refactor CipherViewComponent to use Angular signals and computed properties for improved reactivity

* [PM-24469] Refactor CipherViewComponent to utilize Angular signals for organization data retrieval

* [PM-24469] Refactor CipherViewComponent to utilize Angular signals for folder data retrieval

* [PM-24469] Cleanup organization signal

* [PM-24469] Refactor CipherViewComponent to replace signal for card expiration with computed property

* [PM-24469] Improve collections loading in CipherViewComponent

* [PM-24469] Remove redundant loadCipherData method

* [PM-24469] Refactor CipherViewComponent to replace signal with computed property for pending change password tasks

* [PM-24469] Refactor LoginCredentialsViewComponent to rename hadPendingChangePasswordTask to showChangePasswordLink for clarity

* [PM-24469] Introduce showChangePasswordLink computed property for improved readability

* [PM-24469] Initial RI for premium logic

* [PM-24469] Refactor checkPassword risk checking logic

* [PM-24469] Cleanup premium check

* [PM-24469] Cleanup UI visuals

* [PM-24469] Fix missing typography import

* [PM-24469] Cleanup docs

* [PM-24469] Add feature flag

* [PM-24469] Ensure password risk check is only performed when the feature is enabled, and the cipher is editable by the user, and it has a password

* [PM-24469] Refactor password risk evaluation logic and add unit tests for risk assessment

* [PM-24469] Fix mismatched CipherId type

* [PM-24469] Fix test dependencies

* [PM-24469] Fix config service mock in emergency view dialog spec

* [PM-24469] Wait for decrypted vault before calculating cipher risk

* [PM-24469] startWith(false) for passwordIsAtRisk signal to avoid showing stale values when cipher changes

* [PM-24469] Exclude organization owned ciphers from JIT risk analysis

* [PM-24469] Add initial cipher-view component test boilerplate

* [PM-24469] Add passwordIsAtRisk signal tests

* [PM-24469] Ignore soft deleted items for RI for premium feature

* [PM-24469] Fix tests
2025-11-04 12:15:53 -08:00
Vicki League
92118e525d [PM-26984] Use medium instead of semibold or bold (#17185) 2025-11-04 13:56:01 -05:00
neuronull
7801fd3123 Desktop Autotype use managed object for IPC vault data payload (#17105)
* Desktop Autotype use managed object for IPC vault data payload

* claude feedback 1

* check for falsey values

* add unit test

* remove unecessary async

* helper result type

* dear claude
2025-11-04 09:13:08 -07:00
Vicki League
573d4219f9 [PM-26984] Use medium instead of semibold or bold (#17192) 2025-11-04 16:18:53 +01:00
Vicki League
cba47e4abd Update font to inter feature branch (#16782) 2025-11-03 15:17:07 -05:00
Kyle Denney
e1e3966cc2 [PM-23713] premium badge interaction (#16911)
* feature flag

* new upgrade dialog component and moved pricing service into libs

first draft

* moved pricing service to libs/common

removed toast service from the pricing service and implemented error handling in calling components

# Conflicts:
#	apps/web/src/app/billing/individual/upgrade/upgrade-payment/upgrade-payment.component.ts

* moved new premium upgrade dialog component to libs/angular

* badge opens new dialog in browser extension

* adds new dialog to desktop and fixes tests

* updates send dropdown to use premium prompt service

* styling and copy updates

* implement in web and desktop

* unit tests

* converting premium reports to use premium badge, and some cleanup

* fixes issue after merge

* linter errors

* pr feedback

* handle async promise correctly

* full sync after the premium upgrade is complete

* fixing test

* add padding to bottom of card in new dialog

* add support for self hosting

* fixing tests

* fix test

* Update has-premium.guard.ts

* pr feedback

* fix build and pr feedback

* fix build

* prettier

* fixing stories and making badge line height consistent

* pr feedback

* updated upgrade dialog to no longer use pricing card

* fixing incorrect markup and removing unused bits

* formatting

* pr feedback

removing unused message keys and adding back in code that was erroneously removed

* change detection

* close dialog when error

* claude pr feedback
2025-11-03 10:16:01 -06:00
Github Actions
b4420d770e Bumped client version(s) 2025-11-03 14:27:34 +00:00
Bernd Schoolmann
e68a471655 [PM-26340] Enable linux biometrics v2 (#16661) 2025-10-31 22:47:17 +01:00
bw-ghapp[bot]
9d2b2d1894 Autosync the updated translations (#17144)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-10-31 09:57:01 +01:00
Andreas Coroiu
8aebfbeace [PM-25932] Shorten socket paths (#17093)
* feat: shorten socket paths

* fix: No such file or directory error

* feat: remove tmp folder from path

* fix: No such file or directory autofill error
2025-10-31 08:15:04 +01:00