Skip to content

fix(ui): 修复屏幕监听与预览诊断回归#44

Merged
iamsyc merged 34 commits intomainfrom
codex/extract-capture-cursor-config-serialize
Apr 4, 2026
Merged

fix(ui): 修复屏幕监听与预览诊断回归#44
iamsyc merged 34 commits intomainfrom
codex/extract-capture-cursor-config-serialize

Conversation

@iamsyc
Copy link
Copy Markdown
Owner

@iamsyc iamsyc commented Apr 4, 2026

变更摘要

  • 修正屏幕目录加载中的执行器隔离问题,修复切到屏幕监听页时的崩溃
  • 稳定预览诊断场景的窗口启动路径,避免测试场景卡在主页面
  • 统一 UI test 启动参数并改进元素重查逻辑,消除状态恢复弹窗与失效元素引用

验证

  • scripts/test/full_regression_gate.sh

iamsyc added 30 commits March 19, 2026 12:56
- 新增测试环境下隐私权限弹窗隔离规则
- 明确区分应用权限弹窗与测试基础设施授权
- 约束测试流程保持非交互避免人工盯屏授权
- 新增重构复盘文档并沉淀后续重构约束
- 补充预览黑边文档中的授权排查与额外排查信号
- 迁入主屏分享链接规则文档作为后续取舍参考
- 抽离可测预览几何逻辑并补充单元测试
- 增加 fit 和 native 诊断断言与截图自检
- 补充监听共享隔离测试与相关文档说明
- 将监听预览窗口默认初始宽度比例调整为可见宽度的 70%
- 优化标题栏光标开关的文字与间距以改善可读性
- 包含本地化字符串文件的同步更新
- 将缩放模式显示文案集中到枚举本地化资源
- 复用同一文案驱动分段控件与辅助功能值
- 清理多余的 fit native 字符串键
- 引入监听会话 store 并固定状态迁移与删除语义
- 收紧控制器快照刷新路径并补齐 no-op 与顺序断言
- 修正预览诊断模式断言对本地化 fit 值的识别
- 规定提交指令在代码未变化时不得重复跑同组测试
- 将复用最近一次新鲜验证结果写入仓库测试策略
- 保持该规则只适用于 commit-only 场景
…build-check 架构说明为双矩阵\n- 保持文档描述与当前 workflow 和 action 实现一致
- 新增监听生命周期 service 与 metadata,统一监听 session 的启动和关闭入口
- 将 controller、view model、view 的监听调用改为经由 lifecycle service
- 补充并发同屏启动、失败重试与预览链路回归测试
- 引入统一的显示启动协调器和失效上下文,复用捕获与共享启动流程
- 让控制器和视图模型暴露开始态,避免重复启动和过期结果污染界面
- 补充捕获、共享与权限相关测试,覆盖并发、失效和本地化交互路径
- 明确拒绝临时方案、胶水代码和补丁式处理
- 明确默认不保留向后兼容
- 明确限制过渡适配层和一次性 workaround
- 新增执行模式建议章节
- 明确直接执行与开启计划模式的判定条件
- 要求后续实施类回复附带简短建议理由
- 引入 app 级 ScreenCaptureCatalogService

- 统一 capture 与 sharing 的目录刷新语义

- 补齐共享目录相关回归测试
- 拆分 ScreenCaptureFunction 单体实现

- 修复 releaseToken 重入覆盖与 preview sink 计数漂移

- 补齐 registry fanout renderer 回归测试
- 更新 readme 中的调试入口文件

- 同步中文文档引用路径

