multica/server/internal
yushen acba0b8139 fix(upload): clean up S3 objects when attachments are deleted
- Add Delete/DeleteKeys/KeyFromURL methods to S3Storage
- DeleteAttachment handler now removes the S3 object after DB delete
- DeleteComment collects attachment URLs before CASCADE, then cleans S3
- DeleteIssue collects all attachment URLs (issue + comment level) before CASCADE, then cleans S3

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 16:34:47 +08:00
..
auth feat(upload): signed URLs for CLI + eager load attachments on comments 2026-03-31 15:42:10 +08:00
cli feat(daemon): add --profile flag for multi-environment isolation 2026-03-30 20:21:23 +08:00
daemon fix(tests): merge main, renumber migration, fix execenv test assertions 2026-03-31 15:17:09 +08:00
events feat(realtime): WS invalidation + refetch pattern, inbox bugfixes, UI polish 2026-03-29 13:49:40 +08:00
handler fix(upload): clean up S3 objects when attachments are deleted 2026-03-31 16:34:47 +08:00
logger feat(logging): add structured logging across server and SDK 2026-03-26 10:57:11 +08:00
middleware fix(upload): harden upload flow — sanitize filenames, refresh CF cookies, deduplicate handlers 2026-03-31 15:52:40 +08:00
realtime feat(realtime): route personal events to target user only 2026-03-29 17:42:50 +08:00
service feat(server): trigger agents via @mention in comments 2026-03-31 15:30:24 +08:00
storage fix(upload): clean up S3 objects when attachments are deleted 2026-03-31 16:34:47 +08:00
util feat(server): trigger agents via @mention in comments 2026-03-31 15:30:24 +08:00