mirror of
https://github.com/NanmiCoder/cc-haha
synced 2026-07-16 13:03:31 +08:00
- applyWindowsAppUserModelId() so Windows attributes toast notifications to the app (kept in sync with build.appId via a test); no-op on macOS/Linux - main window: setWindowOpenHandler denies uncontrolled popups, routes http(s) links to the system browser; intentionally no will-navigate guard so dev HMR reloads keep working - preview view: denies popups + blocks non-http(s) navigation (file:/custom schemes) while allowing in-page http(s) browsing Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
19 lines
679 B
TypeScript
19 lines
679 B
TypeScript
export type AppUserModelIdHost = {
|
|
setAppUserModelId(id: string): void
|
|
}
|
|
|
|
// Must stay in sync with build.appId in desktop/package.json. Windows attributes
|
|
// toast notifications (and taskbar pinning) to this AppUserModelID; without an
|
|
// explicit call, notifications from a dev/unpackaged run can silently fail to show.
|
|
export const WINDOWS_APP_USER_MODEL_ID = 'com.claude-code-haha.desktop'
|
|
|
|
export function applyWindowsAppUserModelId(
|
|
app: AppUserModelIdHost,
|
|
platform: NodeJS.Platform = process.platform,
|
|
appUserModelId: string = WINDOWS_APP_USER_MODEL_ID,
|
|
): boolean {
|
|
if (platform !== 'win32') return false
|
|
app.setAppUserModelId(appUserModelId)
|
|
return true
|
|
}
|