whiteducksoftware / whiteducksoftware/flock

[1.0] Reconcile dashboard state after WebSocket reconnect

Open
#447 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Python
Stars
120
Forks
14
Avg merge
19h 32m
Merged PRs (30d)
8

Description

Some error/close sequences prevent reconnect, and opening a replacement socket does not reconcile a fresh snapshot. The dashboard can remain silently stale or miss updates.

Scope

  • Make reconnect robust across supported error/close sequences and mark stale/reconnecting state visibly.
  • Reconcile an authorized current snapshot with concurrent live updates without losing transitions or duplicating runs.
  • Bound buffering and signal any retention/overflow gap that requires resynchronization; discard stale state on identity changes.

Acceptance criteria

  • Controlled disconnect/error/close permutations reconnect and reach the same state as a fresh authorized API read.
  • Updates arriving during snapshot loading are neither silently lost nor duplicated.
  • An identity change cannot retain another reader's cached data; an overflow has a visible recovery path.

Boundaries

Reuse the existing WebSocket transport. A full changelog or SSE transport is not required; any adopted cursor path must enforce reader/filter/generation binding.

References

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading src/flock/frontend/src/services/websocket.ts, src/flock/api/websocket.py, and src/flock/frontend/src/store/streamStore.ts, then review dependencies #431, #432, and #445. Trace reconnect, snapshot, buffering, and identity-change entry points before defining the state transitions. Done means the listed disconnect permutations recover correctly, concurrent updates are preserved without duplication, and overflow or identity changes have visible safe recovery.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, typescript
Domain
api, backend, frontend
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.