Repository navigation
Conversation
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
改动类型
是否包含破坏性变更
改动说明
在支持全局快捷键的 Wayland 环境中,先关闭 SPlayer 的全局快捷键,再重新开启,快捷键就会失效,重启播放器后才能恢复。
问题出在 Electron 44 重新注册快捷键时对 portal 会话的处理:返回的会话路径与预期不匹配,导致注册失败。这次将 Electron 升级到稳定版
45.2.3,使用 Chromium 156 的上游会话处理修复。用同一份应用app.asar对照测试,44 可以复现故障,45 可以直接恢复快捷键。改动是 Electron 版本、对应锁文件,以及两篇中英文 Wayland 说明。文档补充了 niri 所需的版本和授权服务,也说明了如何检查正在运行的版本、完成授权并验证按键。
因为涉及 Electron 大版本升级,也按官方变更说明检查了 preload、窗口和原生模块的现有用法,没有需要配套迁移的调用。Windows/macOS 的验证范围见下表。
还有一项已知问题:重复开关会留下没有绑定的空 portal 会话,44 和 45 都存在,退出播放器后会全部清理。它有另外的上游修复,目前还没进入这里使用的稳定版;本 PR 没有解决这一项。
关联 Issue
Related to #162(现有 Linux portal 实现 PR)
测试情况
Linux 实测环境:x64、原生 Wayland、包含 niri #4744 的开发构建
b4789ddb、xdg-desktop-portal 1.22.1、GNOME portal51.0、control-center Provider51.1。使用独立测试配置、真实系统授权界面和 Wayland 虚拟键盘,按键经过 niri 的正常输入处理路径。工程验证:
git diff --check通过;保留两个原有 lint 警告。自查清单
pnpm format,并确认pnpm typecheck、pnpm lint通过pnpm build:native验证;未手写native/*/index.d.tsdev分支提交