Devotd Github
新发现编程智能体

sodre90/mirador — 修复从全屏画布返回对话时的画面空白

sodre90/mirador 用编辑框焦点守卫修复了处于全屏画布状态时返回其他对话会画面空白的问题,并将其留作 E2E 回归测试。

仓库信息sodre90/mirador ↗

sodre90/mirador 用编辑框焦点守卫修复了处于全屏画布状态时返回其他对话会画面空白的问题,并将其留作 E2E 回归测试。

GitHub 项目说明: A canvas for your coding agent. It draws what it means, asks you with pictures, and walks you through its changes and reviews, right beside the conversation. Desktop app for macOS and Linux.

星标
★ 17
复刻
0
语言
TypeScript
许可证
MIT
最新版本
v0.4.4
查看原始来源 ↗在 GitHub 查看 ↗

sodre90/mirador 是一款 macOS·Linux 桌面应用,在编码代理的对话画面旁附上画布,让代理用图来说明,并把改动内容和评审显示在对话旁边。2026 年 11 月 5 日的提交 9ea0c49 处理的正是这样一个问题:在画布填满窗口、对话框被隐藏的状态下返回其他对话时,整个画面会变空白。

原因出在网页画面的编辑输入处理一侧。web/FormattedBox.tsx 中有一个连接 Lexical 编辑器与内部组件的桥接(Bridge)函数,该提交在应用选择范围之前追加了一个条件:若当前焦点不在编辑框内,就原样返回。按照代码上附带的说明,Lexical 在应用框外的选择范围时会再次将焦点拉回该框,因此在无法获得焦点的隐藏框中,这一过程会无限循环。同一个提交还在 e2e/formatted-box.tests.ts 中增加了一个回归测试:在输入框处于隐藏状态时给该框焦点,然后确认页面错误提示画面没有出现、编写中的临时文本是否原样保留。

不过,这个提交所处理的只是全屏画布与隐藏的对话框相互重叠的那一条路径。改动仅涉及两个文件、增加 18 行,提交信息里也没有附带单独的运行记录或性能数值。桌面应用中其他对话切换路径是否也会受到同样的检查,目前无从得知。如果经常使用全屏画布,那么这次动手的地方确实是对的,但仅凭这些资料还不足以认为稳定性已得到确认,之后是否会出现回归仍有继续观察的余地。