more working

This commit is contained in:
EthanShoeDev
2025-09-18 02:27:05 -04:00
parent 8cb3a7528a
commit d664dc26c0
12 changed files with 251 additions and 119 deletions

View File

@@ -37,12 +37,11 @@ export default defineConfig([
// Expo (strip conflicting plugins defined elsewhere)
...expoConfig.map((c) => stripPlugins(c, ['@typescript-eslint'])),
// Epic (strip conflicting plugins defined elsewhere)
...epicConfig.map((c) => stripPlugins(c, ['import', '@typescript-eslint'])),
...epicConfig.map((c) => stripPlugins(c, ['import'])),
// ts-eslint
eslint.configs.recommended,
...tseslint.configs.strictTypeChecked,
...tseslint.configs.stylisticTypeChecked,
{
languageOptions: {
parserOptions: {

View File

@@ -72,6 +72,15 @@ function ShellDetail() {
const connection = sess?.connection;
const shell = sess?.shell;
// If the shell disconnects, leave this screen to the list view
useEffect(() => {
if (!sess) return;
if (sess.status === 'disconnected') {
// Replace so the detail screen isn't on the stack anymore
router.replace('/shell');
}
}, [router, sess]);
// SSH -> xterm: on initialized, replay ring head then attach live listener
useEffect(() => {
const xterm = xtermRef.current;
@@ -153,13 +162,17 @@ function ShellDetail() {
textZoom={100}
allowsLinkPreview={false}
textInteractionEnabled={false}
// xterm-ish props (applied via setOptions inside the page)
fontFamily="Menlo, ui-monospace, monospace"
fontSize={18} // bump if it still feels small
cursorBlink
scrollback={10000}
themeBackground={theme.colors.background}
themeForeground={theme.colors.textPrimary}
// xterm options
options={{
fontFamily: 'Menlo, ui-monospace, monospace',
fontSize: 18,
cursorBlink: true,
scrollback: 10000,
theme: {
background: theme.colors.background,
foreground: theme.colors.textPrimary,
},
}}
onRenderProcessGone={() => {
console.log('WebView render process gone -> clear()');
const xr = xtermRef.current;

View File

@@ -3,6 +3,7 @@ import {
createFormHookContexts,
useStore,
} from '@tanstack/react-form';
import React from 'react';
import {
Pressable,
Switch,