Repository navigation
Releases
Releases · oneday5799/PeriTray
v1.4.4-beta.1
✨ 新功能
- 新增「飞智 Vader 5 Pro」手柄的 2.4G / 有线电量显示,充电中也会显示当前档位、已充满显示 100%(新设备支持的首个测试版,显示异常欢迎提 Issue 并附日志)
- 新增便携版:Release 页提供免安装 zip,解压即用;配置与日志保存在程序旁的 data / logs 文件夹,升级时覆盖 exe 即可
完整变更列表:v1.4.3...v1.4.4-beta.1
v1.4.3
✨ 新功能
- 新增「蓝牙音频接收」(实验性):把这台电脑当作蓝牙音箱,手机等设备播放的音频直接从电脑扬声器/耳机播出,需 Windows 10 2004+,手机需先与本机蓝牙配对
- 在设置页「设备信息」分区选择手机连接,或在弹出窗口设备卡右键「通过本机播放」;会话状态在设备卡与设置页实时显示,连接建立后随时可断开
- 支持启动时自动恢复上次连接(默认关闭)、断开后自动重试(默认开启,最多 3 次后停止),两项均可在设置页开关
完整变更列表:v1.4.2...v1.4.3
v1.4.2
本版为任务栏组件带来「自动」位置档,播放控制更跟手。
✨ 新功能
- 「任务栏窗口位置」新增「自动」档:组件自动避开任务栏已有图标、找空隙放置,
打开或关闭应用后约半秒内自动跟随;任务栏拥挤放不下时回到整条任务栏,不会压住任何图标。 - 对齐了任务栏组件与相邻原生图标的间距,与 Windows 原生样式完全一致。
- 调整了任务栏组件封面的圆角,与底衬一致且边缘平滑无锯齿。
🐛 问题修复
- 修复点播放/暂停后,任务栏组件上的图标约 1.5 秒才切换的问题:现在几乎立即响应。
🧹 内部优化
- 精简了开发者文档。
完整变更列表:v1.4.1...v1.4.2
v1.4.1
✨ 新功能
- 音乐控制组件上滚动滚轮即可调整该应用的音量,与弹出窗口「音量控制」页的应用音量条行为一致。
- 悬停音乐控制组件时,提示的第三行显示该应用当前的音量。
- 点击音乐控制组件的封面可打开对应的音乐软件。
🐛 问题修复
- 修复开启「显示设备信息组件」后却显示成音乐控制组件的问题:现在关掉任一开关后,对应组件会立即隐藏,不会再出现「关不掉又回不去」的情况。
- 修复点击音乐封面时封面颜色偏移(蓝绿色变成红黄)的问题。
⚡ 性能与流畅度
- 两个组件都关闭时不再启动音乐后台线程,内存占用减少约 11 MB,空闲时 CPU 占用从约 1.4% 降到 0.1%。
🧹 内部优化
- 统一了任务栏面板的判断口径,让「记住的选择」只在两个组件都开启时生效。
- 清理了代码注释中的日期、演进过程与重复说明,并把「注释只写必要内容」的判据写入开发约定。
- 校准了后端模块文档,补上音乐控制与封面激活两个新模块的说明。
完整变更列表:v1.4.0...v1.4.1
v1.4.0
本版把任务栏设备信息组件推到正式版,并集中修掉一轮交互与稳定性问题。包含自 v1.3.7 以来的全部改进。
✨ 新功能
- 任务栏新增「设备信息组件」(默认关闭):每台已添加的设备在任务栏内显示一个图标,直接看出电量与音量。
- 设备信息组件支持拖动位置并被记住;鼠标移上去显示该设备的详细信息。
- 在设备信息组件上滚动滚轮即可直接调音量,步进随「音量精细调节」在 1% 与 0.1% 之间切换。
- 任务栏新增「音乐控制组件」(实验性功能,默认关闭,需在设置中开启):显示专辑封面、歌名与歌手;鼠标移入后变为「上一首 / 播放暂停 / 下一首」三个按钮。
- 音乐控制组件与设备信息组件可以一键互相切换,切换时改为横向滑动过渡,不再是瞬间替换。
- 同一台设备在设备信息页、音量控制页、任务栏、托盘菜单与各处提示中显示同一个名字,改名后各处实时同步。
- 设备改由弹出窗口的右键菜单「钉到任务栏 / 移出任务栏」管理,设置页只保留「查看已添加(含已断开)+ 移除」。
- 新增「任务栏内容缩放大小」设置:面板内只有播放三键与切换键跟随缩放,封面、双排信息、间距与留白保持固定。
- 去掉设置页设备页两张卡片上的问号说明气泡。
🐛 问题修复
- 修复点击「切换媒体会话」可能让整个程序闪退的问题(某些播放器上报空歌手名时触发,表现为毫无征兆地消失)。
- 修复按住任务栏按钮后把鼠标移出、按钮会永久停留在按下态的问题。
- 修复悬浮提示可能永久不再出现、只能重启程序的问题。
- 修复两个组件开关都关闭后,任务栏组件仍残留在任务栏上关不掉的问题。
- 修复在音乐面板上滚动滚轮会改到别的设备音量的问题。
- 修复从设备信息组件切到音乐组件需要点两次的问题。
- 修复切换后另一个媒体会话变成不可达的问题。
- 修复切换面板时会先闪一下上一个会话封面、再显示当前会话的问题。
- 修复切换后悬浮提示一直显示「未在播放」、要移开鼠标再移回才恢复的问题。
- 修复任务栏组件字号偏小、字迹发虚的问题。
- 修复悬浮提示底部被截断的问题。
- 修复设备图标与专辑封面在高分屏下模糊的问题。
- 修复任务栏组件图标粗细不统一的问题。
- 修复内容缩放设置会连带改变封面与双排信息大小的问题。
⚡ 性能与流畅度
- 设备信息取数从约 550 毫秒降到 10 毫秒以内,拖动音量滑块时不再出现明显卡顿。
- 点播放或暂停后按钮状态立即更新,不再有约半秒延迟。
🧹 内部优化
- 统一了任务栏相关的加锁写法,消除了悬浮提示可能永久消失的隐患。
- 新增自动检查:凡是把文字直接交给系统绘制的入口,都必须先处理空字符串,避免无征兆闪退。
- 图标的生成方式改为随仓库入库的生成脚本,换机器后可以复现出完全相同的图标。
- 新增两道提交前检查:一条保证关键注释里的操作纪律不会被误删,一条保证本机的提交钩子不会落后于仓库里的模板(否则新加的检查会静默失效)。
- 特性分支推送后也会自动跑全套检查,不必等合并。
完整变更列表:v1.3.7...v1.4.0
v1.4.0-beta.2
本版以新组件为主:任务栏新增音乐控制组件,并集中修掉一轮交互与稳定性问题。包含自 v1.4.0-beta.1 以来的全部改进。
✨ 新功能
- 任务栏新增「音乐控制组件」(实验性功能,默认关闭,需在设置中开启):显示专辑封面、歌名与歌手;鼠标移入后变为「上一首 / 播放暂停 / 下一首」三个按钮。
- 音乐控制组件与设备面板可以一键互相切换,切换时改为横向滑动过渡,不再是瞬间替换。
- 去掉设置页设备页两张卡片上的问号说明气泡。
🐛 问题修复
- 修复点击「切换媒体会话」可能让整个程序闪退的问题(某些播放器上报空歌手名时触发,表现为毫无征兆地消失)。
- 修复从设备面板切到音乐面板需要点两次的问题。
- 修复切换后另一个媒体会话变成不可达的问题。
- 修复切换面板时会先闪一下上一个会话封面、再显示当前会话的问题。
- 修复切换后悬浮提示一直显示「未在播放」、要移开鼠标再移回才恢复的问题。
- 修复悬浮提示可能永久不再出现、只能重启程序的问题。
- 修复在音乐面板上滚动滚轮会改到别的设备音量的问题。
- 修复任务栏组件字号偏小、字迹发虚,以及悬浮提示底部被截断的问题。
- 修复设备图标与专辑封面在高分屏下模糊的问题。
⚡ 性能与流畅度
- 设备信息取数从约 550 毫秒降到 10 毫秒以内,拖动音量滑块时不再出现明显卡顿。
- 点播放或暂停后按钮状态立即更新,不再有约半秒延迟。
🧹 内部优化
- 统一了任务栏相关的加锁写法,消除了悬浮提示可能永久消失的隐患。
- 新增自动检查:凡是把文字直接交给系统绘制的入口,都必须先处理空字符串,避免无征兆闪退。
- 特性分支推送后也会自动跑全套检查,不必等合并。
v1.4.0-beta.1
本版为任务栏设备信息窗的首个测试版,包含自 v1.3.7 以来的全部改进。
任务栏信息窗是本版新增的较大功能,测试期间如遇异常请优先关闭该功能(设置 → 任务栏 → 关闭「任务栏组件」)后重试。
✨ 新功能
- 任务栏设备信息窗:把设备状态直接显示在 Windows 任务栏上,不用打开弹窗就能看到电量与音量(默认关闭,需在「设置 → 任务栏」中开启)
- 任务栏信息窗新增总开关:关闭后已添加的设备会保留,随时可以重新打开,不用重新添加
- 添加设备的方式改为在弹出窗口的设备卡片上点右键 →「钉到任务栏 / 移出任务栏」,设备信息页与音量控制页都支持;设置页只保留「查看已添加(含已断开)+ 移除」
- 鼠标悬停在任务栏信息窗的设备上会显示该设备的名称提示
- 任务栏信息窗上滚动鼠标滚轮即可调节音量,与弹出窗口音量控制页完全一致(默认每格 1%,开启「音量精细调节」后每格 0.1%),数值即时刷新
- 任务栏信息窗可以拖动到任务栏任意位置,位置会被记住,下次启动仍在原处
- 任务栏信息窗的内容缩放可单独设置(默认大小 / 跟随系统缩放),不再只能跟随系统
- 任务栏信息窗按设备类型区分图标(鼠标 / 键盘 / 手柄 / 扬声器 / 耳机)
🐛 问题修复
- 修复同一个设备在不同地方显示的名字不一致——改过名之后,设备信息页、音量控制页、任务栏窗口、托盘菜单、低电量通知现在都显示同一个名字
- 修复在音量控制页改名后,设备信息页不跟着更新(此前要重开弹窗才生效)
- 修复改完名后,设置页仍显示旧名字
- 修复任务栏信息窗里显示的设备名与设置页不一致
- 修复「恢复默认」后两处显示的名字各说各话
- 修复部分设备名过长时把音量滑块挤出卡片
- 修复系统切换深色/浅色主题后,任务栏信息窗配色不更新(要再悬停一次才刷新)
- 修复配置里存在异常内容时整份设置被重置为默认(会连带丢失自定义设备名、窗口大小、开机自启等个性化设置)
🧹 内部优化
- 设备名的解析统一到同一套规则,界面各处不再各自推算
- 任务栏信息窗的绘制与命中判定改为同一份布局来源,避免提示与实际位置错位
完整变更列表:v1.3.7...v1.4.0-beta.1
v1.3.7
本版承接 v1.3.7-beta.1,包含自该测试版以来的全部改进。
提示:如果你在旧版本里从未收到过更新提示,请到发布页手动下载本版安装包升级。
提示:升级后首次查看时,2.4G 无线设备的电量可能短暂显示为空,随后会自动补上。
🐛 问题修复
- 修复同时使用两台同型号 2.4G 无线设备时电量互相串号的问题——此前只有一台能显示电量,且显示的值可能来自另一台,现在两台各自显示自己的电量
- 修复「检查更新」始终提示已是最新版本的问题——此前该功能会错误地把最早的版本当作最新版本,导致收不到任何新版本提示
- 修复设置页正在编辑时收到后台配置更新,会静默回滚尚未保存的改动
- 修复配置文件里出现一个无法识别的值时整份配置被重置为默认(会连带丢失自定义设备名、窗口大小、开机自启等全部个性化设置)
- 修复升级后旧配置文件缺少新增字段时,同样会整份重置为默认
- 修复日志目录清理会误删用户自己放在该目录下的
debug_*.log文件(删除不可逆且无任何提示) - 修复启动第二个实例时会删掉正在运行实例的活动日志
- 修复低电量提醒「提醒过一次就再也不提醒」——现在充电后重新掉电可再次提醒
- 修复更新检查的版本号比较错误(如本地 1.2 与远端 1.2.0 被误判为有新版本,弹出装不上的更新提示)
- 修复快捷键被其他程序占用时界面显示「已设置」但按键毫无反应,且该键静默永久失效
- 修复音量等常规快捷键注册失败时完全不留日志、无从排查
- 修复托盘菜单切换默认音频设备失败时无任何提示(菜单已关闭,用户会误以为切换成功)
- 修复弹窗动画异常后永久卡死(再也打不开也关不掉,只能重启应用)
- 修复系统主题切换偶尔不生效(托盘图标停留在旧主题,需再切一次)
- 修复后台线程出错时弹出模态对话框,导致该线程卡住、应用整体失去响应
- 修复托盘音频菜单短暂显示过期的设备列表
- 修复通知文案里的换行标记被当作文本显示(如「发现新版本 x(当前 y)
<br>点击前往下载」) - 修复托盘设备数量上限在连续快速操作下可被突破
- 修复应用长时间运行后线程数持续增长(看门狗探活线程泄漏)
- 修复看门狗把「探活超时」误判为「系统从休眠唤醒」,而多做一次 WebView2 恢复
- 修复 WebView2 运行时就绪稍晚时前端整体失效(页面公共功能一次性全部消失)
⚡ 性能与流畅度
- 冷启动更快:启动时创建应用快捷方式的操作移出启动关键路径(此前每次启动都要同步等待 0.3~1.5 秒)
- 改设置不再卡顿:配置落盘改由专用写线程执行,不再占用界面线程
- 弹窗打开更快:音频会话卡片先渲染、设备名随后回填,不再等设备名解析完才显示
- 蓝牙电量读取更快:由「每台设备全量扫描一遍系统设备」改为一趟枚举
- 拖动音量滑块、切换音频设备更顺滑(消除持锁状态下做 COM 枚举)
- 打开日志目录 / 蓝牙设置 / 设备文件夹等操作不再冻结界面
- 系统通知弹出更快(通知图标不再每次都写一遍磁盘)
🧹 内部优化
- 统一按「物理设备」归并设备:同一台设备的音频端点、无线接收器与蓝牙服务现在被识别为一台设备,为后续按物理设备统一展示电量与音量打基础(本版界面尚未启用)
- 补齐蓝牙设备的物理身份识别
- 修正若干文档中的实测数字与一处会引起误读的说明
- 发布说明改为以手写内容为准,不再与自动生成的变更列表重复
- 全仓统一加锁入口,消除「锁异常后功能静默失效」这一类最难排查的哑故障
- 消除 2 处 AB/BA 死锁(曾表现为整进程随机冻结 10~20 秒后被系统判定「应用无响应」)
- 清理多处「持锁做 COM 调用 / 磁盘 I/O」的路径,避免界面被无关操作拖住
- 配置字段改为单点维护,杜绝「新增字段后设置页永远改不动」的漏项
- 收紧前端内容安全策略(CSP),并只允许通过白名单协议打开外部链接
- 固定 Rust 工具链版本,消除「本地绿、CI 红」的漂移
- 静态检查(clippy)存量告警从 20 类收敛到 1 类
完整变更列表:v1.3.6...v1.3.7
v1.3.7-beta.1
本版为代码审查整改后的首个测试版:以稳定性与正确性为主,不引入新功能。
🐛 问题修复
- 修复「设置页保存会把弹窗里的改动一并抹掉」——例如在弹窗改完设备名,再到设置页切换任意开关,名字会被改回去
- 修复设置页正在编辑时收到后台配置更新,会静默回滚尚未保存的改动
- 修复配置文件里出现一个无法识别的值时整份配置被重置为默认(会连带丢失自定义设备名、窗口大小、开机自启等全部个性化设置)
- 修复升级后旧配置文件缺少新增字段时,同样会整份重置为默认
- 修复日志目录清理会误删用户自己放在该目录下的
debug_*.log文件(删除不可逆且无任何提示) - 修复启动第二个实例时会删掉正在运行实例的活动日志
- 修复低电量提醒「提醒过一次就再也不提醒」——现在充电后重新掉电可再次提醒
- 修复更新检查的版本号比较错误(如本地 1.2 与远端 1.2.0 被误判为有新版本,弹出装不上的更新提示)
- 修复快捷键被其他程序占用时界面显示「已设置」但按键毫无反应,且该键静默永久失效
- 修复音量等常规快捷键注册失败时完全不留日志、无从排查
- 修复托盘菜单切换默认音频设备失败时无任何提示(菜单已关闭,用户会误以为切换成功)
- 修复弹窗动画异常后永久卡死(再也打不开也关不掉,只能重启应用)
- 修复系统主题切换偶尔不生效(托盘图标停留在旧主题,需再切一次)
- 修复后台线程出错时弹出模态对话框,导致该线程卡住、应用整体失去响应
- 修复托盘音频菜单短暂显示过期的设备列表
- 修复通知文案里的换行标记被当作文本显示(如「发现新版本 x(当前 y)
<br>点击前往下载」) - 修复托盘设备数量上限在连续快速操作下可被突破
- 修复应用长时间运行后线程数持续增长(看门狗探活线程泄漏)
- 修复看门狗把「探活超时」误判为「系统从休眠唤醒」,而多做一次 WebView2 恢复
- 修复 WebView2 运行时就绪稍晚时前端整体失效(页面公共功能一次性全部消失)
⚡ 性能与流畅度
- 冷启动更快:启动时创建应用快捷方式的操作移出启动关键路径(此前每次启动都要同步等待 0.3~1.5 秒)
- 改设置不再卡顿:配置落盘改由专用写线程执行,不再占用界面线程
- 弹窗打开更快:音频会话卡片先渲染、设备名随后回填,不再等设备名解析完才显示
- 蓝牙电量读取更快:由「每台设备全量扫描一遍系统设备」改为一趟枚举
- 拖动音量滑块、切换音频设备更顺滑(消除持锁状态下做 COM 枚举)
- 打开日志目录 / 蓝牙设置 / 设备文件夹等操作不再冻结界面
- 系统通知弹出更快(通知图标不再每次都写一遍磁盘)
🧹 内部优化
- 全仓统一加锁入口,消除「锁异常后功能静默失效」这一类最难排查的哑故障
- 消除 2 处 AB/BA 死锁(曾表现为整进程随机冻结 10~20 秒后被系统判定「应用无响应」)
- 清理多处「持锁做 COM 调用 / 磁盘 I/O」的路径,避免界面被无关操作拖住
- 配置字段改为单点维护,杜绝「新增字段后设置页永远改不动」的漏项
- 收紧前端内容安全策略(CSP),并只允许通过白名单协议打开外部链接
- 固定 Rust 工具链版本,消除「本地绿、CI 红」的漂移
- 静态检查(clippy)存量告警从 20 类收敛到 1 类
完整变更列表:v1.3.6...v1.3.7-beta.1
Full Changelog: v1.3.6...v1.3.7-beta.1
v1.3.6
✨ 新功能
- 支持 Microsoft Store 发布:新增 MSIX 打包流程,可通过 Store 自动更新
- 弹窗隐藏时 WebView2 切换至 LOW 内存档位,进一步降低后台内存占用
🐛 问题修复
- 修复切换默认音频设备后应用会话显示不全的问题
- 修复弹窗滚动条出现/消失时卡片宽度抖动
- 修复 MSIX 包在 Partner Center 因缺少 ProcessorArchitecture 导致 x64/arm64 包全名冲突
🧹 内部优化
- WebView2 COM 调用全面类型化,修复 controller 引用泄漏
- 日志调用迁移为惰性求值宏,格式化字符串仅在实际写入时构建
- 音频会话枚举链路添加诊断日志,便于排查音频设备问题
- CI 工作流 beta 版跳过 MSIX 构建,release 产物同时附带 NSIS 安装包与 MSIX
完整变更列表:v1.3.5...v1.3.6