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
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)
addd makesshpubkey to return data for .pub and for installing to hosts
generate rsa just returns seckey
simplify generateEd25519
add helper encode{str,int,data} functions to return Data with a 4 byte lenght count before it
add more buttons
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
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
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
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"
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
boxes now touch and dont have spacing between
vertical layout
context menu actually targets correct theme
the themebox is flexible and can be smaller/larger doesnt matter
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
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
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
added addhostifneeded
extracted hostskeys stuff to hostkeysview
added nav titles to everything
removed tabs, now just a list
renamed savedHosts -> hosts
added theme deletion
added animations on change of themes list
getkeys doesnt return duplicates, thanks to:
wrote a custom == operator to check if keys are the same, ignoring uuid
added gethostskeysusedon to get the hosts that use a key
fix refreshing of hosts on modification
added cancel to import alert
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
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