mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-11 02:46:16 -08:00
Two fallouts from adding the lock, both in test scaffolding: - The competing-instance helper spawned Electron without the --no-sandbox/--disable-gpu flags launchElectronApp adds on Linux CI, so the process died on a signal (exitCode null) instead of being refused. Both paths now build argv through one shared helper. The helper also captures stderr and reports the exit signal, so a future CI-only failure says why instead of just "not 0". - requestSingleInstanceLock creates SingletonLock/SingletonSocket (lockfile on Windows) in userData and holds them for the process lifetime. Windows releases those handles asynchronously as the process dies, so the dataDir fixture's immediate rmSync started hitting EBUSY in unrelated suites. Removal now retries and, failing that, warns instead of failing a green test — it is throwaway temp state. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>