diff --git a/packages/ui/src/components/layout/BottomTerminalDock.tsx b/packages/ui/src/components/layout/BottomTerminalDock.tsx index 0f854184..36d735ef 100644 --- a/packages/ui/src/components/layout/BottomTerminalDock.tsx +++ b/packages/ui/src/components/layout/BottomTerminalDock.tsx @@ -121,10 +121,10 @@ export const BottomTerminalDock: React.FC = ({ isOpen, 'flex overflow-hidden border-t border-border bg-sidebar', shouldApplyFullscreenLayout ? 'absolute inset-x-0 bottom-0 z-40' : 'relative', isResizing ? 'transition-none' : 'transition-[height] duration-300 ease-in-out', - !isOpen && 'border-t-0' + (!isOpen || shouldApplyFullscreenLayout) && 'border-t-0' )} style={shouldApplyFullscreenLayout ? { - top: 'var(--oc-header-height, 48px)', + top: 0, } : { height: `${appliedHeight}px`, minHeight: `${appliedHeight}px`, diff --git a/packages/ui/src/components/views/TerminalView.tsx b/packages/ui/src/components/views/TerminalView.tsx index a9490f97..b86881ba 100644 --- a/packages/ui/src/components/views/TerminalView.tsx +++ b/packages/ui/src/components/views/TerminalView.tsx @@ -162,7 +162,6 @@ export const TerminalView: React.FC = () => { const [isReconnectPending, setIsReconnectPending] = React.useState(false); const [activeModifier, setActiveModifier] = React.useState(null); const [isRestarting, setIsRestarting] = React.useState(false); - const [viewportLayoutVersion, setViewportLayoutVersion] = React.useState(0); const streamCleanupRef = React.useRef<(() => void) | null>(null); const activeTerminalIdRef = React.useRef(null); @@ -835,29 +834,6 @@ export const TerminalView: React.FC = () => { return `${directoryPart}::${tabPart}::${terminalPart}`; }, [effectiveDirectory, activeTabId, terminalSessionId]); - const viewportSessionKey = React.useMemo(() => { - return `${terminalViewportKey}::layout-${viewportLayoutVersion}`; - }, [terminalViewportKey, viewportLayoutVersion]); - - React.useEffect(() => { - if (useTouchTerminalInput || !isBottomTerminalOpen || !isTerminalVisible) { - return; - } - - if (typeof window === 'undefined') { - setViewportLayoutVersion((value) => value + 1); - return; - } - - const timeoutId = window.setTimeout(() => { - setViewportLayoutVersion((value) => value + 1); - }, 140); - - return () => { - window.clearTimeout(timeoutId); - }; - }, [bottomTerminalHeight, isBottomTerminalExpanded, isBottomTerminalOpen, isTerminalVisible, useTouchTerminalInput]); - React.useEffect(() => { if (!isTerminalVisible || useTouchTerminalInput) { return; @@ -1139,7 +1115,7 @@ export const TerminalView: React.FC = () => { ref={(controller) => { terminalControllerRef.current = controller; }} - sessionKey={viewportSessionKey} + sessionKey={terminalViewportKey} chunks={bufferChunks} onInput={handleViewportInput} onResize={handleViewportResize}