Skip to content

Inbox: markdown images in messages request /api/image, which the Inbox server doesn't serve (404) #1813

Closed

Description

@hexsprite

Version: v0.28.8 (also master at b0f60ec), Linux.

Repro: an agent calls the MCP tool send_message with a body containing ![alt](.walkthrough/shots/after.png), relative to project_path (the file exists).

What happens: the Inbox UI renders <img src="/api/image?path=.walkthrough%2Fshots%2Fafter.png">, and the Inbox server answers {"error":"Not found","code":"not_found"} from the /api/ fallthrough in packages/server/inbox.ts (~L873).

Why: getImageSrc in packages/ui/components/ImageThumbnail.tsx defaults to /api/image?path=…. The Inbox app never calls setImageSrcResolver (packages/ui/configure.ts only applies one a host passes; packages/inbox/App.tsx passes none), and the Inbox server mounts no /api/image route (it exists only in the annotate/review/plan servers via shared-handlers.ts). Other routes don't help either:

  • absolute https images are blocked by the Inbox CSP img-src 'self' data: blob: (inbox.ts ~L214);
  • a .png in attachments is refused ("not a file the Inbox can open").

What works today: attaching an HTML file whose relative <img> tags load through /api/html-assets/<token>/, or an inline data: URI in the markdown.

Expected: markdown images in Inbox messages render, e.g. a project-scoped image route restricted to project_path (same rules as attachments), or a resolver that maps image refs onto the existing html-assets mechanism. At minimum, document the HTML-attachment / data: workaround. The :::question image-context example in apps/skills/core/plannotator/SKILL.md (~L236) likely hits the same 404.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions