diff --git a/ui/src/ui/app-render.helpers.ts b/ui/src/ui/app-render.helpers.ts
index 2badc00c3..50a1b300e 100644
--- a/ui/src/ui/app-render.helpers.ts
+++ b/ui/src/ui/app-render.helpers.ts
@@ -86,10 +86,11 @@ export function renderChatControls(state: AppViewState) {
${repeat(
sessionOptions,
(entry) => entry.key,
- (entry) =>
- html``,
+ (entry) => {
+ const base = entry.displayName ?? entry.key;
+ const text = entry.label ? `${base} — ${entry.label}` : base;
+ return html``;
+ },
)}
@@ -183,7 +184,7 @@ function resolveSessionOptions(
mainSessionKey?: string | null,
) {
const seen = new Set();
- const options: Array<{ key: string; displayName?: string }> = [];
+ const options: Array<{ key: string; displayName?: string; label?: string }> = [];
const resolvedMain =
mainSessionKey && sessions?.sessions?.find((s) => s.key === mainSessionKey);
@@ -192,13 +193,13 @@ function resolveSessionOptions(
// Add main session key first
if (mainSessionKey) {
seen.add(mainSessionKey);
- options.push({ key: mainSessionKey, displayName: resolvedMain?.displayName });
+ options.push({ key: mainSessionKey, displayName: resolvedMain?.displayName, label: resolvedMain?.label });
}
// Add current session key next
if (!seen.has(sessionKey)) {
seen.add(sessionKey);
- options.push({ key: sessionKey, displayName: resolvedCurrent?.displayName });
+ options.push({ key: sessionKey, displayName: resolvedCurrent?.displayName, label: resolvedCurrent?.label });
}
// Add sessions from the result
@@ -206,7 +207,7 @@ function resolveSessionOptions(
for (const s of sessions.sessions) {
if (!seen.has(s.key)) {
seen.add(s.key);
- options.push({ key: s.key, displayName: s.displayName });
+ options.push({ key: s.key, displayName: s.displayName, label: s.label });
}
}
}