Added DevLogPanel for upload diagnostics on admin media page.
Shipped R2 proxy upload function and route client uploads through it in media.
Bug Fixes
Improved repair all unit test failures (10 tests across 4 files), owner_id instead of created_by in AlbumCreateForm, and media_album_assets join table for album asset queries.
Fixed duplicate transitionJob(start_hash) call that blocked upload flow, upload state machine mismatch pending vs local_pending, and store raw state machine states in job.status, not display labels.
Fixed non transferable Blob from worker transfer list; improve error logging in DevLogPanel; add E2E upload pipeline test, send ArrayBuffer to worker instead of File to avoid structured clone error, and commit based cache busting to worker URL to prevent stale worker caching.
Stopped fall back to fetch() when XHR fails on cross origin R2 uploads, verbose logging to upload retry + fetch fallback, and resolve R2 presigned URL signature mismatch X Amz Expires in query vs headers; add proxy error body relay.
Fixed wire MediaUploader into admin media page + fix offline test imports in pwa.
Fixed supabase.auth.getSession() for auth token to fix 401 on upload intents in auth.
Refactoring
Cleaned up clean up media library implementation.
Testing
Hardened media library unit and e2e coverage.
Roadmap
Sorted DMC-057 media library and related future items in roadmap.
Other Changes
Updated media library schema and capability grants, config and R2 helper scaffolding, and upload intent and verification functions.
Moved forward browser upload state machine and image worker, admin media library UI, and media upload: state machine mismatch, missing uploadedVariants, mobile CSS, progress visibility.
Moved forward diagnostic logging to upload flow. Fix void uploadFile to catch errors.
Updated Merge branch 'dmc 057 test fixes' into dmc 057 r2 media library in roadmap.
Updated public album pages, debug dashboard, and editor links in deployment.