Repository navigation
docs(devlog): close devin image passthrough unit with merge record - #4518
Conversation
The wire layer was already multimodal: ChatMessagePrompt field 10 encodes
ImageData {base64_data, mime_type, caption}, verified against extension.js.
The adapter mapping discarded every image.
textFromParts extracted only type:"text" parts and returned a string, so an
image contributed an empty fragment. mapOneMessage then dropped any message
whose extracted text was empty, which means a pasted screenshot with no
caption killed the turn at 0s — the message vanished before the model saw
anything, and the only workaround was running tesseract before sending.
toolResultText did the same to tool-result images.
Convert content at the boundary instead. A data: URL has everything
field 10 needs, so it parses into {mimeType, base64Data}. A remote https
URL cannot be inlined without a fetch and stays as an explicit text
reference rather than pretending the model can see a picture it cannot.
Video has no Devin field and is skipped. An error tool result keeps its
ERROR prefix alongside the images.
The dead toolResultText is removed.
Local product tests, typecheck, build and install: NOT RUN.
Hosted exact-head CI on this PR is the merge proof.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
✅ Deterministic PR hygiene checks passed. |
|
Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (5)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4027144664
ℹ️ 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".
|
|
||
| ## 결과 (2026-09-13) | ||
|
|
||
| - PR [#4513](https://github.com/lidge-jun/opencodex/pull/4513) squash merge: `c5d7f6a6efc22ab2fc17b377e0d6aae79c77b6a8` |
There was a problem hiding this comment.
Rebase the closure commit onto the recorded feature merge
This commit is parented at 8e6c9960, not the recorded c5d7f6a6 merge, so despite claiming to be documentation-only it also carries the complete Devin runtime, test, and layout changes from #4513 under the Codex author; those files are byte-for-byte identical to the feature's 61064783 exact-head tree, whose author is JUN, and this commit has no Co-authored-by trailer. Rebase this closure commit onto c5d7f6a6 so only the devlog move remains, or preserve the original contributor attribution explicitly.
AGENTS.md reference: AGENTS.md:L288-L292
Useful? React with 👍 / 👎.
리뷰 · 우선순위 56 / 80설명 다만 브랜치 검증은 본문 기준 제품 스위트·typecheck·build NOT RUN(devlog-only, 호스티드 CI가 게이트)입니다. tip에 Devin 이미지 불변값이 이미 있으니, 이 PR의 가치는 “계획 폴더를 닫아 캐리/감사 추적을 맞추는 것”입니다. 런타임 재머지가 목적이 아닙니다. 경로/심볼 - GitHub Files에 메인테이너의 판단이 필요한 지점
너의 추천 이 댓글은 grok-bot이 작성했습니다 |
…idge-jun#4518) * feat(devin): pass user and tool-result images to the wire The wire layer was already multimodal: ChatMessagePrompt field 10 encodes ImageData {base64_data, mime_type, caption}, verified against extension.js. The adapter mapping discarded every image. textFromParts extracted only type:"text" parts and returned a string, so an image contributed an empty fragment. mapOneMessage then dropped any message whose extracted text was empty, which means a pasted screenshot with no caption killed the turn at 0s — the message vanished before the model saw anything, and the only workaround was running tesseract before sending. toolResultText did the same to tool-result images. Convert content at the boundary instead. A data: URL has everything field 10 needs, so it parses into {mimeType, base64Data}. A remote https URL cannot be inlined without a fetch and stays as an explicit text reference rather than pretending the model can see a picture it cannot. Video has no Devin field and is skipped. An error tool result keeps its ERROR prefix alongside the images. The dead toolResultText is removed. Local product tests, typecheck, build and install: NOT RUN. Hosted exact-head CI on this PR is the merge proof. * docs(devlog): close devin image passthrough unit with merge record
Summary
Moves the Devin image passthrough unit from
devlog/_plan/todevlog/_fin/and appends the terminal outcome: PR #4513 merged as squash commit c5d7f6a with green exact-head CI.Documentation-only change; no source, test, or config surface is touched.
Verification
git mvrename plus an appended outcome section only.Checklist
Summary by CodeRabbit
Bug Fixes
ERROR:prefix alongside image content.Tests