Skip to content

Active tasks: target titles, elapsed time, progress bar, current path#12

Merged
AshDevFr merged 2 commits into
mainfrom
task-details
May 6, 2026
Merged

Active tasks: target titles, elapsed time, progress bar, current path#12
AshDevFr merged 2 commits into
mainfrom
task-details

Conversation

@AshDevFr
Copy link
Copy Markdown
Owner

@AshDevFr AshDevFr commented May 6, 2026

Summary

  • The Active Tasks tooltip now distinguishes concurrent tasks. Each running row shows the formatted task type, the resolved target name (book / series / library title), and a once-per-second elapsed time counter. Long titles truncate with ellipsis and the full string is exposed via the hover title.
  • For long-running tasks that emit progress (scan_library, refresh_library_metadata, bulk thumbnail fan-outs, etc.), the tooltip renders a thin Mantine progress bar plus a dimmed message line. Paths use RTL ellipsis so the trailing filename stays visible while leading directories truncate.
  • Backend: GET /api/v1/tasks resolves bookTitle, seriesTitle, and libraryName via a column-projected LEFT JOIN over book_metadata, series_metadata, and libraries. The new fields are additive and skip_serializing_if = Option::is_none, so older clients see no payload change.

AshDevFr added 2 commits May 5, 2026 21:41
… badge

GET /api/v1/tasks now resolves bookTitle, seriesTitle, and libraryName via a
column-projected LEFT JOIN against book_metadata, series_metadata, and
libraries. Heavy columns (covers, descriptions) are excluded from the
projection so the polling endpoint stays cheap; existing FK indexes cover
all three joins. The new fields are additive and skipped from serialisation
when null, so older clients see no payload change.

The notification badge now renders each running task as
"<TaskType> · <Target> · <elapsed>", with elapsed time updating once per
second via an interval that only runs while at least one task is active.
Long titles truncate with ellipsis and expose the full string on hover.
SSE progress events do not carry titles; the hook preserves the most
recent polled titles across event merges so labels stay stable during
live updates.

Tests added on both sides.
…sks badge

The notification badge now shows a thin progress bar when a running task
emits progress with total > 0, and renders the optional progress.message
as a dimmed line below the row. Long file paths use RTL ellipsis so the
trailing filename stays visible while leading directories truncate; the
full path is exposed via the hover title.

Discovery-phase progress (total = 0) intentionally hides the bar to avoid
a meaningless 0% indicator while file enumeration is still running.

The backend already emits TaskProgressEvent::progress from scan_library
and other long-running handlers; this commit is the matching UI surface.
@cloudflare-workers-and-pages
Copy link
Copy Markdown

Deploying codex with  Cloudflare Pages  Cloudflare Pages

Latest commit: 57514a9
Status: ✅  Deploy successful!
Preview URL: https://bce0eadb.codex-asm.pages.dev
Branch Preview URL: https://task-details.codex-asm.pages.dev

View logs

@AshDevFr AshDevFr merged commit 346fc0a into main May 6, 2026
17 checks passed
@AshDevFr AshDevFr deleted the task-details branch May 6, 2026 14:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant