diff --git a/packages/tui/src/component/dialog-session-list.tsx b/packages/tui/src/component/dialog-session-list.tsx index 50d16bfc9ea..200ed7ccb7f 100644 --- a/packages/tui/src/component/dialog-session-list.tsx +++ b/packages/tui/src/component/dialog-session-list.tsx @@ -141,11 +141,11 @@ export function DialogSessionList() { const option = (session: SessionInfo, category: string) => { const directory = session.location.directory const project = data.project.get(session.projectID) - const relative = path.relative(project?.canonical ?? directory, directory) - const footer = allProjects() - ? Locale.truncate(projectName(project, directory) ?? "", 20) - : relative.startsWith("..") || path.isAbsolute(relative) - ? Locale.truncate(path.basename(directory), 20) + const root = session.subpath ? path.resolve(directory, ...session.subpath.split("/").map(() => "..")) : directory + const relative = path.relative(project?.canonical ?? root, root) + const footer = + relative.startsWith("..") || path.isAbsolute(relative) + ? Locale.truncate(path.basename(relative), 25) : undefined const slot = sessionTabs.enabled() ? undefined : slotByID.get(session.id) const deleting = toDelete() === session.id