From 490c89c049f7d379ef8a72e36970638807163683 Mon Sep 17 00:00:00 2001 From: Anso Date: Sun, 19 Apr 2026 17:14:25 -0400 Subject: [PATCH] feat(ui): redesign host console as cockpit surface (#701) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat(ui): redesign host console as cockpit surface Rework the Console view into the cockpit language introduced in #699. The page is now a PageMasthead strip plus a terminal well plus a floating chip strip. The masthead shows connection state (`Connected`, `Reconnecting`, `Disconnected`) with a cyan rail, a pulsing status dot while the session is live, an italic state word, and a tracked-mono kicker of `HOST CONSOLE · {node}`. The right side surfaces three metadata tiles: shell, current viewport dimensions, and session uptime. When the console was opened from a stack, a small back link sits beside the state word so operators can return to the stack editor without leaving the cockpit. The vestigial Close Console button in the header is gone. The floating chip strip replaces it with four controls that are more useful in context: Copy (current selection), Clear (scrollback), Download (full scrollback via SerializeAddon), and Reconnect (close and reopen the WebSocket in place). * docs(host-console): refresh screenshots for cockpit redesign Adds masthead and chip-strip close-up screenshots to the Host Console doc and refreshes the overview screenshot to match the new cockpit surface. --- docs/features/host-console.mdx | 23 +- .../host-console/host-console-chip-strip.png | Bin 0 -> 2783 bytes .../host-console/host-console-masthead.png | Bin 0 -> 7884 bytes .../host-console/host-console-overview.png | Bin 57254 -> 63145 bytes frontend/src/components/HostConsole.tsx | 228 ++++++++++++++---- 5 files changed, 197 insertions(+), 54 deletions(-) create mode 100644 docs/images/host-console/host-console-chip-strip.png create mode 100644 docs/images/host-console/host-console-masthead.png diff --git a/docs/features/host-console.mdx b/docs/features/host-console.mdx index 943d22b1..3ea41009 100644 --- a/docs/features/host-console.mdx +++ b/docs/features/host-console.mdx @@ -27,15 +27,24 @@ The Host Console gives you a real terminal session on the Sencho host, streamed Click **Console** in the top navigation bar. The session starts immediately in the `COMPOSE_DIR` root. If a stack is selected in the sidebar, the terminal opens directly inside that stack's directory instead. -The header bar shows: +## Cockpit layout -- **Host Console** label with a terminal icon -- The active **node name** (e.g. "Local" or a remote node) -- The **stack name** in parentheses, if one is selected -- A green **Connected** badge while the WebSocket session is active -- A **Close Console** button on the right to end the session +The Console page is a vertical stack of two surfaces: -Clicking **Close Console** terminates the shell process on the host and disconnects the WebSocket. + + Masthead with cyan rail, Connected state, and shell, viewport, and session uptime metadata + + +| Surface | What it shows | +|---------|---------------| +| **Masthead** | Connection state (`Connected`, `Reconnecting`, or `Disconnected`) with a live status dot that pulses cyan while the session is active. The kicker reads `HOST CONSOLE · {node}`. When the console was opened from a stack, a small `← {stack-name}` link sits beside the state word so you can return to the stack editor. | +| **Metadata** | Right side of the masthead: the active **shell** (e.g. `BASH`), the current **viewport** (`{cols}×{rows}` as reported by the fit addon), and **session uptime** since the shell opened. | +| **Terminal well** | The interactive xterm session, sized to fill the remaining height. | +| **Chip strip** | Floating bottom-right controls: **Copy** (copies the current selection), **Clear** (wipes the visible scrollback without killing the shell), **Download** (exports the full scrollback as a timestamped `.txt`), and **Reconnect** (closes and reopens the WebSocket without leaving the page). | + + + Floating chip strip with Copy, Clear, Download, and Reconnect buttons + ## Shell type diff --git a/docs/images/host-console/host-console-chip-strip.png b/docs/images/host-console/host-console-chip-strip.png new file mode 100644 index 0000000000000000000000000000000000000000..2cd159bc603d0b090a598f749a212a9fe5411f22 GIT binary patch literal 2783 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 by>`W$q|0}*FMS03=L%d|TdCroXD|OB5PZ8` literal 0 HcmV?d00001 diff --git a/docs/images/host-console/host-console-overview.png b/docs/images/host-console/host-console-overview.png index 2c2742f016f21199f3f616532bbfb3ecd3fd0911..9cef0ca900a08a94587a76319f9f799434568cc6 100644 GIT binary patch literal 63145 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 literal 57254 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⪚oowc^y11O1VBKGi?t>yIhbP*(HQuPQW<7 zwyrJ-^G{;b;omsq1|xE2oy0EuAtn62^X~3*fM|GYdcM}y+=DRHa)?`pmNziPzbNVT zJOskzkH_nJ`1v{lu6DeoMaB(sm0ZAVh|k9hnmL?2$@t`;rl!(TyGDVQCwPPVv`D62aq*`n{)xCY&k}7!@u*lBKE~Up zlJxQi0GU7{qVDe5Jz6;6>+s?hfxwi-# zfZDED!n&6Js7pKge$i8b{JtrndK%iU$d$lyjpANeuIjVR&Ot-96pE4{J6G{cDCN0c z&rZ_80^~ni3<-+ZI<2naeBmw*5>ArC!;AO^O|^EvS{aI(pu^n2Ap09H;?i=rgCma= z_XBFb@ZV|^QfE7CF(-u6aMZoz^g+LOu$_U7+BR0oEA!a+F14PZl++FPf*qdpl)AW@ zgjD?-t(moZh^|*m`9pRaC|tw12tLrjo!R>+*XP@f_M8K zA)RY^M@wAIO$3kKGYpe{o#rTTnr@>!mrO+p+vP}+6NRjo8>ruC>TeBVz-ZGdoub}Fsr@ikB!%~ZRLtrPS}Jhf2iRx^hc0I=SVoIb&IH4KiGnh3%H>b+ zgap*`hlPgXCLW68+L=$zLzC?o@xlQ4qMJatOeL0&{dCy;wD(il&k0{#jM%&#D}9t{ z8xz`_+moN|*uRd5+IhoejPzyB=jFOlyN$;4EZ}tEPL=cE<`KacA9?L^F?H%)w$E2R zlNE#$)hJDd2Xgfq#O{a3rKHDyB%jm(L@ukdx42M?Mjry(JgwmenN_|nT5f( zQ=|o?Yt+$aBsQh_vq(Gbvb)=PjFyAx;9PsCTag(~mP;H~cTe2vBSP)FYA zmiAqMkFN4soapU!VwvHcrk8+t06aB4-y6spNo@=Lhj)3o0gCP~N)<{!Tb8}xJ+GLm z3hx#;y2Wl01|sgveo(il%S>@sC^cA6O{il!5L{o|DE-My5`765VIXKYX6&Wq2xTQj z%%PD>3a=-3@+;IS@jHq={!YgKu%nDFyvn!8tfQh1%By z%=Put=8)-ER}i;Y{mFRMKF%8+ z7L1c>VU@p^dm;{*F`hemfYF6cT{M^6l%uI`lM!vrqmq6F>)HsEbru3EK1Y9T$Pa8j7Fo8m7 zK>O%Br{v#UfaB{35;(@6LfHweQY3(cC+;7PpO8Ngon>D1#lYCMVvCP+(-|5&2L{3* zi)}Dgj!CkNyZ7I8b=VYX80@$mNZZbyW(Y7V&<70NCJ~fmUPoSwy7*0`WF~fNlU1U; z(_GUrT9-^24RSVyJ2j@ol#G2=(#yo9TI6cm6Im1FW;J8gWV}Cx9?n$Kjj}6hA$N?G z@RyfV8k6{5_2=h9FuD8AzR!85A@RcDA8^42aN*IQDu%P&RLWn`3e27p8SZFhSq z-}yW%Tp8GK(~XnVytFBG)0Z0v&=_rG6mgbrd=6(T7$40Oeim72cS#poc)H&g?Bw8> z{neQ%HkxPO-ja00_nzN4cabdQ^zp@! zPXybY*wK0RJb`;~ks8o(vAJrGbALs5&Fy-b8?SI{*YXjvkA>!6mFzXH$eur(iODb7 zYDcjblV|C8=EZx>acn316UI&!v2NDsyud*gpmga^0AN8;+cb4G(>6I!0mI_NVr~{vJt;N|GZIgi`(T606D(O=GCh<0s;b|oW||4ptb^@*{D8cd>MAxw8WK7 zAs;;-&QT2|`6DLjG1JSIg}0B z$7I<9IXM>+7lrmcyN0E10FnBV&K4*8)XRpplAZ&F(=*tx@E^R&fLU-C3kxol7!3oQ$z`60F!2U2?~5 zlGEKGX8EoAw*HRvI-p_yPdo&7GI4$8rS2ClrwIW1(4N_`vjOcm?&uq%y4qS!J96>d zom<0H-v|tg&$~jok`~7z&#h5>X=!mN1P2?b7{!8JuoQLCjs1>3%`zFK83;|YoK%ur zi{ztj^6P9_u_sG35G;9?{p24^rTRMHg`mPi5jxcqaU2`=+}zw6hwO?0+@Nw0F23LA zdOI{)2>!5ewa2ym5ws(y**cOtB6hrBW@%Nu{98hK@!s=M-@6>gW&M{NJ=xjVh;UP` z+u&1Gn+r6^nTlBt@6onrA8Zx@-R!Y4XQjn6ec3Wg_ty3w!skP8eYHkP;}mET!tSKPLdf=&?8lw9g>Iu^H$!Ow6e~MNBfmL(Gj(!CN*vg3 zy91|G-ng=1Ul8;wfOgvead#iGW{ZEGOs%I{OcC%G(l#D6w2KdZRUJAm(>5B zP^%wrfs^Bsgj>Io5Z5x!ym6vtTi-R}0H$s!7jK;o!a2vD)=u)Lly1e@XRy z5ry6p;z0M3`!bmwAbd$w||P}vRoNML-hFNf$Surtc7 zq}8{sDTdFE;bC-rIl2c)YXh%AkKgXe$QrA&T)3%x=0aEz--n^mpJ$!e)8n$fTe2ja zp`u#)`l)R?L2;(^3fIPKuTRK51{Ff9er$RI56#wX7857BXN8Jq8x_SC*+k9Dq-rXR zUTKcDWbC&8yhr~xSUQ`r@@!6k&(!hP;hh4z(o;&>zE8d>*|CHoRuG1|}HEfor5;P;GF-&C#8{P9w#riX--JF>AfXqWn*d$k4Ao1LLg%}Ua z2J|`O-vyFWWom;A8QQh-q7IgUwDPb59Q4Pho>5Z0SN_0q3YU(E)SXe^v=5=a`^vpq z5*6~>@@6U;IDMf-st&Ajx-Px7|ZS^4CM%ox6e`;mcvJI`z>H=dno4<#KK(4h4)xnRlXx?F+H z*z@fiEBB=q3v&;`O%@~mp6+r(*WO&enM^nal6%jpQ5hgto}YpOF=r-aYsFrO8kEZ@Z;_K0}sCod^j+P^wdRs7V0 zzwA(7GimTsjlq98kp+r=l8ER#`gZk^oip~~uiutl6kE=|A{8E!3fVY;uh(v)aCooWCtPY6*;)ZCo5Y zKokbcoud6#%hHJcj{%upzEad(_h8HL@!T+r2{pVx(|KnQh|DQ=q1T^^j)!-fc zzj8S@oUp!m@DPESrJ$swBquKtVFQ8#_`TJ% z%*vr8XlMVhip2Z#RQ|KO9og>__;Fv~6(|Ky!omDFcjPtT!2~56Wk8J(554m;VxlUm`z#M^;4+BfY&KPyT6A5la zbY~-z*5wN9+aEu6?8az(Tsm7`Uf#)|4fTC6XTb%6ErlQy z@Qz+#We=HKGzs_&tj@!e;yCsdmN+4ca#XvM&c#+xS>cy4!OBea>PP2;kxH`j@26H;}BI$V&mdy;0K9~MI`S2gd!JkJA+VJz*rx%wdGAu*M0c@$WPkc zyRU8$1!J?7D@gqsG6}F{t4fx4c!U>w1EKeJPAn(Bo1s%i@P=R08AnH4J!(h6-!nk(C4U*RNS8hb zdyvYp+u=GS7UtwCfI(UA6ygbCUW;D-*7bxZjWNd$%6YaP4Vyx3Bf#TZz52IrG18Ty zQkV91b)7uMBaj=3XxFwABaa}7FRYih(cM4CCaA0+V)A=+mYo`vfp9-P;f!&_c4CszRyQ71HSN zY2bZ})3L29qHU+r!Wh5fq~qm7^ST|`jL(D2N*{hZwhkwxOb`jRGRfsE$cc- zw;!p)t3NXKT@qjpA@^DAIN(NCb_}Po`$E@9(lzBvf0S}FJ{MPUx4|eJ%~WdKK>Cf( zl6fQB&YhNdGKy*Ytp)$y*d@w*Lj8PlFlwKy*6!4ZYX4#%B`nIO2bw*81O-tjJr_||K51YLvSQrr%rO{`7aK2N7=g5JVMY8c^o`~7e z$lYs$lpQo&?X>eGNjn%1h3HoCudTC|-pP*m>W>;5C%oKMKXHn92Zr1|O*{z#k7aEr zEIcvEHlIgLz%JjctHN2XP|4_}V@P%eCcwrKY%bhC-hnuTFB(=ou9g66qzqxJ8=ZFqC4zViCgg;SFfgZ*@^XZ1(oFQfm>cKz! z3JMA}zbwrgsP6v)`;99v&)|UrACWL{*5sktONl##_+sh;cSBvS|6wUUzOb8URz3HO zcmfKODa`j9ju2i1QFB|JY;Z&$-)^$sk4!ILvqb?ip%m>_kEPlpSBd-E%Y-bo+i(lP z>bf2Hbdx=thqXK^%--kyfdT|`-RISZ*r}zfgc}$G0nL@Oeg;1~A>zrveFSH&sc9JD z06SC%{YcrCv~yN=G96pk8ZqhGS|{imuYEI5ZCtUccD-j?g_eUa{sj3$EDuQ7j^p9jCDT}THNNT$vZFv znNLbe{z^^$(bD`yj-gg#{fL|HIeuHPVDRAFmA~~wJ8Mno1q@3B`SC8zk85S(sP&L;!Z1XhtEm)Qo*YuLP;riu;9F;O zf0_^&bpT_K%tS|!6bEYh{-MNAhSQcWr}eXr!5r=?wc83zyfu}C=@ z7FoVQMO<@FzJ8F%3~W8Em~Cc%&1H)9Trd24#1F|?h78fGn{cme|LvVtG;HXB?{9(i%*CD{Rz^0G~wa-BqOd*dby?cD5c9|;E$W`0HQiQvo$ z-286w;g1sl@H6pdW&>BKA4#8lv&v`&Fw`vQ-Kd3+h{$)Gy}3gW@dKG3?d+IN5svpR z1YV1Na>)Kl7*$Gw;Nb*F3IM0otT`wD8l$p&J|EmlFkhuH-Rj>=qco6yHB0I&-M5W2 z)pFgKX5GRsI;v+{t?W#Qxy0pGtN+WSKa|^ei_n3as%moXLT7RUJM_*zG^q?#BOpwy z8ns}S$Jrm{;hn!frz+N{)t--PGH(-qYkK`FhoESDC8x;Rr9vIVbJVYhj6X$V1HV2@ ztZpOEOwcQ}e&-)pgM(lPu9QfQXmzvKI?a_Z#o};7Rvv76Guo;tKjOjtqlk}4^BEsTZyxT+;HTL7wOufHL!=Y;p zF%R~xXRNW?Scm{L_4vEJp=Mq!(xo=6KT%gmn`L>K`1Axo!5&f~H%+FXrO*pRsUUR& zm$)A?283!nG-X1qK9+Dr%TxZq_ll;F-yS%$t)~&^_Y3m+VUG00CW>z-Xz9MehE~wD zsZm|hK1BJ@2k|b;*~j4N(NulV`%r?dH`t)%vPz5zs!%gYY%y-@AHT2!yB;??^9C0o z*tLYChA!c<)RT))NQs>&__$iy|AyIT%b;xVCJ9aXD|`RD)q@*8R{;>a0W=9Iskdi=*BI8K5->^Z(C3Uq#8&yhWgIn&G{t&L< z*yNMeZM2W0XNneZ2;}BorV>8Xme*nBolMMJG7qA(4!L$yCJmQ-kTcfP7RSxmts(lS zqVJ?KB$i$2Ykc<#qz@c8Y|)hg;8AQ-g0k`DCDjO|+#(%@)j_3c*?Tdce2IlfBI1~w z*;(oB+WJ8bnKcjkq{1Nk8#Q=yQk`uNBDQ)O__KKLVV?kFnr!#2xwN!rte-YysK~{C8@?6j4cDVYaP1`cl1g#uFC7~RsBrfd)2U>p zt$Af#TgdcAmRltR-QAz)Z#~-PO-{rvM82_WDgWB6JnhqDAUYyBdC}76equ&>YevV* zhkoT6!*b@80rGvZvbSD_h$P&y)B8r%C-in5^5OK(ElnH#+;vu85p-=BiX`#SEhxN!uGk%r;xwS6kMQ|M7YPA0vqa&uP;}G;$ zdN8jB#@x3C)FrCDhvnMVrem&*@wsEWtamEqtZate-V!qBsQeLswo%(mfBQfoenBrT zSCbcZ9P&>}>_*Xa-Pan^oUN-EGh)45h`d+?xaF4rFf!1cppj!Qq4nR?uwWDR)#HdQ%Q}sjxA}j{_ z+Rw+Ajrz{5Ly;XROtA^wnsICO~g(&MG4Y zjjGP@gjT_T8Hrtc&(D-3-MuN3oqcx>k1uu_AMvn#!uK@zqAz#ttK13!hWYp{^S2+# zA8T0&NfxWCd)H{eQ$yn9t`}Gt^J8?P=3s$v5nz*_$h&I|^gWT|?-Pugaa4%oat&T{5dKTr6Vcart%rM2uWJ z(0xu{_iWc4SlF*_4lx`2?s#fi@f1UT^e`#*T1$iQwvW4BfQ+9uu}SUw=0l_S&hFD- z(3zLt6c_`UuvVUw%4?Vi@9Wzm9#Zd^aJ&%r`W){0Yu;ts8Po2D19S^Yw)OcED25J2qs1i( zZw6n5X1;nJzSydn(f zPXns$Xr@KZFFh=8?Va{XmOetJUMgQOaZ0`bY^TVYUhpHikEQz$t?NiLangyL>Yzz_ ze~N^jTuoQ7OCh#(70PSC@nSajmaegeWmI)-oj&8_ z4Ej4inl(%at#|H&foz}cI(JKWF%1(|DL<{~Ty6i{oe`JM@E<;g`}Ex7U>SF-TVoq- z1$kyOwiP~jDSCeO_;rwjt%)|i!E0N*B(qG-_|mpHoS5;-?dRoPkSa~bV%%5A=EJcb z=xuW38Cy#(N6^fa(Q+3ol6c~zuvfEln^7c?c`ZfuUA%k36!l$&5IbDW z$0)ewH|6|BV=8!H1=2wD5V3mjvhR*2)?=&nvX22@)f?&aH87Tx7vRQ6r)`8s?-*5r z?&b1xNwmi`UFGw|>Qu6Mouz}-Vch7xo%~t_7oY47X)*zgZ3~ep;CEP8_`cR8TdR8Rp{h0X+GM^8mcj00~j8>1i zuFKt%r)&6dg1Y%|hOAp=GX3?^p4pkBKA+C}`ab)p@hODCMm70qaR8hIoG0&}KE^=C zeE#s%2$^VI|583@Qcb1No^f{t)i5TGf4!RVwSFzcB3Zd8yi?hGY{sb)F&fACnC#i8 zU8b%b?)qaz&s~lHwK|WxArG=;53d&~$&UzXO}Lzyo|$_ho72j)t%y~)vHA00&C9r^ z{nQQ$+>PpovK@S((lPPmxLi~T=-pjA(7RrIWYX>aE2K4Z76?$=gm&^Tr*34dkbGo^ zscu(Ne(Vdrvr|bI9L<%I??h(kr?Cg~#BS4VDK2L!t!8*{*qzbI6f7>d=DuvTWpZcOWMWA-+cZb%~h z)ocPXF>6jU+ggPBU~RlvZoFt|iIuwo)=;b67wL|KZu-%7G7n}YZd!8j*e<2k zIPDh_ZD4==f6TP(kfaMu8?0nIq)x{^mNh8TV?LE)YPP#%lvs1ABTKZl3yFvz9}XPA zc7o2n2e}x-r;RTjC1(}9A8*yWg?f|pnF?PIlhUDUfw$jLSS1p+SoY@*LHzR&rrrV>9?VH5?ol{Vjp%XhTS9 zz&;hf*Dk5~m!(VrO44fl4t&-Qm37Z!T#vYzYiMu58Jf`K1X(zyJgr0`uG~qgF;26a zjWu$gyqBRvg49}{`BZn$`RtDAtXX$b{6?n~Y565Nc7q^BbJEjYj`rg z2^+t*(*Bzpk)bWURhLK!52``YurN}!ifn1UiI>#tJ;pwl&#(~0ZHY(FjqG`O+5x`> z-VTm6-MyElU;8~2Wi5@4r@p2k`uhg;G_Aj9EQ4b0;-CgcY1f4 zgCy%S?+m7Xy+%dDk-XKTd%gGTb?Ij)kA*%s~C`)_3kN!ishM^nWO*2>fejO1?vRW{i{t?hk`LiHFj?1S*TgBY6Y1Lb^f z%58FeCWX5W?JRIk!i7w*_ixlAb&V`@W|uu+Q4LTLYfCs4?8{?$fG z$Tp~5$kt2PwCpB#vb)BuLHDvj`=v$JxdfTul^IZDSmrdSGjokdmOW4=oBgmNt4Ufg zUSoTNPqBtO$F#QO;rN)+0#rJ;)zBs<-UT?Zb5M1KX1j~)`$R|zBF1eYg`3}p-+Ovh zNTIoJHt{L>VKIaKnO_PUN?Oa3Tw3D9PHNrTfk-ou5uHbnzm&nh{Pw){*Xc+1>QYh| zn|QjdC#%{eWMbpu7AJ3&}vnKJ!)WcR2eYh1O zgS|(|pvtvR;qVdrTz-x*DVw4#3EzJ4$V*ySuX-s-2i?u=_pb92Smqqt;Q7$Wd7jAJnj{V|+_39$wy9#Bn?338#NfynlE z;q{4|*f7)4VlcaxY_p@qs4e?W$?7FAHzs4^2YwJ&c(o|fWL=z*m*jfvc7NE=@i6S{ zgD!MBT)t2N%oq zk4ryy_mUmHivjWi`9aILJXvGYHyYAq5B&re(cvnNqnASAH(J~`gT65_suTG}?kCj= zuVjB}Z#Fq0y616~a6muFxEY?^7c!>xB-QT04ZAjttr?Hn{Z6V6_mOsouVbGBUfr#T zWveOV4{h!dB}q4C-m;_CcNX>kyhv^;!>+=#tZvU8kx_5gV*I3Z0akv3#xe27C7p?< zC8fj1yWm1Uy!+0jU#aAi@mRKYxp=fmye2ZdhF?V`GqVa8VG-%;u;w;I-+VN#(iR?9 zez|md{XUVmNW}g|m^aOboqQ1WK4jGKJo;r$+)!sb2nK8kTwG75ahU7#&a{ts>)FZw zEz40jt5pS#d%Jd5_&Ja9upDhWCh%2mmhC?r`cw5f*)r|}HvMt6Efhb@4~hu%8YJwP zS$vf-p!nnUD}^5ydmWC3-@60RDbH)cm930wmc88|O&Dx%a^(=Fc3BkZ1X1+aR_7(u7)Q=J{>+i)L{d znl2N9+!FZ{8#4Uv?z@B4R3;{w=i;!{fb$u80W5X#o|cdF?CJd?4--gFGV*hB8+4LQ zoJvF_Q#H_1GkRFKBX2*4pGF9FLk_YjuPGBPb8Y5;2?divv&bjv%~mwsBjCZB-1m`W zNi5&G^VBEh%HEeBaA^J-%M@*;LG4E!Kz-?=o;S7fHe(7+v(Lq{1A7ESwc{MdU~MxWzquEbHfAU%n}AmhXD$W~HQ$=_06<(PnAPh1D%DyDD7T`mc#s zV?z23hUZA)meYf}?~lCH;)s=$HqVV2uL*x84>bf&R7_Y4;|2@qnr#`~PD}19rGgQM z@IW2>|FriVKvAaY){KriIwnLUgNllZ!hn(mbQDlg6iFgUK@=rPuqC4yK;mEml_cnZ zLdIkG;q%gv;WT4y|-$s{(twsw`#U(ceb>r!}q=46V7wadGZIc zr>q1+zxJAiV33s}qV~pP+d2E(;tOqhO9~DaViqJF1>u~ZgW2S{G0vjslvUBC`0+M7 zRij(1`B!x&nZ3~?J4_|6&px=*w$ zDSG)c_%%9R)w!%QsOc|hU?y_)7?*;}1S}_PHg@hyfL7*`k$0i^v02ttV^tPrVT@tHK3v%UIeNhA=$<@CRtdcThC z3C(I4%zJ1$VX3WvQ}>3*Y0!vpbPg7eeM}D^lda$k%e0?cMMl95;uU?%CwKqDQEB#p zJ>lEDErBwmFQ>1*KU<||Jvk(+a>5;fu0NEMjg0}#%tI;PhmMz*?(2mm@f|sLh6T6# z1@_tR)j3;}bg$W$41Qj^FZvY6_&tOEwF!VZ5W+$qCf^l5VFD9_yPhrAFf7RVJ55FX zpxIB$xE|LL6+{t&otKP=xUWm3Q(2?Z5AI>ju%)yPj8Umy zcJ;}Adi$h3u@`oL(bS^{r=gUd#+pPE8N;feGklMNnx73?9$7xHo*`Wepnyg29Cupb zQ#+0`uTN06dP*)xgp~ubd258EXHLSc5Ezhp3ae=x|t@mnbIUf8we z-WDD7_M26Vxx;%Whs2t1epS72O_R?=b%6WDS9x(QKmL^hs}|WT)l%GBG-Mnb{ z-fmaEXrTvwR3Y2Nzit(zHfE*NHDr{1c+660iC{reRHAV4+V(zfa-5%+R|bEeX^I=X z;dh@`r_~<3nsJJKqre(2u7@r5;fC)GLKL@%!8~>4I0H4vw{!mLyDC|(Jdqia%qaG_ zCZ5w)+N%E{JFm?u4%+_gR<-&hiF~!(xQ(${?jNO79tV4@m&i)uN?H17i*vZb*qx9= z4W5t6b_^_Q-T&#FxaSee)+gL{5xu`?2(?Y^P$Z!oEcC@2z)#k{A<9)WbiwNSD%0UJ zcP%X5%6$IW@z^biV^)PJLC!yNxX}2noIVKJWixN-L6%lGw1vx`JZsvX;(07BeCm^c z0zQLl*PsRjm}o_(tE(NmWnJP9-4bBh>(9{`y!H^a-5e`snrzJ)*^st)w11mJ%dT2I z2GJS8;REexs4`Y1HoCxYfM}ljWKP)13@n@H2xBcRxG%N;NPzi@DfP1}zVlp|KgPBH z#Co#T7N&RLd!p*4UkJJJ&Ogt26R|Pll>f1Rct51GS@(wRSc}2>Ag50&CZvo%91C5fK!0Uo3h3KNtG_ z?bE71wVX$A(ME<{2Yx1a{gZHKaK&U2`v5rGNf`}@u%-pO$1utz_AC$}kE~`lH@=HA zjG5n&!ZPVYtGkA!<}(i3xF$U}*%C2%V0p9HzNN`!$W^A4lU zK``)8vN=HM1g2*j5XD2yn0S$aFhsw29|br%Nz<3`JG^B?eMEpZLM}u5YG*;zxJ{^P z@dZtT?crLEiezWbwPi*bwwq0#pL!MhpFeP)zCInZN!30i)0`DPN0Yb!=aYcTvLfZnW`WKT7C_zrI6U zuU#fX6vex_U^dqR;g1d`Irw-NWVUwN4HXrYyRu3(ugp0PyW+0@=+7wz>nRW?CNWAf zz6l#La`hkw1_yQ1uHbJdlu;X&$iyOSrMe-IgH|{LfU73seWwv7VYoHe-Dij%T+4Eq zvG<|&gA54AkKf&Ld1DT`eG+Y*CI0>d2C{p=JZ;B@kLb%p z5B^v(7PxuG>^vUv7RSf)X#NmC_#6l8(TEbpBRYahQ<{O5&nCG~`w$JGSOu;HnRFHMkBozh4G#@H z%)uwUG>8nWkqM?auxO!{lc!vq(7g>+m~~@}wz__fm2(Z60w23i*fvK_>ZK+N58=U2 z&wiexO5oc$;X?^W20qy0zFU584(`T*4359EP8fPz-{tTE$iX5y&M`EUqumt?_Z1u3 z0e}`8Ir$YWly=PVYx?RuTXf(mlK~{Ja8q6%jQmg?74q987vi9m8cA+gWnp|msGZQ6 zu~6kFIy{arH26C;%!}!HzV`mM-HSX|%cy8-enDA{qPGMjOU5vP4KX+&f>WH&GZ#Sk z=yrsRygMRd{dr;UF#~M9n@+a^K??&)_)i3%`#=;Zxw)qw_WuT%^PWMho&u^M4lNS| zn@_=(9$OYO37x@6CFE8_gbbtNjb0@>2Z-W1W$CAN+m1-v*1AB`x^d&XJN3_p*hl#8 z%DsOFQuM*hleR@0I))3td>}%5X^WZ{FmFonc<4r4DL98f&HDZ6Q{sztvJ(X^tN$w% zsmC#BJXO?=Xfk)6cv=8%tST{9LZL5bRvrOr2!lQUVKQopdmcyN?T-Hz*cWYRI#l$u zRQsvgPc4WYavk5HAh2n|RV8y7ar(ADMX`mTTekm5RNV(hF30@s5{ zDlB~&I& z7E^{&vch!JR-GT?7z;~t%i*rVwd)+`&R&^?2Zuoasta7jCEo5YH}JL+i0C&As^PgY z_R-<2-qZ-YTUAx7^0LRKxx0(TbZXiWSyCu~sQ|;h&gQ6F0)HuG=W|3#>50L>BJ<{&XRORecI5LbGg%UAjmu0u(~iFQpWs zj6r|l#AtqT9!6T%pJ7?ctI2{b2-QXqvm$Za&Mo$}NJ2vMb(Sb1Ys_lb(YptsO?lJ- zPQZ&w#H9We#8e1T8U6d?0GFF9u|7vqz$RPt&9_g$PoZP2ceAhivRG+9#aToN!Kq|{ z_d^SeQ(hDs*%}v_SG|)MtbZNw8^G_9@Y&fK>iE`#9;e|p=UdlW#KmuTT;o6f#pcPj zn9UnMo_KQex!LoZW-+t_DY*-|9DWeb3cY(FQ#^^YQCzfTO_04;`KHxJ7pWiE+TN3U z>249rN7Hk`O*BW@l!@Ei3mH4htIbQCsv4Wl4-Pi2l9(Aj$8a_Dj(5lAd-!2qw=v0h zb)ePVKRG$sMx|gF+&dNZRE?6L$FzjdTBIraS-qeNY z9fnyBU=<-a_}g;lsGJYITy;n&^c!r)b1>J)SXjD;QLH#K8~|sq&uLxC&HfAcOQc>) z+cHn(4W4#%bhMxqKuN=IDx)|nFuTvIu5 z-O}<>m8;x_u7kgkFK~Jwk~K<{+Luf>2z41LeD>@aG#}dSgC_nm=U{v{ysx!Q#mJvK zY)bSP^XT3iGlTB4Q#Oa0T+n+q*jU>fVg8_i)dxZ$mwwI4znPfX6YDj@g=@$n7h9@& z=|GZ9cf@sXZ*SY#Ulqp(s{}i84{l1JE0zU#r{ck=k#GNPKfHcs#$M-i%#^s4hY`~^NuAJb&7chOR0!1Gfj;VzCUTf4V*Ou^mHI35^h`&O{ zA)qB(`zAp!@Nc3^Pw3=)udE94I>0}B)T_@K^Q3mSUdUGn)X;G0!-~K>?9yq=mmjM! z5u52Xn*Cm6G-IpTh7F{-OK$Vje82AU$g2R|wZReg*%gzY!)NY2?tw+*MLg0dE6fLb z(7l%!Ov9#jYB<1s4-8%>uvSMAtZe!O{;(d|dzM)?>l>$%8!+WNJRw?!GKiNohw_k> z+zyJep@D!%qF)}XS)_mjsEvoU2LuLHZW*G&11Hl?1)k*_{e34@RaL7K^nxmxpC{lC zC=_%jYDdt$dj}Fvp>(z??bgm1+^Yv`*;Qr_BK{Q zWn%TfCZy(jm?tR4z+KSWk-6wZ`^bltayu@LfSR86CYL-NHhb1wvP>y$7^40D-Ir(L zfK3gsUDk?8zzZ|E8m)>Pm~r~fhFMIVUqhqaq;&R>pKr8Pj*Y7Dd+D*gI@;Rn)~!<( z_rI3{UlcqzZgqiyj|uuDEq&NtWUtDgPm1j-@h<+0jZU?-2Q_Ujo$aQdZcms9VNGwN zqqd#o|3x85yE5kUHr0z~FH1qzo#fhYj`6Y1fZmkC)TeOD{fYVr%vc$pONmz*u&c?J zNo>s2=al9Y_quHr1282SyB%E|_i|d}2Yk2VMkAEdjvX*B_R6b>h?+Q1RSV9ml}oQs zgy3cY`|^E&8h38pYKD_=wqt9lfb)S&?IV}byQmoZZ2$m&qn$-<+v9iKjZLiKP~Vz&7WYB#a{+HA?_a`c=B zkZMfQi0lk~32S`HqZ^@d^}sc6uQ51&eEr^qFC!v=i%$B!QiXfO<} zqnP?0EQZw?IiY7eYW)0QkK3-?nt*c?9~-;<;|TE9k3~hV6^2pRoy43EoN^>b23S(? z&1A+z`FsDIr-y6ow`~ZQE@U_^7L0 zB+ci((%ZBiF-qm+((aI*63KjPwmDAasJ)0)CK-g~?ZEG)^RHrgJGOf6R9pY(#(Cf*1iZ*Mi3j(ccnOyz{mc{v)V^%-?H*{YK-d$l1i zM`o|e2R=B~I(CHy^@jv+=zOkGFi;Uivv!}VcPOEJS*gF4ytLUTYJFVPy6Mc_7EQK! zer?9o$`{s}J5Fh3*!PF&j1|PDopp4)UsNSR?X2Z2q&T97mPWd0m6*HX>#u!xT#%U@ z?=pNdV2AAJfOqmpYqn8IPxp%gn^cp(VF4djP9d0{I(16c_4_wfk&I1J4z;F1CBb5X zi;27E<0dBR^i6TP$!##1ydB616R=Knov-^XU_?bcz?UrNTwRamce-hIx@r94kx<#u z5WCXb@4$6A141L7V>|T9trBTMY9TcU7r|t`H_9!wBmCoR3=8@511ph>r${ufH|!rJ9PttH%~Su*?fri$FaQvuEltFg36YVp!?iK4F_9ZxU=Kk;09 z8&r2$03e8w5lF1Bstu_SCOG)@v#Ck9K=Jsd+2dz5`Oz<44Puip@O8%ylyGEwvBFjE z6CcQJgS5qO81;5HNlmn088ne) z=BaVO8^O)YsaTAbiq)tW$B=b1z!-PvMI)ow>LnP-N7G|{9;Hotmot$kYP{*47UWKc4X@f$6PMcf!NNgMv7CK=V`1?Y(p74u*N|b(Ul$IcfEFUpQe=_DDkb z@RiiBip-W(xLpRQmyfxB|BT*|&@{EQwA2&L%j(7=$+u=XJIWpr_faa|aY$4vPBGrW zTI;fsmbQw3%g{b66O^o=d!n&>^LY1#WDJJjWA=r=95hixjEy_DffdfA#Fl;B2CN2b<{MFRZ3@tXX;Fp$9=6iZ5BI0)E<7&rhb>GP2m^j)(6@ zShnRc`u-^h_OcKYdv7hx%ge)_q%uE_wQDtXbb{{RS5onh2;sqi*?UA!YcxPu`LP>% zeDprmkTlRgacvl}|JI5)XaU$0CD2sT?DwS4YI6Obtprclg5W_Mw25rjp9t6O+K{gy z9>3h5S*BxfxzaSqV2q1n5xJb}>#woA8OV5@vUsvTU!Pm?<#5G-np|hF35JdAHxc2> z{76VH#Zy-|fYpb5*N3ZcQ>362fDzOv2&W1t^lW<-R78nr?OPLlQ(%IMKksCm(ey>= z7?6p2046LS>#ZIP%3+#9_U1NDZF)2G{%5f@(O(RujIV4OtZM+ScRwfyfD_}TD;Ba; zDd@@Lp$Eaey~-8N(LQZkU|=`=_wT$}I?W>Hq^z0!zWUah#2vx`)uU|ZXvfl`fCTf7 zj*)=Sj~k_2<_gbblPP$i4SbF+yAU1vAUvE5OQy?ana7rsg97RDAV37DABcPkFa951x5DOiVQ(`WuuPm%mDWdc3DIK4^vUF zq}#`HW?e5|zMQ3nq9j8`()bQY?=Rf_q=zxVV9>HHhDyXwE2c{iN-6o{to;VxjfaQbaM zrMm!-A}@p(X?8Qw^XdNu&-Q|z7^NJM74@(6ZQ9antR(t)*nPCML=321_vMpgcj_7% zb|k+lN_3P|PHuSj+lKwgXJzfXU*LhV=t6u^m`i~*@|9(5<@ZfHd_-N&Ry@C=bMHRK z`1Hk4Vj$IviD6^hFxYybj-3zna)@&uXSlQt9*i(fLE-_}$BltkGlG<{3CcI!k~@6l zNd@*Dl#y_7dvAWR^!z`?(7H{t%76@;xvm2kN5;dyM{FzEe6FXjAaj^HJC*+r$ox8-;04D>FsLV{K{Yr*yx9Z)M zbF0wr;k>81&(7dUuT8gUgP#rSSII`SKNT>J9u6IJ>GJql#Op)$RKs9?GoDdQMJK>2 zSB`WAqI^vD>r?dpTl4>vQ3K5d8}c>9_;>XoO9sZyGP@LM!-|uI$4EyTJ1EE*Ctyu?9XPG;Z_}^`G2?NPpH)-I;9yWwO2TF~wr%-DVVLxYrN3;}od3z}|^ejz-fzcE^sa zFz08gR`#qCZq(BL3j4N97op9b5P z7>vKpnMM+FBlg;urjLlaPZljFU+MI?P8W;8o9B`He74|;w4mj8%CP^Dhm&pdzQ_Bo z!rnmV!16xndbO1h!lc_o7>RRC#rLCh?`Q*B_uvDR zg_rR5?Y0}JAo-K&2t^I*`2MkQ9QBcr5pY_9zHs6(!4w68uGO!}%m=WvJ^DQ?@Y$RD z4bvzq`9tXS6fNIenEP%9x}o7$8??A|&&Oxzdj>H#aE82F0JY0>oGpFJA~A1t8~v3L-ki$q82sI!cS4NV!F21sAaKaNbhkW(T z{FP2wSPmLXtt?0Amg!IZeE9I;xiii}k*C^RRR9ELo%!{597K$C@t;1YWy!J^E0R<{ zjP2B+ON*rGt(a2Ii`2TWT0P)s8W4X`^+AwMhDCp}d6-||+;e+XH0{4?4ii3Spf!NS z=6h!eL-bZywzo^lZN49jN=>x~xgck<#M)NX@(X_!*wg42p8}@NxQ>Pw-b4@38|DtX zPxl&u>o{D?;b(_3ntusx4`yD^4QOqEh_QR=qSZ`vnA3JCH(03^Ck~@(RC_GBQxX_) zC7wp4lX zb3d)wF4i!pIVLf&@pxc$ddpZiYl{OEmOwcn0dxmCDQQJ_fEB=jVn1=`ug`+A!AmBt zKV@!XDL~_}%H|jUoRN>hK0ZEZZOgHPF{aGM*eXnV0&&S_hKHueDBh+1QZ%zW@)*^u zm;j~(#9K-Ho#87bg~Y@;h{#pE2TMheXYwZidInRw|CCw}xc!k@gIzEMVhs$CZuOED z_Ll*On#1f6rLCY*iYZ^zRq`xpOfg&3)}+-W-bYJ?LVm#{4Vcib0p=3LiG92bpr`YX zW4Oj;LytB#i5dv~!^0jmrK-EBpRu~^-@o=b%Ia}ffcj+2KbPzdG$L)mx>w@jm|gqj z8-K$B(0g))l0{x}$hm@}hPH*9E700_Dz<0#g974;h|$$~`wQXCqtg^iL)GR;x1lL< z@Jn3O{BZysw-jvPube#4MHC!SJTo~e(c$Rs09&D_IxpdKm^Oj=fo!z$?v8Xbga_N` z8%QkHc(r+d35xB_1B#sie(Bdxcbx`l)h16`IMa?!;bjwO0ZGjF@$LH3Q1-xS1WRXJ zmHDJt_Uil6a;*-Ysy!1yv6TYaS+8R=BQH)JqvI4YMnUM0ntoz~UTN-!|@vmnoLGb0Hopp%Bu^>s&+v$AUZ{Yvb%D{v>! zPrNiU?eHGenf@wQH{lqibFEM9pcG0000>Wx7IY6guu{WHUksu^V9zIw+*rS-2lP zU(q!C1=oXuY#jy@BK2b2FK$6Z_S9m8J!U3zQr0`C6$>}pZuFxZ{`F$Ql$#F=4(r^WjGY`fGF5?z{&IW z6->XC08VmKqf`QB`lbRDvT-ADaOE=@_+LIj6iDvK)otJCueUW~-Hc5a?##YFe#G4% z9mWnj1NPLN{?#9oM=YY1ViF8Co1o%Rw;+eO1}mlxAbh|-@ZNlTy8_Equ&W6|zgCP2 z=m7M4dU~)xcQ+Q%a}Q%R#k#@?sQThvYaCm1Z^L@#WX_C6ctLi&GME{P-y3sR@PLd; zEQx6o5&N!xhrhFd+{{VinRHLsXo*=phl|{+u6#?-cB3fcBmh#K@DwKk@S-2g9VX=n znUqNyXlb!uaey}P3d~9|e4Q8x$_bJCJul2p4_iFq$Zc)EG?MDl9rMRT=NUQo8vn0>J$T53(@??h3I}vl^POBzjN@zeX}b zIS~txda-qS%dOg3p)@;{Fq?cXG}&&*?}&rn>YHZ9(5(7s*p`WsrV{Ook?|ey@=2|d zWMF+302HP)zQXwv$gSvu?#-Q)<4HZEsz1fW#Yt(lOIQV0R-j4Rg|-RY2C}v+(@s03 zZv+4UTB>T?Q4l%4!)yp_uvlrz+qhhP>`@?jvMkEQx6|k(xVH5r&mz+~q6A zEUJ2xD+C;Xp~EV4~-vN+<`=j*m)1aRyKD?hx(@FH&S+AmLgUS$6;a z{fwj~bRZib)*<=1;lwFl@$Ys4b%c~Y!&PJ!ONu{9VorjJBfSbkphz23G-PQ(+1xW5 zqch6(UxCDW?oq~uhK5+Lh2s;+*M#0#5uDL^c$A)Qqs`&m_fiF@on|L}0KIag22EL4 zw-%{rmwk6R$+SIoU<`~fdPfgkn)@Wm`n@{yNUwHEu&sqfn8t90S;qr!C1GKm__Cft zOb5vPk?;|a-)sF5=M1voc`f_89yt-qvvc!t`f5;&;-vIoZZ(KSG{~KS^LM$ahuJ=u z+0|Ie-Ts=#?gBG6Uxm69z4~Uu9Hhmy018nlQSbz+CqZ_r%AqKsbC-*0 zwfEI8vo=+mSOOZnCaiHIh0$D*@;2wdK5dnq-!EUN$?ovxq2*EH&NRiGOpUeuS|^{>7pP@f zI5M(5D8YbIk|K7e@-BFyRsZqOE-`!&r*&)mYU0?;>dX%X~Mdqa(k z&q^QEc|Ds;wqXJ5d_~1q&zYSbBo#j9Y_JNlr1+sVb8F4`^Vn|=C7orfe?`lsLeX5{ zN4p_rX~n#wD)JC4kP8>Sf@w(e<L?1MrG^AKu)x-1{c>zrhAk!SRALfJE#9 z*r&Z0WKB`-VSqG>Q}Mt=TB(@4rQ5W*eTxz>m78mS{ZIl%B3)yC|Hnfg>$bpNYx0)F zs+ngOM?KjG6Jir%>SoxYB)|e5`fdM8*kl{Hxw(N`2%u>O91i#VZ72`~z>4P0!uZd^ zGgk>|zk-m30Jz!ek0YHE1K7Eqhowg=6fJI}W<`Y3-5sK$ZpMNX#rZa&qtj8iM>G5b z;uH+Oj)RjRAtSj`wmSj{>kw#HlfD|ue*U@bD!wW>#$CALr9Fv+0c2`QGAl^S=)*6+ z{b32|2L6_AWcDUG5A?_HbEAp{f#7NK^_mh>YXqWT{5>RpBxd4J--~9F(o{icuZ%j?|1q1fj0_b>y^e5nI z-Fj<!%<6LKMV7< zcm@2le?+n>%Ys%9Bwq}F3iR3q1qqB~Cli`nftSr=I-e#Y_x!M;e&olwlGq{+Wn5^^ zjn#9X{O^sPF})kTSXfr(96GR1^Z!SE{!fP5{|Vv#ukY~J&B7D<@9A6ry3~JN>VGp- z^4F33>&X3ePcin z&dv^$cb>n{xzSFk?_7^#sQ@-PKZ?;~O}Bj} z94EA3_m==bNbKv@U7SPG`hMSNsnqOUe7`b$akh+~XgsE<*6`MiQ-lYBZ__6XalzZo zvjUbn|Nd!ACey>iqqViQW)7!Ia-=?$RDZ(vew&yCU^+6AK+dD- zBg#9kE$`8tPP{W0nW&FPxn void; } +// Window considered "live" for the masthead pulsing dot. +const LIVE_WINDOW_MS = 5_000; + /** Build the xterm theme from CSS custom properties (resolved once per call). */ function getTerminalTheme() { const s = getComputedStyle(document.documentElement); @@ -23,25 +28,41 @@ function getTerminalTheme() { }; } +function formatUptime(ms: number): string { + const totalSeconds = Math.max(0, Math.floor(ms / 1000)); + const h = Math.floor(totalSeconds / 3600); + const m = Math.floor((totalSeconds % 3600) / 60); + const s = totalSeconds % 60; + if (h > 0) return `${h}H ${m.toString().padStart(2, '0')}M`; + return `${m}:${s.toString().padStart(2, '0')} UP`; +} + +type ConnState = 'reconnecting' | 'connected' | 'disconnected'; + export default function HostConsole({ stackName, onClose }: HostConsoleProps) { const { activeNode } = useNodes(); const terminalRef = useRef(null); const xtermRef = useRef(null); const fitAddonRef = useRef(null); + const serializeRef = useRef(null); const wsRef = useRef(null); - const [isConnected, setIsConnected] = useState(false); - const cleanup = useCallback(() => { - if (wsRef.current) { - wsRef.current.close(); - wsRef.current = null; - } - if (xtermRef.current) { - xtermRef.current.dispose(); - xtermRef.current = null; - } - fitAddonRef.current = null; - setIsConnected(false); + const [connState, setConnState] = useState('reconnecting'); + const [lastActivityAt, setLastActivityAt] = useState(null); + const [dims, setDims] = useState<{ cols: number; rows: number }>({ cols: 0, rows: 0 }); + const [mountedAt, setMountedAt] = useState(null); + const [tick, setTick] = useState(0); + const [reconnectNonce, setReconnectNonce] = useState(0); + + useEffect(() => { + const run = () => { + const now = Date.now(); + setTick(now); + setMountedAt(prev => prev ?? now); + }; + const init = setTimeout(run, 0); + const id = setInterval(run, 1000); + return () => { clearTimeout(init); clearInterval(id); }; }, []); useEffect(() => { @@ -58,15 +79,21 @@ export default function HostConsole({ stackName, onClose }: HostConsoleProps) { }); const fitAddon = new FitAddon(); + const serializeAddon = new SerializeAddon(); term.loadAddon(fitAddon); + term.loadAddon(serializeAddon); term.open(container); xtermRef.current = term; fitAddonRef.current = fitAddon; + serializeRef.current = serializeAddon; requestAnimationFrame(() => { try { - if (mounted) fitAddon.fit(); + if (mounted) { + fitAddon.fit(); + setDims({ cols: term.cols, rows: term.rows }); + } } catch { // Ignore fit errors during initial render } @@ -83,12 +110,16 @@ export default function HostConsole({ stackName, onClose }: HostConsoleProps) { ws.onopen = () => { if (!mounted) return; - setIsConnected(true); + setConnState('connected'); + setLastActivityAt(Date.now()); term.focus(); setTimeout(() => { try { - if (mounted) fitAddon.fit(); + if (mounted) { + fitAddon.fit(); + setDims({ cols: term.cols, rows: term.rows }); + } } catch { // Ignore } @@ -106,18 +137,19 @@ export default function HostConsole({ stackName, onClose }: HostConsoleProps) { if (!mounted) return; const text = typeof event.data === 'string' ? event.data : event.data.toString(); term.write(text); + setLastActivityAt(Date.now()); }; ws.onerror = () => { if (!mounted) return; term.write('\r\n\x1b[31mConnection error\x1b[0m\r\n'); - setIsConnected(false); + setConnState('disconnected'); }; ws.onclose = () => { if (!mounted) return; term.write('\r\n\x1b[33mSession ended\x1b[0m\r\n'); - setIsConnected(false); + setConnState('disconnected'); }; term.onData((data) => { @@ -136,6 +168,7 @@ export default function HostConsole({ stackName, onClose }: HostConsoleProps) { if (!mounted || !fitAddonRef.current || !wsRef.current) return; try { fitAddonRef.current.fit(); + setDims({ cols: term.cols, rows: term.rows }); } catch { return; } @@ -155,42 +188,143 @@ export default function HostConsole({ stackName, onClose }: HostConsoleProps) { mounted = false; resizeObserver.disconnect(); clearTimeout(resizeTimeout); - cleanup(); + if (wsRef.current) { + wsRef.current.close(); + wsRef.current = null; + } + if (xtermRef.current) { + xtermRef.current.dispose(); + xtermRef.current = null; + } + fitAddonRef.current = null; + serializeRef.current = null; }; - }, [stackName, cleanup]); + }, [stackName, reconnectNonce]); + + const handleCopy = useCallback(() => { + const term = xtermRef.current; + if (!term) return; + const selection = term.getSelection(); + if (!selection) return; + navigator.clipboard?.writeText(selection).catch(() => { /* ignore */ }); + }, []); + + const handleClear = useCallback(() => { + xtermRef.current?.clear(); + }, []); + + const handleDownload = useCallback(() => { + const content = serializeRef.current?.serialize(); + if (!content) return; + const blob = new Blob([content], { type: 'text/plain;charset=utf-8' }); + const url = URL.createObjectURL(blob); + const a = document.createElement('a'); + a.href = url; + a.download = `sencho-console-${new Date().toISOString().replace(/[:.]/g, '-')}.txt`; + document.body.appendChild(a); + a.click(); + document.body.removeChild(a); + URL.revokeObjectURL(url); + }, []); + + const handleReconnect = useCallback(() => { + setConnState('reconnecting'); + setReconnectNonce(n => n + 1); + }, []); + + const isLive = connState === 'connected' && lastActivityAt != null && (tick - lastActivityAt) < LIVE_WINDOW_MS; + const tone: MastheadTone = connState === 'disconnected' + ? 'error' + : connState === 'reconnecting' + ? 'warn' + : isLive ? 'live' : 'idle'; + const stateWord = connState === 'disconnected' + ? 'Disconnected' + : connState === 'reconnecting' ? 'Reconnecting' : 'Connected'; + const nodeLabel = activeNode ? (activeNode.type === 'local' ? 'LOCAL' : activeNode.name.toUpperCase()) : 'LOCAL'; + const kicker = `HOST CONSOLE · ${nodeLabel}`; + + const uptime = mountedAt != null ? formatUptime(tick - mountedAt) : '—'; + const viewport = dims.cols > 0 && dims.rows > 0 ? `${dims.cols}×${dims.rows}` : '—'; + const metadata = [ + { label: 'SHELL', value: 'BASH', tone: 'subtitle' as const }, + { label: 'VIEWPORT', value: viewport, tone: 'subtitle' as const }, + { label: 'SESSION', value: uptime, tone: 'subtitle' as const }, + ]; return ( -
-
-
- - Host Console - {activeNode && ( - - - {activeNode.name} - - )} - {stackName && ( - - ({stackName}) - - )} - {isConnected && ( - - Connected - - )} -
- -
+
+ + {stackName ? ( + + ) : null} + +
+ +
+
+ +
+ + +
+ +
+
);