pastilhasandClaude Opus 5 7774a25ad9 gate the composer's image affordances on the model that will receive them
Reopened B4. Flipping `images: false` for OpenCode models made the metadata honest but changed nothing
on screen, because no code read the capability: the drop zone, the paste handler and the attach menu all
accepted images on every harness. The lie B4 described — drop a screenshot, watch it render in your own
bubble, have it discarded before the model sees it — was still there.

The flag is now load-bearing. Three entry points gated on `supportsImages`:

  - the drop zone does not claim the drag at all (no highlight, no preventDefault), so the browser keeps
    it rather than the composer swallowing a file it will drop on the floor
  - an image paste falls through to the default
  - the attach menu's Image entry is absent

`selectedModel || model` mirrors ModelSelector's `displayModel`, so the gate and the model name on screen
can never disagree. An unknown model allows images: a missing capability should not remove a working
control, and the flag is only false where we know it is false. Nothing to undo when images are plumbed
through OpenCodeRunParams later — the gate stops firing once the capability is true.

docs/opencode-phase0-review.md, item 1.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-10 02:49:34 +00:00
2026-02-16 19:34:35 +00:00
2026-02-16 19:34:35 +00:00
2026-02-16 19:34:35 +00:00
2026-02-22 03:35:26 +00:00
2026-02-16 19:34:35 +00:00
2026-02-16 19:34:35 +00:00
S
Description
No description provided
42 MiB
Languages
TypeScript 90.9%
Shell 4.7%
JavaScript 4.1%
CSS 0.2%
HTML 0.1%