Editing together no longer shows a moment offline every quarter of an hour.
For hosts: status in typograph_collaboration_changed and collaboration.status() stay
connected during a renewal. editing.writer still follows the connection itself
(see Collaboration).
onClose (handed to its socket, which calls it before it reports
the status) marks a close with 4205 (Reset Connection) as a renewal; status() reports
connected for up to RENEWAL_GRACE_MS while current_status stays honest for is_writer().
After destroy() the socket's connect() is a no-op, so the reconnect its onClose scheduled
does nothing.onClose drops every other client from the awareness without a
new clock, and y-protocols ignores the room's states at the clock it has. The editor lowers the
clock of the clients the provider removed by one (only that origin), so the room's states apply
as soon as it is back; the removals the provider sends then are older than the room's, and
collab-service skips them. The provider drops the others before the editor hears the close code,
so a removal-only change from the provider is handled a microtask later; on a renewal the
dropped states are kept (kept_states, read through states()) until the room's next change, or
for RENEWAL_GRACE_MS.