Skip to content

fix: guard overlapping scans and verify real offline browser flows - #29

Merged
Microck merged 3 commits into
mainfrom
qa/offline-scanner-browser-flows
Oct 19, 2026
Merged

Microck merged 3 commits into
mainfrom
qa/offline-scanner-browser-flows

Conversation

@Microck

@Microck Microck commented Oct 19, 2026

Copy link
Copy Markdown
Owner

Changes

  • Lock file selection/drop/submit during a scan and cancel the previous pipeline-hide timer when another scan starts.
  • Report AI as skipped for offline/malformed-archive fallback paths.
  • Reuse one detached HTML-escaping element while preserving native DOM escaping semantics; avoid per-label node allocation.
  • Add keyboard-accessible upload control and pinned tester-army/e2e coverage against the real Rust server.
  • Generate the existing synthetic demo fixture before native CI tests (a fresh checkout otherwise failed).

Verification

  • 72 Rust unit tests plus 3 real-fixture regressions passed locally after fixture generation.
  • Real local HTTP upload -> scan returned a persisted offline bytecode/capability result.
  • Browser test types and JavaScript syntax checks pass. Six real Chromium flows are wired into CI; browser results are pending, not claimed passed yet.
  • All browser data is synthetic and isolated. Azure AI/MalwareBazaar are explicitly disabled. No provider-accuracy claim.

Performance change removes repeated detached-node allocation; no measured latency improvement is claimed yet.

@coderabbitai full review
@codex review

@coderabbitai

coderabbitai Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 543347f2-9d7c-45aa-b646-dcc070744381
📥 Commits

Reviewing files that changed from the base of the PR and between 623ada1 and 9df9884.

⛔ Files ignored due to path filters: 1
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing: 11
  • .github/workflows/browser.yml
  • .github/workflows/ci.yml
  • .gitignore
  • README.md
  • e2e-runner.mjs
  • e2e.config.ts
  • package.json
  • tests/browser/scan.e2e.ts
  • tests/browser/serve.mjs
  • web/app.js
  • web/index.html

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

This PR blocks file selection, dropping, and submission during an active scan, corrects fallback AI status, and adds isolated browser tests against the Rust server.

  • It cancels pending pipeline-hide timers when a new scan starts and adds keyboard access to the upload control.
  • The author reports 72 Rust unit tests and three real-fixture regressions passed locally; browser results are pending for six Chromium flows.
  • Browser tests use synthetic data and disable external AI and hash-match services; they do not test provider accuracy or authenticated integrations.

Walkthrough

Adds a browser end-to-end test setup and CI job. Browser tests cover scan results, indicator filters, upload handling, HTML escaping, and malformed JAR analysis. The web interface now blocks file selection and submission during scans, updates pipeline status handling, and adds accessible upload controls. CI builds the synthetic fixture and runs browser tests. The README documents local test setup and scope.

Priority: ⬇️ Low

Merge Risk: ⚪ Minimal · up to 9df98

The browser test has a narrow timing sensitivity, but no material issue identified here prevents merging after normal checks.

- [ ] Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-19T21:01:39.002265Z 9df9884 Manual request
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Microck commented Oct 19, 2026

Copy link
Copy Markdown
Owner Author

@coderabbitai full review
@codex review

Please check single-flight scan controls, real-server test isolation, fallback status accuracy and the existing native fixture setup. Implementation and follow-up fixes are being handled directly.

@coderabbitai

coderabbitai Bot commented Oct 19, 2026 •

Copy link
Copy Markdown
⚠️ Action not completed

Pull request base or head changed.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Something went wrong. Try again later by commenting “@codex review”.

Unknown error
ℹ️ 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".

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1710b4fc7d

ℹ️ 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".

Comment thread web/app.js Resolved

Microck commented Oct 19, 2026

Copy link
Copy Markdown
Owner Author

Readiness root cause found: port 4190 is blocked by the Fetch standard (Node reported 'bad port') despite successful curl/native HTTP probes. Switched the fixture to 4191 and confirmed Node fetch returns 200. Also separated archive-validation skipping from AI-unavailable wording.

@coderabbitai full review
@codex review

@coderabbitai

coderabbitai Bot commented Oct 19, 2026 •

Copy link
Copy Markdown
✅ Action performed

Full review finished.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Another round soon, please!

Reviewed commit: 9df9884bba

ℹ️ 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".

@Microck
Microck merged commit c2b9f79 into main Oct 19, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant