fix(sync): run watched sync when a scheduled --sync hits the running instance
The Windows daily-sync task launches `AeroFetch.exe --sync`, but the single- instance lock routes that relaunch to the `second-instance` handler whenever AeroFetch is already open. The handler only focused the window and looked for a link -- it never checked `isSyncLaunch(argv)` -- so the sync never ran. The daily auto-download of new watched-source uploads therefore did nothing for minimize- to-tray / always-on users (and the relaunch stole window focus each day). Add a `runWatchedSync` main->renderer push: on a `--sync` relaunch the handler now nudges the renderer to run syncWatched() instead of focusing, so the daily sync fires whether AeroFetch was closed or already running. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -260,6 +260,15 @@ if (isPrimaryInstance) {
|
||||
// link it carried and hand it to the window we already have.
|
||||
app.on('second-instance', (_e, argv) => {
|
||||
if (!mainWindow) return
|
||||
// A scheduled `--sync` relaunch (Task Scheduler) hit the already-running instance:
|
||||
// run the watched-source sync in this window instead of no-opping. Without this the
|
||||
// daily auto-download never fires while AeroFetch is open — e.g. minimize-to-tray
|
||||
// users. Deliberately does NOT focus the window, so the daily sync stays unobtrusive
|
||||
// (mirrors the fresh-launch `--sync` showInactive path in createWindow).
|
||||
if (isSyncLaunch(argv)) {
|
||||
mainWindow.webContents.send(IpcChannels.runWatchedSync)
|
||||
return
|
||||
}
|
||||
focusWindow(mainWindow)
|
||||
const incomingUrl = extractIncomingUrl(argv)
|
||||
if (incomingUrl) mainWindow.webContents.send(IpcChannels.externalUrl, incomingUrl)
|
||||
|
||||
Reference in New Issue
Block a user