Uh oh!
There was an error while loading. Please reload this page.
fix(marketing): detect CPU arch for macOS download button instead of hardcoding arm64 - #4532
Conversation
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want fixes drafted automatically? Bugbot Autofix can create code changes for findings. A team admin can enable Autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 35e75af. Configure here.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
ApprovabilityVerdict: Needs human review 1 blocking correctness issue found. An unresolved high-severity bug has been identified: Safari on Apple Silicon Macs will incorrectly serve the x64 download instead of the native arm64 build due to UA string compatibility behavior. This issue should be addressed before merging. You can customize Macroscope's approvability policy. Learn more. |
… UAs report Intel even on Apple Silicon
t3dotgg
commented
Aug 27, 2026
Note 🤖 GPT-5.6 Sol responding on behalf of Theo We're closing this PR as we clean up the T3 Code backlog. Thank you for taking the time to put this together. Closing this architecture-detection change. The merged download fix deliberately gives Macs the ARM build because browser guesses can choose the wrong installer. Intel remains an explicit choice on the download page. This patch would bring the removed automatic guess back. Related work: #7477. If you believe we closed this in error, please reopen the PR and leave a comment explaining what we missed. If GitHub does not let you reopen it, leave a comment here and we'll take another look. |

What Changed
Changed
detectPlatform()inapps/marketing/src/pages/index.astrofrom hardcodingarch: "arm64"for all Mac users to detecting the actual CPU architecture.navigator.userAgentData.getHighEntropyValues(["architecture"])(Chrome/Edge) for reliable detection"arm64"when detection is unavailable (same as before)Why
The "Download for macOS" button on the landing page always linked to the arm64 DMG for every Mac visitor, even Intel Mac users who cannot run arm64 binaries. This caused installation failures for Intel users and potentially confusing behavior for Apple Silicon users when the download resolution failed.
Fixes#4358
UI Changes
No visual changes to the page. The button looks identical — it just links to the correct architecture-specific DMG based on the user's CPU.
Checklist
Note
Low Risk
Small, client-only change on the marketing homepage download script with graceful fallback to arm64 when architecture cannot be read.
Overview
The marketing landing page macOS download links no longer always resolve to the arm64 DMG.
detectPlatformis now async and, for Mac visitors, reads CPU architecture vianavigator.userAgentData.getHighEntropyValues(["architecture"])when the browser supports it, mapping x86 to x64 and otherwise keeping arm64 as the default (including when detection is unavailable).initawaits platform detection before settingdata-platform, labels, and the release asset URL used bypickAssetfor arch-specific DMG filenames.Reviewed by Cursor Bugbot for commit 1f346d7. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Detect CPU architecture for macOS download button instead of hardcoding arm64
Previously, macOS users were always served the arm64 download link.
detectPlatformin index.astro now callsnavigator.userAgentData.getHighEntropyValues(["architecture"])to detect Intel vs Apple Silicon, returningx64for Intel Macs and defaulting toarm64otherwise. The function is now async, wrapped in a try/catch for browsers that don't support UA-CH.Macroscope summarized 1f346d7.