diff --git a/frontend/src/components/SyncStatus.tsx b/frontend/src/components/SyncStatus.tsx index 447238e..2e5c368 100644 --- a/frontend/src/components/SyncStatus.tsx +++ b/frontend/src/components/SyncStatus.tsx @@ -57,6 +57,13 @@ export default function SyncStatus({ {t("header.sync.syncing", { count: syncing })} + ) : notFull > 0 ? ( + // Recent uploads are in, but the scheduler is still backfilling full history — + // so "all synced" would be misleading. Reflect the deep work as active. + + + {t("header.sync.backfillingHistory")} + ) : ( {t("header.sync.allSynced")} )} @@ -74,9 +81,10 @@ export default function SyncStatus({ )} - {/* Pause only makes sense when there's work to pause; Resume must always show - while paused so it can be lifted. Hidden entirely when idle and not paused. */} - {isAdmin && (data.paused || syncing > 0) && ( + {/* Pause only makes sense when there's work to pause (recent OR deep backfill); + Resume must always show while paused so it can be lifted. Hidden entirely when + idle and not paused. */} + {isAdmin && (data.paused || syncing > 0 || notFull > 0) && (