Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

fix(signal): stage inbound image attachments as base64 so the container can read them#2695

Open
cfis wants to merge 1 commit into
nanocoai:channels from
cfis:fix/signal-inbound-image-base64
Open

fix(signal): stage inbound image attachments as base64 so the container can read them #2695
cfis wants to merge 1 commit into
nanocoai:channels from
cfis:fix/signal-inbound-image-base64

Conversation

@cfis

@cfis cfis commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

Type of Change

  • Fix — bug fix to source code

Description

The Signal adapter surfaces inbound images by emitting signal-cli's host attachment path (<signalDataDir>/attachments/<id>). The agent runs in a container that doesn't mount that path, so it can never read an image sent over Signal — the agent just gets an unreadable path.

Fix: read the attachment bytes and pass them as base64 data. The host's session-manager.extractAttachmentFiles already stages attachments carrying data into the session's mounted inbox/ and rewrites them to a container-readable localPath, which the agent-runner formatter surfaces as [image: <name> — saved to /workspace/inbox/...]. This matches how inbound attachments reach the container on other channels. Also drops the now-misleading host-path [Image: <path>] text line.

How it was tested: updated the inbound-image unit test to assert base64 data is forwarded (full Signal suite passes, 37/37). Verified end-to-end on a live install — an image sent over Signal now stages into the inbox and the agent reads and describes it.

🤖 Generated with Claude Code

The adapter emitted a host filesystem path (signal-cli's attachments dir) for
inbound images. The agent runs in a container that doesn't mount that path, so
it could never read the image. Read the bytes and pass them as base64 `data`
instead — session-manager.extractAttachmentFiles stages those into the session's
mounted inbox/ and rewrites to a container-readable localPath, which the
formatter surfaces as [image: <name> — saved to /workspace/inbox/...].
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@gavrielc gavrielc Awaiting requested review from gavrielc gavrielc is a code owner

@gabi-simons gabi-simons Awaiting requested review from gabi-simons gabi-simons is a code owner

Assignees

No one assigned

Labels

PR: Fix Bug fix

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

1 participant

AltStyle によって変換されたページ (->オリジナル) /