Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -298,7 +298,7 @@ During a fullscreen text drag, the native cursor follows the selected text's edg

File paths in prose can open the file-action menu; automatic detection does not extract a path from inside a slash-delimited token such as `working/idle/needs-input` or a date such as `2024/01/15`.

**Pasting**: native and bracketed paste keeps ordinary text and newlines, and never submits itself on arrival. On Windows terminals that deliver a paste as win32-input-mode key records, a record stream leaked into the payload is decoded back into the characters its `Uc` field encodes — newlines included — so the composer's line count matches what was pasted; only records with no character meaning are stripped (a multi-line paste no longer leaves stray `_`), and a complete record is always consumed before an ESC-less tail, so no payload character is deleted along with an orphan escape. Pasted CRLF collapses to a single newline; genuine underscores and bracketed-paste text are untouched.
**Pasting**: the launchpad accepts clipboard images and pasted image paths as `[Image #N]` attachments; `Enter` sends them with the first message. Commands that do not accept images preserve the draft and its attachments. Image chips behave like chat: arrows step across them, Backspace at the end or Delete at the start removes the whole image, and Ctrl+W never splits a chip. Text pasted on the launchpad is folded to one line. In chat, native and bracketed paste keeps ordinary text and newlines, and never submits itself on arrival. On Windows terminals that deliver a paste as win32-input-mode key records, a record stream leaked into the payload is decoded back into the characters its `Uc` field encodes — newlines included — so the composer's line count matches what was pasted; only records with no character meaning are stripped (a multi-line paste no longer leaves stray `_`), and a complete record is always consumed before an ESC-less tail, so no payload character is deleted along with an orphan escape. Pasted CRLF collapses to a single newline; genuine underscores and bracketed-paste text are untouched.

**Dropped files**: a native Windows desktop drop (Windows Terminal / OpenConsole) arrives as an OSC 8 hyperlink; the parser restores its `file://` URI to a decoded local path before paste hygiene runs, so the `]8;id=…;` parameter bytes never reach the draft. Image paths enter the existing image staging pipeline; other files are inserted as a referenceable path (a path containing whitespace arrives in the composer's quoted `"…"` single-token form). Only `file://` URIs are restored, and it is fail-closed: a remote authority/UNC, a payload carrying several distinct URIs, or a URI that carries several tokens is refused and stays literal text rather than guessed.

Expand Down
2 changes: 1 addition & 1 deletion README_ZH.md
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,7 @@ OpenAI 条款约束。完整操作与当前边界:[Codex 后端](docs/codex-ba

正文中的文件路径可打开文件操作菜单;自动识别不会从 `working/idle/needs-input` 这类斜杠分隔的词串或 `2024/01/15` 这类日期内部截出路径。

**粘贴**:终端原生与 bracketed paste 保留普通文本与换行,粘贴内容到达时不会被误当 `Enter` 提交。Windows 终端以 win32-input-mode 键记录投递粘贴时,泄漏进载荷的记录流会按 `Uc` 还原成它编码的字符(含换行),因此输入框行数与粘贴内容一致;只有没有字符语义的记录才被剥离(多行粘贴不再留下零散 `_`),且完整记录总是先于无 ESC 尾部消费——不会连带删掉紧随的载荷字符。粘贴的 CRLF 折叠为单个换行;普通文本中的真实下划线与 bracketed paste 内容不受影响。
**粘贴**:启动页支持将剪贴板图片和粘贴的图片路径暂存为 `[Image #N]` 附件,按 `Enter` 随首条消息发送;不接受图片的命令会保留草稿与附件。图片 chip 与聊天页一致:方向键跨过整张图片,末端 Backspace 或起点 Delete 整体删除,Ctrl+W 也不会拆开图片占位符。启动页粘贴的多行文字会折叠为一行。在聊天页,终端原生与 bracketed paste 保留普通文本与换行,粘贴内容到达时不会被误当 `Enter` 提交。Windows 终端以 win32-input-mode 键记录投递粘贴时,泄漏进载荷的记录流会按 `Uc` 还原成它编码的字符(含换行),因此输入框行数与粘贴内容一致;只有没有字符语义的记录才被剥离(多行粘贴不再留下零散 `_`),且完整记录总是先于无 ESC 尾部消费——不会连带删掉紧随的载荷字符。粘贴的 CRLF 折叠为单个换行;普通文本中的真实下划线与 bracketed paste 内容不受影响。

**拖放文件**:原生 Windows 的桌面拖放(Windows Terminal / OpenConsole)以 OSC 8 超链接到达;解析器在粘贴载荷卫生之前把其中的 `file://` URI 还原为解码后的本地路径,`]8;id=…;` 参数残渣不会进入草稿。图片路径进入既有图片 stage 管线;其他文件作为可引用路径插入(含空白路径以 composer 的单 token 引号形式 `"…"` 到达)。只还原 `file://` URI 且 fail-closed:远程 authority/UNC、一个载荷里带多个不同 URI、或带多个 token 的 URI 一律拒绝并保持字面文本,不做猜测。

Expand Down
Loading
Loading