macOS Apple Silicon install CTA - #1
Open
jasonkneen wants to merge 2 commits into
Open
Conversation
macOS visitors were told the OS is unsupported. Detect Apple Silicon, copy install-macos.sh, and clone the Metal engine branch (falling back to the working fork until it lands on FlashML-org).
There was a problem hiding this comment.
🟡 Changes recommended
The macOS install CTA has confirmed UX/behavior bugs (iPadOS mis-detection, keyboard activation gap, and unhandled clipboard failures) that should be addressed before shipping.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Adds a macOS Apple Silicon (Metal) install path to the FreeToken-Web landing page by introducing an “Install FreeToken macOS” CTA that copies a one-line install command, and ships the corresponding install-macos.sh script via GitHub Pages.
Changes:
- Added
install-macos.shto bootstrapuv, clone the Metal-capable FreeToken engine ref, and installft+mlx-lminto a local venv. - Updated
index.htmlmetadata and download UI to detect macOS and present a copy-to-clipboard install command flow. - Updated Pages deploy workflow to redeploy when
install-macos.shchanges.
File summaries
| File | Description |
|---|---|
| install-macos.sh | New macOS Apple Silicon CLI installer script (uv + venv + engine clone + mlx-lm). |
| index.html | Adds macOS platform detection and a copy-to-clipboard install CTA + updated SEO metadata. |
| .github/workflows/deploy-pages.yml | Ensures Pages redeploy triggers include install-macos.sh. |
Review details
Suppressed comments (1)
index.html:896
- The install-command copy handler for the macOS card doesn't handle clipboard failures; if
navigator.clipboardis unavailable/denied, the promise rejection becomes unhandled and the user gets no fallback to copy the command.
copyText(btn.getAttribute("data-copy")).then(() => {
const file = btn.querySelector(".file");
if (file) flashCopied(file);
});
});
- Files reviewed: 3/3 changed files
- Comments generated: 3
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
682
to
686
| const ua = navigator.userAgent || ""; | ||
| if (/Android/i.test(ua)) return null; // mobile | ||
| if (/Android|iPhone|iPad|iPod/i.test(ua)) return null; // mobile | ||
| if (/Windows|Win32|Win64/i.test(ua)) return PLATFORMS.find(p => p.key === "win"); | ||
| if (/Macintosh|Mac OS X/i.test(ua)) return PLATFORMS.find(p => p.key === "mac"); | ||
| if (/Linux|X11/i.test(ua)) return PLATFORMS.find(p => p.key === "deb"); // Android already excluded above |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
macOS visitors currently get “Not supported on your OS yet”. This detects Mac, offers Install FreeToken macOS, and copies:
curl -fsSL https://www.flashml.ai/install-macos.sh | bashinstall-macos.shclonesfeat/apple-metal-backend(FlashML-org, thenjasonkneen/FreeTokenwhile the engine PR is open) and installs the Metal CLI + mlx-lm.Depends on
FlashML-org/FreeToken#65
Windows/Linux download buttons are unchanged. No
.dmg; this is the CLI path.