The social composer now uploads image/video files into the existing media asset runtime first, then creates a post using durable attached asset IDs instead of raw temporary blobs.
- `src/components/social/PostComposer.tsx`
- `src/app/api/media/assets/route.ts`
- `src/app/api/posts/route.ts`