From 8f067bdce4ff5475796cbc18ce85991288c56055 Mon Sep 17 00:00:00 2001 From: Jeffrey Holland Date: Sun, 12 Oct 2025 14:57:22 +0200 Subject: [PATCH] Update status comments and readme --- apps/desktop/desktop_native/macos_provider/README.md | 4 +--- apps/desktop/desktop_native/macos_provider/src/lib.rs | 4 ++++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/apps/desktop/desktop_native/macos_provider/README.md b/apps/desktop/desktop_native/macos_provider/README.md index 9c23418d318..77f666ff71a 100644 --- a/apps/desktop/desktop_native/macos_provider/README.md +++ b/apps/desktop/desktop_native/macos_provider/README.md @@ -18,7 +18,6 @@ Electron receives the messages and passes it to Angular (through the electron-re Our existing fido2 services in the renderer respond to events, displaying UI as necessary, and returns the signature back through the same mechanism, allowing people to authenticate with passkeys through the native system + UI. See [Mac OS Native Passkey Workflows](https://bitwarden.atlassian.net/wiki/spaces/EN/pages/1828356098/Mac+OS+Native+Passkey+Workflows) for demo videos. - ## Typescript + UI implementations We utilize the same FIDO2 implementation and interface that is already present for our browser authentication. It was designed by @coroiu with multiple ‘ui environments' in mind. @@ -29,7 +28,6 @@ We’ve also implemented a couple FIDO2 UI components to handle registration/sig ## Modal mode -When modal mode is activated, the desktop app turns into a smaller modal that is always on top and cannot be resized. This is done to improve the UX of performing a passkey operation (or SSH operation). Once the operation is completed, the app returns to normal mode and its previous position. +When (modal mode)[https://www.electronjs.org/docs/latest/api/browser-window#modal-windows] is activated, the desktop app turns into a smaller modal that is always on top and cannot be resized. This is done to improve the UX of performing a passkey operation (or SSH operation). Once the operation is completed, the app returns to normal mode and its previous position. Some modal modes may hide the 'traffic buttons' (window controls) due to design requirements. - diff --git a/apps/desktop/desktop_native/macos_provider/src/lib.rs b/apps/desktop/desktop_native/macos_provider/src/lib.rs index b72e8cabb75..816f23e7170 100644 --- a/apps/desktop/desktop_native/macos_provider/src/lib.rs +++ b/apps/desktop/desktop_native/macos_provider/src/lib.rs @@ -50,6 +50,8 @@ trait Callback: Send + Sync { } #[derive(uniffi::Enum, Debug)] +/// Store the connection status between the macOS credential provider extension +/// and the desktop application's IPC server. pub enum ConnectionStatus { Connected, Disconnected, @@ -70,6 +72,8 @@ pub struct MacOSProviderClient { #[derive(Serialize, Deserialize)] #[serde(rename_all = "camelCase")] +/// Store native desktop status information to use for IPC communication +/// between the application and the macOS credential provider. pub struct NativeStatus { key: String, value: String,