Reconcile stale running scrapes and allow per-scrape delete

This commit is contained in:
Fisto
2026-09-17 08:40:28 +02:00
parent 0b72422afe
commit d886d22d89
7 changed files with 83 additions and 4 deletions
+5 -2
View File
@@ -40,8 +40,11 @@ Rules:
- One running scrape at a time. Further requests queue.
- `stop` marks the job and lets the current page finish.
- `resume` continues a paused scrape from its stored cursor, so an interrupted walk does not fetch
the pages it already has again. The History popup has a **Resume** button and the API a
`POST /api/media/scrape/resume` route.
the pages it already has again. The History popup has **Resume** and **Delete** buttons and the
API a `POST /api/media/scrape/resume` route.
- On daemon start, scrapes still marked `running` or `queued` on disk are stale (their job died
with the previous daemon). They are reconciled to `paused` so the UI tells the truth and Resume
can continue them.
- Every page is an outbound read. Sends from commands keep their own pacing.
## Pacing and backoff
+2 -1
View File
@@ -140,7 +140,8 @@ box live in Chat, not Call, and the connection stats are not chips yet.
**New scrape…** opens a popup with **Server** and **Group chat**
tabs: servers expand into their text channels, each channel (and each group chat) has
**Links** and **Download** buttons, and group chats always use the puppet. **History** lists
each scrape with start time, duration, pages, messages, media counts, bytes, files, and previews.
each scrape with start time, duration, pages, messages, media counts, bytes, files, and previews,
and offers **Resume** for paused ones and **Delete** for anything not running.
The scrape strip shows live progress with a pulse and **Stop**. Images and GIFs render from the
cached preview when one exists, then the local file, then the CDN URL; videos and audio are link
cards with the poster and posted time in the tooltip.