2cb476e36b
The first Gmail backfill leaves the account at "pending · never synced" until it fully completes (the sync_runs row only finalizes at the end), so there was no feedback. /api/email/status now also returns captured_emails (total, which climbs page-by-page during backfill), the latest sync run, and a backfilling flag. The panel shows a "Backfilling… N captured so far" banner + an Emails Captured count and auto-refreshes every 5s while a backfill is in progress. Verified live in preview with seeded data (count auto-climbed 37 -> 50 without manual refresh). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
19 lines
942 B
TypeScript
19 lines
942 B
TypeScript
import { VersionInfo } from '@start9labs/start-sdk'
|
|
|
|
// Email Capture: show live backfill progress. The status endpoint now reports total
|
|
// emails captured (climbs page-by-page during backfill, since the sync-run row only
|
|
// finalizes at the end), the latest sync run, and whether a backfill is still in
|
|
// progress. The panel shows a "Backfilling… N captured so far" banner + an Emails
|
|
// Captured count, and auto-refreshes every 5s while a backfill runs. No schema migration.
|
|
export const v_0_1_0_61 = VersionInfo.of({
|
|
version: '0.1.0:61',
|
|
releaseNotes: {
|
|
en_US: [
|
|
'Email Capture now shows live backfill progress: a count of emails captured so far',
|
|
'that ticks up while the first sync pulls your history, plus a clear backfilling banner',
|
|
'that refreshes on its own. No more staring at a static "pending" with no feedback.',
|
|
].join(' '),
|
|
},
|
|
migrations: { up: async () => {}, down: async () => {} },
|
|
})
|