FAIL crates/ely-lok/src/view/input.rs:166 — 剪切先通过 worker 执行 `.uno:Cut`(worker/input.rs:104),再写系统剪贴板;写入失败时,正文已经被删除。复现:选择 `Hello 世界`,仅向 `clipboard::write` 注入写失败,再执行 `Input::Copy { cut: true }`;返回错误,保存后的段落为 `[""]`。失败时用户内容丢失,重试也失去原选区。修复方向:先取得复制数据并成功写入系统剪贴板,再删除选区;为写失败时正文和选区保留增加回归。 crates/ely-lok/src/view/input.rs:428 — IME 更新丢弃平台给出的组合内选区,`selected_text_range` 固定返回组合尾部(:397),`text_for_range` 固定返回 `None`(:383)。复现:在 GPUI 空窗口中调用 `EntityInputHandler::replace_and_mark_text_in_range(None, "nihao", Some(2..2), ...)`,再查询选区及 `0..2` 的组合文本,实际得到 `5..5` 和 `None`。输入法移动组合内光标后,平台与编辑器的范围失同步。修复方向:保存并按 UTF-16 更新组合选区、处理替换范围、提供组合文本查询;通过这些平台回调验证组合内编辑。 crates/ely-lok/src/worker/input.rs:134 — 粘贴只检查 `setClipboard`,然后发送未请求结果通知的 `.uno:Paste`(ffi/document.rs:85)并回复成功;实际导入失败被吞掉。复现:使用已构建的固定引擎,向打开的 FODT 粘贴 MIME 为 `image/png`、数据为 `b"this is not a png"` 的载荷,worker 返回 `OK`;随后保存,文档保持 `Hello 世界`,`