Skip to content

Multi-source Phase C3: background-activity dashboard + enable→auto-sync #99

Description

@jozef2svrcek

Phase C3 of multi-source (#40) — the global background-activity view and the auto-on-enable wiring.

Activity dashboard

  • An app-wide indicator (header) that expands into a global Activity panel showing the daemon's job pipeline: the active job + queue + recent, across all job types (source syncs, the scheduled update, manual maintenance like dedup/index/backup). The JobManager already tracks every job uniformly, so this is mostly a read of GET /jobs.
  • Source cards keep their inline per-source progress (shipped in C1); the global/post-import tasks (index, normalize) and non-source jobs live in the Activity panel — not as fake source cards.
  • Rationale: background work is serial (single DuckDB writer), spans screens, and runs on the daemon even with the GUI closed — so it deserves one always-visible home. Decision recorded in Support for more reference databases #40 discussion.

enable → auto-background-sync

  • Today, enabling a source in the Sources screen (C1) does not auto-start its import — the user must hit "Sync now". Wire the auto-background model: enabling sets the flag, and the daemon's scheduler (~60s tick) picks up enabled-but-not-yet-synced sources and runs the import in the background (works even if the GUI is closed). "Sync now" remains an optional manual force.
  • Backend: extend scheduler.rs to detect enabled sources with no successful sync and submit a sync job (de-duped against an already-running one).

Relates to #40.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions