Skip to content

Documentation / @etherfold/browser / GenerationProgress

Type Alias: GenerationProgress ​

GenerationProgress = object

Defined in: packages/browser/src/IndexerState.ts:146

A GENERATION THAT IS NOT ANSWERING READS, and how far its fold has got.

The FACT and the DISTANCE, and nothing beyond them. Whether a second generation existing means the answers on screen should be rendered, dimmed or hidden is not something this library can know: only the developer knows whether their reconfigure made the old answers WRONG or merely INCOMPLETE, so a library that decided would be deciding wrong half the time (story 5 of a-reconfigure-is-not-an-outage). It reports; the app decides.

Properties ​

blocksBehind? ​

readonly optional blocksBehind?: number

Defined in: packages/browser/src/IndexerState.ts:172

How far BEHIND the generation that is answering reads, in blocks: 0 means level (or ahead, which manual allows).

undefined when either cursor is unknown. A percentage is deliberately not reported: which span to divide by is a presentation decision (the whole chain, the catch-up, the last reconfigure), and this lastToBlock together with SyncingState.lastSync carries the numbers for any of them.


follows ​

readonly follows: boolean

Defined in: packages/browser/src/IndexerState.ts:154

Whether it FOLLOWS a stream another generation writes rather than fetching its own -- which is what the common reconfigure (a processor change) makes, and what makes it free.


lastToBlock? ​

readonly optional lastToBlock?: number

Defined in: packages/browser/src/IndexerState.ts:162

How far its fold has got, or undefined before it has loaded.

Absent rather than 0, because "it has folded nothing yet" and "it is level at block 0" are different claims and an app that dims on progress must be able to tell them apart.


record ​

readonly record: GenerationRecord

Defined in: packages/browser/src/IndexerState.ts:148

WHICH generation. The same record promote takes, so a report is actionable.