Add the Bot-tab backfill control room and media strip rules
This commit is contained in:
+20
-9
@@ -169,9 +169,13 @@ that deletion is irreversible. The delete button is disabled for a 5 second coun
|
||||
downloads, an ffprobe probe. GIF tiles carry a translucent **GIF** label top-left; the cached
|
||||
preview is a static frame and the animated GIF plays while hovering. The status row reads
|
||||
`(Images/Videos) | Downloaded I/V | Cached I/V | Loaded I/V` — image counts include GIFs, and
|
||||
each slot is the count for the active filters. A scrape strip shows live progress with Stop; it
|
||||
polls every 4 seconds while the tab is open, lists only queued/running jobs (paused ones live in
|
||||
History), and shows `X/Yp (~Z%)` when the search total is known. The grid scrolls infinitely
|
||||
each slot is the count for the active filters. A scrape strip shows live progress and polls every
|
||||
4 seconds while the tab is open. It shows every queued/running job plus at most one paused scrape
|
||||
(the newest not dismissed); **Stop** on a paused scrape only hides it here, so a new paused scrape
|
||||
can take its place while the hidden one stays resumable. The strip text turns red and reads
|
||||
`API limited, retry in Ns` while Discord throttles media traffic, and a translucent
|
||||
`N scrapes completed` line appears when scrapes finish — it lives until the tab is reloaded. Each
|
||||
row shows `X/Yp (~Z%)` when the search total is known. The grid scrolls infinitely
|
||||
(a **Load more** button appears as a fallback). Media whose source answers `403` shows a
|
||||
**PRIVATE** tile and `404`/`410` shows **GONE**, with the reason in the tooltip. Some channels deny the bot the search endpoint (`Missing Access`) even though history
|
||||
reads work, so the total is optional.
|
||||
@@ -183,13 +187,20 @@ that deletion is irreversible. The delete button is disabled for a 5 second coun
|
||||
backdrop click, X, or Close. Only active scrapes show in the strip; the view fills the window
|
||||
below the header and the call strip. The Bot tab lists bot and scrape errors with a red badge
|
||||
that disappears when the tab is opened and a Clear button.
|
||||
- **Bot** tab: slopbot connection state, the scrape queue, and the storage limit with a usage bar.
|
||||
The bar is segmented and colour coded by media kind (images, GIFs, video, audio, other) plus the
|
||||
database overhead.
|
||||
- **Bot** tab: slopbot connection state, the backfill queue, per-backend stats, and the tunables.
|
||||
**Backfill** shows totals (pending, cached, failed, downloaded, stored bytes), an ETA at the
|
||||
current settings, and a Bot/Puppet split of pending/cached/failed. One job card per chat lists its
|
||||
member scrapes (paused and resumed scrapes of the same chat are combined), per-kind pending
|
||||
counts, a cached/total progress bar, a measured ETA, and **Start**/**Pause**; the section header
|
||||
carries **Start backfill** and **Pause all**. A red banner reads `API timed out, increase timers`
|
||||
while a Discord cooldown holds the queue. **Settings** holds three collapsible groups —
|
||||
Backfilling, Scraping, Timers — each with a Save button; values persist in `preferences.json` and
|
||||
apply to live jobs immediately. The **Errors** list keeps the bot and scrape errors with the red
|
||||
badge and Clear button.
|
||||
- Settings gains one collapsible group. Its name is **Bot** while the bot path is active, and
|
||||
**Media** if the bot path is removed. It holds the limit field with the info tooltip, the usage
|
||||
bar (segmented by image, GIF, video, audio, and other), and the clean button with its 5 second
|
||||
countdown.
|
||||
**Media** if the bot path is removed. It holds the storage limit field with the info tooltip, the
|
||||
usage bar (segmented by image, GIF, video, audio, and other), and the clean button with its
|
||||
5 second countdown. Pacing and batching knobs live in the Bot tab, not here.
|
||||
- Mobile is out of scope for now.
|
||||
|
||||
## MCP
|
||||
|
||||
Reference in New Issue
Block a user