Skip to content

V.2.0.7

Choose a tag to compare

@brothercorvo brothercorvo released this 01 Mar 20:21
· 21 commits to main since this release

Reticulum Community Hub 2.0.7

This release focuses on remote operations, authentication for non-local access, Linux service deployment, and stability fixes across the gateway, UI, and LXMF sync path.

Highlights

  • Adds a complete remote-access flow for the web UI, including remote target detection, login gating, and per-hub authentication state.
  • Adds a protected auth validation endpoint for the UI and tightens route protection for remote backends.
  • Improves remote launcher support with source-based installation, automatic npm installation when missing, and safer REST/WebSocket URL handling.
  • Expands operator documentation for LAN/WAN access and Linux systemd deployment, including persistent API key setup.

Remote Access and Authentication

  • Remote UI sessions are now scoped to the currently selected hub target, which prevents stale credentials from being reused against the wrong backend.
  • The UI now enforces authentication for non-loopback backends and routes first-time remote users to the Connect page before live polling and WebSocket activity begins.
  • Adds /api/v1/auth/validate to support explicit auth checks from the UI.
  • Improves connection-state handling so launcher-provided targets take precedence over stale browser-saved settings.
  • WebSocket handling is more reliable for remote users: the UI derives the WebSocket base URL from the REST base URL by default unless an explicit override is provided.

Remote Launching and Linux Service Operation

  • Adds run_server_ui_remote.sh for remote-friendly startup of the backend and UI from source.
  • The remote launcher installs the backend from the local checkout instead of PyPI.
  • If npm is not available, the launcher now attempts to install Node.js/npm using the platform package manager.
  • Documentation now covers:
    • same-LAN Raspberry Pi access
    • public-IP / cross-network access
    • persistent RTH_API_KEY configuration
    • Linux systemd service setup for the gateway
    • exact copy-paste commands for a service installation

Fixes

  • Fixes a remote WebSocket configuration issue where stale saved browser values could block live updates.
  • Fixes the System Dossier / app info name so the UI shows the configured hub display name instead of the package name.
  • Fixes LXMF peer sync handling for integer error responses that previously caused failures such as 'int' is not iterable.
  • Applies the LXMF sync-offer fix to the active runtime path by patching the installed LXMF package behavior at startup.
  • Hardens file and image deletion so legacy or mixed-platform attachment paths no longer produce avoidable delete failures.
  • Adds outbound delivery acknowledgement handling and logs recipient delivery confirmations in the event feed.
  • Prevents gateway startup when the API host/port is already bound, avoiding duplicate hub instances and ratchet contention.
  • Improves telemetry memory usage by reducing retained payload state and querying latest-per-peer snapshots more efficiently.

Packaging and Release Assets

This release is published as version 2.0.7 across the Python backend, web UI, and Electron packaging metadata.

Included release artifacts:

  • rch_2.0.7_linux_arm64_deb.deb
  • rch_2.0.7_linux_x64_appimage.AppImage
  • rch_2.0.7_macos_universal.dmg
  • rch_2.0.7_windows_x64_installer.exe
  • rch_2.0.7_windows_x64_portable.exe

Upgrade Notes

  • For remote deployments, set RTH_API_KEY (or legacy RCH_API_KEY) before starting the gateway.
  • For Linux systemd deployments, remember that the backend gateway and the UI are separate services.
  • If you use the sample UI service definition, replace placeholder values such as YOUR_SERVER_IP with the real server address before starting the UI.
  • After upgrading the UI, clear stale browser settings or use a private window if the client still points at old API or WebSocket targets.

Pull Requests Included

  • #167 Add remote-login auth flow and route protection in UI
  • #168 Enforce authentication requirements for remote UI targets
  • #169 Add protected /api/v1/auth/validate endpoint and OpenAPI docs

Full Changelog: V.2.0.0.2...V.2.0.7