Skip to content

feat: draft hero landing on the index route#4055

Open
yordis wants to merge 5 commits into
pingdotgg:mainfrom
TrogonStack:yordis/feat-draft-hero-landing-upstream
Open

feat: draft hero landing on the index route#4055
yordis wants to merge 5 commits into
pingdotgg:mainfrom
TrogonStack:yordis/feat-draft-hero-landing-upstream

Conversation

@yordis

@yordis yordis commented Jul 16, 2026

Copy link
Copy Markdown
  • The index route was a dead end that told users to go click something else; the first screen should be a prompt so launching the app and typing is the entire flow.
  • Unlike folder-scoped tools, this app spans many projects, so the headline carries an in-place project switcher instead of assuming a single context.
  • Connection and git-status churn was shifting the centered layout around, which undermined the landing experience, so the hero group is isolated from anything that mounts below it.

Note

Low Risk
UI and routing-only changes with no auth or data-path impact; main edge case is timing around environment bootstrap before auto-navigation.

Overview
The chat index route no longer shows a passive empty state: after environment shells finish bootstrapping, it replaces navigation into a draft for the most recently active project (or shows an add-project hero when none exist).

Empty local drafts get a centered hero in ChatView—headline plus composer—with DraftHeroHeadline (“What should we do in …?”) and an in-place project switcher when multiple projects exist. The timeline’s empty placeholder is hidden in that mode, and composer/banner/branch chrome is rearranged so connect/reconnect and lower UI don’t shift the centered group.

useHandleNewThread accepts optional replace for history-friendly redirects. allEnvironmentShellsBootstrappedAtom gates the index auto-start until each catalog environment has a shell snapshot or is safely disconnected (with a short backoff grace for retries).

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

Note

Add draft hero landing page to the chat index route

  • The chat index route now auto-navigates to a draft thread for the most recently active project (using history replace) instead of showing an inactive thread state.
  • When no projects exist, a new NoProjectsHero component renders a centered empty state with an add-project prompt.
  • A new DraftHeroHeadline component renders above the composer on empty draft threads, showing a project selector that starts a replacement draft thread when switched.
  • MessagesTimeline gains a hideEmptyPlaceholder prop to suppress the empty-state text in hero mode.
  • useNewThreadHandler gains an optional replace flag to control whether navigation replaces the current history entry.
  • A new allEnvironmentShellsBootstrappedAtom delays auto-navigation until all environment shells are ready, accounting for early connection retries.

Macroscope summarized 17fbd15.

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
@coderabbitai

coderabbitai Bot commented Jul 16, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: c9452ad4-2c2c-4702-b9cb-14e21cdfaca3

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:L 100-499 changed lines (additions + deletions). labels Jul 16, 2026
Comment thread apps/web/src/routes/_chat.index.tsx
Comment thread apps/web/src/routes/_chat.index.tsx
Comment thread apps/web/src/routes/_chat.index.tsx
@macroscopeapp

macroscopeapp Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Needs human review

This PR introduces a new feature that changes the index route landing experience with auto-redirect behavior, new hero UI components, and modified layout states. New user-facing features warrant human review.

You can customize Macroscope's approvability policy. Learn more.

@yordis

yordis commented Jul 16, 2026

Copy link
Copy Markdown
Author
Screen.Recording.2026-07-16.at.5.12.58.AM.mov

…ver from failures

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Comment thread apps/web/src/state/shell.ts
Comment thread apps/web/src/state/shell.ts
Comment thread apps/web/src/state/shell.ts
yordis added 2 commits July 16, 2026 13:34
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

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 high effort and found 1 potential issue.

Fix All in Cursor

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

Reviewed by Cursor Bugbot for commit e69bab6. Configure here.

Comment thread apps/web/src/state/shell.ts
… first backoff attempts

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
@juliusmarminge juliusmarminge enabled auto-merge (squash) July 16, 2026 18:29
@juliusmarminge juliusmarminge disabled auto-merge July 16, 2026 18:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 100-499 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant