fix(desktop): notification click no longer reloads to a dead page (0.1.9/batch62)
Root cause of the persistent "notification opens a dead page / no Join" bug: openFromNotif gated the in-place open on `window.ME`, but ME is declared with `let` — which never creates a global property — so window.ME was ALWAYS undefined and every click hit the full-page-reload fallback. Use bare `ME`. Also: - Notifications fire instantly: never block on the DP download. Use the photo only if already cached; warm the cache in the background + pre-warm all contact DPs on chat load (precache-avatars IPC). Removes the ~2.5s lag. - Wire call Join/Decline handlers BEFORE firing the OS notification so Join is live the instant the invite popup appears (was dead until the toast settled). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -22,6 +22,9 @@ contextBridge.exposeInMainWorld('bizConnectNative', Object.freeze({
|
||||
// Native Windows toast with an inline reply box. Resolves to {text} (replied), {open} (clicked)
|
||||
// or null. Lets the user reply to a chat straight from the notification.
|
||||
replyNotify: (payload) => ipcRenderer.invoke('reply-notification', payload),
|
||||
// Pre-warm the notification DP cache with contact photo URLs (called after chats load) so the first
|
||||
// toast from anyone already has their photo — no per-notification download lag.
|
||||
precacheAvatars: (urls) => { try { return ipcRenderer.invoke('precache-avatars', urls); } catch (_) { return Promise.resolve(false); } },
|
||||
// Manual "Check for updates" from Settings. Resolves {status:'available'|'current'|'dev'|'error', version?}.
|
||||
// On 'available' the shell downloads in the background and prompts to restart when ready.
|
||||
checkForUpdates: () => ipcRenderer.invoke('check-updates'),
|
||||
|
||||
Reference in New Issue
Block a user