Skip to content

Pin build inputs and fix admin detail and download handling - #17

Merged
maiphucgiang merged 5 commits into
mainfrom
fix/build-locks-and-admin-races
Sep 14, 2026
Merged

maiphucgiang merged 5 commits into
mainfrom
fix/build-locks-and-admin-races

Conversation

@maiphucgiang

@maiphucgiang maiphucgiang commented Sep 14, 2026

Copy link
Copy Markdown
Owner

Summary

  • Lock Python dependencies and artifact hashes, preserving the tested versions. Require binary wheels and hash verification; pin the Dockerfile frontend and Node/Python multi-platform image digests. Document reviewed refreshes and fail-closed installation.
  • Pin React Router to 7.18.2 within the existing major version, covering the reported RSC redirect vulnerability and subsequent 7.x advisories. No other frontend package is upgraded. The application remains a declarative BrowserRouter SPA, not an unstable RSC application.
  • Cancel log-detail requests on drawer close, log-type changes and unmount; prevent stale success/error/finalization callbacks from modifying the next detail view.
  • Decode safe UTF-8 filename* attachment names, retain legacy filename support, and use safe single-file/ZIP defaults for invalid names. Keep plaintext export confirmation.
  • Synchronize the English and Chinese guides. VERSION and the Compose release tag are unchanged.

Closes #16.

Verification

  • Fresh Python 3.12 environment installed all 27 Linux packages using the hash lock and binary wheels; dependency compatibility passed. Regenerating the lock is byte-identical.
  • Once-per-batch Python full suite: 674 passed, 2423 subtests passed. The subsequent CI YAML quoting fix is covered by 4 passing targeted build-lock tests, including workflow parsing and exact install arguments; the full suite was not repeated.
  • Frontend: 70 tests passed, plus formatting, lint, type checks and production build.
  • Browser regressions: credential OAuth/import/export/deletion with ASCII and Unicode filenames, plus the real isolated management API flow, both passed.
  • vp pm audit --json: 0 advisories, no muted advisories. React Router 7.18.2 covers the follow-up fixes required by GHSA-qwww-vcr4-c8h2, not only CVE-2026-33245.
  • Docker index inspection confirmed both amd64 and arm64 support. Actual image builds remain a CI merge gate.

Merge only after the current head's test/web/image CI, independent CodeQL analysis/alert verification, and Codex review have completed and any feedback is handled.

Keep the tested Python dependency versions in a universal SHA-256 lock, with requirements.in as the direct input list. Require verified binary wheels in local guidance, CI and runtime images, and pin the Dockerfile frontend plus Node/Python multi-platform image digests. Document reviewed refreshes and fail-closed installation. Verified a fresh Python 3.12 install, dependency compatibility, 49 runtime endpoint tests, 3 lock contracts, offline deployment/documentation checks and byte-identical lock regeneration.
Pin react-router 7.18.2 to cover the reported RSC redirect vulnerability and subsequent 7.x security advisories without adopting version 8 or changing other dependencies. The application remains a declarative BrowserRouter SPA. Verified the installed version, format/lint/type checks, 28 frontend tests, the production build, and an unmuted package audit with zero advisories.
Abort pending detail loads on close, replacement, log-kind changes and unmount. Guard success, error and finalization updates against the active request so old responses cannot reopen a drawer, replace newer details or clear newer loading state. Preserve current-request errors and reset loading when closing. Verified six deferred-response component regressions plus format/lint/type checks; synchronized the WebUI guides.
Prefer decoded UTF-8 filename* over legacy Content-Disposition names, including optional language tags and quoted parameters. Reject ambiguous, malformed or unsafe names and keep the existing single-file/ZIP fallbacks. Preserve plaintext export confirmation. Verified 40 filename/import unit cases, format/lint/type checks and the credential browser flow with both ASCII and Unicode attachment names; synchronized the WebUI guides.
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 14, 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-09-14T15:54:22.555494Z 6a67eb5 Manual request
🔒 Security Review Completed 2026-09-14T15:49:49.955001Z 2587cf5 PR opened
ℹ️ 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.

Keep the colon-containing wheel policy inside a YAML string so both dependency installation steps are executable. Add a workflow parsing regression that verifies the exact shell arguments for both jobs. All four build-lock tests pass; the batch full suite was not repeated.
@maiphucgiang

Copy link
Copy Markdown
Owner Author

@codex review

Please review the current head 6a67eb5. It includes the dependency/image locks, the patched React Router 7.x release for issue #16, log-detail cancellation, and safe UTF-8 attachment names. The latest commit quotes the colon-containing pip flags in the workflow and adds YAML parsing plus exact install-argument regressions.

Local verification: one Python full-suite run (674 tests and 2423 subtests), four targeted build-lock tests after the workflow correction, 70 frontend tests, format/lint/type checks, production build, both browser flows, and an unmuted dependency audit with zero advisories. The PR remains open pending current-head CI, independent CodeQL verification and review completion.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Breezy!

Reviewed commit: 6a67eb5a83

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

@maiphucgiang
maiphucgiang merged commit 1e37a57 into main Sep 14, 2026
7 of 8 checks passed
@maiphucgiang
maiphucgiang deleted the fix/build-locks-and-admin-races branch September 16, 2026 22:29
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