This repository has no description

Merge origin/natb/redo-upload: upload page redo + upload-progress tracking master

Natalie's branch: reworked upload page, a new statedb upload-progress table (SetUploadProgress/Processing/Failed/Processed), getUploadStatus + getVideoList lexicons/handlers, and client-side place.stream.video record creation — the server now publishes origin + track records and stores the track refs on the Upload row for the client to poll via getUploadStatus. Conflict resolutions: - queue_processor.go: combined her upload status transitions (mark processing; on failure mark failed + CompleteTask so it won't retry) with our dedicated VOD worker pool + the upload-ID-in-error wrap. - process.go: wove her atomic countingWriter + reportProgress goroutine + SetUploadProgress(85/90/95) calls through our post-pipeline stage watchdog/timeouts; counter reads use counter.load() throughout. Thumbnails deferred: the place.stream.video record is created client-side now, so there's no server-side record to attach a thumbnail to. Dropped server-side thumbnail generation from ProcessVOD (matching her removal); generateThumbnail/ThumbnailFromSegment (and the fmp4 decode fix) stay in the tree, exercised by vod-test, for a follow-up that wires thumbnails to the client. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>