Commit Graph

3 Commits

Author SHA1 Message Date
Codex
9c46cf6761 fix: relocate out-of-allowed outbound attachments so files actually send
Agent-generated files written to an arbitrary working path (e.g. TTS audio
under /home/claude/jarvis-tts) were rejected by validateOutboundAttachments as
"outside-allowed-dirs". The rejection was only logged; the MEDIA: directive had
already been stripped from the text, so the user got a message claiming a file
was attached with no file and no error.

- Stage attachments outside the room's allowed dirs into a safe per-group dir
  (data/attachments/outbound/<group>) at the universal delivery choke point, so
  the path delivery uses and revalidates is one the validator accepts. Files
  already inside an allowed dir are untouched, preserving isolation checks.
- Surface any still-rejected attachment in the visible Discord body via
  appendRejectionNotice, so delivery can never again silently drop a file.

Verified: outbound-attachments 22/22, discord 46/46 (incl. new integration test
asserting the notice lands in the sent body), final-delivery 5/5, tsc clean.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-12 00:39:46 +09:00
Eyejoker
4859c58f48 Fix runtime image attachment paths
Allow nested /tmp generated images and per-room runtime workspace attachments after realpath/image validation.
2026-05-02 22:02:13 +09:00
ejclaw
6502eb6586 Extract message runtime final delivery 2026-04-29 11:42:40 +09:00