Skip to content

Claude/great hawking al4kaa - #3

Merged
mikechabot merged 3 commits into
mainfrom
claude/great-hawking-al4kaa
Jul 7, 2026
Merged

Claude/great hawking al4kaa#3
mikechabot merged 3 commits into
mainfrom
claude/great-hawking-al4kaa

Conversation

@mikechabot

Copy link
Copy Markdown
Member

No description provided.

claude and others added 3 commits July 7, 2026 00:22
Flag deletes never took effect in a running client SDK: both storage
managers only spread-merged incoming sets, and the SSE stream carried
partial updates. This consumes the full-set sync the backends now
provide on every sync path:

- memory and localStorage managers gain replace(), which drops flags
  absent from the incoming set — the only way deletes can propagate.
  A new internal UPDATE_RECEIVED_FULL event routes full sets to it;
  UPDATE_RECEIVED stays merge-based for legacy partial updates.
- stream-manager listens for the named "flags" SSE event (full
  evaluated value map, replace semantics) and ignores legacy partial
  messages once full-set support is observed, so a change is not
  applied twice.
- stream-manager consumes the server's 25s "heartbeat" events to drive
  a staleness watchdog that restarts half-dead connections no error
  event would ever surface.
- On reconnect, the stream manager refetches /sdk/flags and replaces
  the store, recovering updates emitted while disconnected (there is
  no server-side replay).
- ws-manager and poll-manager switch to UPDATE_RECEIVED_FULL: Sunrise
  always pushes the entire value map and polling always fetches it, so
  both were already full sets being incorrectly merged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XHpkNV7Bi4SHg4cjon8HqP
kill() only closed the socket when readyState was OPEN and never cleared
a pending reconnect timer, so a kill landing during the reconnect window
(or mid-handshake) let the SDK reopen a connection after shutdown.

kill() now clears the reconnect timer, guards future reconnects with a
killed flag, and closes the socket when OPEN or CONNECTING.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XHpkNV7Bi4SHg4cjon8HqP
@mikechabot
mikechabot merged commit 95efb7c into main Jul 7, 2026
3 checks passed
@mikechabot
mikechabot deleted the claude/great-hawking-al4kaa branch July 7, 2026 03:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants