Skip to content

[ai slop, not humna veirifed] feat(overview): add presentation and comparison controls / 新增总览演示与对比控件 - #700

Open
functionstackx wants to merge 1 commit into
masterfrom
codex/overview-comparison-controls
Open

[ai slop, not humna veirifed] feat(overview): add presentation and comparison controls / 新增总览演示与对比控件#700
functionstackx wants to merge 1 commit into
masterfrom
codex/overview-comparison-controls

Conversation

@functionstackx

@functionstackx functionstackx commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Summary

Addresses the latest /overview feedback with three complementary controls:

  • Adds a focused presentation view that fills the viewport, uses the compact desktop matrix at presentation sizes, and exits via the button or Escape.
  • Makes the visible platform columns customizable. Selections are canonical, require at least one platform, persist across every overview control and locale switch, and are shareable through ?hw=.
  • Replaces the single fixed history option with 1-week, 30-day, and 2-month development-speed views, shared through ?compare=7d|30d|60d. Each view compares current results with the latest validated result in the corresponding bounded historical window.
  • Ships all new labels, descriptions, controls, and accessibility copy in English and Simplified Chinese.

Validation

  • bun run fmt
  • bun run lint
  • bun run typecheck
  • E2E_FIXTURES=1 bun run build — 929 static pages generated
  • Focused Vitest coverage — 121 passed
  • Application, constants, and database unit suites — 3,713 passed
  • overview.cy.ts in headless Chrome — 29/29 passed
  • Manual in-app browser verification of English and Chinese column selection, 7/60-day URLs, presentation layout, Escape exit, and scroll restoration

Local broad-suite notes: the MCP workspace currently fails during setup on current master with z.enum undefined before its tests execute; the quick smoke launcher also expects Cypress 15.19 while the available local binary is 15.17. The focused overview suite ran successfully with that available binary, and GitHub Actions remains the authoritative broad browser run.

中文说明

本 PR 针对最新的 /overview 反馈补充三类互相配合的控件:

  • 新增专注的演示视图:占满浏览器视口,在演示尺寸下使用紧凑桌面矩阵,并支持通过按钮或 Escape 退出。
  • 平台列改为可自定义。选择结果按固定顺序规范化,至少保留一个平台,并在所有总览控件及中英文切换时保持;?hw= 可直接分享当前列配置。
  • 将原先固定的历史对比扩展为 1 周、30 天和 2 个月三种开发速度视图,通过 ?compare=7d|30d|60d 分享。每个视图都会在对应的有界历史窗口内选取最近一次有效结果,与当前结果比较。
  • 所有新增标签、说明、控件和无障碍文案均同步提供英文与简体中文版本。

中文验证说明

  • bun run fmt
  • bun run lint
  • bun run typecheck
  • E2E_FIXTURES=1 bun run build:成功生成 929 个静态页面
  • 聚焦 Vitest:121 项通过
  • App、constants 与 database 单元测试:共 3,713 项通过
  • Headless Chrome 下的 overview.cy.ts:29/29 通过
  • 使用应用内浏览器人工验证中英文平台列选择、7/60 天 URL、演示布局、Escape 退出及页面滚动恢复

本地广泛测试说明:当前 master 的 MCP workspace 在测试执行前即因 z.enum 未定义而初始化失败;快速 smoke 命令需要 Cypress 15.19,而本地可用二进制版本为 15.17。聚焦的总览 E2E 已使用该可用版本完整通过;GitHub Actions 仍是广泛浏览器覆盖的权威结果。


Note

Medium Risk
Changes overview URL resolution, historical benchmark window math, and matrix assembly paths used by EN/ZH pages and the overview JSON API; risk is moderate due to breadth across UI and data layers rather than auth or payments.

Overview
Extends /overview with shareable view controls and a cleaner comparison UX.

Development-speed history replaces the single “30-day change” mode with 1 week / 30 days / 2 months (?compare=7d|30d|60d). Baseline windows scale with the chosen length (target = N days back, floor = 2N). Copy and methodology text are parameterized by that window in EN/ZH.

Visible platform columns are user-selectable via a multi-select (?hw=), canonical order, at least one platform, and preserved across tier/engine/compare/locale navigation.

Presentation view is a full-viewport mode: compact desktop matrix, mobile list hidden, body scroll locked, comparison switcher hidden, exit via button or Escape.

Server pages, /api/v1/overview, link builders, and soft navigation all thread historyDays and visibleHardware; matrix rendering filters columns by selection.

Reviewed by Cursor Bugbot for commit 53d7312. Bugbot is set up for automated code reviews on this repo. Configure here.

Add a focused presentation view, customizable platform columns, and 1-week, 30-day, and 2-month development-speed windows with bilingual UI and shareable URLs.

中文:新增专注的演示视图、可自定义的平台列,以及 1 周、30 天和 2 个月的开发速度区间;中英文界面与可分享 URL 同步支持。
@vercel

vercel Bot commented Aug 9, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
inferencemax-app Ready Ready Preview Aug 9, 2026 12:53am

Request Review

@cursor cursor 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.

Cursor Bugbot has reviewed your changes using default effort and found 3 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Want higher recall? High effort reviews run extra passes and find more bugs. A team admin can switch effort levels in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 53d7312. Configure here.

document.body.style.overflow = previousOverflow;
document.removeEventListener('keydown', onKeyDown);
};
}, [presentation]);

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Escape exits over open dropdown

Medium Severity

In presentation mode, Escape always leaves the view even when the platform-columns MultiSelect is open. Both listeners sit on document in the bubble phase, the presentation handler is registered first, and stopPropagation does not block sibling listeners on the same node, so Escape exits presentation instead of only dismissing the menu.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 53d7312. Configure here.

<table data-testid="overview-desktop-matrix" className="w-full border-collapse text-sm">
<caption className="sr-only">
{comparisonMode === 'history' ? strings.historyCaption : strings.caption}
{comparisonMode === 'history' ? strings.historyCaption(historyDays) : strings.caption}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Sticky offset gap in presentation

Medium Severity

The desktop matrix keeps sticky top-14 in presentation mode. That offset exists to clear the site header, but presentation covers the header with a fullscreen overlay, so the stuck column headers leave an empty band at the top while scrolling.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 53d7312. Configure here.

presentation
? 'fixed inset-0 z-[100] flex flex-col gap-3 overflow-auto bg-background p-3 lg:p-5'
: 'flex flex-col gap-4'
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Presentation loses page scroll

Medium Severity

Entering presentation sets the page section to fixed, which pulls it out of normal flow and collapses the main content height, but the code never saves or restores window.scrollY. Exiting therefore drops users back at the top instead of their prior place on /overview.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 53d7312. Configure here.

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