Implement chunked blob upload for large podcast episodes
Problem:
- AT Protocol PDS servers have blob size limits (~5-10 MB)
- Users were getting PayloadTooLarge (413) errors when uploading large episodes
Solution:
- Implement automatic file chunking for files >5MB
- Upload each chunk as a separate blob to AT Protocol
- Store chunk manifest in episode record with audioChunks array
- Reconstruct full audio file when streaming by concatenating chunks
Changes:
- Upload: Split large files into 5MB chunks and upload sequentially
- Episode schema: Add audioChunks[], totalSize, and isChunked fields
- Streaming: Detect chunked episodes and reassemble chunks on-the-fly
- Frontend: Update file size limits (500 MB max) with chunking indicator
- Error handling: Better messages for file size issues
Benefits:
- Supports episode files up to 500 MB (from ~5-10 MB)
- Transparent to users - chunking happens automatically
- Backwards compatible with existing single-blob episodes
- Maintains audio quality (no compression/transcoding)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>