154 Commits
Author SHA1 Message Date
ysicingandClaude 8244dd15c1 fix: 自带刷新的弹窗不提高采样频率,过期风扇数据不显示启动中
- AI 用量、显示器弹窗及仅含这两项的合并面板沿用后台采样间隔
- 风扇读取失败沿用旧数据时清除 isStarting,避免“启动中”超出 10 秒窗口

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-04 21:52:14 +08:00
ysicingandClaude 8919dabb6c fix(fan): mode 或目标转速读取失败时沿用起步窗口
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-04 21:52:14 +08:00
ysicing 6782efa805 fix: 处理 review 反馈并消除取消测试的调度抖动
- 风扇曾报告状态键时,偶发读取失败沿用原起步窗口
- 显示器亮度百分比使用 locale 百分比格式
- 显示器行按连接身份区分,换屏后丢弃旧拖动草稿
- 取消测试在采样线程内记录返回时刻,排除 await 恢复延迟
2026-10-04 21:52:14 +08:00
ysicing a7b894f386 fix(display): 上次超时的显示器排到最后读取
超时的内核调用返回前占着唯一执行槽,固定顺序读取时排在后面的显示器只会持续得到 busy。上一轮超时的显示器改为最后读取,仍每轮重试。
2026-10-04 21:52:14 +08:00
ysicing dc03cb3b0e fix(display): 多屏且无法读取 EDID 时拒绝 DDC 服务
读不到 proxy 的 EDID 时无法确认其归属,仅在只有一台外接屏时接受,多屏时拒绝,避免亮度、音量写到其他显示器。
2026-10-04 21:52:14 +08:00
ysicing 8ddbead9a8 fix(test): 消除显示器测试的轮询时序依赖 2026-10-04 21:52:14 +08:00
ysicing c66ebe94f8 fix(cpu): 热压力改为异常时提示并精简测试
- 正常热状态不再单独占一行,偏高及以上时在温度旁显示警示图标,无温度传感器时同样提示
- 正常状态配色与温度一致,补充弹窗高度在各热状态下保持稳定的测试
- 移除重复的核心分工测试和必然通过的热状态采样测试
2026-10-04 21:52:14 +08:00
ysicing 1bd75ba0db fix(display): 缓存 DDC 服务匹配并隔离逐屏超时
- 按连接缓存 IORegistry 匹配结果,屏幕配置变化、唤醒和手动重新检测时清空,轮询不再每 5 秒全量遍历注册表
- DCPAVServiceProxy 按遍历顺序归属后,再用服务自身 EDID 与 CG 显示器的厂商、型号、序列号比对,排除其他显示器的服务
- 每台显示器读取使用独立取消令牌,一台超时不再导致后续显示器跳过
2026-10-04 21:52:14 +08:00
ysicing 3c30a52077 fix(cpu): 完善热压力显示并修正核心分组 2026-10-04 21:52:14 +08:00
ysicing d279f5083f fix(fan): 仅在无风扇转动时汇总显示启动中
多风扇机型上任一风扇起步会隐藏其他风扇的实际转速,改为没有风扇在转且存在起步窗口时才显示启动中。
2026-10-04 21:52:14 +08:00
ysicing 9707abba1d feat(display): 添加显示器信息与 DDC 控制 2026-10-04 21:52:14 +08:00
ysicing 9d4a97b960 fix(menubar): 同步总览网络归属地显示设置 2026-10-04 21:52:14 +08:00
ysicing e05f2ad9f5 feat(menubar): 添加额度进度条并精简总览底栏 2026-10-04 21:52:14 +08:00
ysicing ca0666fc7c feat(menubar): 优化紧凑总览与原地展开交互 2026-10-04 21:52:14 +08:00
ysicing 0696187bb0 fix(menubar): 让蓝牙电量遵循文字显示样式 2026-10-04 21:52:14 +08:00
ysicing cbd44993ec feat(menubar): 新增单图标模式并优化状态总览 2026-10-04 21:52:14 +08:00
ysicing 16aa370de2 fix(ai-usage): 修正紧凑模式回退与坐标轴索引 2026-10-03 21:51:46 +08:00
ysicing 12e8b4d934 feat(ai-usage): 完善套餐信息与菜单栏用量展示 2026-10-03 21:43:43 +08:00
ysicing 0d8f68372d feat(ai-usage): 按时间范围展示小时与每日用量 2026-10-03 20:24:19 +08:00
ysicing e33fa55154 feat(ai-usage): 添加显示偏好与费用估算 2026-10-03 20:24:09 +08:00
ysicing 7b789b1ec2 fix(ui): 优化公共控件反馈与文字可读性 2026-10-02 21:24:11 +08:00
ysicing 04a7909dbf fix(update): 迁移多应用接口并统一新域名 2026-10-02 09:19:43 +08:00
ysicing eac8a3a698 fix(i18n): 补齐累计译文并适配长文案布局 2026-10-02 08:43:08 +08:00
ysicing abd001b7f5 chore(repo): 清理旧官网域名引用 2026-10-01 18:12:39 +08:00
ysicing 5d047d1c69 chore(snapshot): 更新模拟升级数据和双语摘要 2026-10-01 18:12:39 +08:00
ysicing 9db2b7e789 fix(menubar): 修复弹窗偶发无法显示 2026-10-01 17:34:27 +08:00
ysicing 58544ecc0d fix(review): 收敛进程分组键并补强日历测量测试
- 新增 ProcessUsage.rowGroupID,进程表与磁盘排行共用同一分组标识
- 弹窗额度读数只读取 AI 项目
- 合并预览栅格化的两处降级分支
- 日历测量测试改为方向性断言,去掉固定等待
2026-10-01 11:18:40 +08:00
ysicing 87079eddb2 perf(cpu): 减少菜单栏读取和磁盘排行重复计算 2026-10-01 11:18:40 +08:00
ysicing a068fb3e38 fix(calendar): 补齐弹窗挂载前的内容测量 2026-10-01 11:18:40 +08:00
ysicing e7040dd04b fix(menubar): 修正预览位图缩放 2026-10-01 11:18:40 +08:00
ysicing 9356f86e5d test(rest): 固定墙上时间避免午夜前后失败
按自然日统计会用真实时刻反推专注段完成时间,测试只伪造了单调时钟,
0:00 至约 1:55 之间运行时,段落会被算到昨天而失败。注入随时钟前进的正午时间。
2026-10-01 11:18:40 +08:00
ysicing 2c0905ece8 perf(menubar): 设置页预览只栅格化一次
预览图原为绘制回调型 NSImage,SwiftUI 每次布局或重绘都会重跑文字排版。
改为渲染一次位图后复用;设置页停在“菜单栏”时,同环境实测平均 CPU 约 2.73% 降至 2.16%。
2026-10-01 11:18:40 +08:00
ysicing dacc9cbbaa fix(calendar): 老用户沿用旧版默认值并区分小组件节假日提示
- 已有安装缺少日历选项时沿用旧版默认与周一起始,不按地区重新初始化
- “明天上班吗”区分未启用节假日与安排尚未公布,恢复“暂无法判断”译文
- 截图固定中国大陆默认值与周起始日,移除默认参数与无调用方的 defaults
2026-09-30 23:50:16 +08:00
ysicing c0976ef649 fix(calendar): 联动农历设置并优化菜单栏日期字体 2026-09-30 23:50:16 +08:00
ysicing 0b63a4ed04 refactor(calendar): 固定显示星期与黄历并简化设置 2026-09-30 23:50:16 +08:00
ysicing 01bf5c77b2 fix(calendar): 限制假期展示年份并关联倒计时设置 2026-09-30 23:50:16 +08:00
ysicing 1e0ff1236e refactor(calendar): 合并节气与时令设置 2026-09-30 23:50:16 +08:00
ysicing 3aae19a4c6 refactor(calendar): 移除月历干支显示与开关 2026-09-30 23:50:16 +08:00
ysicing 222b2baa89 fix(calendar): 保留农历选择并完善周起始日设置 2026-09-30 23:50:16 +08:00
ysicing 678303187d feat(calendar): 按语言与地区调整日历显示和默认选项 2026-09-30 23:50:16 +08:00
ysicingandClaude Opus 5.5 f1dd8cfacf fix: 收尾 PR 审查遗留的更新、卸载与签名问题
- 跳过已撤回的版本时不再显示"有更新";安装前发现更新源换了版本时给出明确提示(补齐 7 种语言)
- 补充双区域回退与失败重排的调度测试
- 回收结果按标准化路径比对,避免路径写法不同误报本体未移动
- 抽出 scan 统一后台遍历与取消,loadApps 嵌套降到 3 层
- 自我保护测试只校验错误语义,不再比较两次翻译
- sign_sparkle.sh 在证书不在钥匙串有效列表时提前报错,避免子组件漏签

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 16:59:02 +08:00
ysicing 7e0a22e132 refactor(ui): 优化弹窗标题图标与间距 2026-09-30 16:37:46 +08:00
ysicing f533f29071 test(network): 修正取消测试时限并避免忙等 2026-09-30 15:30:38 +08:00
ysicingandClaude Opus 5.5 3dd5aa3e6c fix(uninstaller,updates): 列表发布即结束扫描态并保留后台已发现的新版
- 列表发布后立即结束"正在扫描应用",计量在后台继续;新增 reloadApps 供显式刷新中断计量重新列举,已算出的大小保留
- 回收期间禁止勾选残留项,界面复选框同步禁用
- 后台检查失败时若已发现新版则保持"有更新",不再退回空闲

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 15:20:08 +08:00
ysicingandClaude Opus 5.5 036a4a6598 refactor(uninstaller): 移除无调用方的应用列表接口并放宽取消测试
- 删除吞错的 installedApps(home:excluding:),统一使用可取消的 scanInstalledApps
- 取消测试改为按完整扫描检查点数在中途取消,不再绑定具体检查次数

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 15:20:08 +08:00
ysicing bc2bfe8f5c fix: 修复应用扫描取消并校验 Sparkle 更新源 2026-09-30 15:20:08 +08:00
ysicing 1c1e94a15f feat(updates): 接入 Sparkle 并支持双语发布说明 2026-09-30 15:20:08 +08:00
ysicing 8b13fd44eb test(uninstaller): 修复本地化断言并记录测试隔离约束 2026-09-30 15:20:08 +08:00
ysicing 7e2024eedf fix(lifecycle): 修复更新取消与卸载、查询生命周期 2026-09-30 15:20:08 +08:00
ysicing fda9179a58 refactor(uninstaller): 优化卸载确认弹窗布局与文案 2026-09-29 23:29:58 +08:00