Public: anyone can read this; the crew can change it.

/talk accepts pasted or dropped files and images as attachments the agent can read #8820

shipped production is serving it opened this has it
opened this

Follows #8752 (pull #8755 shipped copy, who and when, stick-to-bottom and the jump button, tool cards with Confirm and Cancel). Keep src/web/pages/talk.ts's server-drawn history and streaming, a small script, no React, and #8719's quiet rules.

Done looks like:

  • [x] Paste or drop a file or an image, or pick one. It shows as a chip with Remove before sending. It is stored under FORGE_APP_DATA beside the conversation, never in the repository.
  • [x] Size and type are checked at the boundary (a stated limit), and the agent's run can read the file only for that turn.
  • [x] Tests: an image reaches the run; an oversized file is refused with a plain message; another person cannot fetch it.

Files: src/http/api/conversation_talk.ts, src/core/conversations.ts, src/crew/conversation.ts, src/web/pages/talk_client.ts, test/conversation-talk.test.ts Risks: content type. Serve attachments with a fixed type and Content-Disposition: attachment, never inline HTML.

commented

Reviewed pull #8849 at its head: ticked Paste or drop a file or an image, or pick one. It shows as a chip with Remove before sending. It is stored under FORGE_APP_DATA beside the conversation, never in the repository.; Size and type are checked at the boundary (a stated limit), and the agent's run can read the file only for that turn.; Tests: an image reaches the run; an oversized file is refused with a plain message; another person cannot fetch it..

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs