Repository navigation
security: upgrade Next.js to 16.4.3 - #252
khaliqgant wants to merge 28 commits into
Conversation
Install the security-fixed Next.js patch release and keep future agent upgrade reminders on the security policy.
Walkthrough
Merge Risk:
|
Composal Verify · PR #252
Cleanup: Blocked. Preview: https://618a8cc1-agentrelay-web.agent-workforce.workers.dev/ Diff assessment: Changes include browser pages, homepage and navigation components, CSS, documentation content, images, and new download/start and self-hosting routes. The Next.js upgrade and web build configuration also modify frontend runtime/build dependencies. Findings
ScenariosRun a scenario againRelevant to this diff
137 more scenarios in Composal. Why these 82 scenarios were selected
Some scenarios not classified. Recent verification history
|
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: f345a48153
ℹ️ 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".
|
Preview deployed!
This is a Cloudflare Workers preview version of this PR's build. |
…e-need-forward-deployed-agents Publish: We have forward deployed engineers. Do we need forward deployed agents?
* docs: add Claude connector guide * docs: correct Claude connector setup --------- Co-authored-by: agentrelaybot <[email protected]>
* docs: add CLI-only hackathon getting started guide * docs: clarify CLI and desktop session privacy * docs: make CLI setup the primary Getting started guide * docs: remove redirects for unpublished hacking URLs * docs: default getting started to automatic tool detection * docs: explain session joining limits and verification status * docs: keep getting started brief and move details to agent exports * docs: position desktop as the paid upgrade from the free CLI * docs: simplify init commands for next.9 * docs: clarify hosted defaults and self-hosted URL usage * test(docs): assert URL-free setup without old hostnames --------- Co-authored-by: kjgbot <[email protected]>
Co-authored-by: kjgbot <[email protected]>
Co-authored-by: kjgbot <[email protected]>
Co-authored-by: kjgbot <[email protected]>
…A blue (#260) * feat(home): agent logo cloud trading laser bolts behind the hero Co-Authored-By: Claude Opus 5.5 <[email protected]> * feat(home): "Keep the tools you love" section Co-Authored-By: Claude Opus 5.5 <[email protected]> * fix(web): deeper, saturated primary button blue for 7:1 text contrast Co-Authored-By: Claude Opus 5.5 <[email protected]> * feat(home): brighter hero agent tiles and laser bolts Co-Authored-By: Claude Opus 5.5 <[email protected]> * fix(web): primary button blue closer to Curious Blue Co-Authored-By: Claude Opus 5.5 <[email protected]> * feat(home): agents orbit the hero headline on a tilted ring; app/terminal tools row Co-Authored-By: Claude Opus 5.5 <[email protected]> * fix(home): live reduced-motion handling for the orbit; tool names never clip Co-Authored-By: Claude Opus 5.5 <[email protected]> * feat(home): hero button opens getting started, with the GitHub mark Co-Authored-By: Claude Opus 5.5 <[email protected]> * feat(home): hero and nav buttons read "Get started" and open the getting-started docs Co-Authored-By: Claude Opus 5.5 <[email protected]> * feat(home): GitHub star button in the nav instead of Log in Co-Authored-By: Claude Opus 5.5 <[email protected]> * feat(home): Get started buttons drop the GitHub mark Co-Authored-By: Claude Opus 5.5 <[email protected]> * feat(home): tools-you-love section leads the "No new IDE" band Co-Authored-By: Claude Opus 5.5 <[email protected]> * feat(home): "No new IDE. Keep the tools you love" with ten tools in two rows; why row loses its heading Co-Authored-By: Claude Opus 5.5 <[email protected]> * copy(home): tools section lead says Agent Relay runs in the background Co-Authored-By: Claude Opus 5.5 <[email protected]> * perf(home): orbit frame loop runs only while the ring is visible Co-Authored-By: Claude Opus 5.5 <[email protected]> * feat(home): first why card is about choosing what goes on the relay Co-Authored-By: Claude Opus 5.5 <[email protected]> * feat(home): tools grid shows every agent we connect, mixed Co-Authored-By: Claude Opus 5.5 <[email protected]> * feat(home): take the closing call to action off the homepage Co-Authored-By: Claude Opus 5.5 <[email protected]> * feat(home): Muse takes Gemini CLI's place in the tools grid Co-Authored-By: Claude Opus 5.5 <[email protected]> * copy(home): Paseo is a desktop app Co-Authored-By: Claude Opus 5.5 <[email protected]> * copy(home): Devin is a terminal CLI Co-Authored-By: Claude Opus 5.5 <[email protected]> * copy(home): tools grid leads with the most familiar agents Co-Authored-By: Claude Opus 5.5 <[email protected]> * feat(home): colour Codex mark in the tools grid Co-Authored-By: Claude Opus 5.5 <[email protected]> * feat(web): colour Codex mark wherever Codex appears; Claude app icon in the tools grid Codex CLI keeps the white mark and ChatGPT the OpenAI mark. The colour Codex mark is a client component so each copy gets its own gradient id. Co-Authored-By: Claude Opus 5.5 <[email protected]> * feat(home): tools heading breaks after "No new IDE."; drop the checks row; Pi leaves the headline rotation Co-Authored-By: Claude Opus 5.5 <[email protected]> --------- Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: kjgbot <[email protected]>
Deploys, previews, publishing and DNS no longer wait on a cmo sign-off; the reviewed-PR, two-review and human-release rules stay. Co-authored-by: kjgbot <[email protected]> Co-authored-by: Claude Opus 5.5 <[email protected]>
* Add status page link to shared footer * Show external-link icon on footer status link
…tomer quotes (#249) * Add Pomerado customer quote to the homepage and as a shareable image Co-Authored-By: Claude Opus 5.5 <[email protected]> * Show customer quotes as a compact row before the final call to action Co-Authored-By: Claude Opus 5.5 <[email protected]> * Add Serg's X post next to the Pomerado quote Co-Authored-By: Claude Opus 5.5 <[email protected]> * Subset brand fonts with curly quotes and non-breaking characters; emphasize Serg's post Co-Authored-By: Claude Opus 5.5 <[email protected]> * Document the curly quotes and non-breaking characters in the font subset Co-Authored-By: Claude Opus 5.5 <[email protected]> * Download for your OS from the homepage, landing on a page that explains the app Co-Authored-By: Claude Opus 5.5 <[email protected]> * Turn the download start page into onboarding: sign up, then install and connect Co-Authored-By: Claude Opus 5.5 <[email protected]> * Steady hero download label, no repeat downloads, larger tap targets, step status for screen readers Co-Authored-By: Claude Opus 5.5 <[email protected]> * Lead the download page with what Agent Relay does: runs in the background, agents talk directly Co-Authored-By: Claude Opus 5.5 <[email protected]> * Download only on fresh visits, keep button transitions, fail-open label hiding, quote text clear of X link Co-Authored-By: Claude Opus 5.5 <[email protected]> * Give Windows downloads an install step for the installer and the zip Co-Authored-By: Claude Opus 5.5 <[email protected]> * Show agents talking on the download page: Claude Code and Codex through the relay, with less copy Co-Authored-By: Claude Opus 5.5 <[email protected]> * Remember started downloads across in-app navigation back to the start page Co-Authored-By: Claude Opus 5.5 <[email protected]> * Split the download page: task on the left, every agent wired through the relay on the right Co-Authored-By: Claude Opus 5.5 <[email protected]> * Test when the download start page downloads Co-Authored-By: Claude Opus 5.5 <[email protected]> * Offer other builds from the download start page Co-Authored-By: Claude Opus 5.5 <[email protected]> * Replace the download page animation with a plain account of what the app does Co-Authored-By: Claude Opus 5.5 <[email protected]> * Drop the explainer eyebrow and put the download status under the headline Co-Authored-By: Claude Opus 5.5 <[email protected]> * Lead the download page with "Let your agents talk to each other" Co-Authored-By: Claude Opus 5.5 <[email protected]> * Keep a hidden heading over the download page's explainer points Co-Authored-By: Claude Opus 5.5 <[email protected]> * Drop sign-in from the download page; the app's own sign-in is the one step Co-Authored-By: Claude Opus 5.5 <[email protected]> * Move the download fallback links to the bottom, muted Co-Authored-By: Claude Opus 5.5 <[email protected]> * One nav across the site: GitHub stars and the download button Co-Authored-By: Claude Opus 5.5 <[email protected]> * Download button in the docs mobile menu; stars give way on the narrowest phones Co-Authored-By: Claude Opus 5.5 <[email protected]> * Say "Check your Downloads folder" when the start page skips a repeat download Co-Authored-By: Claude Opus 5.5 <[email protected]> * Track the desktop download funnel: desktop_download_clicked and desktop_download_started Co-Authored-By: Claude Opus 5.5 <[email protected]> --------- Co-authored-by: Claude Opus 5.5 <[email protected]>
…d customers The pages render per request, only after Cloud verifies the reader's session and the organization's self-host entitlement. The page forwards only the agent_relay_session cookie (Domain=.agentrelay.com, Path=/) server to server to Cloud's GET /cloud/api/v1/me/selfhost-docs, which fetches the runbooks from relay-agent (knowledge/private/selfhost, the single source the support agent also reads). This repository is public, so the text is never committed, bundled or prerendered here. - Signed out (or a rejected session) -> /login?next=/docs/self-hosting/<doc>; Cloud's /cloud/docs/self-hosting hop returns there after sign-in. - Signed in, not entitled -> request-access page with no runbook names or text. - Entitled -> overview (architecture diagrams from helm-charts, the OCI chart, Ask the setup agent via ask_customer_support) and each runbook, with the docs nav, copy buttons and docs styling. Markdown renders with unified and no eval (Workers forbid it); raw HTML, images and unsafe links are dropped. - force-dynamic plus Cache-Control: private, no-store, X-Robots-Tag noindex, no sitemap/llms/search entries, prefetch off, PostHog replay blocked. - Router: the traffic recorder skips the gated pages and Cloud's runbook API. - CI: selfhost-docs-leak-check.mjs scans .next/.open-next for prerendered gated routes and for fingerprinted runbook text (sampled 12-word window hashes, not the text). The worker smoke checks the signed-out redirect. Co-Authored-By: Claude Opus 5.5 <[email protected]>
- Leak check fails closed: unreadable directories throw, oversized files are findings, missing named build dirs exit 2, dynamicRoutes are checked, and fingerprinting refuses anything but flat .md runbooks. - Router recorder exclusion matches the decoded path (undecodable: excluded). - Entitled pages add ph-no-capture so autocapture sends no runbook text. - Markdown links reject backslashes/control characters; heading ids stay unique when a heading's slug equals an earlier generated suffix. - A misconfigured Cloud origin is 'unavailable', not a thrown 500. Co-Authored-By: Claude Opus 5.5 <[email protected]>
…05d5cc) guided-gke-install was reworded for people in relay-agent#100. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Gated self-hosting docs at /docs/self-hosting for entitled customers
…fda491) relay-agent #101 updated the self-host runbooks for agent-relay 0.3.11. Co-Authored-By: Claude Opus 5.5 <[email protected]>
…ts-0310 chore(docs): regenerate self-host runbook fingerprints (relay-agent bfda491)
The overview names both clouds, links both reference installs and both guided installs, and offers one setup-agent prompt per cloud (selfhost:guided-gke-install, selfhost:guided-eks-install). The diagram caption says it is drawn for GKE and gives the EKS equivalents. Co-Authored-By: Claude Opus 5.5 <[email protected]>
…wording Co-Authored-By: Claude Opus 5.5 <[email protected]>
…134e99) Co-Authored-By: Claude Opus 5.5 <[email protected]>
…lass docs(self-hosting): present GKE and EKS as equal install paths
kjgbot
left a comment
There was a problem hiding this comment.
Review record — Codex primary reviewer, exact head18bb63a3ef19bfbb367d45946383c718020be497.
Reviewed the four-file current-main composition and visible feedback. The Next version, lockfile and OpenNext assertion agree on16.4.3. The former16.4.0 guard now rejects in a controlled reversion, while restored source succeeds. Current-main privacy headers/replay exclusions and unrelated dependencies are preserved. No actionable source finding remains from this pass.
Actual validation:726 tests, both typechecks, lint0errors/four existing warnings, normal production buildexit0/252pages, local Worker buildexit0 and private-doc leak scanzero/3517fingerprints. The three Worker copy messages were diagnosed as the adapter's export-transform TypeError on string exports before copying; these are not server externals and the actual bundle has no direct imports for those packages. No Worker HTTP smoke or deployed behavior is claimed. InstalledNext has no auditfinding;24 other dependency findings remain.
This is a COMMENTED review record, not an approval or authority to merge/deploy. Read current-head CI and the separately attributed independent-agent record before determining readiness.
kjgbot
left a comment
There was a problem hiding this comment.
Independent agent review record — /root/review_marketing257, exact head18bb63a3ef19bfbb367d45946383c718020be497. Posted by the coordinating agent from the independent artifact, not a different human account or an APPROVED review.
Code-review signoff: no actionable findings. Reviewed all four changed files and the complete semantic lockfile delta against currentmainfad47a0. Independently verified installed versions, worktree-local workspace links, lockfile hash, the compatibility patch targets, and all three advisory ranges;16.4.3 falls outside their affected ranges. Confirmed both historical guard findings were fixed and their threads resolved.
The independent review did not run builds/tests or establish candidate-head CI/Worker runtime behavior. Parent execution evidence is recorded separately. No merge/deployment/release authority is granted.
Next16.4.0 now stops the production build on its security check. Upgrade to the exact patched
16.4.3, preserve security upgrade reminders, and update the fail-closed OpenNext compatibility assertion after reassessing its two local build patches. This also unblocks the inherited security build failure in #257.Current head
18bb63a3ef19bfbb367d45946383c718020be497composes the existing security patch with mainfad47a04537a338ec9fb9650821724b26ab33214; no new product behavior was added in this refresh.Validation:
npm ci; web/router workspace links resolve within this T7 worktree.npm test: 54 web files / 606 tests and 11 router files / 120 tests.npm run typecheck: both workspaces passed.npm run lint: no errors; four existing warnings outside the patch.npm run build: exit0, 252 static pages.npm --workspace web run cf:build: exit0, actual Worker and 18.95MB server handler generated. The build emits three OpenNext “Failed to copy” messages: diagnostics reproduce a TypeError when its export-transform helper encounters string exports, before any copy. These packages are not configured as server externals; none remains a direct import in the bundled handler. This is not a Worker HTTP smoke test.node web/scripts/selfhost-docs-leak-check.mjs check web/.next web/.open-next: 3,517 fingerprints, zero findings.npm audit --json: installedNext16.4.3 has nonextfinding. 24 other dependency findings remain; this PR does not claim to clear the entire audit.Both visible guard findings are fixed in the existing036bb5b patch and their threads are resolved. Current-head Tests42085345782 and Verify42085345747 are both SUCCESS. Both logs show actual Checkout
9d053022da473a7cc1c4d2a181db724e84e8a3c1, whose parent is18bb63a and whose tree matches the locally validated21ee503 composition. Primary and independently attributed agent review records are posted as COMMENTED reviews5790027165/5790027395; neither is an APPROVED human review. The existing automatic preview42085345618 also succeeded; no manual preview action was taken. This prepares a reviewed patch for the existing human merge/release gates. No production access, manual preview/deployment, or release action was initiated.Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Upgrades Next.js in the
webworkspace from 16.4.0 to the security-fixed 16.4.3 patch release and relaxes the OpenNext version assertion so the upgrade builds in Cloudflare.nextto16.4.3inweb/package.jsonand updates the OpenNext compatibility check inweb/scripts/prepare-opennext.mjs.experimental.agentUpgradetosecurityinweb/next.config.mjsso future builds keep security upgrade reminders.sharp0.35.5 and its wasm32 packages, and the previous 0.35.4sharpbecomes dev-only.Typecheck, lint, tests, and a production build all pass; no
nextfinding innpm audit.Written for commit 036bb5b. Summary will update on new commits.
Agent Relay sessions
codexsession01a18883· opened viagh pr create· last active 2026-10-30