You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CI 观察: 初始 c6e73c2 提交的 Windows CI 曾在本 PR 未修改的 TestWindowsShellReportsDirectoryAfterChangingIt/powershell.exe 出现一次 12 秒无输出超时;同 SHA 只重跑失败 Windows job 后通过(首次失败记录)。没有改动该终端测试或延长它的等待时间。最终 99db65e 的 macOS 首次 CI 在本 PR 未修改的 TestUndoAndRedoKeepTheColorsOfEveryLine 出现 5 秒着色未更新;编辑器包、语法依赖、Core 与 preview 相同,本机该测试连续 20 轮通过(desktop-go.sh test ./internal/editorview -run ^TestUndoAndRedoKeepTheColorsOfEveryLine$ -count=20 -timeout=120s),未宣称已修复,首次 失败证据 保留。99db65e33 的 Linux、Windows CI 通过;macOS 首轮为上述着色失败,重跑等待约 15 分钟后被 GitHub 自动取消,注解为 The job was not acquired by Runner of type hosted even after multiple attempts(容量不足记录)。不继续反复消耗 runner;在上述本机完整组合验证通过后,按维护者授权使用管理员合并。远端 macOS CI 未通过,不能记为绿色或原生窗口验收。自动运行验收机器人在初始提交报告 Invalid scenario identity,最终 99db65e 报告 partial:其环境缺少 Go、Java、MinGW、Core 和 Windows 插件包,未能运行对应验收。本 PR 不将它记为通过;实际 Java 工作流证据来自上述本机真实 ZIP 无头测试,三平台 CI 仅证明通用客户端测试。
未能执行的检查和原因: 用户明确选择无头模式,本轮不声称原生窗口或 Windows/Linux 已验收。Java 5/7 原配置、私有库、Java EE 容器、Ant 命令与所有行内测试运行器属于未支持/未覆盖范围,不能从守护测试通过推断功能通过。
条件不足,未验证:Exercise the actual Go plugin-service handlers with the pinned Core decoder, then the real workbench action-collection path. Register actions and routed providers using a valid workspace context; register and withdraw bindings after opening documents; deliver language-server readiness without editing. Hold an earlier collection at a controlled gate, deliver a newer result at the same text version, then release the earlier empty result/error. Evidence level: native host/Core component integration, not native-window verification.
The inventory lacks Go; desktop/go.mod pins go1.27.3. Windows linking additionally requires an unavailable MinGW/cgo toolchain and the external Core f113e9e9f81a30fa9feb61307e4118af111df936 headers/static library and fixtures. No staged Core artifacts or native acceptance executable are present. The new regression test directly references editorActionSnapshot/presentEditorActions, which do not exist on the baseline: copying that test would yield a build failure, not behavioral evidence. A frozen harness using production boundaries available on both revisions is required.
条件不足,未验证:In separate fresh projects, invoke the production Run attach and launch paths before adapter discovery has occurred. Gate adapter discovery to cancel one request before completion. Exercise connection attachment only after the target port opens, then release an attached session owning a real fixture process. Separately control process-stop completion to check duplicate automatic cleanup, explicit repeated stopping and Core-destruction ordering. Evidence level: native lifecycle integration plus deterministic component checks, not toolbar interaction.
Go 1.27.3, Windows cgo/MinGW, the pinned Core build/fixtures and a compatible native adapter fixture are unavailable. A baseline-compatible lifecycle harness is also needed; PR-only StopRun fields cannot be used as baseline prerequisites. Windows process_windows.go declares StopsGracefully=false and terminates its Job Object immediately, so Windows runtime timing cannot prove Unix SIGTERM grace. The host stop policy must use controlled synchronization; actual macOS grace requires separate macos capability.
条件不足,未验证:Use identical immutable Windows Java/Maven plugin ZIPs with isolated installation, storage, workspaces and dependency caches. Drive actual Core, JDT LS, Maven and java-debug through the production workbench paths: completion, compile, dependency-backed output, breakpoint/local-variable inspection, continue, second debugging and stop, followed by invalid-source refusal. Repeat with the eight legacy fixture variants. Include Java 5/7 refusal, externally supplied fixed historical-source copies and a workflow that leaves a paused session to unconditional teardown.
In addition to the missing Go/cgo/Core prerequisites, Java is explicitly unavailable. No compatible Windows Java/Maven ZIPs, Maven distribution, JDT/java-debug resources, offline artifact repository, project JDKs for Java 8/11/17 or JDK required by the supplied JDT LS were provided. Fixed historical-source fixtures and their identities are absent. The integration tests are opt-in and absent on the baseline; skipped or unmatched tests would provide no evidence. These inputs and a frozen cross-revision harness must be supplied before a runnable probe can be defined.
未覆盖:
Valid action/provider registration through the real Core, with caller/context validation and strict rejection of unknown fields, duplicate registrations and unavailable functions, remains unverified.
Registration, withdrawal and language-server readiness refreshing already-open documents without an edit, asynchronously outside the action lock, remain unverified.
Same-text-version stale empty results and errors being discarded, together with document/project/version isolation, remain unverified.
First-use attach and launch, cancellation during adapter discovery, connection-port readiness and launch argument/environment binding remain unverified.
Owned-process cleanup, external-process ownership preservation, Core destruction before process waiting, idempotent automatic stops, explicit repeated-stop escalation and cleanup after interrupted workflows remain unverified.
Real Java completion, Maven compilation, dependency classpaths, main output, breakpoints, variables, continue, repeated debugging, stopping, stale-bytecode prevention, structured diagnostics and package hash invariance remain unverified.
The legacy matrix remains unverified: Java 8 source/target, custom Maven layouts, cross-module dependencies with Chinese/space paths, profile source roots, javax JAXB, JUnit 3/4 Maven goals and Eclipse/Ant-layout JDT builds.
Java 5/7 safe refusal and fixed historical-project copies, including explicitly qualified temporary source/target 8 overrides, remain unverified. Safe refusal would not establish full Java 5/7 support.
These component/native integration plans provide no native-window, dialog, focus or visual-performance evidence. Native desktop acceptance remains blocked by the absence of an interactive desktop; macOS-specific graceful process termination also cannot be established on Windows.
Linked Issue bodies and companion plugin sources/packages were not supplied. Requirements beyond the explicit PR description cannot be established; no acceptance of the entire Viva 预览版问题聚集贴(preview 最新构建即可) #1832 collection thread is implied.
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
review: highghfind author score; see https://ghfind.com
1 participant
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
PR 类型 / Type
改动说明 / What changes
背景 / Why
安装契约匹配的 Java 插件后,真实 Core 仍会拒绝 Run/语言功能注册;已打开文件的动作不自动刷新;首次调试要求先打开 Debug 面板;工具栏停止附加调试可能留下 Run 持有的暂停进程。本 PR 修复宿主通用接线,并用真实插件 ZIP、Maven、JDT、java-debug 验证完整工作流。Java 专属逻辑全部在独立插件,Core 没有新增 Java 特判。
改动 / Changes
不在本 PR 范围内 / Out of scope
类型专属:fix
复现与根因
plugin.host.invalidParams;原假宿主不做解码而漏报。the debug adapters are still loading。git blame origin/preview定位这些宿主路径来自0faecba491的 Viva 迁移。PR patch 基线为 preview540ca9eeb;本地先与 preview6268d9292合并完成全量及 Java 矩阵,随后与最新d1e20c8cf合并,补测构建任务范围选择与普通 Maven 全链路、全模块编译和 vet,并对最终树再跑全量 Go(workbench 146.380 秒)。已合并为6bc91bc57c9f952e680f9c99d01b849915b20cc1,GitHub 文件树2af9fe5a02192d77add5db2645cc371595d402ec已核对与本地实测一致;Core 固定为f113e9e9f81a30fa9feb61307e4118af111df936;契约与 fixture 仍从正在链接的 Core 检出读取。检查项
hostactions_refresh_test.go、hostproviders_routes_test.go、debug_test.go、java_plugin_e2e_test.go;上列错误即修复前结果。.agents/notes/implemented/bug-fix/2026-11-13-viva-plugin-run-debug-lifecycle.md。范围检查 / Scope checks
功能矩阵 / Feature matrix
.artifacts生成视图。统一日志系统 / Structured logging
run.build_failed、op 身份与高频收集成功抑制;不改写上游输出。scripts/logging/generate-log-events.mjs/verify-log-usage.mjs已移除,本次无新目录声明,未将不存在的全局门禁记为通过;现有事实验证与已知 [Feature] 重构插件会话停止回执,避免正常关闭通过销毁失败反复探测 #1860 分开报告。界面文案 / i18n
N/A:不新增用户文案或词条;已有错误仅因流程恢复而触发。i18n verify 与 generate --check 仍实际执行通过。
逻辑归属 / Logic placement
性能与内存 / Performance and memory
设置 / Settings
N/A:未新增设置或影子配置。测试只用隔离存储和显式 opt-in JDK 环境,不修改用户配置。
插件契约 / Plugin contract
N/A:没有新增或修改公共宿主 API/通知/schema。EditorActionsChanged 与 StopRun 是 Go 内部窗口/进程接线,不是插件协议;仍使用已固定的 Core 契约 fixture。
发行包与资源 / Bundle and resources
无用代码与重构 / Dead code and refactoring
验证 / Verification
CI 观察: 初始 c6e73c2 提交的 Windows CI 曾在本 PR 未修改的
TestWindowsShellReportsDirectoryAfterChangingIt/powershell.exe出现一次 12 秒无输出超时;同 SHA 只重跑失败 Windows job 后通过(首次失败记录)。没有改动该终端测试或延长它的等待时间。最终 99db65e 的 macOS 首次 CI 在本 PR 未修改的TestUndoAndRedoKeepTheColorsOfEveryLine出现 5 秒着色未更新;编辑器包、语法依赖、Core 与 preview 相同,本机该测试连续 20 轮通过(desktop-go.sh test ./internal/editorview -run ^TestUndoAndRedoKeepTheColorsOfEveryLine$ -count=20 -timeout=120s),未宣称已修复,首次 失败证据 保留。99db65e33 的 Linux、Windows CI 通过;macOS 首轮为上述着色失败,重跑等待约 15 分钟后被 GitHub 自动取消,注解为The job was not acquired by Runner of type hosted even after multiple attempts(容量不足记录)。不继续反复消耗 runner;在上述本机完整组合验证通过后,按维护者授权使用管理员合并。远端 macOS CI 未通过,不能记为绿色或原生窗口验收。自动运行验收机器人在初始提交报告Invalid scenario identity,最终 99db65e 报告partial:其环境缺少 Go、Java、MinGW、Core 和 Windows 插件包,未能运行对应验收。本 PR 不将它记为通过;实际 Java 工作流证据来自上述本机真实 ZIP 无头测试,三平台 CI 仅证明通用客户端测试。未能执行的检查和原因: 用户明确选择无头模式,本轮不声称原生窗口或 Windows/Linux 已验收。Java 5/7 原配置、私有库、Java EE 容器、Ant 命令与所有行内测试运行器属于未支持/未覆盖范围,不能从守护测试通过推断功能通过。
提交前确认 / Final checks
.artifacts、历史项目副本、target/dist、个人路径或用户日志。