diff --git a/packages/connect-react/src/components/passkeyList/PasskeyListScreen.tsx b/packages/connect-react/src/components/passkeyList/PasskeyListScreen.tsx index de103099..f380c34a 100644 --- a/packages/connect-react/src/components/passkeyList/PasskeyListScreen.tsx +++ b/packages/connect-react/src/components/passkeyList/PasskeyListScreen.tsx @@ -252,7 +252,11 @@ const PasskeyListScreen = () => { { + // closing the confirmation without deleting => track as aborted deletion + void getConnectService().recordEventManageDeleteExplicitAbort(); + hide(); + }} />, ); }} diff --git a/packages/web-core/openapi/spec_v2.yaml b/packages/web-core/openapi/spec_v2.yaml index b82b2cca..bd498249 100644 --- a/packages/web-core/openapi/spec_v2.yaml +++ b/packages/web-core/openapi/spec_v2.yaml @@ -2121,6 +2121,7 @@ components: manage-error, manage-learn-more, manage-credential-exists, + manage-delete-explicit-abort, local-unlock ] diff --git a/packages/web-core/src/api/v2/api.ts b/packages/web-core/src/api/v2/api.ts index 06463221..fcf2ba18 100644 --- a/packages/web-core/src/api/v2/api.ts +++ b/packages/web-core/src/api/v2/api.ts @@ -2602,6 +2602,7 @@ export const PasskeyEventType = { ManageError: 'manage-error', ManageLearnMore: 'manage-learn-more', ManageCredentialExists: 'manage-credential-exists', + ManageDeleteExplicitAbort: 'manage-delete-explicit-abort', LocalUnlock: 'local-unlock' } as const; diff --git a/packages/web-core/src/services/ConnectService.ts b/packages/web-core/src/services/ConnectService.ts index 9c416f12..2f2b517f 100644 --- a/packages/web-core/src/services/ConnectService.ts +++ b/packages/web-core/src/services/ConnectService.ts @@ -768,6 +768,11 @@ export class ConnectService { return this.#recordEvent(PasskeyEventType.ManageErrorUnexpected, messageCode); } + // user opened the delete confirmation in the passkey list but did not confirm the deletion + recordEventManageDeleteExplicitAbort() { + return this.#recordEvent(PasskeyEventType.ManageDeleteExplicitAbort); + } + recordEventAppendExplicitAbort(attestationOptions?: string) { let challenge; if (attestationOptions) {