gstack/browse
jacob-wang 1d430ca471 fix: surface non-EEXIST errors in acquireServerLock instead of masking them
The bare `catch {}` on `fs.openSync(lockPath, 'wx')` silently swallowed
all errors other than EEXIST (permissions, disk full, Bun regressions),
making real fs failures look like phantom lock contention.

Now only EEXIST takes the holder-PID path; everything else logs via
console.error with error code and message before returning null.

Inner catch on holder-PID read gets the same treatment.

Fixes #1084

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 20:41:23 +08:00
..
bin feat: multi-agent support — gstack works on Codex, Gemini CLI, and Cursor (v0.9.0) (#226) 2026-03-19 18:20:50 -07:00
scripts fix: ngrok Windows build + close CI error-swallowing gap (v0.18.0.1) (#1024) 2026-04-16 13:49:04 -07:00
src fix: surface non-EEXIST errors in acquireServerLock instead of masking them 2026-04-20 20:41:23 +08:00
test feat(v1.4.0.0): /make-pdf — markdown to publication-quality PDFs (#1086) 2026-04-20 13:20:30 +08:00
PLAN-snapshot-dropdown-interactive.md fix: snapshot -i auto-detects dropdown/popover interactive elements (#845) 2026-04-05 22:57:45 -07:00
SKILL.md feat(v1.4.0.0): /make-pdf — markdown to publication-quality PDFs (#1086) 2026-04-20 13:20:30 +08:00
SKILL.md.tmpl feat(browse): Puppeteer parity — load-html, screenshot --selector, viewport --scale, file:// (v1.1.0.0) (#1062) 2026-04-18 23:25:33 +08:00