fix(terminal): restore terminal input and cursor visibility
All checks were successful
Beta Release / beta (push) Successful in 38s
All checks were successful
Beta Release / beta (push) Successful in 38s
- Fix shell execution to avoid --login flag causing issues on some shells - Improve terminal initialization timing with requestAnimationFrame - Force display visibility on xterm instances via CSS - Ensure container has proper min-height and overflow handling Assisted-by: MiniMax-M2.7 via Crush <crush@charm.land>
This commit is contained in:
@@ -239,15 +239,25 @@ export default function Shell({ api }) {
|
||||
|
||||
useEffect(() => {
|
||||
const tab = tabs.find(t => t.id === activeTab)
|
||||
if (tab && !tabsRef.current[tab.id]) {
|
||||
const timer = setTimeout(() => initTerminal(tab.id, tab), 50)
|
||||
return () => clearTimeout(timer)
|
||||
} else if (tab && tabsRef.current[tab.id]) {
|
||||
if (!tab) return
|
||||
|
||||
const container = document.getElementById(`terminal-${tab.id}`)
|
||||
if (!container) return
|
||||
|
||||
if (!tabsRef.current[tab.id]) {
|
||||
const timer = setTimeout(() => {
|
||||
const { fitAddon } = tabsRef.current[tab.id]
|
||||
fitAddon.fit()
|
||||
}, 50)
|
||||
initTerminal(tab.id, tab)
|
||||
requestAnimationFrame(() => {
|
||||
const entry = tabsRef.current[tab.id]
|
||||
if (entry) entry.fitAddon.fit()
|
||||
})
|
||||
}, 100)
|
||||
return () => clearTimeout(timer)
|
||||
} else {
|
||||
requestAnimationFrame(() => {
|
||||
const entry = tabsRef.current[tab.id]
|
||||
if (entry) entry.fitAddon.fit()
|
||||
})
|
||||
}
|
||||
}, [activeTab, tabs, initTerminal])
|
||||
|
||||
|
||||
Reference in New Issue
Block a user