v0.3.0
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 runsmdimporton 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 viahttps://github.com/steeb-k/nullgate).
See the full CHANGELOG.