Skip to content

refactor(app): refresh home welcome heading (#603 PR3/3)#661

Merged
Astro-Han merged 1 commit into
devfrom
claude/i603-pr3-home-shell
May 16, 2026
Merged

refactor(app): refresh home welcome heading (#603 PR3/3)#661
Astro-Han merged 1 commit into
devfrom
claude/i603-pr3-home-shell

Conversation

@Astro-Han

Copy link
Copy Markdown
Owner

Summary

Refresh the home <h1> to the W5 welcome wording locked by the design preview ("今天我们做点什么?" / "What should we work on?") and tune the heading typography toward --type-display: medium weight, 28/130, and the documented zh-CJK letter-spacing rule (CJK 0, en tightest). Widen the heading-to-composer gap from mt-12 to mt-20 so the hero block breathes. Production layout, WorkspaceChip inside the composer, and every other home surface stay untouched.

Why

PR1 (#651) cleared the dead home page and PR2 (#657) stripped the skill-card pipeline. PR3 originally planned to rewrite NewSessionView as a W5 hero (meta-path button + branch chip + extracted WorkspacePopover). The maintainer manual-tested the experiment in Electron and decided the cwd signal reads cleaner where it already is (inside the composer), and that the home page should stay minimal. Rolled back to the smallest change that delivers the welcome copy + typography refresh on the existing layout.

Related Issue

Refs #603. Slice 3 of 3.

Human Review Status

Pending. A human should make the final merge decision after reviewing the final diff and verification evidence.

Review Focus

  • session-new-view.tsx--type-display is rendered with arbitrary Tailwind values (text-[28px] font-medium leading-[1.3] + tracking-[var(--letter-spacing-tightest|normal)]) because there is no text-display utility class yet. Introducing one would be a cross-package utility addition (would touch packages/ui and the error-page heading); kept out of scope and noted as a follow-up candidate.
  • i18n: home.hero.title replaces session.new.title. Both parity.test.ts and the home.spec.ts heading assertion are updated. session.new.title is removed in both locales — grep confirms no other consumer.
  • The opencode @smoke inventory in packages/opencode/test/config/e2e-smoke-tagging.test.ts is updated alphabetically to match the new home smoke title.

Risk Notes

None. No behavioral or platform-impacting change. No new schema, no migration, no IPC surface touched.

How To Verify

packages/app typecheck (tsgo -b):                clean
packages/opencode typecheck (tsgo --noEmit):     clean
packages/app unit tests (bun test src/):         1103 pass / 0 fail / 2649 expect()
packages/app E2E home.spec.ts (chromium):        6 pass / 10.0s
packages/opencode e2e-smoke-tagging unit:        2 pass
Electron `bun run dev:desktop` manual check:     heading copy + medium-weight display tier + heading↔composer gap visible; WorkspaceChip remains inside composer; zh + en letter-spacing rules both render
Crosscheck (Claude Opus + Codex):                0 P0 / 0 P1; one P2 (`tracking-[var(--letter-spacing-tightest)]` token swap) applied in-PR; other P2/P3 deferred (new utility class out of scope; pre-existing parity-test observation)

Screenshots or Recordings

Manual screenshot to be attached after PR open — the visible change is the heading copy ("今天我们做点什么?" / "What should we work on?") plus the slightly heavier medium-weight 28/130 display heading and the wider heading-to-composer gap. The composer, workspace chip, and overall layout are byte-for-byte unchanged from production.

Checklist

  • Human review status is stated above as pending, approved, or not required
  • I linked the related issue, or stated why there is no issue
  • This PR has type, primary area, and priority labels, or I requested maintainer labeling
  • I described the review focus and any meaningful risks
  • I listed the relevant verification steps and the key result for each
  • I did not introduce unrelated refactors, dependencies, generated files, or file changes beyond the stated scope
  • I manually checked visible UI or copy changes when needed, with screenshots or recordings
  • I considered macOS and Windows impact for platform, packaging, updater, signing, paths, shell, or permissions changes
  • I called out docs, release notes, dependencies, permissions, credentials, deletion behavior, generated content, or local file changes when relevant
  • I reviewed the final diff for unrelated changes and suspicious dependency changes
  • I am targeting dev, and my PR title and commit messages use Conventional Commits in English

Swap the home `<h1>` to the W5 welcome wording locked by the design
preview ("今天我们做点什么?" / "What should we work on?") and tune
the heading typography toward `--type-display`: medium weight, 28/130,
and the documented zh-CJK letter-spacing rule (CJK 0, en tightest).
Widen the heading-to-composer gap from `mt-12` to `mt-20` so the
hero block breathes.

Rolled back the W5 hero rewrite drafted earlier in this branch
(meta-path button + branch chip + `WorkspacePopover` extraction):
user manual-tested the experiment in Electron and preferred to keep
the production WorkspaceChip inside the composer untouched and the
home page minimal. The remaining change is a content + typography
refresh of the existing layout — no behavior, no plumbing, no
component moves.

i18n: introduce `home.hero.title`, retire `session.new.title`, sync
`parity.test.ts`. Update the home smoke spec and the opencode
`@smoke` inventory to the new heading copy.

Slice 3 of 3 for #603.

Refs #603.
@coderabbitai

coderabbitai Bot commented May 16, 2026

Copy link
Copy Markdown
Contributor

Warning

Rate limit exceeded

@Astro-Han has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 34 minutes and 1 second before requesting another review.

You’ve run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 97588b45-1c33-43a6-8118-55fc22925abc

📥 Commits

Reviewing files that changed from the base of the PR and between 2185ca5 and 1984fa8.

📒 Files selected for processing (6)
  • packages/app/e2e/app/home.spec.ts
  • packages/app/src/components/session/session-new-view.tsx
  • packages/app/src/i18n/en.ts
  • packages/app/src/i18n/parity.test.ts
  • packages/app/src/i18n/zh.ts
  • packages/opencode/test/config/e2e-smoke-tagging.test.ts
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/i603-pr3-home-shell

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.

❤️ Share

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

@github-actions github-actions Bot added app Application behavior and product flows ui Design system and user interface harness Model harness, prompts, tool descriptions, and session mechanics labels May 16, 2026

@github-actions github-actions 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.

Suggested priority: P2 (includes user-path files (packages/app/src/components/session/session-new-view.tsx, packages/app/src/i18n/en.ts, packages/app/src/i18n/parity.test.ts, packages/app/src/i18n/zh.ts)).

P1/P0 are reserved for maintainer confirmation. Please relabel manually if this is a release blocker, security issue, data-loss risk, or updater/runtime failure.

@Astro-Han Astro-Han added P2 Medium priority tech-debt Supplemental cleanup, maintainability, architecture, test, or quality debt context labels May 16, 2026

@gemini-code-assist gemini-code-assist 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.

Code Review

This pull request updates the home page's hero section by renaming the welcome heading translation key to home.hero.title, adjusting typography styles, and increasing layout spacing. Feedback indicates that the locale-based letter-spacing logic should be expanded to include Japanese and Korean for consistent CJK typography. Additionally, the new translation key needs to be added to all supported locale files to prevent raw keys from being displayed to users.

Comment thread packages/app/src/components/session/session-new-view.tsx
Comment thread packages/app/src/components/session/session-new-view.tsx
@github-actions

Copy link
Copy Markdown

Perf delta summary

Comparator: pass

Profile / Scenario interaction median interaction worst long task max tbt frame gap p95 frame gap max jank count cls status
default / homepage-cold 24 -> 32 (+8) 40 -> 48 (+8) 66 -> 62 (-4) 16 -> 12 (-4) 16.8 -> 33.3 (+16.5) 166.7 -> 116.6 (-50.1) 3 -> 3 (0) 0 -> 0 (0) pass
default / long-session-input-lag 40 -> 48 (+8) 48 -> 56 (+8) 0 -> 0 (0) 0 -> 0 (0) 16.7 -> 16.7 (0) 16.8 -> 16.8 (0) 0 -> 0 (0) 0 -> 0 (0) pass
default / session-streaming-long 48 -> 48 (0) 56 -> 56 (0) 0 -> 0 (0) 0 -> 0 (0) 16.8 -> 16.8 (0) 16.8 -> 16.8 (0) 0 -> 0 (0) 0 -> 0 (0) pass
default / tool-call-expand 16 -> 16 (0) 24 -> 16 (-8) 0 -> 0 (0) 0 -> 0 (0) 16.7 -> 16.8 (+0.1) 16.7 -> 16.8 (+0.1) 0 -> 0 (0) 0 -> 0 (0) pass
default / tool-default-open-heavy-bash 24 -> 24 (0) 24 -> 24 (0) 62 -> 66 (+4) 12 -> 16 (+4) 50.1 -> 33.4 (-16.7) 133.3 -> 150 (+16.7) 4 -> 2 (-2) 0 -> 0 (0) pass
default / terminal-side-panel-open 56 -> 48 (-8) 56 -> 56 (0) 0 -> 0 (0) 0 -> 0 (0) 33.5 -> 33.3 (-0.2) 33.5 -> 33.3 (-0.2) 0 -> 0 (0) 0 -> 0 (0) pass
default / session-scroll-reading 24 -> 24 (0) 32 -> 32 (0) 0 -> 0 (0) 0 -> 0 (0) 16.7 -> 16.8 (+0.1) 16.7 -> 16.8 (+0.1) 0 -> 0 (0) 0.505 -> 0.505 (0) warn: cls

@Astro-Han Astro-Han merged commit feecc31 into dev May 16, 2026
27 checks passed
@Astro-Han Astro-Han deleted the claude/i603-pr3-home-shell branch May 16, 2026 01:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

app Application behavior and product flows harness Model harness, prompts, tool descriptions, and session mechanics P2 Medium priority tech-debt Supplemental cleanup, maintainability, architecture, test, or quality debt context ui Design system and user interface

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant