`isSourceRunning` treated `.parentlock` / `parent.lock` as proof Firefox held the profile, but Firefox deliberately leaves those on disk after a clean exit (as a last-used marker) and only releases the OS-level fcntl or handle lock — so once Firefox had been used, the source reported `browserRunning` forever and cookie import never proceeded. Verified against Firefox's nsProfileLock.cpp: only the Linux `lock` symlink (target `<ip>:[+]<pid>`) is unlinked on exit, so its presence plus a live pid is the POSIX signal; a dead pid means a crash. Node has no fcntl probe, so `.parentlock` carries no signal on POSIX. On Windows the held handle denies our open as `Busy`, which is the signal there. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Julius Marminge committed on 9/4/2026, 6:20:46 AMparenta45827c
2 files changedLine totals unavailable