From eb1fd5a3998547e0333f72564d50e8d1a1158f48 Mon Sep 17 00:00:00 2001 From: Pedro Costa Date: Wed, 29 Apr 2026 14:22:11 -0300 Subject: [PATCH 1/2] feat(web): show thread shortId across main app surfaces Surfaces the per-org thread shortId in the threads inbox, breadcrumbs (thread + archive), thread chips, related threads, search results, and the playground sidebar. Inbox keeps the id before the avatar; everywhere else it trails the title as muted "#123". Co-Authored-By: Claude Opus 4.7 --- apps/web/src/components/chips.tsx | 16 +++++++- .../threads/related-threads-section.tsx | 5 +++ .../app/_workspace/_main/playground/index.tsx | 37 ++++++++++++------- .../app/_workspace/_main/search/index.tsx | 5 +++ .../_workspace/_main/threads/$id/index.tsx | 9 ++++- .../_workspace/_main/threads/archive/$id.tsx | 9 ++++- .../app/_workspace/_main/threads/index.tsx | 5 +++ 7 files changed, 68 insertions(+), 18 deletions(-) diff --git a/apps/web/src/components/chips.tsx b/apps/web/src/components/chips.tsx index d0402ecf..c9790b2a 100644 --- a/apps/web/src/components/chips.tsx +++ b/apps/web/src/components/chips.tsx @@ -46,7 +46,12 @@ export function BaseThreadChip({ fallback={thread.author?.name} src={thread.author?.user?.image ?? undefined} /> - {thread.name} + {thread.name} + {thread.shortId != null && ( + + #{thread.shortId} + + )} ); } @@ -77,7 +82,14 @@ export function ThreadChip({ />
-
{thread.name}
+
+ {thread.name} + {thread.shortId != null && ( + + #{thread.shortId} + + )} +
{ src={thread.author.user?.image} />
{thread.name}
+ {thread.shortId != null && ( + + #{thread.shortId} + + )}
diff --git a/apps/web/src/routes/app/_workspace/_main/playground/index.tsx b/apps/web/src/routes/app/_workspace/_main/playground/index.tsx index a6349174..bb15de80 100644 --- a/apps/web/src/routes/app/_workspace/_main/playground/index.tsx +++ b/apps/web/src/routes/app/_workspace/_main/playground/index.tsx @@ -103,20 +103,29 @@ function PlaygroundPage() { Threads
- {(threads as any[])?.map((thread: { id: string; name: string }) => ( - - ))} + {(threads as any[])?.map( + (thread: { id: string; name: string; shortId: number | null }) => ( + + ), + )} {(!threads || (threads as any[]).length === 0) && (
No threads found diff --git a/apps/web/src/routes/app/_workspace/_main/search/index.tsx b/apps/web/src/routes/app/_workspace/_main/search/index.tsx index a48b5abf..7b6fb1b9 100644 --- a/apps/web/src/routes/app/_workspace/_main/search/index.tsx +++ b/apps/web/src/routes/app/_workspace/_main/search/index.tsx @@ -67,6 +67,11 @@ const SearchResultItem = ({ messageId }: SearchResultItemProps) => {
{thread?.name}
+ {thread?.shortId != null && ( + + #{thread.shortId} + + )}
diff --git a/apps/web/src/routes/app/_workspace/_main/threads/$id/index.tsx b/apps/web/src/routes/app/_workspace/_main/threads/$id/index.tsx index d873d15d..a0690ab0 100644 --- a/apps/web/src/routes/app/_workspace/_main/threads/$id/index.tsx +++ b/apps/web/src/routes/app/_workspace/_main/threads/$id/index.tsx @@ -267,7 +267,14 @@ function RouteComponent() { - {thread.name} + + {thread.name} + {thread.shortId != null && ( + + #{thread.shortId} + + )} + diff --git a/apps/web/src/routes/app/_workspace/_main/threads/archive/$id.tsx b/apps/web/src/routes/app/_workspace/_main/threads/archive/$id.tsx index 6e285702..a5f50cd8 100644 --- a/apps/web/src/routes/app/_workspace/_main/threads/archive/$id.tsx +++ b/apps/web/src/routes/app/_workspace/_main/threads/archive/$id.tsx @@ -160,7 +160,14 @@ function RouteComponent() { - {thread.name} + + {thread.name} + {thread.shortId != null && ( + + #{thread.shortId} + + )} + diff --git a/apps/web/src/routes/app/_workspace/_main/threads/index.tsx b/apps/web/src/routes/app/_workspace/_main/threads/index.tsx index e0615298..721e6501 100644 --- a/apps/web/src/routes/app/_workspace/_main/threads/index.tsx +++ b/apps/web/src/routes/app/_workspace/_main/threads/index.tsx @@ -347,6 +347,11 @@ export function ThreadsList({ fixedFilters = {}, subTitle }: ThreadsListProps) { >
+ {thread?.shortId != null && ( + + #{thread.shortId} + + )} Date: Wed, 29 Apr 2026 14:39:05 -0300 Subject: [PATCH 2/2] fix --- .../app/_workspace/_main/playground/index.tsx | 46 +++++++++---------- 1 file changed, 22 insertions(+), 24 deletions(-) diff --git a/apps/web/src/routes/app/_workspace/_main/playground/index.tsx b/apps/web/src/routes/app/_workspace/_main/playground/index.tsx index bb15de80..4e477ba3 100644 --- a/apps/web/src/routes/app/_workspace/_main/playground/index.tsx +++ b/apps/web/src/routes/app/_workspace/_main/playground/index.tsx @@ -103,30 +103,28 @@ function PlaygroundPage() { Threads
- {(threads as any[])?.map( - (thread: { id: string; name: string; shortId: number | null }) => ( - - ), - )} - {(!threads || (threads as any[]).length === 0) && ( + {threads?.map((thread) => ( + + ))} + {(threads?.length ?? 0) === 0 && (
No threads found