docs: the release notes say what the chat does with pictures - #101
Conversation
Step one of the release flow is reading `## Unreleased` and reconstructing anything a PR left out, "the one part of a release that cannot be done well late". Grepping the section for image, attach, paste, svg, drag or drop found nothing: the whole picture feature area — fourteen commits across #97, #98 and #99 — reached `main` with no line for the person deciding whether to update. Five paragraphs, written from the log and checked against the code rather than from memory: attaching and numbering, tool images arriving in the transcript, the + on a canvas shape, vectors drawn into a PNG on the way in, and the limits. Placed with the rest of the chat panel material, before the Geist paragraphs, since that is the order the section already reads in. Two numbers are the code's, not the commit messages': MAX_IMAGE_BYTES is 24 MB (agents.ts:52), which an early commit called 32, and a mockup has one hover button now rather than the two it shipped with. No version is cut here. `scripts/bump-version.sh --check` still says all 7 files agree on 1.3.0. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
3c2ed0e to
4daba94
Compare
Deploying super-prototyping with
|
| Latest commit: |
4daba94
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://47ba0b8d.super-prototyping.pages.dev |
| Branch Preview URL: | https://docs-unreleased-pictures.super-prototyping.pages.dev |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3c2ed0e288
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| The other direction comes with it. Whatever a tool hands the agent as an image | ||
| is drawn under the call that produced it, so a clone's working pictures — the | ||
| grid over the reference, the crops — appear in the transcript as they are made. |
There was a problem hiding this comment.
Limit the tool-image claim to Claude Code
When Codex is selected, tool-produced images do not appear under the call: codexEventsFromLine emits completed command and file calls without shots and has no branch that extracts image data, while only claudeStream.ts parses base64 image result blocks. This paragraph therefore promises behavior that the Codex-backed panel cannot provide; qualify it as Claude-only or add equivalent Codex transport support.
Useful? React with 👍 / 👎.
| Twenty pictures and 24 MB to a message, counted over the whole tray rather than | ||
| over the batch being added, and a file too big to fit is refused before it is | ||
| read rather than after. A run's copies of your pictures are deleted when it |
There was a problem hiding this comment.
Don't promise pre-read rejection for a near-full tray
When the tray already contains, for example, 23 MB and another 2 MB file is added, the early check in ChatPanel.tsx compares only the new batch with MAX_IMAGE_BYTES; it then calls readFile before the later whole-tray check rejects the addition. Thus a file that cannot fit is still read, contrary to this release-note guarantee and the memory-saving behavior it advertises.
Useful? React with 👍 / 👎.
| read rather than after. A run's copies of your pictures are deleted when it | ||
| ends. |
There was a problem hiding this comment.
Don't claim all image copies are deleted at run end
At run completion only the temporary imagesDir is removed; each attachment's base64 data remains in run.images, and /run/<id>/image/<n> continues serving it while the finished run remains among the server's retained runs. This is a misleading data-retention promise, especially for users attaching sensitive screenshots; state that only the on-disk copies are deleted, or actually discard the retained bytes.
Useful? React with 👍 / 👎.
Release prep, step one.
CONTRIBUTING.mdsays to read## Unreleasedbeforecutting anything and reconstruct whatever a PR left out, because it is "the one
part of a release that cannot be done well late".
It had left out everything about pictures. Grepping the section for
image,attach,paste,svg,dragordropreturned nothing, while fourteencommits across #97, #98 and #99 built the feature.
What this adds
Five paragraphs, placed with the rest of the chat panel material and before the
Geist ones, since that is the order the section already reads in:
numbering starting over once nothing points at one
<slug>/<file>.htmlWritten from the log, checked against the code
Two details are the code's rather than the commit messages':
MAX_IMAGE_BYTESis24_000_000(canvas/src/agents.ts:52). An early commitmessage said "about 32 MB"; canvas: the panels move to Geist, and the canvas opens dark #97's review had already brought it down.
export-to-image button was removed later in canvas: what the review of #97 found, fixed #98.
Not in here
No version is cut.
scripts/bump-version.sh --checkstill says all 7 filesagree on 1.3.0, and the
## Unreleasedheading is untouched — renaming it isstep four, on the release PR, which is where the tag job reads it.
Gates, all green on this tree:
bun run lint,bun run test,bun run build(5.45s),
tools/test_refkit.py(25 checks),tools/test_sp_canvas.py(6 checks),
claude plugin validate . --strict.🤖 Generated with Claude Code