feat: implement conversations page#287
Merged
Merged
Conversation
- Introduced conversations functionality in the project structure. - Added conversation-related translations for Korean, Portuguese, Russian, Vietnamese, and Chinese. - Created new routes for conversations, including listing and detail views. - Refactored agent detail page to remove conversations tab and integrate conversations into a dedicated route. - Implemented loading and error handling for conversations. - Enhanced UI components for displaying conversations and their statuses.
Contributor
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes — PR moves the conversation list from the agent-detail "Conversations" tab into a dedicated project-level route, adds sidebar navigation and localized empty/detail states, and nests the existing conversation-detail route under the new layout.
- Add project-level
Conversationsroute with a list layout and agent-aware rows inapps/web/src/routes/_authenticated/projects/$projectId/conversations.tsx. - Add index redirect to the most recent conversation in
apps/web/src/routes/_authenticated/projects/$projectId/conversations/index.tsx. - Nest conversation detail under the new layout in
apps/web/src/routes/_authenticated/projects/$projectId/conversations/$conversationId.tsx. - Remove the conversations tab from
apps/web/src/routes/_authenticated/projects/$projectId/agents/$agentId/index.tsxand update its loader. - Update navigation in
apps/web/src/components/app-shell/app-sidebar.tsxand add translated labels across eight locales. - Regenerate
routeTree.gen.tsto reflect the nested route tree.
Kimi K2 (free via Pullfrog for OSS) | 𝕏
Contributor
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes — This new commit adds a preload guard to the index-route redirect so hovering the Conversations sidebar nav no longer silently navigates away from the current page.
- Guarded redirect on
preloadinapps/web/src/routes/_authenticated/projects/$projectId/conversations/index.tsxby returning early from the loader when TanStack Router is speculative preloading. - No changes to the rest of the PR since the prior review.
Kimi K2 (free via Pullfrog for OSS) | 𝕏
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
Moves conversations out of the agent detail page and into their own project-level section, so a user can browse every conversation across all agents in one place instead of digging into each agent's tab.
/projects/$projectId/conversationslayout route: a two-pane view with a list of all conversations for the project (sorted newest first, showing agent, status, iteration count, trigger, and created date) on the left and the selected conversation on the right via<Outlet />./conversations/index route: redirects to the most recently created conversation, or shows an empty state if the project has none./conversations/$conversationId: now rendersConversationViewdirectly — the old back-button header and standalone realtime/query wiring moved up into the shared layout route.agents/$agentId/index.tsx), since conversations now live under the dedicated route instead of being scoped per-agent.nav.conversationsand theconversationsPage.*translation keys to all 9 supported locales (en, es, fr, ja, ko, pt-BR, ru, vi, zh-CN).routeTree.gen.tsfor the new/changed routes.Test plan
pnpm lint/ typecheck