mirror of
https://github.com/feigeCode/navop.git
synced 2026-09-22 00:01:25 +00:00
卡片改版为独立 Entity 后,lists.rs 每次 render 都新建 ExtensionCardView。
GPUI 的点击检测按元素 id 记录 mousedown 状态,而元素 id 里含所属实体的
ElementId::View:实体每帧重建 → 卡片子树 id 变化 → mouseup 时取不到
mousedown 记录,点击被静默丢弃。表现为卡片上安装/卸载/重载按钮与
「点卡片开详情」全部无响应,同页由视图直接渲染的搜索框/chips 正常。
- 卡片改为无状态构造函数(installed_card / marketplace_card),由
ExtensionManagerView 直接渲染,id 由数据派生并跨帧稳定
(ext-card-installed-{name} / ext-card-market-{id})
- 顺带修好已安装卡片 hover 从未生效(原先没有 .id())
- 卡片按钮 listener 直挂管理页视图,安装按钮 stop_propagation,
避免点安装时同时弹出详情窗口
- 安装动作捕获 window handle 传递,并在窗口已关闭 / 标签页关闭失败时
清理 busy,补上卡死兜底
- 补充回归护栏测试:render 期不新建实体、按钮直挂管理页视图