diff --git a/ui/src/components/IssueChatThread.test.tsx b/ui/src/components/IssueChatThread.test.tsx index 977d2bedbda..80ec83d7621 100644 --- a/ui/src/components/IssueChatThread.test.tsx +++ b/ui/src/components/IssueChatThread.test.tsx @@ -1785,6 +1785,35 @@ describe("IssueChatThread", () => { }); }); + it("does not render an empty placeholder when the empty message is blank", () => { + const root = createRoot(container); + + act(() => { + root.render( + + {}} + showComposer={false} + emptyMessage="" + enableLiveTranscriptPolling={false} + /> + , + ); + }); + + expect(container.textContent).toContain("Jump to latest"); + expect(container.textContent).not.toContain("This issue conversation is empty"); + expect(container.querySelector(".border-dashed")).toBeNull(); + + act(() => { + root.unmount(); + }); + }); + it("shows non-image attachment upload state in the composer after a drop", async () => { const root = createRoot(container); const onAttachImage = vi.fn(async (file: File) => ({ diff --git a/ui/src/components/IssueChatThread.tsx b/ui/src/components/IssueChatThread.tsx index 82e50fb3a4d..298d141468d 100644 --- a/ui/src/components/IssueChatThread.tsx +++ b/ui/src/components/IssueChatThread.tsx @@ -451,7 +451,7 @@ function IssueChatFallbackThread({ - {messages.length === 0 ? ( + {messages.length === 0 && emptyMessage.trim().length > 0 ? (
0; return ( @@ -3660,7 +3661,7 @@ export function IssueChatThread({ data-testid="thread-viewport" className={variant === "embedded" ? "space-y-3" : "space-y-4"} > - {messages.length === 0 ? ( + {messages.length === 0 && shouldShowEmptyState ? (
{ "/execution-workspaces/workspace-123", ); }); + + it("treats conference room paths as board routes that need a company prefix", () => { + expect(isBoardPathWithoutPrefix("/conference/history")).toBe(true); + expect(extractCompanyPrefixFromPath("/conference/history")).toBeNull(); + expect(applyCompanyPrefix("/conference/history", "PAP")).toBe("/PAP/conference/history"); + expect(applyCompanyPrefix("/conference/PAP-1551", "PAP")).toBe("/PAP/conference/PAP-1551"); + }); }); diff --git a/ui/src/lib/company-routes.ts b/ui/src/lib/company-routes.ts index 04659a61a3a..9164222a836 100644 --- a/ui/src/lib/company-routes.ts +++ b/ui/src/lib/company-routes.ts @@ -17,6 +17,7 @@ const BOARD_ROUTE_ROOTS = new Set([ "activity", "inbox", "u", + "conference", "design-guide", ]); diff --git a/ui/src/pages/ConferenceRoom.tsx b/ui/src/pages/ConferenceRoom.tsx index 435861c0df2..d34bcdebfdd 100644 --- a/ui/src/pages/ConferenceRoom.tsx +++ b/ui/src/pages/ConferenceRoom.tsx @@ -313,7 +313,7 @@ export function ConferenceRoom() { return ( -
+