- 修正文档里的旧单体文件名
- clientID 改为通过容量校验后分配并在拒绝路径保持无分配\n- 修复网页端 terminalStop 可变状态防止运行时异常\n- 新增 xcresult 命中数量守卫并接入 UI smoke 与预览自检
- 引入共享状态快照聚合与订阅更新链路
- 统一捕获页与共享页的拓扑刷新协调与回退监听
- 补齐 sharing service、topology coordinator 与集成测试
- 更新阶段计划与覆盖基线里的拓扑监听入口
- 记录主窗口工具栏分隔线回归与规避约束
- 新增 capture sharing 基线采样协议文档
- 将共享采集默认帧率提升为 shareOnly 60fps 与 mixed 45fps
- 收紧 WebRTC 发送上限并移除观看页显示器名称标题
- 补齐观看页文案与相关集成测试断言
- 覆盖服务重启后旧共享会话保持停止态
- 补充同目标与跨目标共享聚合统计校验
- 校准前端 bootstrap 页面断言并补拒绝 viewer 快照测试
- 新增采集性能偏好,并在设置页与共享页提供统一切换入口
- 让采集注册表和会话按性能模式调整混合监听共享帧率
- 补充状态机、偏好持久化与订阅转发相关测试
- 限制为执行前且存在真实分叉时才输出建议
- 排除完成汇报、状态更新和流程讨论等场景
- 用户已选模式或当前轮已开始执行时停止输出建议
- 将采集性能偏好改为可观察存储状态
- 让运行中的采集会话接入配置状态机并响应模式切换
- 补充性能模式状态与持久化回归测试
- 调整执行模式建议的禁用场景表述
- 为 analysis 和 question 请求补充 code review 例外条件
- 要求有可执行 findings 时在总结后追加一条模式建议
- 用领域专用 actor 收口 SCStream 配置提交流程
- 补充重叠更新与失败恢复回归测试
- 增加 display 页面脚本 smoke test
- 在 Web 入口将 /display 与 /signal 主屏别名解析为具体 shareID
- 固化连接目标并补充主屏切换后的清理与统计回归测试
- 为 ShareView 预览注入 CapturePerformancePreferences 环境
- 让 retain 任务返回实际持有结果,避免失败路径误释放
- 为订阅记录 cursor override 持有状态,取消时按需释放
- 补充成功、失败与并发订阅场景测试
- 在 shareID 变更时返回失效目标并主动断开旧流连接
- 为连接绑定创建时的 session hub,避免主目标重映射后错投递
- 为 WebRTC 待发送信令加入合并和溢出保护,补充服务层与集成测试
- 统一屏幕目录服务默认加载工厂
- 测试环境禁用真实 ScreenCaptureKit 目录请求
- 补充权限弹窗回归测试
- 统一屏幕拓扑签名并修复无效 display 边界
- 调整预览 fanout 锁边界并补充慢 sink 回归测试
- 为共享状态 tombstone 增加有界清理并稳定集成验证
iamsyc added 3 commits April 4, 2026 01:28
- 为共享连接事件引入 sessionEpoch 并按连接隔离聚合状态
- 为目录刷新增加提交前拓扑签名校验与最多三次内部重试
- 补充共享重连与拓扑漂移回归测试并通过本地验证
- 新增 ScreenCatalogOrchestrator 统一目录刷新、权限与拓扑收敛

- 收敛 display capture demand、session driver 与 controller 起停状态

- 拆分预览窗口渲染链路并补齐相关测试覆盖
- 修正屏幕目录加载的执行器隔离,消除监控页崩溃
- 稳定预览诊断场景的主窗口启动与测试启动参数
- 加强 smoke 与 diagnostics UI 测试查询,消除失效元素引用
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 4, 2026

CI Summary

Run: Open

Check Status Details
Change Scope code code-relevant change set
Unit Tests success required
UI Smoke Tests (matrix: baseline + permissionDenied + rebuildFailed) success required; matrix: baseline + permissionDenied + rebuildFailed
Release Build Check (Release arch smoke: arm64 + x86_64) success required; Release arch smoke check (arm64 + x86_64 with thin/sign/verify)
CI Gate success required; driven by Unit Tests + UI Smoke Tests + Release Build Check

Gate rule: target main 的代码相关 PR 必须通过 Unit Tests + UI Smoke Tests + Release Build Check

- 恢复 CI 使用的 rebuildFailed 独立 UI smoke 测试名
- 直接校验失败行展示重试按钮且无重建进度条
- 对齐 workflow 既有 only-testing 配置,消除远端假失败
@iamsyc iamsyc merged commit 5461e05 into main Apr 4, 2026
9 checks passed
@iamsyc iamsyc deleted the codex/extract-capture-cursor-config-serialize branch April 4, 2026 08:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant