Repository navigation
feat: refactor Nova app routing and enhance entry point functionality: - #330
Conversation
- 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.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
|
Caution Review failedThe pull request is closed. WalkthroughNova root routing now serves an entry page that redirects to ChangesNova Entry and App Home
ASCII Background Hydration
Priority: 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
Possibly related PRs
Merge Risk:
|
[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
|
| useEffect(() => { | ||
| window.location.replace(`/app${window.location.search}${window.location.hash}`) | ||
| }, []) |
There was a problem hiding this comment.
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.
Description
Please include a summary of the change and which issue is fixed.
Fixes #(issue)
Type of change
How Has This Been Tested?
Please describe the tests that you ran to verify your changes.
bun testpassesbun run typecheckpassesbun run lintpasses (if applicable)Checklist:
Summary by CodeRabbit
/appwhile preserving query parameters and URL fragments.