Conversation
Replace the 1s interval poll of the full production line with the manager's long-poll participants endpoint. Line metadata is seeded once up front, then participants are kept current by re-issuing the held-open request each time it resolves, cutting redundant request volume while preserving the existing consecutive-failure error handling. Closes #30
Code ReviewVerdict: Needs Changes Summary: Solid long-poll rewrite: routes through the BlockingNone. Warnings
Suggestions
Domain NoteAffects participant-list presence updates; behavior now depends on the manager's Posted by daily-backlog-pr Phase 3; moving back to Ready. |
Code Review — Verdict: NEEDS CHANGES(Posted as a comment: GitHub blocks a formal request-changes review on a self-authored PR under this automation account. Treat this as the review of record.) Summary: The change replaces 1000ms interval polling with a long-poll loop fetching participants only, seeding line metadata via a one-shot Warnings
Suggestions
Moving back to Ready for backoff + hook/pure-function tests. |
|
Automated code-reviewer verdict (daily-backlog-pr Phase 3): NEEDS CHANGES
The core long-poll migration is well-executed — metadata seeded once via High
Medium
Nits
|
|
Automated code-reviewer verdict (daily-backlog-pr Phase 3): NEEDS CHANGES Solid direction: the new REST call goes through the Blocking
Warnings
Moving issue #30 back to Ready.
|
daily-backlog-pr Phase 3 — automated review (verdict: Needs Changes)
Findings
Abort/cleanup and stale-closure handling are otherwise correct. |
Code ReviewVerdict: Needs Changes Summary: The refactor to long-polling is architecturally clean (routes through Blocking
Warnings
Suggestions
|
Automated code review (daily-backlog-pr) — Needs ChangesNote: posted as a comment rather than a formal "Request changes" review because the pipeline account authored this PR and GitHub blocks self-review. The core design (long-poll loop with AbortController cancellation) is sound: abort/race handling and the 5/10 consecutive-failure semantics are correctly preserved and the call routes through the
Moving back to Ready on the board. |
|
code-reviewer verdict: NEEDS CHANGES (PR #691, closes #30) AbortController cleanup and 5/10 failure escalation are correct, but:
Note: recorded as a comment, not a state-bearing |
|
Automated code-review verdict: NEEDS CHANGES — implements #30.
Posted as a comment, not a state-bearing GitHub review: the daily-backlog-pr review identity ( |
Summary
API.fetchLineParticipants, a POST to the manager's long-poll endpoint (/production/:productionId/line/:lineId/participants) that the server holds open until participants change or it times out.useLinePollingto seed line metadata once viafetchProductionLine, then keep the participant list current by re-issuing the long-poll request each time it resolves — replacing the previous fixed 1s interval poll of the full line.AbortController-based cancellation so in-flight requests are aborted on unmount/param change.Test plan
npm test— 147 passed)npm run typecheck)npm run lint)Closes #30
🤖 Generated with Claude Code
Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com