Skip to content

Release v1.2

Choose a tag to compare

@ghostneverdies ghostneverdies released this 26 Jul 10:10
· 13 commits to main since this release
77ede18

Instant Replay v1.2

Fixes

  • Duplicate app on startup — Instant Replay could launch two separate windows at login due to a registry key mismatch between the installer and the app's own "Start with Windows" toggle, which let two different startup entries exist at once. Fixed the mismatch, added automatic cleanup of the old duplicate entry, and added a single-instance guard (a second launch now just focuses the existing window instead of opening a new one) plus a background safety check that closes any stray duplicate processes.
  • "Start with Windows" toggle could show stale state — the toggle only checked its state once at launch, so if the registry entry changed while the app was running (or was cleaned up by the fix above), the toggle wouldn't reflect it. It now re-syncs whenever the window regains focus or you open Settings.
  • Uninstaller didn't remove FFmpeg or Virtual Audio Capturer — the "Remove All Dependencies" option was only ever reachable from a page that the real uninstaller never showed, so it silently did nothing. The real uninstaller now has its own working options page.
  • Misleading uninstall progress bar — re-running the installer over an existing install triggered a fake "uninstall" through the install wizard, whose progress bar had nothing real to measure and jumped to "done" almost immediately. This now hands off cleanly to the real uninstaller with an accurate progress bar.
  • First replay save only captured ~20s instead of full duration — after saving a replay, the recorder wiped all segments and started fresh, losing the rest of the buffer. The recorder now preserves existing segments after a save, so -segment_wrap can properly rotate through the full selected duration.
  • Virtual Audio Capturer silently failed to install — the VAC installer was launched with ExecShell "open" (fire-and-forget), which never waited for completion and never checked the exit code. Now uses ExecWait and verifies success.
  • FFmpeg PATH addition silently failed — the PowerShell script that adds FFmpeg to the system PATH was never checked for errors. Now reports a warning if the PATH write fails.
  • Installer left ~2GB of temp files — downloaded dependencies (FFmpeg zip, Java MSI, VAC installer) were never cleaned up after use, and old NSIS temp folders from crashed/aborted runs accumulated. The installer now cleans up downloads after each section and removes stale temp folders on startup.
  • Installer/Uninstaller no longer manipulates system PATH — FFmpeg PATH addition/removal was removed entirely. The app now hardcodes C:\ffmpeg\ffmpeg.exe as the default FFmpeg path, and the bundled FFmpeg from VAC (from 2012, missing key encoders) is no longer used.
  • Setup didn't detect existing installation when re-run — the installer checked for all four components (app, FFmpeg, VAC, Java) before redirecting to uninstall, so missing any one component would show the full installer instead. Now only checks if the app itself is installed (registry key or uninstaller exe exists).
  • Install location lost on re-runs — the installer didn't write InstallLocation to the registry, so NSIS couldn't resolve $INSTDIR to the correct path on subsequent runs. Now writes it during install.
  • VAC uninstall path quoting — the uninstaller now checks if the VAC uninstall string from the registry already contains quotes before adding them, preventing double-quoting.
  • Java detection missed per-user installs — Java detection only checked HKLM registry keys. Now also checks HKCU for user-scoped Java installations.
  • Default FFmpeg path updated — default FFmpegPath changed from ffmpeg.exe (relied on PATH) to full path C:\ffmpeg\ffmpeg.exe for reliability.

Internal

  • Cleaned up duplicated/dead uninstall logic in the installer script.
  • Standardized installer log message formatting.
  • Fixed stack leaks in uninstaller (unpopped nsExec exit codes in VAC removal and PATH removal loops).