It’s been a while since my last update — school was brutal leading up to winter break, so Hana had to wait. Now I’m deep into week two of the break and made massive changes.
Hosts work. State management with Svelte is genuinely a joy, and the host flow is nearly polished. There are still some minor desyncs (create a KeyStore identity, and you need to restart before the frontend catches up), plus some off sizing on UI elements — easy fixes I’ve been pushing off in favor of bigger features.
The KeyStore is live on both frontend and backend. You can view vault keys and saved identities, generate fresh SSH keys, or import your own.
Theme system is cooked. It supports easy theme composition and deep link importing via hanassh://import-theme?url=<>. Hana fetches the JSON, validates it, drops into a preview mode with a bottom popup, and lets you use the theme without saving it. When you’re ready, save or discard. A theme marketplace is already technically possible.
The app is now functional for simple SSH workflows. SFTP, more customisation, and a pile of bug fixes are still ahead before a stable release.
Bundle size landed at ~37 MB, trimmed to 35 MB by swapping the bundled SQLite for the system instance. Goal is sub-25 MB closer to launch.
Background memory usage sits at 5–6 MB with all windows closed — just the Rust backend humming, ready for future sync and notification features.
One feature I’m genuinely proud of: Mac Home/End key bindings. Magic Keyboards skip those keys entirely, and the usual ⌘+arrow shortcuts break in terminals. Hana now has a toggle (on by default on macOS) that maps them to proper terminal keystrokes. Haven’t seen this anywhere else.
Demo below of me creating a vault, adding an identity and host, connecting to my Mac, and running fastfetch.