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

1761 Commits

Author SHA1 Message Date
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
Daniel James Smith
9586057a32 [PM-26162] [Chromium importer] Add fallback name in case empty when loading browser profiles (#16664)
* Added a fallback to use a browser profile folder-name in case the name of the profile is empty
2025-11-13 13:14:45 -07:00
renovate[bot]
9c2da604b1 [deps] Platform: Update Rust crate typenum to v1.19.0 (#16845)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>
2025-11-13 18:37:18 +01: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
renovate[bot]
e7995256cd [deps] Platform: Update @types/node to v22.19.0 (#17297)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
2025-11-10 10:29:58 -05:00
Oscar Hinton
ed53ef19d9 [PM-27897] Fix release before use in chromium importer (#17276)
We ran into some weird issues where the memory was corrupted on certain architectures. It turns out we free'd memory before using it.

This ensures we make a copy of the data before freeing it, and extracts a common function for both crates to use.
2025-11-10 14:15:15 +01:00
neuronull
146f612fbd Fix Desktop app tokio thread panic autofill service on unsupported platforms (#17218) 2025-11-07 09:27:17 -07:00
aj-bw
f992b80161 [bre-1149] linux desktop arm builds - continuation of community PR#16096 (#17254)
* adding arm64 snap, flatpak and tar variant to releases now for future flatpak consumption
* adding arm64 snap, flatpak and tar build process

---------

Co-authored-by: fredrmb <69513590+fredrmb@users.noreply.github.com>
2025-11-07 10:31:53 -05: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
Oscar Hinton
29e4085986 [PM-27646] Prevent enabling logging and disabling signature (#17253)
This ensures we won't accidentally ship prod binaries that either have logging enabled or disable signature validation.
2025-11-06 17:06:59 +01:00
Oscar Hinton
78d1eb9bed Replace dbg_log with tracing::debug (#17251)
We already configure tracing to only be enabled in debug so there is no need to wrap it with a macro
2025-11-06 15:48:19 +01:00
Dmitry Yakimenko
5c2215401c [PM-27786] Chrome application bound encryption v3 support (#17205)
* Update cargo.lock on windows

* Move ABE key decoding to helper.exe

* Safe slice operations (no panics)

* Refactor CNG code a bit

* Refactor CNG code a bit more

* Update README to match the new flow

* DRY up v1 and v2 decryption

* Remove all the crates and windows features that are not needed

* helper.exe split into a bunch of files

* Refator mod windows

* Minor cleanup

---------

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
2025-11-06 10:20:23 +01:00
brandonbiete
edae5e69c7 [BRE-1281] Strip bullets from changelog in fastlane (#17237)
* [BRE-1281] Add formatting for changelog to strip bullet points in fastlane

* [BRE-1281] Change UI message in fastlane for original and formatted changelog
2025-11-05 19:54:58 +00: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
neuronull
9803cc98b4 Desktop Native remove log deps (#17135) 2025-11-04 07:35:34 -07: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
neuronull
2b1dbb935f Desktop native disallow log crate macros (#17163) 2025-11-03 07:36:40 -07:00
Github Actions
b4420d770e Bumped client version(s) 2025-11-03 14:27:34 +00:00
Todd Martin
cd56d01894 chore(deps): Platform: Update electron to v37
* [deps] Platform: Update electron to v37

* Updated electron-builder.json

* Updated electron-builder latest 37 minor.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-02 14:23:18 -05:00
Bernd Schoolmann
e68a471655 [PM-26340] Enable linux biometrics v2 (#16661) 2025-10-31 22:47:17 +01:00
Oscar Hinton
8c185c9d2b [PM-27645] Check signature of helper exe (#17155) 2025-10-31 16:50:13 +01:00
Oscar Hinton
443b85a356 [PM-27641] Enable signature validation (#17150)
Enables the currently disabled signature validation. This is a blocker for release.
2025-10-31 16:13:41 +01:00
Oscar Hinton
4c1eba2086 [PM-27583] Add icon to chromium import helper (#17126)
Adds an icon to the windows binary.

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-10-31 10:10:22 +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
Andreas Coroiu
48fb8b2bfe [PM-25250] Prevent configuration and access of self hosted urls over http (#17095)
* feat: ban urls not using https

* feat: add exception for dev env

* feat: block fetching of insecure URLs

* feat: add exception for dev env

* feat: block notifications from using insecure URL

* fix: bug where submission was possible regardless of error

* feat: add exception for dev env

* fix: missing constructor param
2025-10-31 08:12:44 +01:00
Nick Krantz
326cd40628 cipher.id now defaults to an empty string rather than null/undefined - use bang to transform into a boolean (#17137) 2025-10-30 15:44:49 -05:00
rr-bw
d8e5a524d4 style(sso-login): (Auth) [PM-26535] Make SSO Button Primary if ssoRequired (#16757)
When SSO is required:
- Make the SSO button primary
- Add a tooltip to the disabled buttons

When SSO is not required:
- SSO button remains secondary
- No tooltip on the buttons

Feature Flags enabled: pm-22110-disable-alternate-login-methods
2025-10-30 14:41:17 +00:00
Dmitry Yakimenko
dcf8c1d83b [PM-25855][PM-24948][PM-24947] Chromium import functionality with application bound encryption on Windows (#16429)
Adds application bound encryption in order to support chrome imports on windows.

---------

Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
Co-authored-by: adudek-bw <adudek@bitwarden.com>
Co-authored-by: Hinton <hinton@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-10-30 13:18:30 +01:00
Jared Snider
a1570fc8b1 feat(AuthRouteConstants): [Auth/PM-27370] Convert auth routes to use constants (#16980)
* PM-22663 WIP on auth route constants

* PM-22663 - Convert desktop & extension to use constants - first pass

* PM-22663 - Further clean up

* PM-22663 - catch more missed routes

* PM-22663 - add barrel files

* PM-22663 - Per PR feedback, add missing as const

* PM-22663 - Per PR feedback and TS docs, use same name for const enum like and derived type. Adjusted filenames to be singular.

* PM-22663 - Per PR feedback update desktop app routing module since auto rename didn't update it for whatever reason.
2025-10-29 19:28:21 -04:00
Oscar Hinton
d85b9986d0 [CL-901] [CL-903] Unowned - Prefer signal & change detection (#16949) 2025-10-29 13:42:19 -05:00
Bernd Schoolmann
b1738cc6b2 [PM-26340] Add linux biometrics v2 (#16660)
* Extract windows biometrics v2 changes

Co-authored-by: Bernd Schoolmann <mail@quexten.com>

* Address some code review feedback

* cargo fmt

* rely on zeroizing allocator

* Handle TDE edge cases

* Update windows default

* Make windows rust code async and fix restoring focus freezes

* fix formatting

* cleanup native logging

* Add unit test coverage

* Add missing logic to edge case for PIN disable.

* Address code review feedback

* fix test

* code review changes

* fix clippy warning

* Swap to unimplemented on each method

* Implement encrypted memory store

* Make dpapi secure key container pub(super)

* Add linux biometrics v2

* Run cargo fmt

* Fix cargo lock

* Undo AC changes

* Undo change

* Fix build

* Cargo fmt

---------

Co-authored-by: Thomas Avery <tavery@bitwarden.com>
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
2025-10-29 15:51:50 +01:00
Daniel James Smith
8eef78960d [PM-27358] Remove unused getInstalledBrowsers method (#17019)
* Remove unused getInstalledBrowsers metthod

* Run cargo fmt

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-10-28 11:13:58 +01:00
renovate[bot]
2b2b1f4a27 [deps] Platform: Update @types/node to v22.18.11 (#15698)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-27 17:29:45 -04:00
Oscar Hinton
42377a1533 [PM-27341] Chrome importer refactors (#16720)
Various refactors to the chrome importer
2025-10-27 17:24:50 +01:00
Oscar Hinton
af6e19335d Vault - Prefer signal & change detection (#16947) 2025-10-27 11:13:11 -04:00