You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The sessions screen's gap band tells a reader their browser holds no key
for the fleet and that pairing again from any machine on it will fix
that. On a machine with no relay every clause of that is false: there is
no fleet, no others to be missing, and no machine to pair against — and
it is advice that cannot be followed and would fix nothing if it were.
The band is fed by FleetGaps, which only an expansion produces, so it
could only ever appear on a tab that had learned a relay origin. What it
never did was give that origin back. A tab open across a `flue relay
leave`, or a relay.json deleted by hand and the daemon restarted under
it, reconnects to a welcome naming no relay at all — and kept the last
expansion's counts for the life of the tab, plus a discovery tick asking
a directory through a machine that had left, once a minute and on every
focus, for an answer that can only be its own daemon's 404.
So the fleet reads the fact it was already sent and ignored: a welcome
with no relay on it — absent, or `off`, which the protocol says are one
statement — is this machine saying it is on none. The origin goes, the
once-per-epoch expansion flag goes with it so a machine that joins again
builds against the new origin, and the gaps snapshot goes because it
describes a fleet that is not there. noteGaps refuses a late one for the
same reason, so an expansion still in flight cannot put the band back up.
The slots already built stay: this machine leaving a relay says nothing
about whether the others are still on it, which is the same reason
adoptRemotes is additive.
What each state says now. No relay, this load or since: nothing — one
machine and no relay is a whole state, and the invitation to set up
remote access belongs to the Remote screen, which can carry it out. A
relay and no fleet key with no ceremony to this browser's name: the
enrolment story from #46, unchanged — enrolThisBrowser answers a bare
boolean, so 409 (this machine holds no fleet key) and 502 (the relay
would not answer) cannot be told apart here, and `check flue status on
this machine` is the honest sentence for both. A relay, no fleet key,
and a machine this browser paired with: that machine is about to hand
one over, unchanged. A relay and machines with no certificate to present
to: unchanged.
Tests: two at the fleet, two at the screen. The screen's `takes the band
down when its machine leaves the relay` is the one that reproduces the
report — it fails on main with the band still up, its text quoted in the
diff — and `stops reading once the machine has left the relay it named`
fails at four directory reads where it wants one.
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
0 commit comments