Skip to content

fix(marketing): keep download page static#10201

Merged
jovie-bot[bot] merged 1 commit into
mainfrom
codex/jov-2846-download-marketing-system-b
Jun 6, 2026
Merged

fix(marketing): keep download page static#10201
jovie-bot[bot] merged 1 commit into
mainfrom
codex/jov-2846-download-marketing-system-b

Conversation

@itstimwhite

@itstimwhite itstimwhite commented Jun 6, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Removed the /download render-time desktop release fetch and async release metadata.
  • Removed homepage hero shell, beam, and grid decoration classes from the /download hero while keeping the local System B shell dimensions.
  • Expanded guards for /download decorative class imports and nested server-side fetch helpers.

Linear

Gate Evidence

  • PASS: pnpm --filter @jovie/web exec vitest run tests/unit/marketing/download-system-b-style-guard.test.ts tests/unit/marketing/static-revalidate-policy.test.ts
  • PASS: pnpm biome check --write 'apps/web/app/(marketing)/download/page.tsx' apps/web/tests/unit/marketing/download-system-b-style-guard.test.ts apps/web/tests/unit/marketing/static-revalidate-policy.test.ts
  • PASS: pnpm --filter @jovie/web run typecheck -- --pretty false
  • PASS: git diff --check
  • PASS: pre-push hook, including biome check ., next:proxy-guard, tailwind:check, web typecheck, and biome lint .

Browser Proof

  • PASS: http://127.0.0.1:3100/download returned 200 in gstack browse.
  • PASS: gstack browse reported no console errors.
  • PASS: DOM check returned homepageHeroClasses: 0 and preserved hero min-height at 844px on mobile.
  • Screenshots: /tmp/jov-2846-download-desktop.png, /tmp/jov-2846-download-mobile.png

Layout Shift Audit

  • Visual states checked: public anonymous /download, desktop and mobile responsive hero, Mac active CTA, iPhone inactive alpha CTA, existing FAQ collapsed/expanded surface.
  • The release lookup loading/empty/error states were removed from page render, so metadata now reserves stable static content.

Summary by CodeRabbit

  • Improvements
    • Download page now displays static system compatibility information for Apple Silicon and Intel architectures.
    • Optimized page rendering behavior for improved performance and reliability.
    • All existing SEO features and structured data capabilities retained.

@linear-code

linear-code Bot commented Jun 6, 2026

Copy link
Copy Markdown

JOV-2846

@itstimwhite

Copy link
Copy Markdown
Collaborator Author

Gate evidence for JOV-2846:

  • PASS: focused marketing Vitest, pnpm --filter @jovie/web exec vitest run tests/unit/marketing/download-system-b-style-guard.test.ts tests/unit/marketing/static-revalidate-policy.test.ts
  • PASS: Biome touched files, pnpm biome check --write 'apps/web/app/(marketing)/download/page.tsx' apps/web/tests/unit/marketing/download-system-b-style-guard.test.ts apps/web/tests/unit/marketing/static-revalidate-policy.test.ts
  • PASS: web typecheck, pnpm --filter @jovie/web run typecheck -- --pretty false
  • PASS: git diff --check
  • PASS: pre-push hook, full biome check ., next:proxy-guard, tailwind:check, web typecheck, and biome lint .
  • Browser proof: http://127.0.0.1:3100/download returned 200 in gstack browse with no console errors.
  • DOM proof: homepageHeroClasses: 0, mobile hero min-height 844px.
  • Screenshots: /tmp/jov-2846-download-desktop.png, /tmp/jov-2846-download-mobile.png

@sonarqubecloud

sonarqubecloud Bot commented Jun 6, 2026

Copy link
Copy Markdown

@coderabbitai

coderabbitai Bot commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 4d6dea79-6f09-4286-8b9d-9c802f6b9995

📥 Commits

Reviewing files that changed from the base of the PR and between 356b1e3 and 2d17801.

📒 Files selected for processing (3)
  • apps/web/app/(marketing)/download/page.tsx
  • apps/web/tests/unit/marketing/download-system-b-style-guard.test.ts
  • apps/web/tests/unit/marketing/static-revalidate-policy.test.ts

📝 Walkthrough

Walkthrough

The PR converts the /download marketing page to render synchronously by removing live desktop-release metadata fetching, introducing a static GitHub releases URL constant, and replacing dynamic version/size display with static "Apple Silicon + Intel" text. It extends validation tests across two layers: forbidden-pattern checks to prevent reintroduction of homepage-hero decorations and release-lookup logic, and a new server-graph traversal framework in the static-revalidate policy test that validates the download page's entire dependency tree against forbidden patterns.

Changes

Download page static rendering and validation

