Android-first, offline-first client for Reticulum Community Hub (RCH).
This monorepo runs a local Rust Reticulum + LXMF implementation on the device and exposes client functionality through a Capacitor native bridge, a typed TypeScript wrapper, and a Vue mobile app. The product target is a full mobile client for the RCH client-safe feature surface, including R3AKT mission and checklist workflows.
This repository is not a replacement for the Python RCH server. It is the mobile client that interoperates with RCH and peer nodes over Reticulum/LXMF.
The codebase already contains:
- a local Rust node/runtime scaffold in
crates/reticulum_mobile - generated/native binding delivery paths for Android and iOS
- a Capacitor plugin bridge
- a Vue mobile shell with baseline node, peer, status, and replicated local UX
The target state extends that scaffold into full client-scoped RCH parity.
API: canonical message catalog and imported compatibility contractsapps/mobile: Vue + Capacitor application shellpackages/node-client: TypeScript wrapper around the Capacitor plugin surfacecrates/reticulum_mobile: Rust UniFFI wrapper cratetools/codegen: scripts for UniFFI code generationdocs/R3AKTClient: architecture, scope, and wire-contract references for the RCH client work
crates/reticulum_mobile now defaults to deterministic, pinned git dependencies
from the consolidated LXMF-rs repository (no sibling checkout required).
Pinned source:
- Repository:
https://github.com/FreeTAKTeam/LXMF-rs - Commit:
87c71c94d1e76cb1acf33642dc6e02f36142c2e8 - Crates used:
reticulum,lxmf, andlxmf-sdk(stdfeature only)
If you are actively developing LXMF-rs and want to test local changes, use the
included override config from repo root:
cargo --config .cargo/config.local.toml.example check -p reticulum_mobile
This keeps local path usage explicit and opt-in.
From repo root:
- CI-friendly clean-checkout validation:
npm run validate:mobile:ci
- Individual gates:
cargo check -p reticulum_mobile --lockednpm run node-client:buildnpm run mobile:build