Repository navigation
fix(java): 防止乱序进度阻断冷索引动作恢复 - #13
Merged
Merged
Conversation
1lck
marked this pull request as ready for review
November 14, 2026 04:21
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
Refs 1lck/Lithe-IDEA#1832
决策说明:1lck/Lithe-IDEA#1893
PR 类型 / Type
改动说明 / What changes
背景 / Why
并发处理 JDT 进度通知时,完成更新可能先于较早的进行中更新获得锁,已结束任务因此重新变成活动任务。冷索引后的运行动作会一直为空。
改动 / Changes
不在本 PR 范围内 / Out of scope
修复
.class内容提供者、JSP 语言支持或调大现有超时;本次不宣称整体内存或响应速度提升。类型专属:fix
复现与根因
检查项
late build update must not block recovery;修复后通过。范围检查 / Scope checks
功能矩阵 / Feature matrix
N/A:本 PR 在独立插件仓库,不改客户端平台实现;不把尚未验收的原生窗口标记为 verified。
统一日志系统 / Structured logging
沿用 SDK 的 deferred/recovered/exhausted/limit 结构化类别,无新日志接口和输出。重复通知不生成新的恢复事实。高频成功不记 INFO;无自由文本 stderr 或私有数据。宿主旧日志门禁脚本已移除,其等价门禁仍未完成,不记作通过。
界面文案 / i18n
N/A:没有新增运行时界面文案;只改双语预发布说明。
逻辑归属 / Logic placement
JDT 任务终态与恢复属于 Java 插件。宿主、Core 和公共 API 未改;契约及 Rust SDK 仍固定 65cf823,API/能力版本仍为 0。
性能与内存 / Performance and memory
新增每工作区/服务器代际至多 128 个完成 ID(单 ID 由现有入口限制 128 字节),完成顺序淘汰;代际变更重置、上下文消失删除。无新线程、进程、计时器、轮询或跨边界完整数据复制。只扫描固定上限的队列,不宣称整体性能收益。
设置 / Settings
N/A:没有设置变化。
插件契约 / Plugin contract
N/A:不改协议、能力、权限、SDK、宿主方法或通知。
发行包与资源 / Bundle and resources
沿用只读插件包;无新增下载、磁盘资源或可写路径。macOS 重新组装和包验证通过,发布工作流继续先创建草稿,实包验证后才公开。
无用代码与重构 / Dead code and refactoring
无新无用代码;本轮发现的既有宿主校验归属另见主仓库 #1892,不在这里处理。
验证 / Verification
cargo test --workspace --locked:380 项通过。cargo fmt --all --check、clippy 全 targets-D warnings、SDK lock 校验通过。实际发布草稿验证:1.1.3 的 macOS Gradle/Maven 分别 35.88/17.63 秒通过;Windows MSVC 包分别 108.07/54.62 秒通过(x64 工具运行于 ARM Windows VM)。校验了三个平台包的 GitHub digest、SHA 文件和 82 项许可清单,Windows PE 不依赖编译器运行库。原生窗口与全部日志/取消路径仍未完整验收;Windows 追加独立冷启动 93.16 秒通过;VM 已停止,Java 1.1.3 / Gradle 1.0.0 已公开为预发布。
提交前确认 / Final checks