fix(maint): resurface dedup/gated-purge results after navigate-away (#877) #113
Reference in New Issue
Block a user
Delete Branch "dev"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Long-running maintenance tasks now survive navigating away or reloading the page.
Problem
VideoDedupCard+GatedPurgeCardheld the in-flight Celery task id only in component refs and polledtask-resultinline — leaving the page mid-run lost the id, so the result was never shown even though the task finished on the worker. Secondary bug: both watchedQueueStatusBar queue="maintenance"buttasks.admin.*routes tomaintenance_long, so the bar never reflected their own task.Fix
useMaintenanceTaskcomposable: persists{taskId, mode, startedAt}to localStorage on dispatch, re-attaches on mount, and re-shows the result when the task finishes (celery result backend retains the summary). 3h stale-guard.QueueStatusBarcorrected toqueue="maintenance_long".CI green on dev (run 1174,
e287802). Frontend-only.🤖 Generated with Claude Code
Long-running maintenance tasks must survive navigating away or reloading the page. VideoDedupCard + GatedPurgeCard held the in-flight Celery task id only in component refs and polled task-result inline, so leaving the page mid-run lost the id and the result was never shown — even though the task finished on the worker. New shared composable useMaintenanceTask: persists {taskId, mode, startedAt} to localStorage on dispatch, re-attaches on mount, and re-shows the result when the task finishes (the celery result backend retains the summary well under result_expires). Stale-guard skips resume past 3h. Both cards refactored onto it; card-specific computeds + confirm dialog kept. Also fixed the QueueStatusBar lane: both cards watched queue="maintenance" but tasks.admin.* routes to maintenance_long, so the bar never reflected their own task — now queue="maintenance_long". Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>