Home
The landing dashboard — eight shortcut tiles and five rows of recent activity you can act on without leaving the page.
/ is the landing dashboard: a grid of shortcut tiles at the top, then five rows of recent activity. The rows are not a read-only preview — every card carries the same action buttons you would reach for on Jobs or Media, so the usual "queue this, archive that, publish the good ones" pass can be done here without opening another screen.
Quick Links
Eight tiles under one Quick Links heading. Seven of them are navigation, and their OPEN button lands you on an already-filtered screen:
| Tile | Where OPEN goes |
|---|---|
| Pending Jobs | /jobs?status=pending |
| Completed Jobs | /jobs?status=completed |
| Failed Jobs | /jobs?status=failed |
| Stats | /stats |
| Recently Captioned | /media/recently-captioned |
| Review | /review |
| Training Dashboard | /stats/training |
The eighth tile, Sync All Media Sources, is the exception. Its button reads Sync Now, and pressing it kicks off an on-demand sync of Telegram, Reddit, and Instagram from this page instead of navigating anywhere. The label switches to "Syncing…" while the request is in flight; the outcome arrives as a notification rather than on the tile, and the run itself shows up under Recent sync jobs on Stats.
There is no tile for Media, Tags, or Settings — those are reachable from the global nav only.
The activity rows
Five horizontally-scrolling rows, in this order. Each row heading is a link to the full screen behind it, and each pulls twelve cards at a time, fetching the next twelve automatically when you scroll to the end of the row.
| Row | What is in it |
|---|---|
| Recently Completed Jobs | completed generation jobs |
| Pending Jobs | the Pending bucket: pending, captioning, captioned |
| Recently Failed Published Jobs | publish_failed only |
| Recently Captioned | captioned clips ≤20s with no ComfyUI job yet |
| Recently Ingested | media that has landed but has no caption yet |
Two of those are narrower than their headings suggest:
- Recently Failed Published Jobs is
publish_failedand nothing else. The Failed tab on Jobs also holds generation failures and in-flight publishes; this row deliberately excludes them so it stays a clean list of "publishes worth retrying". - Recently Captioned matches the defaults of
/media/recently-captioned: captioned, at most twenty seconds long, and not already attached to a ComfyUI job. It is a queue-ready shortlist, not everything that was captioned recently.
Recently Ingested is always the last row to fill in, often several seconds behind the rest. The other four are fetched on the server before the page is sent; this one is fetched by the browser afterwards, because its "no caption yet" filter gets slower the smaller the uncaptioned backlog is. A skeleton sitting there while the rest of the page is done is normal, not a stall.
What the cards do
Actions live on the card overlay. On a phone they are already visible; with a mouse, hover the card.
| Row | Buttons on each card |
|---|---|
| Recently Completed Jobs | Trim, Favorite / Unfavorite, Publish to CivitAI, Archive |
| Pending Jobs | Queue to ComfyUI, Archive |
| Recently Failed Published Jobs | Retry Publish |
| Recently Captioned | Add to Jobs, Archive |
| Recently Ingested | Caption, Archive |
Queue to ComfyUI only appears on a card that is genuinely queueable — status exactly captioned, with a caption snapshot to build from. A pending or captioning card in that row shows Archive on its own. That is the row telling you the job is not ready yet, not a button that failed to render.
Publish to CivitAI works from here even though the same button is tab-gated on Jobs — every card in the Completed row is already completed, so the tab condition is satisfied by construction. But Jobs gates that button on two further things this page does not check: a final CDN video, and a non-empty positive prompt. The home overlay renders Publish on every card in the row regardless, so a completed job missing either one shows you a button that fails when you press it. If a publish from here errors, open the job on Jobs and check whether the button is even offered there.
Trim opens the same modal as Jobs — start and end timecodes, cuts out of the middle, and a Revert option on a job that has been trimmed before. It is wired on the Recently Completed row only.
Nothing on this page asks for confirmation. Archive takes effect on the first press.
Clicking the card body
Tapping a card anywhere other than a button navigates: the two media rows go to /detail/media/<id>, and the three job rows go to /jobs?focused=<id>.
That job link does less than it looks like it does. Nothing on Jobs reads focused, and /jobs with no status in the URL opens on the Pending tab — so clicking a completed job card here drops you on Jobs' Pending tab with the job you clicked nowhere in sight. Until that is wired up, treat the overlay buttons as the way to act on a card and the heading link as the way to get to the full list.