Repository navigation
fix(desktop): Core 固定版本改到 Lithe-core-rust#31 的合并提交,修好 Linux/Windows 上失败的两个测试 - #1891
Merged
Merged
Conversation
xiaoyumuxi
marked this pull request as ready for review
November 14, 2026 03:21
This was referenced Nov 14, 2026
Lithe Review结论: ✅ 通过 未发现需要阻塞合并的问题。 Scope Check
Checked and cleared
Summary固定修订、构建入口和缓存身份之间保持一致,未发现本次改动引入的正确性或架构问题。Core 两提交内容等价及新提交位于 Verification
|
Lithe 运行验收版本: 执行未完成:Invalid scenario identity 本次未形成完整验收结果,详见执行原因。 |
- TestStripeBackgroundButtonOpensThePopoverThatChoosesTheImage:frontLabeled 取最后声明的 同名控件。Windows 和 Linux 上 Viva 在最上层(math.MaxUint16)自绘窗口按钮,窗口的关闭 按钮也叫“关闭”,测试点中的是它,弹窗没有关闭。现在跳过窗口按钮所在的层。 - TestWindowsShellReportsDirectoryAfterChangingIt/powershell.exe:Windows PowerShell 5.1 在 CI 上启动约 9 秒,有时超过 12 秒的期限。等待第一次提示符的期限改为 45 秒,cd 之后 仍然是 12 秒。
workbench-background-image:说明 Windows 和 Linux 上弹窗测试跳过 Viva 自绘窗口按钮所在的层。 terminal-shell:Windows 证据加入 integration_windows_test.go,说明首个提示符 45 秒、进入目录后 12 秒的期限。
Lithe 运行验收版本: 对照:共同祖先
未覆盖:
工作副本与运行状态已清理;可复用编译缓存按 12 GiB / 7 天预算保留。 |
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.
关联 Issue / Linked issue
TestStripeBackgroundButtonOpensThePopoverThatChoosesTheImage由它引入,在 Linux 和 Windows 上一直失败)PR 类型 / Type
改动说明 / What changes
背景 / Why
#1889 合入
preview时,scripts/desktop/build-desktop-core.sh的PINNED_CORE_REVISION还是5efe90b。这是 Lithe-core-rust#30 分支的 head,不在 Coremain上;脚本注释也还写着“#30、#28 尚未合入,合入后改成合并提交”。现在 Lithe-core-rust#31 已经 squash 合入 Core
main,合并提交是62b8a08。git diff 5efe90b 62b8a08为空,两者代码完全相同。本 PR 把固定版本改成这个合并提交:以后拉取 Core 时用的是main上的 commit,不再依赖功能分支或 PR 引用一直保留。本 PR 第一次跑完整 CI 时,Linux 和 Windows 的 vet/test 失败了,原因是两个在
preview上就已经失败的测试,和改固定版本无关:preview在 bd0ba54(#1887)和 e02e3ce(#1889)的 Desktop CI 也是这两个失败。不修好它们,本 PR 和后面的 PR 都过不了完整 CI,所以在本 PR 里一起修掉。两处都只改测试,产品代码没有改。改动 / Changes
scripts/desktop/build-desktop-core.shPINNED_CORE_REVISION:5efe90b4c6adfb831c13c38059aab0c77c5b5263→62b8a08fe41cd3d67f0f32d72653392410e6aa37(Lithe-core-rust#31 的合并提交)。main,它重新提交了 [Windows][W2] Git 安全工作流与冲突恢复 #30([Windows][W2] Git 安全工作流与冲突恢复 #30 在 [Windows][Epic] W1-W3 核心工作流补全 #28 合入main之后才合进 [Windows][Epic] W1-W3 核心工作流补全 #28 原来的分支);[Windows][W3] 多会话终端系统 #31 叠在已 squash 合入main的 [Windows][Epic] W1-W3 核心工作流补全 #28 上。删掉了“尚未合入”的说明。注释里 [Windows][W1] 文档安全与多文件编辑状态 #29 及更早的版本记录没有改。两个 commit 的代码相同,所以没有改命令、JSON、错误码或 C 头文件,桌面端代码也不用改。
desktop/internal/workbench/workbench_background_test.go:frontLabeled跳过窗口按钮所在的层frontLabeled按名字取最后声明的控件。Windows 和 Linux 上,Viva 在最上层(math.MaxUint16,见 Vivaapp/window_controls.go的windowControlsLayer)自绘最小化、最大化和关闭按钮,它们在弹窗之后声明。the close button left the popover open。frontLabeled跳过Layer == math.MaxUint16的命中,Viva 记录命中时写的就是这个层。desktop/internal/localshell/integration_windows_test.go:等待 shell 启动和等待 cd 后的提示符分开设期限TestWindowsShellReportsDirectoryAfterChangingIt/powershell.exe原来两次等待都是 12 秒。不在本 PR 范围内 / Out of scope
类型专属:fix
复现与根因
preview上,build-desktop-core.sh不设LITHE_CORE_RUST_DIR时会去拉5efe90b。这个 commit 只在 Lithe-core-rust#30 的分支和 PR 引用里,不在main上,注释也和事实不符。期望固定到main上的合并提交。scripts/desktop/desktop-go.sh test ./internal/workbench/,TestStripeBackgroundButtonOpensThePopoverThatChoosesTheImage必定失败;Windows 上./internal/localshell/的 PowerShell 用例偶发超时。期望两者都通过。frontLabeled,没有考虑 Windows 和 Linux 上自绘的窗口按钮。它在 feat(desktop): 接入工作台背景图,侧边按钮条弹窗与设置外观共用同一设置 #1878 自己分支的 CI(run 43491819434)上就已经在 Linux 失败。检查项
workbench_background_test.go:535: the close button left the popover open,Windows 报integration_windows_test.go:57: wanted "C:\\Users\\RUNNER~1\\…\\001", got ""; screen: ""。修复后的第二次 CI(run 43552863008)上 Linux、Windows、macOS 的 vet/test 都通过。macOS 本地无法复现:Viva 只在 Windows 和 Linux 上自绘窗口按钮。固定版本一项两个 commit 代码相同,没有能写成回归测试的差异。git -C <Core 检出> diff --quiet 5efe90b 62b8a08为空,见“验证”。git grep 5efe90b在本仓库只有这一处固定版本,CI 和打包脚本都从这个变量读取固定版本;frontLabeled只有workbench_background_test.go里的背景图测试在用。.agents/notes/implemented/bug-fix/记录:行为没有变化。范围检查 / Scope checks
功能矩阵 / Feature matrix
没有用户可观察的变化。按矩阵改动门禁的要求,在两个被测试覆盖的能力里补了这两条回归的说明,状态都没改,仍是
pending:workbench-background-image.json:verification加一段,说明TestStripeBackgroundButtonOpensThePopoverThatChoosesTheImage在 Windows 和 Linux 上跳过 Viva 自绘窗口按钮的那一层(math.MaxUint16),以免点到窗口的关闭按钮。terminal-shell.json:Windows 的evidence加入desktop/internal/localshell/integration_windows_test.go;verification加一段,说明TestWindowsShellReportsDirectoryAfterChangingIt测的内容:三个 Shell 报告起始目录和进入目录后的新目录,首个提示符期限 45 秒,进入目录后 12 秒。统一日志系统 / Structured logging
N/A:没有改动日志。
界面文案 / i18n
N/A:没有用户可见文案。
逻辑归属 / Logic placement
N/A:没有改动业务逻辑。
性能与内存 / Performance and memory
N/A:Core 代码相同,没有性能影响。
设置 / Settings
N/A:没有改动设置。
插件契约 / Plugin contract
scripts/desktop/build-desktop-core.sh的PINNED_CORE_REVISION已升到包含该契约的 Core commit,桌面端测试经scripts/desktop/desktop-go.sh读到的就是这份契约:已改到62b8a08,测试时 Core 检出就是这个 commit。sdk-e2e.mjs:没有改协议。发行包与资源 / Bundle and resources
./scripts/desktop/verify/verify-runtime-bundle-immutability.sh,通过。无用代码与重构 / Dead code and refactoring
验证 / Verification
Core 检出切到
62b8a08(origin/main),通过LITHE_CORE_RUST_DIR指给桌面端:git diff --quiet 5efe90b 62b8a08(Core 仓库)rust/crates/下 50 个 cratebash -n scripts/desktop/build-desktop-core.shscripts/desktop/desktop-go.sh vet ./...(desktop/)scripts/desktop/desktop-go.sh test ./...(desktop/).artifacts/desktop/lithe-core/*/debug/identity.txtcore-revision=62b8a08…,core-worktree=clean./scripts/desktop/verify/verify-runtime-bundle-immutability.sh.agents/skills/write-stable-tests/scripts/test-stability-macos.sh --package ./internal/workbench -- --filter '…Background…'.agents/skills/write-stable-tests/scripts/verify-test-stability.shscripts/desktop/desktop-go.sh test ./internal/workbench/ ./internal/localshell/GOOS=windows go vet ./internal/localshell/,GOOS=windows go test -c ./internal/localshell/gofmt -l./scripts/platform-feature-matrix/verify-platform-feature-matrix.sh./scripts/platform-feature-matrix/verify-platform-feature-matrix-change.sh origin/preview HEADnode --test scripts/platform-feature-matrix/test-platform-feature-matrix.mjspreview上相同未能执行的检查和原因: 修复的两个测试只在 Windows 和 Linux 上失败,macOS 本地复现不了,修复是否有效由第二次完整 CI 验证(见上表)。本地验证用的是
LITHE_CORE_RUST_DIR,没有走脚本自己拉取固定版本的路径,这条路径也由 CI 覆盖(Verify pins已通过)。提交前确认 / Final checks
preview(e02e3ceee,含 fix(desktop): 八组宿主规则改由 Core 计算,AI 代码移到 internal/ai(重新提交 #1888 到 preview) #1889)创建;目标分支:preview