Commit Graph

29 Commits

Author SHA1 Message Date
neon443
24309725d4 remove 2nd restore 2025-07-04 18:02:19 +01:00
neon443
a85022e351 ok im fucking pissed off
the keyboard input issue is back
2025-07-04 16:28:08 +01:00
neon443
f68b08d45c fixed race condition opening the terminal, as restoring scrollback would restore content already there 🤦 2025-07-04 15:41:54 +01:00
neon443
ecfd997487 added traffliclights to make the traffic lights perfect, red yellow done
green wip
clean up on the terminal view: add background and reorg the fiel and add traffic lights
add bg to all the terminal related stuff
2025-07-04 10:47:27 +01:00
neon443
288b37a0d6 added a thingy to select an ansi color (accent color) in thememanger
improved ui for tab selector, uses theme colours and close button is in the tab
made sshhandler optional for shelltabview
implemented the tabbed terminal to sessionlistview in home
added selectedAnsi to select an accent color from the 16 ansi colors
remove toolbar and navbar in shellview, fix the wierd input issue
2025-07-03 15:31:49 +01:00
neon443
a58a86acec improved tab ui - now orange if selected, gray if not
improved functionality, if disconnected, it switches to the last tab open or if no more, it dismisses
remove dialogview
2025-07-03 14:24:41 +01:00
neon443
ce162f437a dependency injection in ShhShellApp via the init
added keymanager to sshhandler so it can access keys
2025-07-02 08:19:01 +01:00
neon443
94ad2fa661 added a prompt to TextBox
fix right alignment in textbox
added quick connect
fix blank keys being returned from getKeys()
safely unwrap keys in keydetailview
swap buttons on shellview's titlbar
2025-06-30 14:34:57 +01:00
neon443
24bf52ff16 added textbox to make pretty textboxes with label
updated connectionview to use nice textboxes with labels
put disconnect and minimize on the left
2025-06-30 13:52:24 +01:00
neon443
80ddde3a62 applying themes on the fly!! (to sessions already active)
added applySelectedTheme to sshhandler which will run applyselectedtheme on the terminalview if it exists
added applyselectedtheme to apply the chosen theme in hostsmanager
applying of the chosen theme on appear of any shell view
made the tap target for sessions actually the whole list item
fix undefined behaivour from modifying published values from background threads
2025-06-29 16:39:03 +01:00
neon443
8e69dfc165 terminalViewContainer is now an observable object
made the session list view more pretty
terminalviewcontaner has a static shared property which is an instance of itself
then it has sessions inside with a dict of uuid:terminalcontainer inside
hostsview is in the section "hosts"
2025-06-29 16:25:49 +01:00
neon443
331a921499 MULTI SESSIONS!!!
terminalviewcontainer has a dict of [handler, terminalView] with a uuid key
each session gets a new uuid, and on disconnect, the session is removed from terminalviewcontainer
sessions list view to reopen sessions
remove multiview
extracted terminalviewcontainer
2025-06-29 15:40:46 +01:00
neon443
f19f32682f added selecting and applying themes
added selectTheme to set the selectedtheme index
added isthemeselected to check if a theme is selected
applytheme takes an index now

ui needs work lol - cant select default, and selction doesnt save between sessions
2025-06-28 16:06:11 +01:00
neon443
b59c52f239 remove the bell emoji, just the flat one for now 2025-06-27 09:20:04 +01:00
neon443
b43d92e2d5 remove print 2025-06-26 16:36:45 +01:00
neon443
09fd4a10fd YESSS
ok so now you can minimize an ssh session
 - it will remember the scrollback,
- if u uminimixe it and then reconnect, it works
it uses a shared static var in TerminalViewContainer to keep SSHTerminal instances
scrollback restoration works and everything
2025-06-26 16:25:35 +01:00
neon443
c6699a9818 implement scrollback saving
implement a scrollback cap of 10MiB
add prettyscrollback() to return kib, mib etc
tried a different resuming thingy
2025-06-26 15:46:58 +01:00
neon443
f082d8b77c tried to implement resuming 2025-06-26 15:03:59 +01:00
neon443
bb0ea0f9ee added animated screen flash for bell
screen will flash with a semi transparent white overlay and a bell emoji for 250ms
remove bell from nav bar, too distracting with the bell in the muiddle as well
2025-06-26 13:53:18 +01:00
neon443
a41edbb1aa added bell - the title will show a bell emoji if the bell has been rung for 0.2s
fix massive memory leak :cry
it liteally got to 10gigs :wilt
fixed cpu usage - 90+% lower
2025-06-26 13:38:06 +01:00
neon443
de213c0d72 remove the minimize button 2025-06-26 13:16:14 +01:00
neon443
058915b115 removed lots of conurrency
its prob not needed tbh
2025-06-25 13:06:07 +01:00
neon443
f71bd0ddf2 bell ringing backend done now need to actually trigger it
added ring() to ring the bell
terminal is now a fullscreencover
can be dismissed and reopened or disconnected
 - need to make it keep the scrollback
increased sleep between reads
added support for title
added setTitle function, defaults to username@server
increased the buffer to 16384 bytes
2025-06-25 11:12:10 +01:00
neon443
0f5d45cc85 integrated hostsmanager into sshhandler lets see where this goes
made disconnct async
rewrote async reading from ssh
usleep -> Task.sleep() to prevent blocking
2025-06-24 14:57:25 +01:00
neon443
507c533b46 more swift 6 stuff
dialogview updates - remove button
make disconnect button on terminal dismiss the terminal
2025-06-24 13:25:57 +01:00
neon443
1e3a57d788 added dialogview for custom dialogs
added nice green color
updated debug host
reduced sleep greatly
removed channel checker in sshqueasync loop
set dark mode on the app
gonna start work on async in sshhandler
2025-06-24 12:33:52 +01:00
neon443
8df8c77c7a implemented actually using Host.publicKey and Host.privateKey to store pubkeys and privkeys
- this gives u icloud synced pub/privkeys
 - per host!!
made it load the key's string representation (if present) into the textboxes to tell the user that the key is there
made the privkey box a securefield to show .... instead of the key

added a handler.go() to handler disconnecting if connected and choosing password/pubkey auth
- really cleaned up the view code
added getPubkey(_: SecKey) to keychainmanager
added SSHErrors - commfail, connectionFail, backenderror
added AuthError - rejectedCreds, notconnected
added KeyError - importpub/privError, pub/priv rejected
made most functions throw in sshhandler
fix memoryLayoutsize(ofvalue to buffer.count in testexec
[weak self] in the async loop to prevent memory leaks i guess
added loccritical for easy red logging
2025-06-23 12:51:41 +01:00
neon443
01d569a859 mainacotr for sshhandler
added a cleanup to run after 10s clearing memory for keys and files
remove timer code
remove write(1 to stop console echo
open links
image -> systemImage
2025-06-23 10:19:49 +01:00
neon443
aab1756b5a bump version
remove send Ax256
change powerplug.portrait to power
reduce time from 10_000 to 1_000
remove sending print
add shellview
2025-06-22 19:53:12 +01:00