候选 FFI 合同已允许空的 title 事件(kind=2、bytes空;candidate_core 的 empty_payload_events)。GUI 的 route_terminal_events 无条件将其交给 render.hpp::utf16,而当前转换器把合法空UTF-8串也判为 invalid text。需要用真实自有 console→ConPTY→候选GUI路径复现后修复。 本地421候选全套出现过 normal-1 的 `invalid text`,当时已看到 TF_AFTER,但原样本未记录事件种类/字节数;该原失败与空标题缺口之间的因果关系仍未知。cmd的 memory 文本不作为本机OOM证据。新最小复现不能回填该旧事件。 - [ ] 真实空标题/OSC0事件进入GUI的受监督 red(自有Job/非输入desktop,失败保留)。 - [ ] 支持合法空转换或按事件合同处理;非法非空UTF-8继续拒绝,原文字保真不变。 - [ ] 独立反例、真实空标题更新及回收通过;原normal负载/期限保持,旧失败单独保留。 父项 #38,属于R2候选GUI可靠性边界;不以此宣称完整VT或WindTerm等价。
Activity
JavaZeroo commentedon Oct 26, 2026
已由 #43 合入修复:合法空 UTF-8 转为空 UTF-16,非空转换的
MB_ERR_INVALID_CHARS和四类非法输入拒绝保持。真实 console→ConPTY→候选 GUI 最小反馈,旧代码收到完整空标题 OSC 后约 0.45 秒报
invalid text;修后两 fresh GUI 存活并完成回收,旧 EXE 反事实仍失败。候选 Windows CI 持续执行实际标题 GUI 与 renderer 两项,renderer-only 路径变更也会触发。公开前后证据已同步。旧 normal-1 的异常调用点和载荷仍未知,已单独保留原失败摘要;本项只关闭已实际复现的合法空标题接口缺口,#38 继续跟踪其余独立回归。