Skip to content

[Bug] zcode 3.1.4+ 集成终端输入重复(每个字符被输入两次) #55

Description

@MikhailNazarov

提交前确认 · Pre-submission checklist

  • 我已搜索过现有 issue,确认这不是重复 / I searched existing issues and confirmed this isn't a duplicate.
  • 我已阅读 CONTRIBUTING.md / I've read CONTRIBUTING.md.

问题类别 · Category

UI / 界面体验 · UI / UX

涉及的 Agent 框架 · Agent framework

ZCode Agent(自研)

严重程度 · Severity

阻塞使用 · Blocking (无法使用核心功能 / core function unusable)

复现频率 · Reproducibility

必现 · Always

问题描述 · Description

集成终端输入重复(每个字符被输入两次),终端无法正常使用

【环境】

  • 系统:Arch Linux,Wayland 会话,合成器 niri(基于 Smithay,走 text-input-v3 协议)
  • 输入法:fcitx5(含 Wayland 输入法模块 libwaylandim.so),GTK_IM_MODULE=fcitx / QT_IM_MODULE=fcitx / XMODIFIERS=@im=fcitx
  • ZCode:≥ 3.1.4(基于 Electron 41 / Chrome 146,原生 Wayland,ELECTRON_OZONE_PLATFORM_HINT=wayland)
  • 对比(同环境已验证):同为基于 Electron 的官方 VS Code 1.124.2 在相同环境(fcitx5 + niri)下不复现输入重复

【现象】
在 ZCode 集成终端中,每输入一个字符都会被重复输入一次(即出现两个相同字符),导致终端完全无法使用。
该问题在 fcitx5 + niri(Wayland)组合下复现。

【版本边界(关键)】

  • 3.1.0 ~ 3.1.3:正常,无重复
  • 3.1.4 ~ 3.1.7:异常,每个字符被重复
    通过版本二分定位并对照 changelog,强烈怀疑是 3.1.4 中「修复终端输入法组合输入异常的问题」这一改动引入的回归——
    该改动在 fcitx5 + niri(Wayland text-input-v3)组合下导致每个字符被重复提交(double commit)。

【复现步骤】

  1. 在 fcitx5 + niri(Wayland)环境下安装 ZCode 3.1.4 及以上版本
  2. 打开集成终端
  3. 输入任意字符 → 出现两个

【预期】
每个字符只输入一次。

【临时方案】
回退到 3.1.3 可恢复正常。希望在后续版本修复该回归(建议覆盖 fcitx5 + Wayland text-input-v3 的测试场景)。

【影响范围】

  • 编辑器中的普通文本输入正常
  • 仅集成终端存在重复输入
  • 粘贴操作正常,不会重复

【补充信息】
长按按键时自动重复正常,
只有每次新的按键事件会额外重复一次。

如果强制使用 Wayland Input Method v1,
重复输入现象会消失;

但 Wayland Input Method v1 无法正常使用中文输入,
因此无法作为实际解决方案。

该现象表明问题可能与 Wayland text-input-v3 /
input-method-v2 的处理有关。

经确认,回退到 3.1.3 后问题立即消失;升级到 3.1.4 及以上版本后再次出现,100% 可复现。

复现步骤 · Steps to reproduce

复现步骤:

在 Wayland(niri)环境下启动 fcitx5。
启动 ZCode 3.1.4 或更高版本。
打开集成终端。
输入任意字符(例如 a)。
观察到每次按键都会输入两个相同字符(例如 aa)。

对比验证:

安装并启动 ZCode 3.1.3。
在相同环境下重复上述步骤。
输入正常,不会出现重复。

期望表现 · Expected behavior

集成终端中,每次按键只输入一个字符,与普通终端及 ZCode 3.1.3 的行为一致。

实际表现 · Actual behavior

从 ZCode 3.1.4 开始,集成终端中每次按键都会输入两个相同字符(例如输入 a 得到 aa),导致终端无法正常使用。

仅集成终端受影响;编辑器输入正常,粘贴正常,长按按键自动重复正常。

ZCode 版本 · ZCode version

v3.1.4

设备 / 系统 / 浏览器 · Device / OS / Browser

ArchLinux/Wayland/Niri/Electron 41

截图 / 录屏 / 日志 · Screenshots / Recordings / Logs

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions