Skip to content

[PM-39974] Remove Biometric Integration Setting Fully#21684

Open
quexten wants to merge 2 commits into
mainfrom
km/fix-biometric-integration-setting
Open

[PM-39974] Remove Biometric Integration Setting Fully#21684
quexten wants to merge 2 commits into
mainfrom
km/fix-biometric-integration-setting

Conversation

@quexten

@quexten quexten commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

🎟️ Tracking

https://bitwarden.atlassian.net/browse/PM-39974

📔 Objective

The introduction of shared unlock removed the browser integration setting, but not the state (incorrectly). Further, it conflicted with the addition of the new desktop settings dialog. This leads to a situation, where currently only the new desktop settings dialog component did not regress, and correctly allows enabling biometric unlock.

This PR fully removes the setting in UI and in state and enables the setting always.

📸 Screenshots

@quexten quexten added the t:bugfix Change Type - Bugfix label Jul 6, 2026
@quexten quexten changed the title Remove Biometric Integration Setting Fully [PM-39974] Remove Biometric Integration Setting Fully Jul 6, 2026
@quexten quexten marked this pull request as ready for review July 6, 2026 05:05
@quexten quexten requested review from a team as code owners July 6, 2026 05:05
@quexten quexten requested review from djsmith85 and eligrubb July 6, 2026 05:05
@github-actions

github-actions Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

🤖 Bitwarden Claude Code Review

Overall Assessment: APPROVE

Reviewed the full removal of the browserIntegrationEnabled desktop setting across UI, DesktopSettingsService, persisted state, and the biometric message handler. Verified that browser integration is genuinely always-on now, since generateManifests() runs unconditionally at desktop startup (apps/desktop/src/main.ts:419), making the removed toggle and its dead code paths safe to delete. The new state migration (81) correctly follows the established key-definition pattern and is properly wired into the migration chain. No security, correctness, or breaking-change concerns found.

Code Review Details

No findings.

Verification notes:

  • State migration 81-remove-browser-integration-enabled.ts matches the desktopSettings / browserIntegrationEnabled global key definition used in migration 66, is registered 80 → 81 with CURRENT_VERSION bumped, and has spec coverage for present/absent/rollback (IRREVERSIBLE).
  • Removed dead paths (connected-apps clearing in biometric-message-handler.service.ts, DDG shared-key clearing in settings-dialog.component.ts) were both gated on the now-nonexistent "integration disabled" state — no behavioral or security regression.
  • Only the en locale was edited; remaining non-en keys are Crowdin-managed per repo i18n rules. No dangling references to removed symbols or i18n keys remain in .ts/.html code.

@quexten

quexten commented Jul 6, 2026

Copy link
Copy Markdown
Contributor Author

Lint errors are unrelated.

@codecov

codecov Bot commented Jul 6, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 49.72%. Comparing base (0151e15) to head (a99bdf2).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##             main   #21684   +/-   ##
=======================================
  Coverage   49.72%   49.72%           
=======================================
  Files        4114     4115    +1     
  Lines      129004   128987   -17     
  Branches    19750    19745    -5     
=======================================
- Hits        64148    64145    -3     
+ Misses      60096    60082   -14     
  Partials     4760     4760           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

t:bugfix Change Type - Bugfix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

macOS Tahoe (26): "Allow browser integration" checkbox missing and desktop never opens the browser-integration IPC socket (2026.6.1, Mac App Store)

1 participant