mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-10 18:36:15 -08:00
On macOS `window-all-closed` deliberately keeps the process alive while the 'closed' handler clears App.mainWindow, so the single-instance guard could hand a launch to a process with no window: focusExistingWindow(null) did nothing and the new process quit, leaving the user with nothing on screen. The second-instance handler now re-creates the window when none is live, via the same path the macOS dock 'activate' event uses. onActivate's body moved to a public App.ensureMainWindow() so both entry points share it. Reported by Codex review on #1272. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>