Repository navigation
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: 6ceba0dfe3
ℹ️ 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".
| table.charset("utf8mb4"); | ||
| table.collate("utf8mb4_bin"); | ||
| } | ||
| table.string("domain_name", 255).notNullable(); |
There was a problem hiding this comment.
Preserve permitted long server-name patterns
When an existing redirection or dead host contains a regex server_name longer than 255 characters, this migration copies the value from its unrestricted JSON domain_names field into varchar(255). PostgreSQL rejects that insert, and MySQL either rejects or truncates it depending on SQL mode, so a valid existing configuration can block a production upgrade; subsequent writes encounter the same trigger failure. Use a length-independent reservation key or enforce and migrate a matching limit before creating this table.
AGENTS.md reference: AGENTS.md:L120-L122
Useful? React with 👍 / 👎.
| await proxyHostModel.query(trx).where("id", host.id).where("access_list_id", 0).patch({ | ||
| access_list_id: row.id, | ||
| upload_relay_enabled: host.upload_relay_enabled, |
There was a problem hiding this comment.
Preserve explicit concurrent ACL detaches during rollback
When Nginx activation fails while another proxy-host update has already committed access_list_id = 0, this rollback mistakes that valid new value for the deletion's own detach and restores both the old ACL and the old upload-relay flag. Proxy-host updates commit their database transaction before waiting for the serialized Nginx configuration queue, so the concurrent update can subsequently return success even though its database changes were overwritten here. Track which row version was detached, or use a deletion-specific marker, rather than treating every zero assignment as rollback-owned.
AGENTS.md reference: AGENTS.md:L128-L128
Useful? React with 👍 / 👎.
What changes
The October 15 review found 18 defect groups on the merged develop baseline. This PR fixes all 18 and adds regressions for the affected authorization, session, configuration, database, shutdown and deployment paths.
/users/me, and reject stale synchronization events. Two real Chromium cases reproduce delayed HttpOnly refresh cookies before impersonation/logout and verify the next request's identity.No dependency or version bump. No merge, release, image publication or deployment is performed by this PR.
Validation
Final source commit:
6ceba0dfe3706ae72bc8fd90b6274feb324a9e0e. Results below must refer to that head.Local backend types, full backend/frontend Biome checks, 55 schema regressions, focused runtime/data/authorization suites and 172 infrastructure tests (21 explicit local environment skips) also passed. All 292 relative links in the changed documentation resolve. Earlier failed intermediate-head runs are retained in Actions and are not counted as final success.
Upgrade notes and limits
Documentation
Updated the review and A01–A18 implementation matrix, affected module/build/deployment/migration pages, test guidance, PKI user guide, OpenAPI host-selection contract, index and open questions. Historical scan evidence and unrelated operational TODOs remain clearly identified.