Commit Graph

421 Commits

Author SHA1 Message Date
neon443
d33b7d4eaf added downloadtheme funciton to download and import a theme from an iterm2colorschemes.com link
added import theme to import a theme
updated loadthemes
updated themesview to add import buttons and updated the view
fix themesview making a new instance of hostsmanager
added suiColor to get a swiftui color from a swiftterm color
fix uicolor returning black all the time
2025-06-27 18:01:27 +01:00
neon443
56289f0f6d added themes to hostsmanager
added loadthemes
added savethemes
theme is now identifieable
theme has a computed property themecodable to make it easier to convert
extended swiftterm.color to have a colorCodabel property
adding themes amanger ui
2025-06-27 10:59:53 +01:00
neon443
f14492d3fe added applyTheme() function
added SwiftTerm.Color.uiColor extension to get a UIColor from SwiftTerm.Color
rename SSHTerminalView to SSHTerminalDelegate
2025-06-27 10:38:03 +01:00
neon443
73282fa65d adding theme support!!
looking at swiftermapp, it uses string splitting to parse a plist of colours
i couldnt be asked to do this, so i made my own codable types and non codable types to automatically parse the plist lol
anyways might merge the Codable and non codabel types later, but i thik it works now so im leaving it as is rn
moved scrollback restore funcito higher
2025-06-27 10:29:53 +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
4d10245569 1.2 2025-06-26 16:32:08 +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
747406df5d asdfasdfasdf 2025-06-26 15:50:25 +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
84b0b3cc7a vbump 2025-06-26 13:53:37 +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
061d6d54d2 bump 2025-06-26 13:17:41 +01:00
neon443
de213c0d72 remove the minimize button 2025-06-26 13:16:14 +01:00
neon443
98e5b01970 center text
fix alignment
comment out ssh_free
fix Face ID appearing on touch id devices
2025-06-26 13:12:33 +01:00
neon443
0291c3c613 vbump 2025-06-26 12:49:54 +01:00
neon443
51459f1839 fix crash when disconnecting, fix close terminal on exit 2025-06-26 12:49:27 +01:00
neon443
319373682c simlplify read from channel loop
main thread ui updates in disconnect()
2025-06-26 12:32:38 +01:00
neon443
42883c4ac9 ok so looking at SwiftTermApp (SwiftTerm's sample app) it uses a specific commit.
surprise surpries, that fixes the ghosting and scroll issues!!!!!!!!!!
this deserves a version bump
2025-06-26 11:35:48 +01:00
neon443
d9154458fa made read blocking, adnd up to 1024 bytes
request env vars before opeing shell
cleanup
2025-06-26 11:32:45 +01:00
neon443
e8ca091d0d move 2025-06-26 10:55:02 +01:00
neon443
d213ce2c05 fix symbol not updating on the fly but everything else does
added automatic string to data conversion for pubkey
renamed symbol to hostsymbol
reduce padding
2025-06-26 10:40:31 +01:00
neon443
5e0908206c fix picker but making it a cusotm one
fix symbol preview not updating
undo change to simplify symbolpreview
add hashable to host
2025-06-26 10:16:53 +01:00
neon443
58596905d7 fix picker and add preview with text
simplified symbolpreview args to just a host
2025-06-26 10:02:22 +01:00
neon443
642e4a78de added symbols and labels
added makeLabel() to return a string for the host, in order: name, address, uuid
added reorder sypport
added movehost() to reorder
added symbolpreview view to easilty show the symbol and label
added symbol with sf, iscustom, offset vars to help
added a picker to choose the symbol
2025-06-26 09:54:54 +01:00
neon443
58f4388168 added duplicate host swipe action
moved logic for dleting hosts into the hostsmanager
added host "name" textbox
added host "name" in keys view
2025-06-25 17:38:02 +01:00
neon443
52629d7654 bump version 2025-06-25 17:19:33 +01:00
neon443
76601e0470 made more funcitons throw errors instead of just return, more informative
added name to host
removed hostkey from connectionview as its in keys now
fix crash on force unrap in keypair navigatoin labels
added hostinvalid() to check if the host is invalid
added case notconnected for keyerror
openshell is throwing
moved stuff round
2025-06-25 17:17:47 +01:00
neon443
2548dde85b added keydetail view
added faceid authentication to view private keys
added authwithbiometrics for secure displaying of sensitive data
fix getkeys returns nothing
added centredlabel (hstack with two spacers)
made keypair identifieable
fix alignment of text
2025-06-25 16:46:41 +01:00
neon443
d4b9a4e2ae added keypair protocol
added bell support
added getkeys
added ui to show hostkeys all in one place
2025-06-25 15:49:36 +01:00
neon443
895e37133e bump version 2025-06-25 14:13:27 +01:00
neon443
2207c5d924 upon accepting the new hostkey, you connect 2025-06-25 14:12:41 +01:00
neon443
548beca410 updated gethostkey to work with strings, and the rest of the ui had been updated to reflect this 2025-06-25 14:07:27 +01:00
neon443
43b407b038 removed lots of testsucceeded = false by just setting it as false and then making it true if it suceeds
added connecition failed and authfailed sshstates
fix crash when unwrapping the hostkey data to a string
2025-06-25 13:47:07 +01:00
neon443
046dbbb06c fix more concurrency
free session if connection failed
read only once in testexec
unique names for key filenmaes
free pubkeys even if it fails to auth
fix bitmask reading of auth methods
remove handler.state from the terminal, put it inline with other status indicators
2025-06-25 13:17:38 +01:00
neon443
058915b115 removed lots of conurrency
its prob not needed tbh
2025-06-25 13:06:07 +01:00
neon443
46ba88aacb addedfunctions to check state
large code cleanup thanks to this
2025-06-25 12:40:16 +01:00
neon443
66547dc58e migrated from bunch of bools to an enum of ssh states 2025-06-25 12:26:29 +01:00
neon443
e8494b9296 improve disconnection on testexec - it disconnects right after testing exec!
- it saves the result of tesetexec even tho disconnect clears it
 - moved the logic into sshhandler
2025-06-25 12:00:49 +01:00
neon443
5d80c69152 fixed getAuthMethods - had to auth with none first
rename to testChannel in testexec to prevent confusion
stop write(1 in testexec to prevent printing the output
running testexec will disconnect after 3s, but keep result
read non blocking in testexec
added sshstate unused atm
2025-06-25 11:55:21 +01:00
neon443
db36c56f29 improved disconnection - will dismiss terminal on exit
-- before you had to type more to exit
improved connection logic with a try catch
improved disconnection doesnt crash
fix [int] to [cchar] reduced mem usage
code cleanup
try? -> catch print(error.localizedDesc)
guard let var = var  else ---> guard let var else
removed file importers as it didnt eork
compbined guards in writetochannel
2025-06-25 11:40:25 +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
bf4a273a46 moved hostsmanger back out because nested observedobjects are wierd
added multiView - it connects to all your hosts at once, this proves that i can do many at once
 --- for a future update
2025-06-24 15:33:56 +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
3f2c92cd91 massively optimised reading from ssh, reduced cpu usage and energy usage 2025-06-24 09:48:33 +01:00
neon443
11a3db9307 swift 6 migraition stuff
the app takes a lot of cpu idk why
2025-06-24 09:31:55 +01:00