Repository navigation
feat(host): every read the host follows over Realtime shares one socket (P1) - #3287
Closed
charleslpan wants to merge 2 commits into
Closed
charleslpan wants to merge 2 commits into
charleslpan wants to merge 2 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
luke-agent
Bot
changed the base branch from
main
to
luke/neon-realtime-scope-inbox
October 17, 2026 01:30
luke-agent
Bot
force-pushed
the
luke/neon-realtime-scope-inbox
branch
from
October 18, 2026 19:21
0a6e6cd to
35d1920
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-shared-socket
branch
from
October 18, 2026 19:53
b9113b0 to
6b39c87
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-scope-inbox
branch
from
October 18, 2026 21:12
35d1920 to
ff729c0
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-shared-socket
branch
from
October 18, 2026 21:41
6b39c87 to
c64350e
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-scope-inbox
branch
from
October 19, 2026 18:52
ff729c0 to
7c1c859
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-shared-socket
branch
from
October 19, 2026 18:53
c64350e to
9ef7250
Compare
This was referenced Oct 19, 2026
Closed
luke-agent
Bot
force-pushed
the
luke/neon-realtime-scope-inbox
branch
from
October 20, 2026 00:57
7c1c859 to
40e92d8
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-shared-socket
branch
from
October 20, 2026 01:15
9ef7250 to
48b281d
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-scope-inbox
branch
from
October 20, 2026 01:29
a7cb527 to
39ca561
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-shared-socket
branch
from
October 20, 2026 01:31
48b281d to
21e5770
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-scope-inbox
branch
from
October 20, 2026 01:43
39ca561 to
40e1669
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-shared-socket
branch
from
October 20, 2026 01:44
21e5770 to
7bbd164
Compare
luke-agent Bot
added a commit
that referenced
this pull request
Oct 20, 2026
…another's session is signed out As #3287's live reads now do, `listLive` sends `?userId=` and answers `LIVE_SIGNED_OUT` where the service refuses the session as another account's. Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
luke-agent Bot
added a commit
that referenced
this pull request
Oct 20, 2026
… for good once signed out Each seal and renewal of a workspace's issues names the account signed in as the follow started, as #3287's follows do; a seal or renewal refused as signed out ends the follow rather than asking again, and a follow that broke says why in the log before it starts again. Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
This was referenced Oct 20, 2026
Merged
Merged
luke-agent
Bot
force-pushed
the
luke/neon-realtime-scope-inbox
branch
2 times, most recently
from
October 20, 2026 15:50
ff97170 to
9710e65
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-shared-socket
branch
from
October 20, 2026 21:35
1afaa1b to
e95f277
Compare
luke-agent
Bot
changed the base branch from
luke/neon-realtime-scope-inbox
to
main
October 20, 2026 21:35
Neon's client multiplexes every subscription over one connection, and its guide says to create one client for the whole app. The host opened one per followed read, so an account whose Inbox follows many plans held many sockets. openRealtimeClient now shares one client per address, by handle: a read's close lets go of its handle, and the socket closes with the last. Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
… on it moves to error Neon's guide: a client whose connection failed cannot reconnect, so a new one is created before subscribing again. The next read opens a new client rather than sharing one that may be dead; the old one closes once its last holder lets go. Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
luke-agent
Bot
force-pushed
the
luke/neon-realtime-shared-socket
branch
from
October 20, 2026 22:20
e95f277 to
9589265
Compare
Contributor
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.
Stack P · Live plumbing, P1 of 4. Rebuilt on
main'slive-follow.ts(#4072, plus #4172's poll fallback). This PR is now only P1.shareLiveClients).error, the next read opens a new client. Neon's guide says a client whose connection failed can't reconnect. The old one closes when its last holder lets go. This fits feat(host): a live read polls while Realtime fails it #4172: its resubscribe opens a fresh client.The same-user check and the account-inbox and scope-inbox hunks have moved out. The same-user check is now #4228. The scope inbox moves up to #3232. The account inbox stays on the held read (#4074).
Tests:
live-follow.test.ts, the shared-client cases.