diff --git a/echo/frontend/src/Router.tsx b/echo/frontend/src/Router.tsx
index 4ab543220..da30e2837 100644
--- a/echo/frontend/src/Router.tsx
+++ b/echo/frontend/src/Router.tsx
@@ -239,7 +239,7 @@ const projectRouteChildren = [
path: "debug",
},
],
- path: "conversation/:conversationId",
+ path: "conversations/:conversationId",
},
{
children: [
diff --git a/echo/frontend/src/components/aspect/hooks/useCopyAspect.tsx b/echo/frontend/src/components/aspect/hooks/useCopyAspect.tsx
index a4e95bae7..a4fa82024 100644
--- a/echo/frontend/src/components/aspect/hooks/useCopyAspect.tsx
+++ b/echo/frontend/src/components/aspect/hooks/useCopyAspect.tsx
@@ -71,9 +71,9 @@ export const useCopyAspect = () => {
?.conversation_id as Conversation;
const participantName = conversation?.participant_name ?? "Unknown";
- const conversationUrl =
- window.location.origin +
- `/${language}/projects/${projectId}/conversation/${conversationId}`;
+ const conversationUrl =
+ window.location.origin +
+ `/${language}/projects/${projectId}/conversations/${conversationId}`;
stringBuilder.push(`"${description}"\n`);
stringBuilder.push(`from [${participantName}](${conversationUrl})\n\n`);
diff --git a/echo/frontend/src/components/aspect/hooks/useCopyQuote.ts b/echo/frontend/src/components/aspect/hooks/useCopyQuote.ts
index dbdbd1445..f174b0964 100644
--- a/echo/frontend/src/components/aspect/hooks/useCopyQuote.ts
+++ b/echo/frontend/src/components/aspect/hooks/useCopyQuote.ts
@@ -40,10 +40,10 @@ export const useCopyQuote = () => {
// Format timestamp if available
const timestamp = conversation?.created_at ?? "";
- // Build the formatted quote with context
- stringBuilder.push(
- `# Quote from [${conversation?.participant_name}](${window.location.origin}/${language}/projects/${projectId}/conversation/${conversation?.id})`,
- );
+ // Build the formatted quote with context
+ stringBuilder.push(
+ `# Quote from [${conversation?.participant_name}](${window.location.origin}/${language}/projects/${projectId}/conversations/${conversation?.id})`,
+ );
stringBuilder.push(`"${quote.description}"`);
stringBuilder.push(`${quote.verbatim_transcript}`);
diff --git a/echo/frontend/src/components/chat/References.tsx b/echo/frontend/src/components/chat/References.tsx
index f9cec4c42..18d67f661 100644
--- a/echo/frontend/src/components/chat/References.tsx
+++ b/echo/frontend/src/components/chat/References.tsx
@@ -30,9 +30,9 @@ export const References = ({
{citation.reference_text}
-
+
{references.map((ref, index) => (
-
+
{ref?.conversation_title ||
ref?.conversation?.participant_name || (
diff --git a/echo/frontend/src/components/conversation/ConversationAccordion.tsx b/echo/frontend/src/components/conversation/ConversationAccordion.tsx
index 60e61497f..638598dff 100644
--- a/echo/frontend/src/components/conversation/ConversationAccordion.tsx
+++ b/echo/frontend/src/components/conversation/ConversationAccordion.tsx
@@ -534,9 +534,9 @@ const ConversationAccordionItem = ({
);
return (
-
-
- (
@@ -143,7 +143,7 @@ export const ConversationLinks = ({
{visibleConversations.map((conversation) => (
diff --git a/echo/frontend/src/components/conversation/MoveConversationButton.tsx b/echo/frontend/src/components/conversation/MoveConversationButton.tsx
index 0d65c63e8..ec1b51c43 100644
--- a/echo/frontend/src/components/conversation/MoveConversationButton.tsx
+++ b/echo/frontend/src/components/conversation/MoveConversationButton.tsx
@@ -97,7 +97,7 @@ export const MoveConversationButton = ({
onSuccess: () => {
close();
navigate(
- `/w/${workspaceId}/projects/${data.targetProjectId}/conversation/${conversation.id}`,
+ `/w/${workspaceId}/projects/${data.targetProjectId}/conversations/${conversation.id}`,
);
},
},
diff --git a/echo/frontend/src/components/conversation/ProjectConversationsPanel.tsx b/echo/frontend/src/components/conversation/ProjectConversationsPanel.tsx
index e12526ca0..cb7802105 100644
--- a/echo/frontend/src/components/conversation/ProjectConversationsPanel.tsx
+++ b/echo/frontend/src/components/conversation/ProjectConversationsPanel.tsx
@@ -635,7 +635,7 @@ export const ProjectConversationsPanel = ({
const openConversation = (conversation: Conversation) => {
if (!resolvedWorkspaceId) return;
navigate(
- `/w/${resolvedWorkspaceId}/projects/${projectId}/conversation/${conversation.id}`,
+ `/w/${resolvedWorkspaceId}/projects/${projectId}/conversations/${conversation.id}`,
);
};
@@ -872,7 +872,7 @@ export const ProjectConversationsPanel = ({
href={
selectionMode || !resolvedWorkspaceId
? undefined
- : `/w/${resolvedWorkspaceId}/projects/${projectId}/conversation/${conversation.id}`
+ : `/w/${resolvedWorkspaceId}/projects/${projectId}/conversations/${conversation.id}`
}
isSelected={selectedConversationIds.has(conversation.id)}
onEdit={openEdit}
diff --git a/echo/frontend/src/components/conversation/RetranscribeConversation.tsx b/echo/frontend/src/components/conversation/RetranscribeConversation.tsx
index aa3522741..f4bc75a6a 100644
--- a/echo/frontend/src/components/conversation/RetranscribeConversation.tsx
+++ b/echo/frontend/src/components/conversation/RetranscribeConversation.tsx
@@ -131,7 +131,7 @@ export const RetranscribeConversationModal = ({
label: t`Go to new conversation`,
onClick: () => {
navigate(
- `/w/${workspaceId}/projects/${projectId}/conversation/${new_conversation_id}`,
+ `/w/${workspaceId}/projects/${projectId}/conversations/${new_conversation_id}`,
);
},
},
diff --git a/echo/frontend/src/components/project/webhooks/WebhookSettingsCard.tsx b/echo/frontend/src/components/project/webhooks/WebhookSettingsCard.tsx
index 7e91f43f0..b0fadd693 100644
--- a/echo/frontend/src/components/project/webhooks/WebhookSettingsCard.tsx
+++ b/echo/frontend/src/components/project/webhooks/WebhookSettingsCard.tsx
@@ -723,7 +723,7 @@ const EXAMPLE_WEBHOOK_PAYLOAD = `{
"name": "Customer Interviews",
"language": "en"
},
- "dashboardUrl": "https://app.example.com/en-US/projects/proj-789/conversation/abc123-def456/overview"
+ "dashboardUrl": "https://app.example.com/en-US/projects/proj-789/conversations/abc123-def456/overview"
}`;
interface WebhookHelpAccordionProps {
diff --git a/echo/frontend/src/components/quote/Quote.tsx b/echo/frontend/src/components/quote/Quote.tsx
index a628d0c0b..0464086e2 100644
--- a/echo/frontend/src/components/quote/Quote.tsx
+++ b/echo/frontend/src/components/quote/Quote.tsx
@@ -172,7 +172,7 @@ export const Quote = ({
className="border-t border-gray-200 dark:border-gray-700"
>
View
diff --git a/echo/frontend/src/features/sidebar/breadcrumbs/AppBreadcrumbs.tsx b/echo/frontend/src/features/sidebar/breadcrumbs/AppBreadcrumbs.tsx
index 72b1b7957..c694f4b24 100644
--- a/echo/frontend/src/features/sidebar/breadcrumbs/AppBreadcrumbs.tsx
+++ b/echo/frontend/src/features/sidebar/breadcrumbs/AppBreadcrumbs.tsx
@@ -199,7 +199,7 @@ export const AppBreadcrumbs = () => {
});
}
const section = params.section;
- if (section === "conversation") {
+ if (section === "conversations" && params.conversationId) {
// Detail page: link back to the conversations list first.
out.push({
href: `/w/${params.workspaceId}/projects/${params.projectId}/conversations`,
diff --git a/echo/frontend/src/features/sidebar/hooks/useSearchHits.ts b/echo/frontend/src/features/sidebar/hooks/useSearchHits.ts
index df52d6a6e..dffdfa4f6 100644
--- a/echo/frontend/src/features/sidebar/hooks/useSearchHits.ts
+++ b/echo/frontend/src/features/sidebar/hooks/useSearchHits.ts
@@ -223,7 +223,7 @@ export function useSearchHits(
? `${c.projectName} / ${c.displayLabel}`
: t`Conversation`;
push({
- href: `/w/${c.workspaceId}/projects/${c.projectId}/conversation/${c.id}`,
+ href: `/w/${c.workspaceId}/projects/${c.projectId}/conversations/${c.id}`,
icon: ChatCircleIcon,
id: `conv-${c.id}`,
label: c.displayLabel,
@@ -240,7 +240,7 @@ export function useSearchHits(
? `${path}: "${tr.excerpt.slice(0, EXCERPT_LENGTH)}..."`
: path;
push({
- href: `/w/${tr.workspaceId}/projects/${tr.projectId}/conversation/${tr.conversationId}`,
+ href: `/w/${tr.workspaceId}/projects/${tr.projectId}/conversations/${tr.conversationId}`,
icon: FileTextIcon,
id: `chunk-${tr.id}`,
label: tr.conversationLabel ?? t`Transcript`,
diff --git a/echo/frontend/src/features/sidebar/hooks/useSidebarView.ts b/echo/frontend/src/features/sidebar/hooks/useSidebarView.ts
index 1608f8123..36ecf27e5 100644
--- a/echo/frontend/src/features/sidebar/hooks/useSidebarView.ts
+++ b/echo/frontend/src/features/sidebar/hooks/useSidebarView.ts
@@ -140,7 +140,7 @@ export function resolveSidebarView(
projectId,
section: segs[4],
workspaceId,
- ...(segs[4] === "conversation" && segs[5]
+ ...(segs[4] === "conversations" && segs[5]
? { conversationId: segs[5] }
: {}),
},