mirror of
https://github.com/stablyai/orca.git
synced 2026-09-23 00:02:29 +00:00
* fix(terminal): attach dropped image files via bracketed paste Dragging an image file into a terminal pane wrote the shell-escaped path as raw PTY input. Terminal TUIs (Claude Code, Codex, etc.) only turn a path into an image attachment when it arrives as a *bracketed paste*, so dropped images showed up as a literal path instead of an `[Image]` placeholder — unlike iTerm2/Warp, which wrap dropped paths in bracketed paste, and unlike Orca's own clipboard screenshot flow (#2842). Route dropped image files (by extension, mirroring IMAGE_MIME_TYPES) through `wrapTerminalBracketedPasteText` with the raw, un-escaped path so the file-existence check those tools run on the pasted path succeeds. Non-image drops keep the original shell-escaped, space-separated behaviour for use in shell commands. * fix(terminal): separate image paste from following non-image path A mixed drop where an image precedes a non-image path concatenated the two: the image bracketed-paste payload has no trailing space, so the next shell-escaped path was appended directly after it. Add a single separating space after an image payload only when the next path is a non-image — back-to-back image pastes are self-delimiting and a stray space between them would land in the TUI input. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * Review terminal image drop path handling Co-authored-by: Orca <help@stably.ai> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com> Co-authored-by: Orca <help@stably.ai>
13 lines
348 B
TypeScript
13 lines
348 B
TypeScript
export const IMAGE_FILE_MIME_TYPES: Record<string, string> = {
|
|
'.png': 'image/png',
|
|
'.jpg': 'image/jpeg',
|
|
'.jpeg': 'image/jpeg',
|
|
'.gif': 'image/gif',
|
|
'.svg': 'image/svg+xml',
|
|
'.webp': 'image/webp',
|
|
'.bmp': 'image/bmp',
|
|
'.ico': 'image/x-icon'
|
|
}
|
|
|
|
export const IMAGE_FILE_EXTENSIONS = Object.freeze(Object.keys(IMAGE_FILE_MIME_TYPES))
|