Reference board · owner-only states
The unfinished step is a status, not a broken card
The backend deliberately shows you your own unpublished steps so you can
watch an upload land and retry one that failed. The card owed that state some honesty and
gave it a silent gray field instead, wrapped in live dressing for a step nobody else can
see. Early users read it as a broken step. The fix: no live chrome, a small state mark
in the media field, and one footer line that names the state and the audience.
An unpublished step is not on air.
The 24h clock starts at PublishDate, so the card carries no ring, no prompt, no
action pills, no counts, no presence line. What remains is the author's own words, the
date, and the truth about where the upload stands.
01 Publishing
Media still on its way: uploading from the phone, or the video encoder
doing its work (MediaStatus Pending / Processing, PublishDate null).
The state resolves by itself; the card just keeps the owner company while it does.
Ran the whole loop without walking. Five weeks ago the first climb wrecked me.Jul 16
What it replaced: a bare gray square, a live ring counting a
window that hadn't started, and three lit action pills inviting acts nobody could
perform.
The card keeps the owner company, quietly
The note and date render exactly as they will look once published: the card is
already the real card, the same stance as the feed's publish moment. Only the media
field and the footer speak to the state.
- State mark: one blinking muted dot + the PUBLISHING kicker, centered in
the paper field. Ink and muted gray only: tangerine belongs to on-air, and nothing
is on air yet.
- Footer voice: "Publishing this step. Only you can see it until it's up."
One line answers both confusions: what this is, and who can see it.
- No spinner theatre: no progress bars or percentages on the trail. The
publish moment (composer) owns the live watch; the trail owns the fact.
Nothing here invites anyone: no ring, no prompt, no pills,
no counts. Live dressing on an invisible step is a false card.
02 Didn't finish
The upload or encode failed (MediaStatus Failed). Quiet ink,
never red panic: nothing was lost that a retry can't recover, and the danger palette is
reserved for destructive confirms.
Ran the whole loop without walking. Five weeks ago the first climb wrecked me.Jul 16
One door out: try again
The media field carries the act (retry glyph + kicker, the whole field is the
button) and the footer carries the fact plus the same button, so the door works from
either end of the card.
- Retry re-runs the upload when the local file is still cached; otherwise
it opens the step's media picker (the edit-on-failed-media flow the backend
visibility exemption was built for).
- Delete stays in the overflow sheet, where it lives on every step. The
failed card gets one primary act, not a fork.
- Stale truth is the backend's job: a sweep marks media stuck in Pending
(order of hours) as Failed. The client renders state and never infers failure
from age.
Failure reads in the quiet-error voice: a fact and a door,
never an alarm.
03 Bright lines
Card-level rules: they apply wherever the owner meets their own unpublished
step (journey trail, feed, step detail), not only where the confusion was first reported.
Server truth
Visibility stays
WhereMediaVisibleTo: PublishDate null renders for the owner
and no one else. The client never re-filters or second-guesses it.
No live dressing
The 24h clock
starts at PublishDate. An unpublished step shows no On-air pill, no countdown ring, no
step-with prompt, no action pills, no interaction counts, no presence line.
One status voice
The media field
carries a small state mark; the footer carries one sentence naming state + audience.
Nothing else on the card mentions the state. No broken-image glyphs, ever.
Quiet failure
Failed is muted ink
with a Try again door. The danger palette stays reserved for destructive confirms
(step-sheet ruling).
Stale pending is failed
A backend
sweep fails media stuck in Pending after an order-of-hours threshold, so "Publishing"
is only ever shown while work is plausibly happening.
Tags survive
First step, Final
step, and Milestone are authorial facts and keep their header row; the status never
replaces them.