Repository navigation
feat(host): a workspace's chat is followed over Neon Realtime and streamed to the panels that draw it - #3923
Merged
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This was referenced Oct 19, 2026
luke-agent
Bot
force-pushed
the
luke/chat-live-statements
branch
from
October 20, 2026 01:34
05d95d7 to
c510534
Compare
luke-agent
Bot
force-pushed
the
luke/chat-live-follow
branch
from
October 20, 2026 01:34
853b29c to
eca66d6
Compare
luke-agent
Bot
force-pushed
the
luke/chat-live-statements
branch
from
October 20, 2026 01:49
c510534 to
6fc54b5
Compare
luke-agent
Bot
force-pushed
the
luke/chat-live-follow
branch
from
October 20, 2026 01:50
eca66d6 to
719d9b6
Compare
luke-agent
Bot
force-pushed
the
luke/chat-live-statements
branch
from
October 20, 2026 03:08
6fc54b5 to
254291f
Compare
luke-agent
Bot
force-pushed
the
luke/chat-live-follow
branch
from
October 20, 2026 03:08
719d9b6 to
585cf83
Compare
luke-agent
Bot
force-pushed
the
luke/chat-live-follow
branch
from
October 20, 2026 22:07
585cf83 to
9597028
Compare
luke-agent
Bot
force-pushed
the
luke/chat-live-statements
branch
from
October 20, 2026 22:07
254291f to
0aae577
Compare
luke-agent
Bot
changed the base branch from
luke/chat-live-statements
to
luke/chat-write-txid
October 20, 2026 22:08
This was referenced Oct 20, 2026
luke-agent
Bot
force-pushed
the
luke/chat-live-follow
branch
from
October 20, 2026 23:29
9597028 to
3a8dcc0
Compare
luke-agent
Bot
changed the base branch from
luke/chat-write-txid
to
luke/chat-live-statements
October 20, 2026 23:29
luke-agent
Bot
force-pushed
the
luke/chat-live-follow
branch
from
October 21, 2026 00:14
3a8dcc0 to
da38953
Compare
luke-agent
Bot
force-pushed
the
luke/chat-live-statements
branch
from
October 21, 2026 00:14
c4f1e0f to
804bbe3
Compare
luke-agent
Bot
force-pushed
the
luke/chat-live-statements
branch
from
October 21, 2026 00:42
804bbe3 to
b4f7c4b
Compare
luke-agent
Bot
force-pushed
the
luke/chat-live-follow
branch
from
October 21, 2026 00:42
da38953 to
9b720ed
Compare
luke-agent
Bot
force-pushed
the
luke/chat-live-follow
branch
from
October 21, 2026 00:52
9b720ed to
53705f4
Compare
luke-agent
Bot
force-pushed
the
luke/chat-live-statements
branch
from
October 21, 2026 00:52
b4f7c4b to
07980e2
Compare
luke-agent
Bot
force-pushed
the
luke/chat-live-follow
branch
from
October 21, 2026 01:12
53705f4 to
ffe6a84
Compare
luke-agent
Bot
force-pushed
the
luke/chat-live-statements
branch
from
October 21, 2026 01:12
07980e2 to
17e5c46
Compare
luke-agent
Bot
force-pushed
the
luke/chat-live-follow
branch
from
October 21, 2026 01:52
ffe6a84 to
b5fa91e
Compare
luke-agent
Bot
force-pushed
the
luke/chat-live-statements
branch
from
October 21, 2026 01:52
17e5c46 to
9bd85d9
Compare
luke-agent
Bot
force-pushed
the
luke/chat-live-follow
branch
from
October 21, 2026 02:22
b5fa91e to
05bd48a
Compare
luke-agent
Bot
force-pushed
the
luke/chat-live-follow
branch
from
October 21, 2026 02:32
05bd48a to
a36b6ec
Compare
…eamed to the panels that draw it A panel follows a workspace's chat by holding open a stream on its act port (codingAgents.chatFollow, an event iterator), as a transcript is followed: the host follows the chat on the first stream of it and lets it go with the last, and every change reaches every stream of it, in a window or a web tab alike. The host's follow (chat-follow.ts) joins the chat once, seals live.workspaceChat, follows its parts with liveRows (polled while Realtime fails it), and tells each change whole as chat.changed, never a sealed statement. A join or seal unanswered is told unanswered and tried again after five seconds; a chat not found is told so and let go; a sign-out lets every follow go. Nothing in the window moves onto it yet; the held read stays. Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
luke-agent
Bot
force-pushed
the
luke/chat-live-follow
branch
from
October 21, 2026 02:49
a36b6ec to
05a30ee
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.
Part of making workspace chat live over Neon Realtime. Stacked on #3916. One change: the host follows a workspace's chat and streams it to the panels that draw it.
What changes
Act port
codingAgents.chatFollowprocedure that returns a stream (oRPCeventIterator), following feat(host): a window follows an agent's transcript as a stream of pushed pages #4175's transcript pattern.push.stream.Host
chat-follow.ts:live.workspaceChatfor the account the follow started for (?userId=)liveRows: over Realtime whereLUKE_REALTIME=on, and otherwise by the held poll (feat(service,host): hold a live read's poll until its rows move #4272), which answers once the rows movechat.changed, and never sends a sealed statementcodingAgents.chatFollowandcodingAgents.chatUnfollow, and a newchat.changedevent.Nothing in the window moves onto this yet. That's #3928.
Tests
compose-coding-agents.test.ts:agent-inbox-procedures.test.ts:codingAgentChatFollowParamsSchemaandcodingAgentChatChangedSchema.