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
条件不足,未验证:Scratch must retain its latest contents when checkpoint persistence fails, including closing a tab, project or window. Focus: documents.go saveBeforeClose and draftstore quota enforcement.
No interactive Windows desktop, native input driver or supplied product executable. The Go 1.27.3 toolchain, Windows cgo/MinGW build tools and revision-matched Core artifacts needed for a native alternative are also unavailable. Native dialogs and window-close behavior cannot be proven with a mocked frontend.
条件不足,未验证:Native component-level recovery/checkpoint behavior must preserve an unresolved conflict across two fresh recovery owners. This is filesystem/API evidence, not end-to-end window verification.
The executable inventory lacks Go and the required Windows native linker. This checkout contains the Go bridge but no external pinned Rust Core checkout or callable built library. A frozen native harness usable on both revisions is therefore unavailable. Missing new baseline symbols or build failures must remain blockers rather than being emitted as behavioral bug evidence.
条件不足,未验证:Recent-file and recent-edit selection must correspond to the completed current query and mode, including submission while native history I/O is pending.
No interactive desktop or native keyboard/focus automation is available. A deterministic gate around actual history I/O is also required for repeatable event ordering. The existing Go/Viva harness cannot run with the supplied toolchain inventory, and a mock-host frontend would not verify native submission behavior.
未覆盖:
All three selected scenarios remain unverified. The supplied review findings informed planning; source inspection does not establish runtime reproduction.
Recovery beyond the selected conflict scenario: automatic checkpoints with autosave disabled, atomic/private streaming writes, coalescing, 64 MiB per-file and 256 MiB total limits, 64-document limit without eviction, write-failure cleanup, and successful-save removal.
Scratch beyond the selected close scenario: native Save As success/cancellation/failure, waiting for an ongoing save, persistent-list reopening, explicit discard closing the corresponding tab, and deletion/list-refresh ordering preventing resurrection.
Editor preferences: Core defaults and 250–60,000 ms bounds, actual-value display, persistence, native line-number/whitespace/caret/blink rendering, retained breakpoint gutter, restoring defaults, and ownership/cancellation of one autosave timer.
Named keymap schemes: legacy migration, independent save/select/rename/delete, actual dispatch changes, default protection, duplicate/name/count/binding rejection, recording/conflict/reset regression checks, and opening settings without writing.
Windows GNU build/link correction and native Core ABI: Go, MinGW/cgo and Bash executables are absent from the supplied inventory; revision-matched external Core sources, headers, fixtures and built libraries are not present in this checkout.
Runtime resource boundaries: installation-directory hashes remaining unchanged, platform storage placement/privacy, and exclusion of editor user state from worktree resource reuse.
English/Chinese native presentation, accessibility labels, explanations, structured failure logging, and exclusion of source/query/replacement contents from logs. Localization/resource gates were not executed; the PR also reports missing logging gates under [Feature] 恢复 Viva 日志事件类型生成和目录使用门禁 #1802.
Performance and memory: background work, bounded queues/resources, cancellation, idle behavior, rendering allocations and native responsiveness remain unverified. Performance acceptance needs a prespecified statistical protocol, workloads and thresholds; single-run assertions would be insufficient.
macOS native workflows, ABI, bundle immutability and signature/Sparkle effects require capability macos and remain blocked.
条件不足,未验证:Scratch must preserve its latest contents when checkpoint persistence fails, including closing a tab, project or window. Exercise the production paths in documents.go saveBeforeClose, scratch_files.go and draftstore/store.go.
There is no interactive desktop, native input/window automation or supplied revision-matched product executable. The Go/Viva native alternative also needs unavailable Go 1.27.3, Windows GNU cgo tools and matching Core artifacts. Actual tab/project/window closure cannot be established by a mock-host frontend. A supported fixture-only application-data configuration is also required.
条件不足,未验证:Native recovery/checkpoint behavior must preserve an unresolved external-file conflict across successive fresh recovery owners. This is production component/filesystem acceptance, not end-to-end window verification. Focus on editor_recovery.go, document_observation.go and saveDocumentMode.
The checkout contains Go adapters but no external Core checkout, C header, callable library or native component runner. Go 1.27.3 and the Windows GNU linker are unavailable in the supplied inventory; Cargo/Rust alone cannot execute these Go production paths. A frozen runner usable on both revisions is also missing: the new recovery methods do not exist on baseline, and failure to compile against them would be a setup blocker, not a legitimate baseline outcome.
条件不足,未验证:Recent-file and recent-edit submission must use completed results for the current query and mode, including Enter and list submission while native history I/O is pending. Focus on recent_files.go queryRecentFiles, result installation and recentFilesPopup.
No interactive desktop or native keyboard/focus automation is available. Repeatable ordering additionally requires a supplied native gate and completion observation around actual history I/O; none is externally drivable here. The existing Go/Viva harness cannot run with the supplied tool inventory and absent Core artifacts. A mock-host frontend would not prove native keyboard, focus or submission behavior.
未覆盖:
All three selected scenarios remain unverified. Source inspection and supplied review reports do not establish runtime reproduction. The baseline predates these feature APIs; missing symbols or compilation failures must not be classified as behavioral bug evidence.
Recovery beyond the selected repeated-conflict scenario: checkpoints with autosave disabled, project-reopen discovery, deleted-file conflicts, private atomic streaming writes, coalescing, 64 MiB document and 256 MiB storage bounds, the 64-document limit without eviction, and write-failure cleanup.
Scratch beyond the selected close-failure scenario: shortcut/command entry, persistent-list reopening, native Save As success/cancellation/failure, edits during an ongoing save, explicit discard, closing the corresponding tab, and deletion/list-refresh ordering preventing draft resurrection.
Editor preferences: Core defaults and 250–60,000 ms bounds, actual-value display, settings persistence, native line-number/whitespace/caret/blink rendering, retained breakpoint gutter, restoring defaults, and ownership/cancellation of a single autosave timer.
Recent files/edits beyond pending-result submission: independent access/edit ordering, filtering, deduplication, the 80-item limit, persisted caret positions across restarts, bounded ordered I/O, and project-close cleanup and isolation.
Named keymap schemes: migration of legacy overrides, independent save/select/rename/delete, actual shortcut dispatch changes, default protection, name/count/binding validation, recording/conflict/reset behavior, and opening settings without writing.
Windows GNU linking correction, staging identity and native Core ABI remain unverified. Go 1.27.3, Bash/cygpath and MinGW/cgo tools are absent from the supplied inventory; revision-matched external Core sources, headers and libraries are absent from this checkout.
The window-close retry and local-history Apply synchronization changes remain unverified. Claims about reduced intermittency require a prespecified repeated-run protocol and failure criteria.
Runtime storage placement/privacy, installation-resource hash invariance, and refusal to reuse mutable editor user state across worktrees remain unverified. No installed product or packaged-resource fixture was supplied.
English/Chinese native presentation, accessibility labels, explanatory text, structured failure logging, and exclusion of source/query/replacement text from logs remain unverified. Localization/resource checks were not executed; the PR reports missing logging gates under [Feature] 恢复 Viva 日志事件类型生成和目录使用门禁 #1802.
Background execution, bounded memory/queues, cancellation, idle behavior, rendering allocations and native responsiveness remain unverified. Performance acceptance is blocked pending a prespecified statistical protocol, workloads, sample sizes and thresholds; supplied macOS measurements do not establish Windows behavior.
macOS native workflows, ABI, bundle immutability, code-signature and Sparkle effects require capability macos and remain blocked.
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
65cf82343c5e315aae2e335b2e8f0217b703e89a。PR 类型 / Type
改动说明 / What changes
背景 / Why
Viva 工作台完成界面对齐后,IDE 本体仍缺少六项日常编辑能力。本 PR 一次补齐完整入口、持久状态、共享规则和无头流程验证,目标分支为
preview。改动 / Changes
同时补齐共享 i18n、功能矩阵、职责 Note、运行时资源不可复用清单及测试;完整文本、匹配词和替换内容不进入日志。没有新增运行依赖或插件宿主 API。正式 Core 契约、C 头和可执行向量随配套 Core PR 一起修改。
合入前同时修复 Windows CI 外部链接失败(首次失败运行):Rust 静态库声明了
winapi_*导入库,但 cgo 外部链接器没有取得对应 Cargo 私有归档。Windows GNU 构建启用 winapi 0.3.9 已提供的WINAPI_NO_BUNDLED_LIBRARIES=1,直接使用构建工具链已有的 MinGW 系统库;暂存身份记录链接模式,资源清单和拒绝复用路由同步说明,无新增下载或运行依赖。原有 Cargo 导入库发现逻辑保留供其他依赖使用。构建脚本回归覆盖 Windows 目标、环境传递及暂存产物,修复前失败、修复后通过。Windows 链接恢复后,两次运行分别暴露两个测试同步问题:首次为窗口保存关闭等待超时,第二次为本地历史卡片 Apply 未触发(首次失败的窗口测试在第二次已通过)。本地历史测试现用可释放、有超时的 gate 固定“用量先返回、初始规则后返回”的顺序,稳定复现同一失败,再等待新增说明行实际渲染后取按钮坐标。窗口关闭测试关闭与该场景无关的自动保存,明确等待首次失败回调结束再更换 writer,并增加关闭后磁盘内容断言。这些修改仅限测试,未提高超时或改动产品逻辑。
不在本 PR 范围内 / Out of scope
类型专属:feat
多平台对齐
范围检查 / Scope checks
功能矩阵 / Feature matrix
origin/preview的变更门禁通过。.artifacts/生成视图。统一日志系统 / Structured logging
performed/emit入口记录用户动作、恢复和处理边界的失败。scripts/logging/generate-log-events.mjs/verify-log-usage.mjs已从分支删除,无法运行;按 Skill 标记门禁未完成并关联 [Feature] 恢复 Viva 日志事件类型生成和目录使用门禁 #1802,未添加豁免名单。没有把不存在的校验记作通过。界面文案 / i18n
逻辑归属 / Logic placement
regex,不自建匹配引擎。性能与内存 / Performance and memory
同一 Apple M4,100 KiB / 10 MiB 全部原场景,前后各 6 次,112 项均有基线:109 项在预算内,3 项既有语法整篇染色超预算保持,未出现新的超预算项目。所有 Paint / Scroll 场景仍为 0 B/op、0 allocs/op。
perfhistory compare共给出 9 条相对回归提示:上述 4 条 Prepare 时间,以及 SyntaxViewportCold Go 10 MiB(757→758 allocs)、SyntaxFirstUse Java(23099→23101)、Markdown(35201→35205)、Paste Go 100 KiB(1969→1979)和 10 MiB(2085→2087)。这些项目仍在预算内。Prepare 算法和语法路径未在此 PR 修改,但测量差异尚未归因,保留数据供评审,不将其写成性能提升或直接认定为噪声。原始文件在本地
.artifacts/editor-perf/ide-essentials-{before,after}.txt,报告为同名 Markdown。未改预算、场景、文档规模或基准生成方式。设置 / Settings
插件契约 / Plugin contract
N/A:没有更改插件契约、SDK、宿主方法、通知或协议版本。Core 内部桌面 API 与固定修订见 #22。
发行包与资源 / Bundle and resources
viva-editor-user-state为不可复用,同步注册表、拒绝路由、测试及docs/ci-builds.md;资源复用 37 项测试通过。无用代码与重构 / Dead code and refactoring
验证 / Verification
desktop-go.sh test -json -count=1 -p 1 -timeout 10m ./...(计时入口)-race(计时入口).artifacts/test-stability/ide-essentials-race.*desktop-go.sh test -tags vivahead,lithevisual ... -run '^TestVisualEditorEssentials'LITHE_CORE_RUST_DIR的已发布固定 Core 桥接测试cargo test ... -p lithe-core --lib--base origin/preview,仅审查本次已提交范围65cf82343c5e315aae2e335b2e8f0217b703e89a-race).artifacts/test-stability/desktop-core-linking.*;最慢 1.220s,非 Windows 本机编译证据-count=100-race,计时入口.artifacts/test-stability/desktop-ci-async-race.*-count=1 -timeout=180s199cfe536aaa1a435d2b817c579b7c7ecfca5166的 三平台 CI--count 6未能执行的检查和原因: Windows 和 macOS 原生窗口人工验收未执行;无头渲染不能替代。已退役的日志和旧共享边界校验入口缺失(#1802),没有伪报通过。#1851 基于既有源码调用关系登记,未把它写成两端运行时已复现。
测试截图
以下截图来自生产 Page 的真实无头流程,使用隔离临时项目与演示内容。
提交前确认 / Final checks
preview(82fbb8aa5)创建,目标为preview。