feat(audit): Batch 20 — Windows/main-process (UI23, W12, W15, L131)

UI23: cookie sign-in + PO-token windows open with the app's resolved
theme background (passed from the IPC layer), no more white flash.
W12: multi-resolution fallback tray icon (16/24/32/48 via
addRepresentation dataURL, embedded in trayFallbackIcons.ts); decode +
scale factors verified in an Electron probe.
W15: hardwareAcceleration setting (default false = software rendering);
index.ts gates disableHardwareAcceleration on it after the portable
redirect; Appearance card switch with restart note; boot path verified.
L131: resolved by-design — clearing the queue acknowledges failures;
flashFrame (W10) covers attention, Diagnostics persists the record.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-02 12:15:51 -04:00
parent f54d9a1965
commit 3b0d668f6c
11 changed files with 300 additions and 57 deletions
+10 -3
View File
@@ -196,8 +196,13 @@ export function registerIpcHandlers(getMainWindow: () => BrowserWindow | null):
ipcMain.handle(IpcChannels.cookiesLogin, (e, url: string) =>
// Parent the sign-in window to the app window (W6) so it groups under
// AeroFetch instead of spawning a second taskbar button.
openCookieLoginWindow(url, BrowserWindow.fromWebContents(e.sender) ?? undefined)
// AeroFetch instead of spawning a second taskbar button; theme its
// background to the app's Light/Dark (UI23).
openCookieLoginWindow(
url,
BrowserWindow.fromWebContents(e.sender) ?? undefined,
PAGE_BACKGROUND[resolveBackgroundMode(getSettings().theme)]
)
)
ipcMain.handle(IpcChannels.cookiesStatus, () => getCookiesStatus())
ipcMain.handle(IpcChannels.cookiesClear, () => clearCookies())
@@ -296,7 +301,9 @@ export function registerIpcHandlers(getMainWindow: () => BrowserWindow | null):
// Open a YouTube WebView and extract a PO token for bot-check bypass (Phase P).
ipcMain.handle(IpcChannels.youtubePoTokenMint, async () => {
const token = await openPoTokenWindow()
const token = await openPoTokenWindow(
PAGE_BACKGROUND[resolveBackgroundMode(getSettings().theme)]
)
if (token) await setSettings({ youtubePoToken: token })
return token
})