summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/components/session
diff options
context:
space:
mode:
authorAdam <[email protected]>2026-01-21 13:23:45 -0600
committerAdam <[email protected]>2026-01-21 13:23:50 -0600
commit3ba1111ed047ca4cc42bc964ae23c32959c0e8fd (patch)
tree552c5bdfa4a83f667b8bc80a8ccec7e5f9cb2476 /packages/app/src/components/session
parent6f7a1c69a517b6f46e7b7c18b69fc38fa7aaa10f (diff)
downloadopencode-3ba1111ed047ca4cc42bc964ae23c32959c0e8fd.tar.gz
opencode-3ba1111ed047ca4cc42bc964ae23c32959c0e8fd.zip
fix(app): terminal issues/regression
Diffstat (limited to 'packages/app/src/components/session')
-rw-r--r--packages/app/src/components/session/session-sortable-terminal-tab.tsx29
1 files changed, 24 insertions, 5 deletions
diff --git a/packages/app/src/components/session/session-sortable-terminal-tab.tsx b/packages/app/src/components/session/session-sortable-terminal-tab.tsx
index 539195553..2c661edf8 100644
--- a/packages/app/src/components/session/session-sortable-terminal-tab.tsx
+++ b/packages/app/src/components/session/session-sortable-terminal-tab.tsx
@@ -18,12 +18,22 @@ export function SortableTerminalTab(props: { terminal: LocalPTY; onClose?: () =>
const [menuPosition, setMenuPosition] = createSignal({ x: 0, y: 0 })
const [blurEnabled, setBlurEnabled] = createSignal(false)
+ const isDefaultTitle = () => {
+ const number = props.terminal.titleNumber
+ if (!Number.isFinite(number) || number <= 0) return false
+ const match = props.terminal.title.match(/^Terminal (\d+)$/)
+ if (!match) return false
+ const parsed = Number(match[1])
+ if (!Number.isFinite(parsed) || parsed <= 0) return false
+ return parsed === number
+ }
+
const label = () => {
language.locale()
+ if (props.terminal.title && !isDefaultTitle()) return props.terminal.title
+
const number = props.terminal.titleNumber
- if (Number.isFinite(number) && number > 0) {
- return language.t("terminal.title.numbered", { number })
- }
+ if (Number.isFinite(number) && number > 0) return language.t("terminal.title.numbered", { number })
if (props.terminal.title) return props.terminal.title
return language.t("terminal.title")
}
@@ -102,8 +112,15 @@ export function SortableTerminalTab(props: { terminal: LocalPTY; onClose?: () =>
}
return (
- // @ts-ignore
- <div use:sortable classList={{ "h-full": true, "opacity-0": sortable.isActiveDraggable }}>
+ <div
+ // @ts-ignore
+ use:sortable
+ class="outline-none focus:outline-none focus-visible:outline-none"
+ classList={{
+ "h-full": true,
+ "opacity-0": sortable.isActiveDraggable,
+ }}
+ >
<div class="relative h-full">
<Tabs.Trigger
classes={{ button: "border-0" }}
@@ -111,6 +128,8 @@ export function SortableTerminalTab(props: { terminal: LocalPTY; onClose?: () =>
onClick={focus}
onMouseDown={(e) => e.preventDefault()}
onContextMenu={menu}
+ class="!shadow-none"
+ classes={{ button: "outline-none focus:outline-none focus-visible:outline-none !shadow-none !ring-0" }}
closeButton={
<IconButton
icon="close"