Skip to content

Make Mac App download prominent on public homepage - #5062

Merged
huangruiteng merged 2 commits into
mainfrom
codex/site-mac-download-20260925
Sep 27, 2026
Merged

huangruiteng merged 2 commits into
mainfrom
codex/site-mac-download-20260925

Conversation

@huangruiteng

Copy link
Copy Markdown
Collaborator

Goal and result

Make the Apple Silicon Mac App download visible on the public homepage's first screen. The previous header led to GitHub and the primary hero action opened setup, leaving the desktop release hard to find. The header and bilingual hero now link directly to the latest release's stable LoopX.app.zip asset. The hero names the preview status, Python 3.11+ prerequisite, and first-launch guide. Agent and Shell setup remain available beside it.

Changes

  • Public site UI: promote the Mac download in the header and hero, move GitHub into navigation, and keep the showcase link as a tertiary action.
  • Analytics: record Mac download clicks as desktop_download intent rather than repository visits; retain the existing consent boundary.
  • Public documentation and smoke: describe the entry point and validate event classification.

Commits separate the site behavior from documentation and focused validation.

Validation and visual evidence

  • npm ci && npm run build && npm run smoke:seo in apps/presentation/site — passed.
  • node scripts/analytics-smoke.mjs — passed, including consent isolation and Mac download event classification.
  • git diff --check and public/private addition scan — passed.
  • The official releases/latest/download/LoopX.app.zip URL redirected to the v1.2.0 asset and returned HTTP 200 on 2026-09-25.
  • Compared the deployed homepage with the local preview. Reviewed English and Chinese desktop first screens at 1200px, mobile first screens at 390px, and the Chinese 320px layout. The download stays in the first viewport, the narrow layout has no horizontal overflow, and the setup dialog still opens. The owner approved the first-screen preview before commit.

Boundary and risk

The website is the affected user entry point. The dashboard, Lark, CLI and desktop package behavior do not change; the button uses the existing official release artifact. The URL depends on future releases continuing to publish the stable LoopX.app.zip filename, so a newly published release without that asset would temporarily break direct download. The App remains an Apple Silicon preview and may require macOS first-launch approval; its guide explains that boundary.

Related small cleanup: the unused GitHub icon component was removed when the header action changed. No broader refactor is needed for this site-only change. No private state, credentials, local paths, raw logs or generated artifacts are included. This apps/** behavior change is for maintainer review and merge.

Signed-off-by: huangruiteng <14976749+huangruiteng@users.noreply.github.com>
Signed-off-by: huangruiteng <14976749+huangruiteng@users.noreply.github.com>

@huangruiteng huangruiteng left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Approval conclusion (author-owned PR; GitHub blocks formal self-approval)

Reviewed exact head: f0d5ab3fd428e1d7ea9713131e9ea532b69a818d; baseline: 27f0fc93b806925cb151df4ffac26e3aebdbff2c.

动机

这个 PR 解决的是首次访问者找不到 Mac App 下载入口的问题,而不是再添加一个安装器。原主页把 Agent/Shell 设置作为主要入口;现在下载成为明确的首屏动作,同时保留设置和演示。按已核对的桌面指南,Apple Silicon、预览版和 Python 3.11+ 的限制都有中英文提示,没有把“能下载”写成“已经安装成功”。这个局部目标已达成,不代表桌面分发、签名或各平台安装问题都已解决。

改动思路

沿用现有 App、发布资产和 analytics consent 所有者:两个锚点共享官方 latest 下载地址,设置继续使用原来的 SetupDialog,演示仍进入 showcase。没有引入新的下载 API、状态库或后台权限。统计只是点击意图;在原有 consent 启动后的事件分支里,官方资产点击归为 desktop_download,提前返回避免同时记成 github_click。部署未配置统计、尚未选择、拒绝、撤回和隐私信号的边界保持独立于下载入口。

具体改动

五个文件,共 +107/-20:App.tsx 添加双语下载提示并调整三个动作的层级;styles.css 处理桌面和窄屏入口、次要演示链接及键盘焦点;analytics-client.js 添加官方资产的分类;analytics-smoke.mjs 覆盖事件不重复;README 说明稳定资产名和统计含义。删除的是已无调用的 GitHub 图标,GitHub 导航仍保留,没有删除 Agent/Shell 路径。

关键代码讲解

  1. macAppDownloadUrl / macAppGuideUrl,App.tsx:64:header 和 hero 复用同一个现有 release 资产,指南负责首次启动限制;它不是本地安装效果的凭据。
  2. App,App.tsx:748:首屏下载是普通链接,旁边设置按钮仍切换 setupOpen。实际打开 Agent/Shell 对话框并按 Escape 关闭,基线和候选都可用;没有新增持续状态或取消语义。
  3. start,analytics-client.js:79:未授权不能安装统计监听器;新分支同时检查 marker、GitHub 域名和精确路径,只发送固定 platform/artifact。return 保证同一次下载意图不再记为仓库访问。

对主干的风险

未发现阻塞问题。真实浏览器对比中,基线没有 Mac 下载锚点,候选有两个;设置按钮、演示目标和关闭行为保留。320px 中文、390px 英文和 1200px 桌面均没有横向溢出,窄于 359px 时隐藏 header 按钮但 hero 下载仍在首屏;焦点是可见的 2px 实线。构建与 SEO smoke 通过,原生 analytics smoke 通过,Google 请求全部拦截,没有真实采集。

额外反例覆盖了下载前未选择/拒绝、授权后新增官方链接、同页非官方链接和修改 marker 试图越界:前两种关闭态不初始化统计,只有授权后的官方链接进入下载事件。撤回、DNT/GPC 与移除部署配置沿用原生测试验证。

当前官方稳定下载地址返回 HTTP 200,最新 release 确实包含 LoopX.app.zip。残余风险是未来 release 删除这个资产名会使入口失效;本次没有完整下载 App 或验证 macOS 首次运行,也没有把这些未执行项当成通过。网站静态入口是本次受影响的用户路径,Dashboard、Lark、CLI 和安装器本身不需要伴随修改。PR 记录了提交前的 owner 首屏确认,本次没有改动首屏内容。

我的整体评价

APPROVE。长期推进能力保持:本 PR 没有增加调度、租约或任务状态,重复访问/语言切换和原设置入口可继续使用。首次使用体验改善:下载动作和限制在首屏可见,统计仍是真实的意图而非完成凭据。改动比例合适;面向后续的整理已通过共享 URL、复用 consent 所有者和移除死图标完成,无需为了两个链接新增 download capability。此结论是精确提交的代码审查,不是合并授权或 CI/发布就绪结论。

English verdict: APPROVE - f0d5ab3; the official Mac CTA is reachable while setup and consent boundaries remain intact. Build, SEO, intercepted analytics and baseline/head browser checks passed; native App installation was not tested.

@huangruiteng
huangruiteng merged commit 6b07307 into main Sep 27, 2026
19 of 26 checks passed
@huangruiteng
huangruiteng deleted the codex/site-mac-download-20260925 branch September 27, 2026 03:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant