Repository navigation
perf: reduce desktop resource footprint for v1.8.2 - #2
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2cecef0ad0
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| AddCandidate(BuildFileCandidate(validation.Path!, entry, engines, | ||
| engines.SelectMany(result => result.Evidence).Concat(genericAtRoot.Evidence).ToArray())); |
There was a problem hiding this comment.
Preserve Flash review metadata for drive-root SWF candidates
When a drive root contains a valid SWF, this branch creates a fileGame candidate with engine flash but no Flash metadata, then returns before the Flash directory-review path. CandidateReviewService.Prepare explicitly rejects Flash candidates whose payload lacks a Flash group, while ReviewList only exposes the Flash review editor when candidate.flash?.requiresReview is set. Consequently, these newly discovered candidates cannot be accepted, and rescanning reproduces the same failure. Preserve a compatible Flash review path for these candidates rather than emitting an unreviewable payload.
Useful? React with 👍 / 👎.
| if (store.TransitionCandidate(prior.CandidateId, "pendingReview", "deferred", prior.Revision, null, utcNow) is not null) | ||
| Publish("candidate.updated", $"candidate:{prior.CandidateId}", new | ||
| { candidateId = prior.CandidateId, from = "pendingReview", to = "deferred", reason = "existingShortcut" }); |
There was a problem hiding this comment.
Make automatic shortcut suppression reversible
If an existing pending candidate is suppressed after its executable is imported through a shortcut, this transition permanently marks it deferred without recording a recoverable suppression reason in the database. Removing the shortcut record without deleting files and rescanning the original installation does not restore the candidate: LibraryCatalogStore.UpsertCandidate preserves its state, and PromoteRescannedCandidate only promotes observed candidates. The removal's ExactPath ignore applies to the shortcut, not the original installation, yet that installation remains absent from pending review. Track automatic suppression separately from user deferral and restore review eligibility when the matching active shortcut no longer exists.
Useful? React with 👍 / 👎.
将两个常驻 Bridge 合并为一个,通过独立请求/事件连接保留即时通知;大库列表按可见行挂载,封面请求限制并发并按消费者取消,隐藏窗口合并刷新,较旧作业结果转存到会话文件,已知小批变更采用保守增量刷新。包含 v1.8.1 已发布的扫描和压缩 sidecar 修复,保持公共 IPC、权限、SQLite schema 与数据兼容。
维护者已确认 v1.8.2 本机人工验收通过、无可见 bug,并授权合入 main 和打包 Release。main 的现有提交已在当前分支中;原 main 工作区的未提交文件将保留。
本地验证:前端 27 文件 / 162 项测试、typecheck、Rust 7 项测试、cargo fmt、dotnet format、全解决方案 Release build、operation 生成、本地化与 README/Release 门禁均通过。全量 .NET 回归交由此 PR 的 Windows CI;安装/卸载矩阵及整桌面量化性能不因人工确认而推定完成。
版本为 1.8.2。NativeAOT 仍是可选候选,默认包继续使用压缩自包含 sidecar。