Skip to content

Desktop overview ​

HoHu Desktop is a separate Electron + Vue 3 client repository that uses backend APIs. It supports applications needing a system tray, global shortcuts, desktop notifications, and installer distribution.

Technology and responsibilities ​

PartCurrent implementation
InterfaceVue 3, TypeScript, Naive UI, Pinia, Vue Router
Main processElectron manages windows, authentication sessions, networking, and native features
BridgecontextBridge exposes typed window.api methods through restricted IPC
Development and buildelectron-vite
Packaging and updateselectron-builder and electron-updater

Use the desktop repository's package.json and lockfile for exact versions. Current scripts use electron-vite and electron-builder.

Available capabilities ​

  • Main-process authentication sessions, with renderer business requests targeting a fixed backend.
  • Saved window state, tray behavior, global shortcuts, system notifications, and native theme synchronization.
  • A settings drawer for tray, shortcuts, notifications, updates, and application information.
  • Installer and update integration; releases still require update-source configuration, signing, and platform validation.

Desktop and Web are separate repositories. Reusing backend APIs and business types still requires desktop page, route, permission, and translation integration. New Web pages do not automatically enter desktop installers.

Get started ​

  1. Follow desktop development to run the client against a local backend.
  2. Read desktop architecture for renderer, preload, and main-process boundaries.
  3. Integrate native capabilities through desktop features, then verify packaged behavior.

To prepare the backend first, see environment setup. Repository links are in source and licensing.