Layer / File(s) Summary
Download page static conversion
apps/web/app/(marketing)/download/page.tsx
Page component changed from async function to synchronous, DESKTOP_RELEASES_HTML_URL constant introduced for GitHub link, fetchLatestDesktopRelease and formatBytes imports removed, dynamic metadata computation replaced with static "Apple Silicon + Intel" hero text.
Download page style-guard validation
apps/web/tests/unit/marketing/download-system-b-style-guard.test.ts
New forbidden-pattern sets added to block homepage-hero decoration imports and live-release lookup/static-bypass logic; two new test cases assert the download page source matches neither forbidden set.
Server-graph static constraints framework
apps/web/tests/unit/marketing/static-revalidate-policy.test.ts
Path utilities imported; new STATIC_ENTRYPOINT_PATHS constant identifies the download page for server-graph validation; FORBIDDEN_SERVER_GRAPH_PATTERNS extends existing patterns with graph-specific regexes; helper functions detect static entrypoints, client boundaries, and recursively traverse server imports accumulating forbidden-pattern violations; violations integrated into final test assertion.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related issues

  • JovieInc/Jovie#10197: Both changes make the download page fully static by removing live desktop-release fetch and homepage-hero decoration usage, with corresponding test updates.

Possibly related PRs

  • JovieInc/Jovie#10127: The PR's forbidden-pattern additions for homepage-hero decorations would be impacted by that PR's new system-b-mounted-home-hero-* class contract changes.
  • JovieInc/Jovie#9939: Both PRs update the marketing download System B style-guard test logic to enforce the static render CSS contract.
  • JovieInc/Jovie#9936: Both PRs share overlapping validation logic updates to the download-system-b-style-guard test suite for the /download source/CSS contract.

Poem

🐰 A page once bustled, fetching free,
Now stands still as a static tree!
No async dance, no request's flight—
Just blessed constraints to keep it right.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: converting the download page from dynamic (async with fetch) to static rendering.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/jov-2846-download-marketing-system-b

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

@sentry

sentry Bot commented Jun 6, 2026

Copy link
Copy Markdown

✅ All tests passed.

@itstimwhite

Copy link
Copy Markdown
Collaborator Author

No description provided.

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

CI Summary

A crisp snapshot of this PR run — executed vs. skipped, with timing for every key lane.

Risk: medium (smoke: false, preview: true, blocks unattended auto-merge: false)
Matched risk rules: public-ui
Machine artifact: ci-harness.v1.json uploaded to this workflow run.

Job Status Context Time
PR Ready (merge gate) ✅ Passed Executed 4s
CI Risk Classifier ✅ Passed Executed 1m 17s
Structural Contract ✅ Passed Executed 1m 21s
Env Example Guard ✅ Passed Executed 9s
Guardrails ✅ Passed Executed 20s
Biome ⚪️ Not run Skipped (job not applicable)
Migration Guard ✅ Passed Executed 20s
Neon DB ⚠️ Skipped Skipped (job not applicable) 0s
Drizzle Check ⚠️ Skipped Skipped (job not applicable) 0s
Build ⚠️ Skipped Skipped (job not applicable) 0s
Build (public routes) ✅ Passed Executed 4m 10s
Layout Guard ✅ Passed Executed 1m 10s
Lighthouse (public routes PR) ⚠️ Skipped Skipped (job not applicable) 0s
Lighthouse (dashboard PR) ⚠️ Skipped Skipped (job not applicable) 0s
Lighthouse (onboarding PR) ⚠️ Skipped Skipped (job not applicable) 0s
Lighthouse (admin PR) ✅ Passed Executed 3m 39s
A11y (axe) ⚠️ Skipped Skipped (job not applicable) 0s
Unit Tests ⚪️ Not run Skipped (conditional job)
E2E Smoke ⚠️ Skipped Skipped (job not applicable) 0s
Test Performance Budgets ⚠️ Skipped Skipped (job not applicable) 0s
E2E Tests ⚪️ Not run Skipped (job not applicable)
DB Migrate (PR main) ⚠️ Skipped Skipped (job not applicable) 0s
Preview Deploy ✅ Passed Executed 4m 49s

Run: 27063333321

@jovie-bot jovie-bot Bot marked this pull request as ready for review June 6, 2026 13:27

@greptile-apps greptile-apps 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.

Your free trial has ended. If you'd like to continue receiving code reviews, you can add a payment method here.

@jovie-bot jovie-bot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Auto-Approved by Agent Pipeline

All quality gates passed:

  • CI checks (typecheck, lint, unit tests, a11y)
  • Scope judge (diff aligns with ticket intent)
  • CodeRabbit review (no blocking feedback)
  • Sensitive path check (no auth/billing/migration/CI changes)

This PR was auto-approved because it meets all criteria for low-risk agent changes.
It will now enter the merge queue for final validation.

If this approval is incorrect, dismiss it and add the needs-human label.

@jovie-bot jovie-bot Bot added this pull request to the merge queue Jun 6, 2026
Merged via the queue into main with commit 2719228 Jun 6, 2026
74 of 75 checks passed
@jovie-bot jovie-bot Bot deleted the codex/jov-2846-download-marketing-system-b branch June 6, 2026 13:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant