Skip to content

feat: refactor Nova app routing and enhance entry point functionality: - #330

Merged
yashdev9274 merged 1 commit into
mainfrom
supercode-cli
Oct 27, 2026
Merged

yashdev9274 merged 1 commit into
mainfrom
supercode-cli

Conversation

@yashdev9274

@yashdev9274 yashdev9274 commented Oct 27, 2026 •

Copy link
Copy Markdown
Owner
  • Updated proxy logic to handle routing for the root and app paths separately.
  • Refactored NovaHomePage to NovaEntryPage, simplifying the entry point for the Nova application.
  • Introduced a new NovaHomePage component for the app-specific route, maintaining authentication and session management.
  • Added tests for the Nova entry functionality to ensure correct routing and metadata handling.
  • Implemented a new NovaEntry component for client-side redirection to the app, improving user experience.

Description

Please include a summary of the change and which issue is fixed.

Fixes #(issue)

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Refactor (no functional changes)

How Has This Been Tested?

Please describe the tests that you ran to verify your changes.

  • bun test passes
  • bun run typecheck passes
  • bun run lint passes (if applicable)

Checklist:

  • My code follows the project's style guidelines
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works

Summary by CodeRabbit

  • New Features
    • The Nova home page now displays the signed-in user’s agent sessions and account details.
    • Visiting the Nova entry page takes you to /app while preserving query parameters and URL fragments.
  • Improvements
    • The entry page shows a branded loading screen with an accessible status message while navigating.
    • Background animation controls and transitions now behave more consistently during page loading and when reduced motion is enabled.

- Updated proxy logic to handle routing for the root and app paths separately.
- Refactored NovaHomePage to NovaEntryPage, simplifying the entry point for the Nova application.
- Introduced a new NovaHomePage component for the app-specific route, maintaining authentication and session management.
- Added tests for the Nova entry functionality to ensure correct routing and metadata handling.
- Implemented a new NovaEntry component for client-side redirection to the app, improving user experience.
@vercel

vercel Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated
supercli Ready Ready Preview Oct 27, 2026 12:18pm UTC
supercli-client Ready Ready Preview Oct 27, 2026 12:18pm UTC
supercli-docs Ready Ready Preview Oct 27, 2026 12:18pm UTC
1 Skipped Deployment
Project Deployment Actions Updated
vercel-supercodeai-integration Skipped Skipped Oct 27, 2026 12:18pm UTC

@coderabbitai

coderabbitai Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Caution

Review failed

The pull request is closed.

Walkthrough

Nova root routing now serves an entry page that redirects to /app. The /app page loads authenticated user data and renders the Nova home view. The ASCII background also uses hydration state when applying its transition and rendering controls.

Changes

Nova Entry and App Home

Layer / File(s) Summary
Nova entry routing and redirect
apps/web/proxy.ts, apps/web/app/(nova-app)/nova-app-internal/page.tsx, apps/web/modules/nova-web/nova-entry.tsx, apps/web/modules/nova-web/nova-entry.test.ts
The Nova host rewrites / and /app to separate internal paths. The root page renders NovaEntry, which replaces the URL with /app while preserving the query string and hash. Tests cover routing and metadata.
Authenticated app home
apps/web/app/(nova-app)/nova-app-internal/app/page.tsx
The /app page requires authentication, loads the current user's agent sessions, and passes the sessions and profile fields to NovaApp in its home view.

ASCII Background Hydration

Layer / File(s) Summary
Hydration-aware background behavior
apps/web/modules/nova-web/components/ascii-background.tsx
The background reads hydration state to select its transition duration and determine whether to show the pause/play control.

Priority: Not assessed

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Feature

Sequence Diagram(s)

sequenceDiagram
  participant Browser
  participant NovaEntry
  participant Proxy
  participant NovaHomePage
  participant AgentSessions
  Browser->>NovaEntry: Load Nova root page
  NovaEntry-->>Browser: Replace URL with /app, preserving query and hash
  Browser->>Proxy: Request /app on Nova host
  Proxy-->>Browser: Rewrite to /nova-app-internal/app
  Browser->>NovaHomePage: Load authenticated app page
  NovaHomePage->>AgentSessions: Load current user's sessions
  AgentSessions-->>NovaHomePage: Return sessions
  NovaHomePage-->>Browser: Render NovaApp home view with user and session data
Loading

Possibly related PRs

  • yashdev9274/supercli#328: Adds the AsciiBackground component and its animation behavior, which this change updates for hydration and reduced-motion handling.
Merge Risk: Low · up to 48b15

Home navigation reloads the page, and the initial fade may ignore reduced-motion settings. These limited impacts should be addressed or accepted before merging.

Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

A rabbit hops through Nova's door,
Then finds /app and asks for more.
The session paths now lead the way,
While backgrounds wait for hydration's day.
Reduced-motion choices guide the play,
And query strings come along to stay.

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

@greptile-apps

greptile-apps Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 4/5 Tier: plus

[Medium impact] The routing change affects Nova’s entry and authenticated workspace paths.

Update the in-app home links before merging so New thread does not discard the selected project.

Findings

  1. P1 New threads lose their project ▶

Summary

Separates Nova's public entry at / from its signed-in home at /app.

  • Nova’s root shows an entry screen, while /app opens the workspace.
  • Nova’s animated background waits for hydration before using motion settings.

Tests and browser checks were not run.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart TD
  Root["Nova /"] --> Entry["Public NovaEntry"]
  Entry -->|"Browser reload; keeps query and hash"| App["/app"]
  App --> Auth{"requireAuth"}
  Auth -->|"Signed in"| Home["NovaApp with user sessions"]
  Auth -->|"Signed out"| Login["/login"]
  Home -->|"Existing New thread and home links"| Root
Loading

Reviews (1) · Last reviewed commit: "feat: refactor Nova app routing and enha..." · Reviewed by Greptile

Comment on lines +8 to +10
useEffect(() => {
window.location.replace(`/app${window.location.search}${window.location.hash}`)
}, [])

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 New threads lose their project

The existing New thread, home, and settings-back actions still navigate to /. They now mount NovaEntry, whose window.location.replace reloads the browser at /app and clears the selected project held in memoryState and virtualProject.

The fresh home does not restore that project, so the next normal prompt creates a session with localProjectId: null. Previously, client navigation kept the project in memory. Point in-app home actions at /app so they skip the public entry redirect.

@yashdev9274
yashdev9274 merged commit 24112f1 into main Oct 27, 2026
7 of 10 checks passed

This branch was successfully deployed

3 active and 1 inactive deployments
Preview – supercli — 48b15b12 Deployed Oct 27, 2026 by vercel[bot]
Preview – supercli-client — 48b15b12 Deployed Oct 27, 2026 by vercel[bot]
Preview – supercli-docs — 48b15b12 Deployed Oct 27, 2026 by vercel[bot]
Preview – vercel-supercodeai-integration — 48b15b12 Deployed Oct 27, 2026 by vercel[bot]
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