githubnext/chopinPublic

Let's compose rich plans together

Rebuild on a rotated epoch, and keep a blip from showing anywhere

A document rebuilt while a client was away is now rebuilt locally too,
rather than merged into, so edits made during a blip cannot fork it; the
person is told when unsent edits were dropped. Focus and visibility wake
the wire at most once a second and keep the backoff, and one attempt lands
inside the grace period. A send during a blip waits for the connection,
decision actions say when they failed for want of one, and Chat's
offline status matches the document header's.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
C5MAMaggie Appleton and Claude Opus 5.5 authored
24c378dPatch
Parentdcf9f04
14 files changed+407-59
StackedSplit
apps/web/src/chat/chat.tsx+42 −21
apps/web/src/chat/composer.css+8 −1
apps/web/src/room-workspace.tsx+4 −4
apps/web/src/wire.test.ts+50 −2
apps/web/src/wire.ts+30 −2
e2e/chat-references.e2e.ts+7 −4
e2e/connection.e2e.ts+112 −1
packages/editor/src/plan-editor.tsx+15 −1
packages/editor/src/provider.test.ts+52 −3
packages/editor/src/provider.ts+24 −13
packages/editor/src/styles.css+27 −0
packages/question/src/react/questionnaire-controller.ts+17 −6
packages/question/src/react/unreachable.test.ts+16 −0
packages/question/src/react/use-questionnaire-refresh-save.test.ts+3 −1