← All topicsOpen Home →

/ 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.

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_failed and 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.