Auth/Innovation/PM-34210 - Desktop - Add devices dialog#19797
Auth/Innovation/PM-34210 - Desktop - Add devices dialog#19797JaredSnider-Bitwarden merged 18 commits intomainfrom
Conversation
…vicesModule The provider was incorrectly registered only in the web app's core.module.ts. Moving it to JslibServicesModule makes it available to all clients (web, desktop, CLI) without each needing to register it explicitly. Browser extension keeps its own ExtensionDeviceManagementComponentService override which takes DI precedence.
Adds the PM34210_DesktopAddDevices flag to gate the new Devices menu item on the desktop Account menu. Defaults to true locally for development.
…tions - Adds DeviceManagementDialogComponent as a temporary dialog wrapper around the shared DeviceManagementComponent, matching the ChangePasswordDialog pattern - Adds DesktopDeviceManagementComponentService with showHeaderInformation=false since the dialog provides its own header via bit-dialog - Registers the desktop service in services.module.ts to override the jslib default - Adds 13 missing device management i18n keys to the desktop en/messages.json
Wires the feature-flagged Devices menu item into the desktop Electron Account menu, positioned after Change Password. When clicked, sends openDevicesDialog to the renderer which opens DeviceManagementDialogComponent via DialogService.
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #19797 +/- ##
==========================================
+ Coverage 46.89% 46.92% +0.02%
==========================================
Files 3909 3911 +2
Lines 118263 118288 +25
Branches 18092 18096 +4
==========================================
+ Hits 55465 55502 +37
+ Misses 58626 58614 -12
Partials 4172 4172 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
New Issues (1)Checkmarx found the following issues in this Pull Request
|
…-device-management + feature flag enum merge conflict fix
…-device-management + app component merge conflict fixes
🤖 Bitwarden Claude Code ReviewOverall Assessment: APPROVE Reviewed the desktop Devices dialog wiring gated by the Code Review DetailsNo actionable findings. The change follows the existing |
| safeProvider({ | ||
| provide: DeviceManagementComponentServiceAbstraction, | ||
| useClass: DefaultDeviceManagementComponentService, | ||
| deps: [], | ||
| }), |
There was a problem hiding this comment.
The DefaultDeviceManagementComponentService should have always been put on libs/angular/src/services/jslib-services.module.ts
…uth request id so that the device management page can upsert the device w/ the pending auth request.
ike-kottlowski
left a comment
There was a problem hiding this comment.
Thank you for testing the auth request flows.
An excellent addition.
…-device-management + merge conflict fixes
|
* [PM-34210] Move DeviceManagementComponentService provider to JslibServicesModule The provider was incorrectly registered only in the web app's core.module.ts. Moving it to JslibServicesModule makes it available to all clients (web, desktop, CLI) without each needing to register it explicitly. Browser extension keeps its own ExtensionDeviceManagementComponentService override which takes DI precedence. * [PM-34210] Add pm-34210-desktop-add-devices feature flag Adds the PM34210_DesktopAddDevices flag to gate the new Devices menu item on the desktop Account menu. Defaults to true locally for development. * [PM-34210] Add desktop device management dialog, service, and translations - Adds DeviceManagementDialogComponent as a temporary dialog wrapper around the shared DeviceManagementComponent, matching the ChangePasswordDialog pattern - Adds DesktopDeviceManagementComponentService with showHeaderInformation=false since the dialog provides its own header via bit-dialog - Registers the desktop service in services.module.ts to override the jslib default - Adds 13 missing device management i18n keys to the desktop en/messages.json * [PM-34210] Add Devices item to desktop Account menu Wires the feature-flagged Devices menu item into the desktop Electron Account menu, positioned after Change Password. When clicked, sends openDevicesDialog to the renderer which opens DeviceManagementDialogComponent via DialogService. * Move device-management dialog on desktop to correct auth owned file. * PM-34210 - Update all TODOs with proper ticket * PM-34210 - Feature flag - don't check in true. duh * PM-34210 - clean up incorrect todo * PM-34210 - Fix desktop auth request answering service not including auth request id so that the device management page can upsert the device w/ the pending auth request. * PM-34210 - Per PR feedback clean up dialog component of unused stuff. * PM-34210 - Add new translations for devices screen to desktop





🎟️ Tracking
https://bitwarden.atlassian.net/browse/PM-34210
Server feature flag PR: bitwarden/server#7361
Reminder⚠️ : if. #19784 merges first, we must add any new translations to the desktop before merging this. - Done ✅
📔 Objective
Add devices page in a dialog to the desktop.
📸 Screenshots
Basic usage:
PM-34210.-.Desktop.-.Add.devices.in.a.dialog.mov
Pending auth request usages:
PM-34210.-.Desktop.-.pending.auth.request.scenarios.mov