Gemini CLI 修复 emoji 被截断问题:改用码点而非 UTF-16 切片
Grove-ovo · ghdev · 2026-09-13
Grove-ovo 向 gemini-cli 提交 PR #29303,修复 ExpandableText 组件用 UTF-16 code-unit 索引截断文本时的 bug:当截断边界落在 emoji 的高代理项上时,Ink 收到未配对代理并静默丢字符,如 aaaa😀tail 在 maxWidth 5 下渲染成 aaaa...。修复方案:所有截断路径改用 code points 度量与切片,复用 textUtils.ts 的 cpLen/cpSlice,并在 UTF-16 偏移与码点索引间转换;调用点 SuggestionsDisplay 和 InputPrompt 同步改用 cpLen,边界条件从 >= 改为 >,避免恰好等宽的标签出现无意义的展开箭头。纯 ASCII 标签走快速路径,输出字节级不变。作者另指出两个遗留同类问题已单独开 issue。
「编程与Agent」频道最新
- 两年经验 AI 工程师列出 14 项核心技能:别只学调 API 写提示词 — Scobleizer · 2026-09-13
- 开发者提醒:Codex 让人总感觉自己很有产出,这很危险 — alexmacgregor__ · 2026-09-13
- 企业自建 AI 桌面栈:给非技术员工找类 Claude Cowork 的替代品 — Feeling_Dog9493 · 2026-09-13
- 用 Muse 加 CardStack 的 MCP,信用卡权益全自动打理 — armand_ruiz · 2026-09-13
- 35小时烧掉1200美元:Astra无人监督写码产出7.5万行机器天书 — 机器之心 · 2026-09-13
- 四步讲透 LLM Function Calling 的完整循环 — Al_Grigor · 2026-09-13