diff options
Diffstat (limited to 'packages/app/src/pages')
| -rw-r--r-- | packages/app/src/pages/session.tsx | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/packages/app/src/pages/session.tsx b/packages/app/src/pages/session.tsx index 7dcf60b72..560c13330 100644 --- a/packages/app/src/pages/session.tsx +++ b/packages/app/src/pages/session.tsx @@ -1231,11 +1231,15 @@ export default function Page() { language.locale() const label = (pty: LocalPTY) => { + const title = pty.title const number = pty.titleNumber - if (Number.isFinite(number) && number > 0) { - return language.t("terminal.title.numbered", { number }) - } - if (pty.title) return pty.title + const match = title.match(/^Terminal (\d+)$/) + const parsed = match ? Number(match[1]) : undefined + const isDefaultTitle = Number.isFinite(number) && number > 0 && Number.isFinite(parsed) && parsed === number + + if (title && !isDefaultTitle) return title + if (Number.isFinite(number) && number > 0) return language.t("terminal.title.numbered", { number }) + if (title) return title return language.t("terminal.title") } @@ -2002,7 +2006,12 @@ export default function Page() { <Terminal pty={pty} onCleanup={(data) => terminal.update({ ...data, id: pty.id })} + onConnect={() => { + terminal.update({ id: pty.id, error: false }) + setDismissed(false) + }} onConnectError={() => { + setDismissed(false) terminal.update({ id: pty.id, error: true }) }} /> @@ -2056,11 +2065,17 @@ export default function Page() { {(t) => ( <div class="relative p-1 h-10 flex items-center bg-background-stronger text-14-regular"> {(() => { + const title = t().title const number = t().titleNumber - if (Number.isFinite(number) && number > 0) { + const match = title.match(/^Terminal (\d+)$/) + const parsed = match ? Number(match[1]) : undefined + const isDefaultTitle = + Number.isFinite(number) && number > 0 && Number.isFinite(parsed) && parsed === number + + if (title && !isDefaultTitle) return title + if (Number.isFinite(number) && number > 0) return language.t("terminal.title.numbered", { number }) - } - if (t().title) return t().title + if (title) return title return language.t("terminal.title") })()} </div> |
