Commit Graph

28 Commits

Author SHA1 Message Date
93f93e4f96 refactor: migrate draft/post API endpoints to use Drizzle ORM instead of raw SQL queries 2025-10-24 15:05:17 +02:00
038591c9cf feat: add MySQL database integration with Drizzle ORM for post and audio clip storage 2025-10-24 14:57:54 +02:00
3f2d3f0e8f feat: add multi-clip recording and reordering support in audio recorder 2025-10-24 14:15:37 +02:00
cd799a2024 feat: add S3 object copying and enhanced media URL rewriting for Ghost posts 2025-10-24 14:03:46 +02:00
5a00636063 feat: implement Ghost blog post publishing with metadata and media handling 2025-10-24 11:41:53 +02:00
41f35ddca3 feat: add rich text editor toolbar and media library management 2025-10-24 04:00:22 +02:00
15b1ac4ac0 feat(admin): add MediaLibrary with image reuse/delete and integrate into EditorShell 2025-10-24 03:44:28 +02:00
8f4fbb098f fix(editor): replace RichEditor with clean TipTap component; remove unused import 2025-10-24 03:41:12 +02:00
8cbc9a034a feat(media): add /api/media/image and proxied object fetch; feat(editor): image upload button and TipTap Image insertion 2025-10-24 03:23:21 +02:00
eff5dfd0bb feat(editor): integrate TipTap rich editor; add Drafts list; fix TipTap setContent typing 2025-10-24 03:17:23 +02:00
45f7b3e8d5 feat(admin): add minimal Drafts list to load existing drafts from /api/drafts 2025-10-24 03:14:17 +02:00
54fb0226bf chore: add morgan request logging and update audio recorder compatibility plan 2025-10-24 03:13:23 +02:00
dde15813be fix(recorder): choose supported MediaRecorder mime (webm/mp4) and use it for blob/upload to improve playback compatibility 2025-10-24 03:10:52 +02:00
d0398408ac chore(api): add concise request logs for /api/media/audio 2025-10-24 03:08:26 +02:00
d07646f2e1 docs(plan): mark M1–M3 complete; .env.example done; editor wired to drafts; outline remaining tasks 2025-10-24 03:06:57 +02:00
8e76c349eb chore(api): add morgan request logging and types 2025-10-24 03:04:42 +02:00
18dfa5766c chore(s3): add console logs for upload/download operations (bucket, key, bytes, contentType) 2025-10-24 02:57:36 +02:00
1545310945 chore(admin): add minimal network states to Recorder (upload/transcribe) 2025-10-24 02:52:28 +02:00
1bade47194 feat: add S3 config validation and improve error messages in STT endpoint 2025-10-24 02:42:04 +02:00
4dffb86ca8 chore(api): harden /api/media/audio with config checks and clearer errors 2025-10-23 23:03:19 +02:00
7f127bf721 feat(editor): load/save draft via /api/drafts with local fallback; mount drafts router; update PLAN 2025-10-23 23:02:09 +02:00
258464156b feat(editor): wire transcript into draft editor with local save; update PLAN; ensure API dev script present 2025-10-23 22:43:20 +02:00
498b49c474 feat(stt): add /api/stt endpoint using OpenAI; mount route; add Transcribe button in Recorder UI; update plan 2025-10-23 22:15:09 +02:00
4ad9c311a2 feat(media): wire Recorder upload to /api/media/audio; fix multer TS types; add S3 download helper 2025-10-23 21:24:52 +02:00
c94461b460 feat(storage): integrate MinIO via S3-compatible adapter; add /api/media/audio upload route; update env and PLAN.md 2025-10-23 21:17:12 +02:00
7e0bb3dc53 feat(admin): add audio recorder UI skeleton (MediaRecorder) and embed into EditorShell 2025-10-22 00:54:02 +02:00
43e6d4b53c feat(admin): add MUI AdminLayout and persist auth; wrap EditorShell with layout and logout 2025-10-22 00:52:25 +02:00
a0fd0e0b3c chore: initialize monorepo (pnpm workspace), add PLAN.md and .gitignore 2025-10-22 00:50:29 +02:00