Commit Graph

410 Commits

Author SHA1 Message Date
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
neon443
1bb761d80e swift 6 underway 2025-06-23 20:33:31 +01:00
neon443
88b39363b2 version bump
remove @mainactors
set env vars
use sshoptionsset to set a username
disconnect sends an eof and handles the channel clsoing, for some reason it crashes on disconnect tho
do catch for pubkeyauth
added asyncReadFromChannel
remove weak self
condense guards
disconnect on a eof reccieve
reduce time sleeping
2025-06-23 18:14:08 +01:00
neon443
31beda2124 fix test connection button
increase buffer to 512 bytes
made it a blocking read because its happening on a bg thread anyways
using a cchar bitpattern for each string.utf8 when writing
its made no diff yet
increased sleep if nothing is returned
2025-06-23 13:41:20 +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
c9eab9dde8 every fucking time i try rewriting that function 2025-06-23 11:33:32 +01:00
neon443
db76329f80 rewrote autwithpubkey to use emmeory strings
added strip pubkey and privkey functions to remove stuff like ssh-ed25519 and neon443@mac anc  -----begin key ----- end key etcc
2025-06-23 11:23:25 +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
ea857a8960 fix warnings 2025-06-23 09:44:33 +01:00
neon443
b691224e39 encryption compliance 2025-06-23 09:41:29 +01:00
neon443
721cea4246 version bump 2025-06-23 09:40:26 +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