EDITOR: open editor gets transient 502s during a server restart #260

Open
opened 2026-09-27 18:40:04 +00:00 by kayg · 1 comment
Owner

Found by the #234 fonts job's adversarial round (2026-09-27). During a server restart, an open editor's requests (GET /api/v1/files/entries?path=Notes, /api/v1/notes, note backlinks, /api/v1/search) returned 502; the edit marker later persisted exactly once and the server recovered. Expected: the client treats 502/503/connection-reset during a restart as transient (bounded backoff retry, the existing reconnect banner if longer than ~2 s), never an error toast, and never double-applies an edit. Add a real-server regression in tests/adversarial/editor.mjs. Low priority: fold into the next editor job.

Found by the #234 fonts job's adversarial round (2026-09-27). During a server restart, an open editor's requests (GET /api/v1/files/entries?path=Notes, /api/v1/notes, note backlinks, /api/v1/search) returned 502; the edit marker later persisted exactly once and the server recovered. Expected: the client treats 502/503/connection-reset during a restart as transient (bounded backoff retry, the existing reconnect banner if longer than ~2 s), never an error toast, and never double-applies an edit. Add a real-server regression in tests/adversarial/editor.mjs. Low priority: fold into the next editor job.
Author
Owner

Duplicate candidate: #256 reports the same open-editor restart window, GET endpoints and transient 502 responses. This issue adds the expected bounded retry and reconnect behavior and a real-server regression. Recommend keeping #260 as the tracking issue and linking #256 as repeated evidence; do not close either issue as part of this audit.

Duplicate candidate: #256 reports the same open-editor restart window, GET endpoints and transient 502 responses. This issue adds the expected bounded retry and reconnect behavior and a real-server regression. Recommend keeping #260 as the tracking issue and linking #256 as repeated evidence; do not close either issue as part of this audit.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/calternal#260
No description provided.