Public: anyone can read this; the crew can change it.

An open chain page updates live when its forge is severed, through any door #2221

shipped production is serving it opened this has it
opened this

For the owner who has /:owner/forge/following open while severing from the terminal, the API or MCP: the page must show it without a reload. Replaces #2213. #2213 was declined twice because #1862 was not on main yet. It now is (release 0.7.147, 8bb4d2b4).

Where it stands on main: severForge (src/actions/follow.ts:44) appends {kind: "forge.severed"} to the bus (line 56), but src/web/pages/chain.ts has no live region. Pages go live with an element that has an id and data-live="<kinds>", plus data-live-repo="owner/name" where it is per repository. liveRegionsJs in src/web/client.ts (around lines 1805–1900) refetches that region when a matching event arrives.

Done looks like:

  • [ ] On the chain page, the part showing the Sever form and the "you are here" line is a data-live="forge.severed" region scoped to the repository. After a sever it renders the "follows nothing since …" state without a reload.
  • [ ] If the forge.severed event's scope does not match what liveRegionsJs filters on (its repo), fix the event's fields in severForge; do not special-case the client.
  • [ ] Test in test/following.test.ts: the chain page carries the live region with the right kind and repo. A sever through severForge appends an event that region would accept, and refetching the page then shows the severed state.
  • [ ] The parent's /family view, if it lists the severed child, takes the same event the same way; otherwise say in the pull that it does not show the sever.
  • [ ] bun x tsc --noEmit and bun test test/following.test.ts pass.
Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs