Repository navigation
feat(service,host,panel): a task's version history is pushed from the live layer - #3930
Merged
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
vespin-agent
Bot
force-pushed
the
luke/neon-realtime-inbox-pages
branch
from
October 19, 2026 20:15
40e3747 to
541a510
Compare
vespin-agent
Bot
force-pushed
the
luke/neon-realtime-task-history
branch
from
October 19, 2026 20:31
6d212a1 to
cc26b0a
Compare
vespin-agent
Bot
force-pushed
the
luke/neon-realtime-inbox-pages
branch
from
October 20, 2026 01:36
541a510 to
9ee1899
Compare
vespin-agent
Bot
force-pushed
the
luke/neon-realtime-task-history
branch
from
October 20, 2026 01:36
cc26b0a to
a3ba68e
Compare
vespin-agent
Bot
force-pushed
the
luke/neon-realtime-inbox-pages
branch
from
October 20, 2026 02:06
9ee1899 to
762af57
Compare
vespin-agent
Bot
force-pushed
the
luke/neon-realtime-task-history
branch
from
October 20, 2026 02:06
a3ba68e to
7a2d9b5
Compare
vespin-agent
Bot
force-pushed
the
luke/neon-realtime-task-history
branch
from
October 20, 2026 02:36
7a2d9b5 to
fd7965e
Compare
vespin-agent
Bot
force-pushed
the
luke/neon-realtime-inbox-pages
branch
2 times, most recently
from
October 20, 2026 03:16
d8e3a97 to
25dd475
Compare
vespin-agent
Bot
force-pushed
the
luke/neon-realtime-task-history
branch
from
October 20, 2026 03:16
fd7965e to
5e9cabd
Compare
vespin-agent
Bot
force-pushed
the
luke/neon-realtime-task-history
branch
from
October 20, 2026 23:39
5e9cabd to
a542fd0
Compare
vespin-agent
Bot
force-pushed
the
luke/neon-realtime-inbox-pages
branch
from
October 20, 2026 23:39
25dd475 to
35811de
Compare
vespin-agent
Bot
force-pushed
the
luke/neon-realtime-task-history
branch
from
October 21, 2026 00:11
a542fd0 to
e2065f9
Compare
vespin-agent
Bot
force-pushed
the
luke/neon-realtime-inbox-pages
branch
from
October 21, 2026 00:11
35811de to
523aa77
Compare
vespin-agent
Bot
force-pushed
the
luke/neon-realtime-task-history
branch
from
October 21, 2026 00:33
e2065f9 to
60ba047
Compare
vespin-agent
Bot
force-pushed
the
luke/neon-realtime-inbox-pages
branch
from
October 21, 2026 00:33
523aa77 to
088d5f5
Compare
vespin-agent
Bot
force-pushed
the
luke/neon-realtime-inbox-pages
branch
from
October 21, 2026 00:51
088d5f5 to
a86f9f2
Compare
vespin-agent
Bot
force-pushed
the
luke/neon-realtime-task-history
branch
from
October 21, 2026 00:51
60ba047 to
6c179a6
Compare
vespin-agent
Bot
force-pushed
the
luke/neon-realtime-inbox-pages
branch
from
October 21, 2026 01:04
a86f9f2 to
c714aee
Compare
vespin-agent
Bot
force-pushed
the
luke/neon-realtime-task-history
branch
from
October 21, 2026 01:06
6c179a6 to
597b123
Compare
vespin-agent
Bot
force-pushed
the
luke/neon-realtime-inbox-pages
branch
from
October 21, 2026 01:14
c714aee to
097c603
Compare
vespin-agent
Bot
force-pushed
the
luke/neon-realtime-task-history
branch
from
October 21, 2026 01:15
597b123 to
bc9d750
Compare
vespin-agent
Bot
force-pushed
the
luke/neon-realtime-inbox-pages
branch
from
October 21, 2026 01:24
097c603 to
3763211
Compare
vespin-agent
Bot
force-pushed
the
luke/neon-realtime-task-history
branch
from
October 21, 2026 01:25
bc9d750 to
49eb4ba
Compare
vespin-agent
Bot
force-pushed
the
luke/neon-realtime-inbox-pages
branch
from
October 21, 2026 04:54
3763211 to
5e08fd8
Compare
vespin-agent
Bot
force-pushed
the
luke/neon-realtime-task-history
branch
from
October 21, 2026 04:56
49eb4ba to
aeba228
Compare
…n Realtime The service answers one task's newest page of plan history at live.taskHistory (/api/live/task-history): one deterministic statement that reads what listRevisions reads for its newest page, one past the page among it to say whether an older page stands, with the member, the agent, the call and the revision a restore brought back, under the same rule of who may read it, sealed or with ?poll=true its rows inline. A PGlite test holds it to listRevisions as Luke writes on a call, an agent and the developer save, a revision is restored and the history outgrows a page, and to no rows for a stranger; the live-statement tests read it for immutability and the Drizzle seal. UNKNOWN_AGENT_LABEL moves to task-wire, so the reader names an agent whose row is gone as the store does. The host follows a plan's newest page of history over liveRows while a window follows it, tells each change as tasks.historyChanged, and the act port answers tasks.historyFollow as an eventIterator, as the pages' is. The version history reads its newest page once and then takes the stream, and no longer reads it again on every edit of the task; older pages are read from the service as before, and the plan template's history, which follows nothing, reads once. Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
vespin-agent
Bot
force-pushed
the
luke/neon-realtime-task-history
branch
from
October 21, 2026 05:03
aeba228 to
606a71e
Compare
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #3919. The newest page of a task's plan version history is now pushed to the window through main's central live layer. The list is no longer re-read on every task-record
editedAtwhile the history is open.What changed
Service.
live.taskHistory(GET /api/live/task-history?id=) serves one statement (task-history-live.ts). It reads whatlistRevisionsreads for the newest page:PAGE + 1revisions, picked by a subquery;user,coding_agent, the call, and the revision a restore brought back;It goes through
sealedParts, so it is sealed or held-polled. It checkssameUser.Shared label.
UNKNOWN_AGENT_LABELmoves totask-wire, so the reader names a missing agent the way the store does.Tests.
listRevisions. It covers a call save, an agent save, a developer save, a restore, and a history past one page. A stranger reads nothing.Host.
client.historyLive, a host follow withtasks.historyChanged, and aneventIteratorproceduretasks.historyFollow, the same shape as the pages follow.Window.
usePlanHistoryreads the newest page once, then takes the stream through the source'sfollowNewest.editedAtno longer re-reads the list.Restore wait dropped. There's no transaction-id wait; that work was dropped with feat(host): liveRows hands out a TxWait for a write's transaction (P4) #4230.
Checks run locally
Typecheck, lint, knip and
repository-checksall pass. Vitest across the affected areas passes (4257 tests).Made with Luke