By: Michael Lynch <git@mtlynch.io>
Support video uploads with background transcoding Owners can now upload a video. The upload is recorded immediately as "processing" and transcoded to WebM (plus a thumbnail extracted from a still frame) by a background worker, so the request returns right away. A processing item is visible only to its uploader until the transcode completes, at which point it becomes visible to everyone. This adds a media status model: - a status column on media_items and a MediaStatus type - ReadMediaItems is scoped to the viewer so it returns ready items plus the viewer's own in-flight uploads - MarkMediaItemReady flips an item to ready when transcoding finishes - the media page shows a "processing in progress" notice Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>