Skip to content

feat(host): a sidebar pin or section write answers once the followed sidebar has its transaction - #4451

Merged
luke-agent[bot] merged 1 commit into
mainfrom
luke/sidebar-txid-wait
Oct 21, 2026
Merged

luke-agent[bot] merged 1 commit into
mainfrom
luke/sidebar-txid-wait

Conversation

@charleslpan

@charleslpan charleslpan commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

This is the host half of the txid wait for repository pins and sidebar sections. It follows #4434, where those writes return their txid, and builds on #4423, which added the shared confirmWrite / onTxWait.

What changed:

  • workspaces-follow.ts: LiveReadDependencies takes an optional onTxWait and passes it through to liveRows.
  • compose-tasks.ts: the sidebar follow keeps the wait it is handed. That wait is cleared once the follow is let go or falls back to polling. TASKS_PIN_REPOSITORY and TASKS_WRITE_SECTION now call confirmWrite(wait, txid) before they update the view and reply to the window. Without this, a Realtime delivery from before the write could put the old sidebar back on screen.
  • Waiting is skipped when the write changed no row (no txid), or when the sidebar is polled or not followed yet. Per feat(host): liveRows hands out a wait for a write's transaction on its followed read #4423, the wait still confirms after 10 s.

Out of scope: task pins. They belong to the tasks-and-agents area.

Test (compose-tasks.test.ts): before the first refresh, a write waits on nothing. Once the sidebar is followed, a section write and a repository pin each wait until their txid arrives. A pin that changed nothing replies at once. With the confirmWrite call removed, the test fails.

Made with Luke

View guided diff Turn on auto-fix


Devin Review

…sidebar has its transaction

The sidebar's follow hands the host its wait for a write's transaction
(`onTxWait`) once its sections, entries, and pins are subscribed over
Realtime, and none once let go or polled. Pinning or unpinning a
repository, and every write to the sidebar's sections, now waits with
`confirmWrite` on the txid the service answered before it draws the
answer and answers the window, so a delivery from before the write never
draws the old sidebar back. A write that changed no row names no txid,
and a sidebar polled or not yet followed waits on nothing.

Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
@vercel

vercel Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
luke-web Ready Ready Preview Oct 21, 2026 9:11pm UTC

Request Review

@luke-agent
luke-agent Bot added this pull request to the merge queue Oct 21, 2026
Merged via the queue into main with commit e95a585 Oct 21, 2026
11 of 12 checks passed
@luke-agent
luke-agent Bot deleted the luke/sidebar-txid-wait branch October 21, 2026 21:22

This branch was successfully deployed

1 active deployment
Preview — 4fabc1de Deployed Oct 21, 2026 by vercel[bot]
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.

1 participant