Skip to content

visualize DB sync stages sequentially with % completion #2564

@thedavidmeister

Description

@thedavidmeister

Problem

The Database Sync Status modal shows one stage label per chain (e.g. "Decoding raindex logs", "Running bootstrap", "Fetching raindex logs"). Each chain advances through a fixed pipeline of stages, but the UI surfaces only the current label without the surrounding sequence — so the user can't tell:

  • which stages have completed
  • which stages remain
  • roughly how far through the sync each chain is

When chains spend minutes in a particular stage, the modal looks identical to a hung sync.

Proposal

Render each chain's row as a stepper / progress bar through the canonical pipeline. Concretely:

  • Show all stages of the runner pipeline in order with the current one highlighted, prior ones marked complete, future ones dimmed.
  • Pipeline stages from `crates/common/src/local_db/pipeline/runner/mod.rs` `TargetStage`:
    1. `ManifestFetch`
    2. `DumpDownload` (incl. bootstrap)
    3. `EngineBuild`
    4. `EngineRun` (where current sub-stages like "Fetching raindex logs" / "Decoding raindex logs" live)
    5. `Export`
  • Optionally percentage = (completed-stage count + fraction-of-current-stage) / total.

The current sub-stage labels ("Fetching", "Decoding", "Running bootstrap") should appear under the active step rather than as the only thing shown.

Acceptance

  • For an in-progress sync, the modal shows the full pipeline ordering for each chain with the current stage visually distinct.
  • A user glancing at the modal can answer "which stages remain?" and "is this stuck or progressing?" without reading source.
  • Failed syncs continue to display the underlying error text in addition to the stage indicator.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions