Skip to content

v0.3.0

Choose a tag to compare

@steeb-k steeb-k released this 05 Jul 21:39
· 49 commits to main since this release

Nullgate 0.3.0 — a headless tray agent, full-width status banners, and Android admin-UI role gating.

Highlights

Desktop

  • The system tray + notifications now live in a lightweight background agent. Previously the
    whole GUI ran hidden to host the tray, so closing (or crashing) it made the tray icon vanish while
    the network kept running. Now a small headless agent (nullgate --agent) autostarts at login,
    owns the tray icon and all notifications, and launches the GUI on demand. Closing the window
    just closes it
    — the daemon and tray keep running.
  • "Restart Nullgate daemon" in the tray menu, and a "Start / Restart service" button on the
    status banner — bounce the privileged daemon (raising your OS's own admin prompt) without opening
    a terminal. On Windows this elevates the code-signed daemon directly (UAC shows the Nullgate
    publisher).
  • Clicking a notification opens Nullgate.
  • Status and join-request alerts are now full-width banners. The old flashing red "Join Request"
    chip is replaced by a banner with a Review button that opens the emoji-SAS approval screen.
  • Keyboard navigation no longer jumps back to "Administration" every few seconds (most visible
    on Windows) — a durable fix that saves and restores the focused row across any page rebuild.
  • Windows: the tray GUI now restarts after an auto-update (it could previously be left gone or
    stale across the SYSTEM/user-session boundary).

macOS

  • Nullgate now shows up in Spotlight (and "Open With") after install — the installer registers
    the bundle with Launch Services and runs mdimport on every install and update.

Android

  • The app hides admin actions that Peers and Controllers can't use, matching the desktop apps:
    Peers see Activity log, their own details, and Leave; Controllers additionally get the Peer ticket,
    Settings, Rename, and Peer removal; the originator keeps the full set. Engine-side authorization is
    unchanged — this only aligns the UI's affordances with the roster rules.
  • Added "Restore originator access" for members who hold the master recovery key but aren't the
    originator on this device, closing the last Android/desktop role-UI gap.

Install / update

Existing installs auto-update. New installs:

  • Windows: download the .msi.
  • Linux/macOS: curl -fsSL https://raw.githubusercontent.com/steeb-k/nullgate/main/install.sh | sh
  • Android: install the .apk (or track releases with Obtainium via https://github.com/steeb-k/nullgate).

See the full CHANGELOG.