feat(stage-tamagotchi): add electronAuthEnrollmentStarted event + broadcaster

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Lulu
2026-07-27 22:18:48 +08:00
co-authored by Cursor
parent 000dbfa034
commit 04cc8676e2
2 changed files with 8 additions and 0 deletions
@@ -14,6 +14,7 @@ import { shell } from 'electron'
import {
electronAuthCallback,
electronAuthCallbackError,
electronAuthEnrollmentStarted,
electronAuthLogout,
electronAuthStartLogin,
} from '../../../shared/eventa'
@@ -47,6 +48,7 @@ export interface WindowAuthManager {
registerWindow: (params: { context: MainContext, window: BrowserWindow }) => void
broadcastAuthCallback: (tokens: TokenExchangeResult) => void
broadcastAuthError: (message: string) => void
broadcastEnrollmentStarted: () => void
}
function isOidcSignInActive(): boolean {
@@ -102,6 +104,10 @@ export function createWindowAuthManagerService(): WindowAuthManager {
forEachAuthContext(context => context.emit(electronAuthCallbackError, { error: message }))
}
function broadcastEnrollmentStarted(): void {
forEachAuthContext(context => context.emit(electronAuthEnrollmentStarted, undefined))
}
return {
registerWindow(params) {
authContexts.add(params.context)
@@ -113,6 +119,7 @@ export function createWindowAuthManagerService(): WindowAuthManager {
broadcastAuthCallback,
broadcastAuthError,
broadcastEnrollmentStarted,
}
}
@@ -492,6 +492,7 @@ export const electronAuthStartLogin = defineInvokeEventa<void>('eventa:invoke:el
export const electronAuthCallback = defineEventa<ElectronAuthTokens>('eventa:event:electron:auth:callback')
export const electronAuthCallbackError = defineEventa<{ error: string }>('eventa:event:electron:auth:callback-error')
export const electronAuthLogout = defineInvokeEventa<void>('eventa:invoke:electron:auth:logout')
export const electronAuthEnrollmentStarted = defineEventa<void>('eventa:event:electron:auth:enrollment-started')
export const i18nSetLocale = defineInvokeEventa<void, Locale>('eventa:invoke:electron:i18n:set-locale')
export const i18nGetLocale = defineInvokeEventa<string | undefined>('eventa:invoke:electron:i18n:get-locale')