Repository navigation
feat(host): the Mac follows its commands over Neon Realtime and says it listens on a slow timer - #3285
Merged
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-mac-commands
October 17, 2026 01:26
luke-agent
Bot
force-pushed
the
luke/neon-realtime-mac-commands
branch
from
October 18, 2026 19:50
540286a to
ec49c51
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-mac-commands-host
branch
from
October 18, 2026 19:51
9d16ee2 to
83e02df
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-mac-commands
branch
from
October 18, 2026 21:41
ec49c51 to
b3d46c5
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-mac-commands-host
branch
from
October 18, 2026 21:41
83e02df to
307b1ea
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-mac-commands
branch
from
October 19, 2026 18:52
b3d46c5 to
1fc8bac
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-mac-commands-host
branch
from
October 19, 2026 18:52
307b1ea to
597a507
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-mac-commands-host
branch
from
October 20, 2026 01:24
597a507 to
7ebccf4
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-mac-commands
branch
from
October 20, 2026 01:24
1fc8bac to
3612722
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-mac-commands-host
branch
from
October 20, 2026 01:30
7ebccf4 to
79b18ae
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-mac-commands
branch
from
October 20, 2026 01:30
3612722 to
f5099ab
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-mac-commands-host
branch
from
October 20, 2026 01:53
79b18ae to
109843f
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-mac-commands
branch
from
October 20, 2026 01:53
f5099ab to
c078c53
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-mac-commands-host
branch
from
October 20, 2026 02:19
109843f to
5554106
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-mac-commands
branch
from
October 20, 2026 21:55
7516be4 to
846b137
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-mac-commands-host
branch
from
October 20, 2026 21:55
5554106 to
605803d
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-mac-commands
branch
from
October 20, 2026 23:30
846b137 to
372d3e2
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-mac-commands-host
branch
from
October 20, 2026 23:33
605803d to
4b578f2
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-mac-commands
branch
from
October 21, 2026 00:07
372d3e2 to
740b9b3
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-mac-commands-host
branch
from
October 21, 2026 00:07
4b578f2 to
ced6ac2
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-mac-commands
branch
from
October 21, 2026 00:21
740b9b3 to
abf8d9a
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-mac-commands-host
branch
from
October 21, 2026 00:21
ced6ac2 to
6bd3c67
Compare
…ays it listens on a slow timer The Mac follows its account's unclaimed commands of the kinds it runs through liveRows (the poll the service holds until the rows move while Realtime is off, Realtime where LUKE_REALTIME turns it on), claims each new one by its id, and runs or refuses what the service grants it by its kind, in place of one held read after another. Every read names the account the follow started for, so a session the service signs out ends the follow. Presence is a POST every fifteen seconds for the Mac's kinds, well inside the service's forty-five-second freshness window. It is the one timer that remains, since no row change can say this process is alive. Each beat reads the gate first, so switching the setting off or signing out ends the follow and stops every running command. The client's held read goes: nothing on the desktop asks it any more, though the service still answers it for released desktops. Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
luke-agent
Bot
force-pushed
the
luke/neon-realtime-mac-commands-host
branch
from
October 21, 2026 00:39
6bd3c67 to
2c481f4
Compare
…Mac lets it go The client now tells a claim the service refused (another Mac took it, or it waited too long) from one that never reached it, and the follow asks an unanswered claim again a second apart, a few times, inside the claim window, since the rows that named it may not change again to say so. Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
… an account switch ends the follow A claim and its answer now run uninterruptibly on the concern's own set rather than the follow's fiber, so a command the service granted just as the setting was switched off is still answered as not run, not left for its call to wait out. The presence beat also ends the follow when the account signed in is no longer the one it started for, so the next follow names the new account. Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
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.
Stack 4 · Mac commands, on #3274.
compose-mac-commands.tsfollows the account's unclaimed commands through the live layer, in place of one held read after another.liveRowswith reseal and poll. Realtime is off (noLUKE_REALTIME), so this is the poll the service holds until the rows move (feat(service,host): hold a live read's poll until its rows move #4272). Every read namesaccountId(LIVE_USER_QUERY) and the Mac's kinds (RUNS, shell). When the service answers signed out, the follow ends.macCommands.listening(RUNS)is sent at once and then every 15 s, inside the service's 45 sLISTENER_FRESH. No row change can say the process is alive. Each beat reads the gate first. When it shuts, the follow and the beats end, and running commands are stopped.waiting()is removed, because the desktop no longer asks for it. The service still answers it.compose-mac-commands.test.tsruns against a scripted service with Realtime off: answered polled, and held until the rows move. It covers:Checked piece by piece:
tscfor features and host; vitest over all of host and the client; knip; oxlint; discarded-effect.