Conversation
This was referenced Aug 27, 2026
dokterdok
force-pushed
the
wip/95163-roomlink-desktop
branch
3 times, most recently
from
August 27, 2026 07:01
5061197 to
c25509e
Compare
dokterdok
force-pushed
the
wip/95163-roomlink-desktop
branch
5 times, most recently
from
August 27, 2026 11:16
9c4bb7e to
c50227a
Compare
dokterdok
force-pushed
the
wip/95163-roomlink-desktop
branch
from
August 27, 2026 16:33
c50227a to
f692068
Compare
dokterdok
force-pushed
the
wip/95163-roomlink-desktop
branch
from
August 27, 2026 16:41
f692068 to
a6875fa
Compare
Contributor
This diff is too large for an automated line-level review (>30 files or >200KB). Recommend a manual review. |
Contributor
Author
|
Closing this cumulative prototype now that #97681 captures the user contract, safety boundaries, and phased landing plan against the rebuilt Bot Mode tree. Its useful layer can be re-cut as a narrow current-main contribution after the foundation direction is agreed. |
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.
Summary
Bot group chats should feel the same whether their Bots live on one gateway or
several. Today a cross-gateway room stops when Desktop closes because the
renderer is the relay and coordinator.
This stacked draft makes the green path automatic:
mode.
turns.
Technical transport choices stay under Advanced. Unsupported or older
gateways keep the current Desktop-driven behavior.
Continuity modes
User experience
gateway.room_link_urlaction underAdvanced; it does not leak routing jargon into the normal flow.
Sending,Queued until the gateway reconnects, andWorkinginstead of claiming work is active while offline.thread does not simultaneously claim that work is running.
without duplication.
falling back to the gateway's default Bot.
authoritative event. A polluted local cache repairs itself on refresh.
settlement events.
Allow onceorDeny.while work is still stopping.
can stage bytes; same-gateway file sharing remains available.
Recovery and compatibility
A renderer crash resumes disband/revocation from the exact checklist.
deletion.
Validation
Rebased on verified boundary
origin/main@f3cbb262c1, exact complete heada6875fa727:git diff --checka6875fa727The changed-file Python run has one local-environment failure in
tests/gateway/test_api_server.py: its detailed-health expectation failsidentically on untouched
origin/mainbecause this Mac links SQLite 3.50.4 andHermes correctly reports degraded WAL safety. No hosted-room, peer-run,
RoomLink, or Bot Mode assertion failed in that run.
The official full runner completed all 3,325 test files. Its remaining failures
are local CUA, SQLite, UNIX-socket/path, Linux/WSL/voice-tool, and checkout-path
preconditions. The only two failing files that intersect this stack are
tests/gateway/test_api_server.pyandtests/tools/test_bot_mode_dm.py; bothfail identically on untouched
origin/mainunder the same host conditions.The isolated canaries covered Desktop-driven compatibility, two Bots on one
gateway, two gateways on one host/network, and two gateways on separate hosts.
The two-host receipt was:
UAT_OK remote_reply=1 restart_recovered=1 stop_acknowledged=1 target_terminal=1 scoped_route_revoked=1A final real-gateway UAT then created a fresh room with one named Bot on each of
two separately hosted gateways. Both Bots replied. A second turn deliberately
kept both Bots busy while the Desktop process was terminated immediately: the
home gateway still reported running work after the exit, all tasks settled
without Desktop, and a fresh Desktop process replayed both replies plus the
prior ordered threads. The run also found and fixed named-profile routing,
container DNS, actionable setup copy, repeated replay echoes, and inflated
thread counts before this head was published. Production names, URLs, and
conversation content are intentionally omitted here.
Screenshots use the actual built app with synthetic Bot and gateway names. The
full-screen light and dark captures show a normal exchange; a focused offline
capture shows the queued recovery state; Advanced shows the explicit setup
surface. No production names, URLs, credentials, or conversations are shown.
Screenshots
Normal multi-gateway room
Dark mode
Peer offline: work stays queued
Advanced continuity setup
Related work
groups.*contract is theintended non-duplicated path
Type of change