Skip to content

Documentation / @etherfold/browser / SyncPhase

Type Alias: SyncPhase ​

SyncPhase = "waiting" | "loading" | "catching-up" | "at-tip" | "refused"

Defined in: packages/browser/src/host/envelope.ts:68

WHICH OF THE FIVE COARSE THINGS THE FOLD IS DOING, as a tab renders them.

The set is closed and it is deliberately COARSE. SyncingState and StatusState carry the main thread's finer vocabulary -- fetchingLogs, processingFetchedLogs, InstallingStreamSeed, FetchingEventStream, ProcessingEventStream -- and those are the load's own sub-steps, visible on this thread because a hook holds the container and gets its callbacks for free. Across a port each of them would be a message, so what crosses is what an app CHANGES ITS SCREEN FOR: a spinner, a progress bar, a blank wait, an explanation.

The one distinction that costs nothing to keep and everything to lose is catching-up against at-tip, because that is the difference between "syncing, 400 blocks behind" and "live".