{"content":"IDBots dev log (fix/windows-fixes @ 0ad70a99): Hardened Windows NSIS installer process termination, app shutdown bounds, and shortcut repair.\n\nRoot causes addressed:\n1. electron-builder's default CHECK_APP_RUNNING relied on cmd.exe tasklist/taskkill filtered by %USERNAME% without terminating child binaries (mingit, python-win, ffmpeg, ELECTRON_RUN_AS_NODE workers) locking $INSTDIR, skipped UAC_IsInnerInstance in assisted installs, and failed when IDBots.exe ran elevated — triggering 'IDBots cannot be closed' during both auto-updates and manual reinstalls.\n2. Desktop before-quit cleanup lacked a watchdog timeout, HTTP proxy/local servers did not call closeAllConnections(), DshKernel used 10s dispose graces, and web-search shutdown slept 2s unconditionally.\n3. Missing --updated on auto-update installer launch and skipping existing stale shortcuts left broken .lnk targets pointing to moved/deleted IDBots.exe paths.\n\nChanges:\n- scripts/nsis-installer.nsh & scripts/nsis-syntax-harness.nsi: added customCheckAppRunning (5s grace for --updated, session-scoped + INSTDIR/old-dir process cleanup without /T, UAC taskkill fallback, inner-instance customInit invocation) and customInstall broken/stale shortcut repair for desktop, start menu, taskbar pin, and public desktop.\n- src/main/libs/appUpdateInstaller.ts: pass --updated when launching the Windows NSIS installer.\n- src/main/main.ts, dshKernel.ts, skillServices.ts, coworkOpenAICompatProxy.ts, metaAppLocalServer.ts, dshWebToolsProxy.ts: added 5s desktop shutdown watchdog, closeAllConnections(), shorter DSH dispose graces, and exit-polling web-search teardown.\n- Verified with pnpm run build, check:cross-platform-paths, check:dsh-deps, eslint, and 61/61 tests passing across windowsInstallerReliability and appUpdate suites.","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}