Commit Graph

81 Commits

Author SHA1 Message Date
neon443
3e713b8561 added history view
added history loading and saving functions
added a thingy that will combine multiple entries like the phone app
added history data struct
fix hosts with no name just bneing called " copy" when duplicated
remove the showterminal button
fix crash when closing the terminal
2025-08-15 13:05:57 +01:00
neon443
a4d64ce18a rename 2025-08-05 18:40:49 +01:00
neon443
796c02e1ff added a popover to show the icon customisations 2025-08-05 13:29:46 +01:00
neon443
8f28ae21cf updated swiftterm - good scrolling yayy 2025-08-05 12:20:28 +01:00
neon443
ee6fc96f01 added a snippet picker and it executes a callback when one is selected
added a snippet button to shelltabview
fix crash if hostkey changed message shows up and not connected anymore (such as failed auth)
cleaned up about view and added a libssh link
update bundle.swift to add version and build number getting
2025-08-03 17:52:20 +01:00
neon443
7850a3839a added a basic about thingy
- added a Bundle.swift to manage getting info from the Bundle.main.infoDictionary
 - extended UIImage to show the app's icon via UIImage().appIcon
2025-08-02 20:45:45 +01:00
neon443
ddf8d68e3b fixed snippet manager ui when no snippets
added haptics and stuff
improved picker ui
2025-07-26 22:44:00 +01:00
neon443
e47b598c74 add snippets?? and deleete and duplicate etc 2025-07-23 19:56:45 +01:00
neon443
d7aab6eaaa add snippet link
- has no way to add snips
update duplicatetheme
2025-07-21 20:57:02 +01:00
neon443
874250b5ee added snippets
reorg
2025-07-18 15:12:57 +01:00
neon443
3dc37cf75e remove hosts section if no hosts, delete invert.metal 2025-07-16 18:36:04 +01:00
neon443
df80bedb2b added sf mono 2025-07-09 15:00:03 +01:00
neon443
10310be80e live updating of themepreview 2025-07-09 13:40:09 +01:00
neon443
a3003a6e90 added a themepreview to themeditor
added background to themeeditor
extracted the raw themepreview to thempreview and made the previous view themebutton
fixed padding above your themes header
2025-07-09 12:12:34 +01:00
neon443
19d3c495d5 added reloading for edited themes on the fly
added a get/set SwiftUI.Color to SwiftTerm.Color
overhaul themeeditor's state stuff
updated themeeditor to use a binding
updated themepreview to use a binding
remove the massive subscript - its not needed anymore
moved all swifterm color stuff to its own file
2025-07-08 19:48:37 +01:00
neon443
8a0e009c7a added a themeeditor (really bugged rn)
added a convenience init to make a swiftterm color from a swiftui color
added a frame to make the terminalcontroller the optimalsize
merged extensions
2025-07-07 14:45:16 +01:00
neon443
bc24edd13c added a quick font manager/selector
added selectfont, savefont
updated loadfonts
fix swipeaction tint color for hosts
2025-07-06 19:40:52 +01:00
neon443
4a98e3e4c9 axed some of them bc i cba to find italic, bold, bolditalc ones
removed the 2nd font enum and switched to a computed property for the font name
updated the loadfonts thing
removed applyselectedtheme from the sshhandler and the init, moved it to didmovetowindow
2025-07-06 19:13:19 +01:00
neon443
0d53ccc3bc added a buncha fonts
added a fonts enum
added a loadFonts, currently just prints all fonts available
2025-07-06 16:16:30 +01:00
neon443
b5f8c4e716 made the titlebar have the host label and hide tab bar when only one tab
added a lot of logic fore foreground color calculation, based on luminance of foreground, background and selectedAnsi colors
fixed fallback when opening the first session
fixed text of unselected tabs being unreadable
added tint var to hostsmanager to get accentcolor
reduced ios version to ios 16
2025-07-04 14:51:54 +01:00
neon443
143e785ca6 ok cl fuck this shit its so long 2025-07-04 12:07:58 +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
fdc5c4c503 added ansipickerview
added selectAnsi to select an ansi col
2025-07-03 16:47:16 +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
c48f01810e TABS!!!!
added shelltabview
it basically puts tabs at the top, and when tapped the id is updated and so is the shellView var to have a new handler (corresponding to that session)
remove @State var shellView from connectionview &other stuff
2025-07-03 13:53:26 +01:00
neon443
0ba1d5091e in go(), auth is now handled by looping over the auth methods the server requests
rewrote getauthmethods, returns a [AuthType]
added authtype to list all auth types
2025-07-03 12:31:58 +01:00
neon443
c9d7b06305 improve ui on keydetailview
add set(keypair, onHost) to set a keypair on host
remove getkeys it always returns []
add delete button to
remove rsa from keytype
rename symbolpreview ->hostsymbolpreview
2025-07-02 21:55:50 +01:00
neon443
8a37a1464a added keyimporter view to import keys
added importkey to import keys and save to keychain
added a picker to select a key id in connection view
fix publickey and opensshpublickey returning a pubkey when privatekey is empty
added generate key button and import button
change HostManager.makeLabel() to a computed property on Host
2025-07-01 20:16:55 +01:00
neon443
65eef7f29e added support for saving keys in the keychain
load and save yk
added savetokeychain to save a key to the keychain
added getfromkeycahin to get a key from the keychain
fix generatekey

added apple's cryptokit in the keychain sample code (keychain layer dir)
2025-07-01 17:41:42 +01:00
neon443
80b83644b4 updated keypair data structure to have an name, passphrase and type
added generateKy to generate a key, currently only rsa
update generateRSA to return the Data for pub and priv, and take a custom size
bell animation better, slightly longer in total and easeinout
added new generate button hardcoded to a rsa 4096
added keytype to define key types (duh)
update getKeys to use the new keypair structure
2025-06-30 16:31:01 +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
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
4ca3bc035f Awdjfghkahdsgjf;h
id and name were swapped loll
switch back to icloud defaults for hostsmanager
update xcode* themes to camel case
2025-06-29 11:22:29 +01:00
neon443
a4d245caec !!!!!!!!!!
fixed selecting themes - it now actually remembers!!
fix all themes having no names
fix remembering selected themes
added toTheme to return a theme from a themecodable
removed themeNames - its not needed as the names are saved in the ThemeCodable itself
extracted colorcodable and themecodable into their own files
removed all the debug prints
2025-06-29 10:43:47 +01:00
neon443
834fb266e9 theme picker ui is pretty now
added a bunch of builtin htemes
applytheme takes a theme
added builtin themes enum
added decodeloacltheme func
added builtinthemes array property
selectedtheme is now an actual theme instead of an index
its really annoying it doesnt really work rn
2025-06-29 09:59:53 +01:00
neon443
4affc532d9 fix adding new hosts, it will navigate u to a new connection view with a host.blank, and add the host if it doesnt exist
added addhostifneeded
extracted hostskeys stuff to hostkeysview
added nav titles to everything
removed tabs, now just a list
renamed savedHosts -> hosts
2025-06-28 15:37:50 +01:00
neon443
3698232a51 added thememanager view and thempreviw
it uses a lazyhgrid
2025-06-27 20:48:41 +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
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
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
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
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