fix(compare): bound aggregate decode memory - #31
Conversation
Qodana for GoIt seems all right 👌 No new problems were found according to the checks applied 💡 Qodana analysis was run in the pull request mode: only the changed files were checked Contact Qodana teamContact us at qodana-support@jetbrains.com
|
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. |
|
Review-loop disposition for bd39147:
@codex review |
|
Codex Review: Didn't find any major issues. 👍 Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
|
Final-head review evidence for bd39147:
The Codex summary panel still displays Running at this snapshot despite the explicit code/security completion comments linked above. No duplicate review requests have been posted. Separate limitation: GitHub Advanced Security's AI scan failed before analysis with No merge or release was performed. |
Problem and resulting behavior
Comparison previously decoded and retained both selected sources without a combined admission limit, including GIF frames it never displayed. Each pane now checks decoded-image admission against half the shared image-cache budget and returns a localized refusal when its allowance is exceeded.
IsAnimatedGIFis suppressed only on that declaration: the comparison loader calls it to protect canonical cache records.The equal split and header estimate are deliberately conservative. This limits decoded-image admission; it does not claim to cap all transient decoder, renderer, or process memory.
Verification
internal/imaging,internal/ui/display, andinternal/ui/comparepackage tests pass, as do locale parity and English identity checks.make verify-buildpasses (formatting, generated assets/notices, TUF root, Qodana exclusions, vet, build).make check-test-shardspasses in Linux/amd64 Docker: 687 runnable tests across three shards.make verifycorrectly refuses the ARM Docker daemon. PR CI supplies the full native Linux/amd64 race suite and platform guards; all eight jobs passed on8cdbb18, and checks run again for the final follow-up commit.Hosted code/security review dispositions and final-head CI/Qodana/CodeQL results are tracked in this PR. The separate GitHub Advanced Security AI scan currently fails before producing results because its requested model is unsupported; it is distinct from the Codex connector security review.
Evidence record:
finished_refactorings/2026-09-16-bound-comparison-memory.md.Codex Task