feat: draft hero landing on the index route#4055
Conversation
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
ApprovabilityVerdict: 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. |
Screen.Recording.2026-07-16.at.5.12.58.AM.mov |
…ver from failures Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ 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.
… first backoff attempts Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>

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—withDraftHeroHeadline(“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.useHandleNewThreadaccepts optionalreplacefor history-friendly redirects.allEnvironmentShellsBootstrappedAtomgates 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
NoProjectsHerocomponent renders a centered empty state with an add-project prompt.DraftHeroHeadlinecomponent renders above the composer on empty draft threads, showing a project selector that starts a replacement draft thread when switched.MessagesTimelinegains ahideEmptyPlaceholderprop to suppress the empty-state text in hero mode.useNewThreadHandlergains an optionalreplaceflag to control whether navigation replaces the current history entry.allEnvironmentShellsBootstrappedAtomdelays auto-navigation until all environment shells are ready, accounting for early connection retries.Macroscope summarized 17fbd15.