Skip to content

v1.2.0 - Zero-config Setup

Choose a tag to compare

@Advnirr Advnirr released this 11 Jun 18:37
· 22 commits to main since this release

✨ New Features

  • Automatic registration: On first launch, Hanuchi now auto-starts the logmein-hamachi daemon and registers your node via hamachi login — no terminal needed. Each step runs once per session, so there's no retry loop.

🔒 Security

Code now passes a bandit scan with 0 issues:

  • pkexec/systemctl are resolved with shutil.which instead of partial paths (B607).
  • subprocess calls are documented with scoped # nosec (B404/B603) — they only ever use fixed argument lists, never shell=True.
  • False-positive "password" warnings on translated UI labels suppressed (B105).

🐛 Bug Fixes

  • Peer list showed the IP instead of the name: members are now parsed as <member id> <nickname> <ip>, so real nicknames and member IDs are displayed.
  • Owned vs joined networks: ownership is now detected via "This computer" instead of the bare word "owner", so joined networks are no longer mislabelled as Hosted (correct Leave/Delete action).
  • UI no longer freezes: the status/network fetch now runs on a worker thread instead of the GTK main thread, so a slow or hung daemon can't lock up the window. All subprocess calls also have timeouts.
  • Language setting: switching away and back to the original language in one session now persists correctly (previously it silently kept the intermediate language).
  • Open network view persisted across refreshes: a refresh (e.g. after a power toggle) no longer kicks you back to the dashboard.
  • Untranslated "Password" label in the join/create dialog is now localized.
  • Fixed an import-time crash on the config error path, replaced deprecated locale.getdefaultlocale() (removed in Python 3.12+) with LANG/LC_* detection, and replaced silent except: pass blocks with logged, specific handling.

🤖 Generated with Claude Code