Files
buzz/mobile/test/features
Tom Brow ba4d6459c6 fix(mobile): swap in a wider presence subscription only once it is live
A replacement opened when subscribeWithStatus returned, which also happens
on a retryable CLOSED or the 500 ms timeout, so it could retire a healthy
stream or blank every dot on a late EOSE. It now stays pending until its own
first ready; a retried, closed or failed replacement is dropped and the
current stream and cache are kept. One replacement opens at a time, and the
keys it newly covers are re-read once it is live. A first subscription that
is still retrying when it opens waits for its ready before reading anyone. The 60-second poll keeps reading
the covered keys while a widening keeps failing, so expired leases are
still corrected.

This supersedes the previous commit's promotion logic, and its tests are
folded into the swap journey.

Signed-off-by: Tom Brow <tomb@squareup.com>
Co-authored-by: studio <dc2fc481343672df31a689840c09299972e704dac592e0da6f18486646a7ee3e@buzz.block.builderlab.xyz>
2026-11-12 21:38:55 -08:00
..