mirror of
https://github.com/shadowsocks/ShadowsocksX-NG.git
synced 2026-10-26 19:53:44 +00:00
2.4 KiB
2.4 KiB
代理规则浏览 UI 简化
状态:已按用户确认设计实现;本文记录本次调整,实现现状以当前代码为准。
已确认
- 右侧规则列表顶部不再展示来源详情。
- 有元信息的选中来源在左侧来源列表下半部自动展示版本摘要、许可证和报告入口;全部规则、自定义规则、固定本地策略不预留空白详情区域。完整版本、上游出处和归属说明放在报告窗口,保留完整可复制内容。
- 快照制作时的转换报告改为独立窗口展示,正文可滚动、可选择复制,窗口标题标明来源。
- 只保留一个报告窗口。主列表切换来源不改变已打开报告;明确打开另一来源的报告时,复用窗口并切换内容。
- 底部关系解释仅在单选规则存在同行动覆盖或相反行动遮蔽时展示,包含部分重叠及固定本地策略覆盖;无关系或多选时隐藏。
- 每种关系标题只出现一次,下方列出相关规则的匹配内容、类型和行动;固定策略仅列出相关范围。不重复选中规则的列信息,也不级联展示来源元信息或转换报告。
- 主窗口关闭后,报告窗口可以继续存在;最后一个应用窗口关闭后才回到菜单栏形态。
- 报告保持打开时的快照,主页面刷新不自动替换内容;再次点击报告入口时更新并置前。
实现前代码核实
- 列表已有匹配内容、类型、行动、来源与状态;底部额外提供具体覆盖者及固定策略范围。
- 自定义规则和固定本地策略没有快照元信息,但当前仍占用 160 点顶部区域。
- 当前转换报告包含制作时统计和说明,不是当前集合分析或运行时状态。
本轮不建立新 ADR;已有 ADR-0017 追加独立报告窗口的生命周期修订。领域术语沿用并补充到 CONTEXT.md。
本次验证
- 750 项 hostless 测试通过,无签名 Debug 构建通过,格式与 lint 检查通过(保留既有文件长度警告)。
- 隔离的原生 SwiftUI 窗口验证使用打包来源快照:报告打开、切换内容时复用、查询与刷新不替换报告、关闭后重开,以及两个关闭顺序均通过;没有创建代理控制器或写入系统代理。
- 原生验证仍记录已有 NSTableView 重入警告,未发生崩溃。单元测试与本次窗口验证不作为真实代理运行验证。
- Standards 与 Spec 两轴审查无剩余发现。