Sudo-Ivan 1653553518 Refactor crash recovery diagnostics and remove unused curvature calculations
- Simplified diagnostic output by renaming "Probabilistic Root Cause Analysis" to "Root Cause Analysis".
- Removed unused methods and calculations related to manifold curvature.
- Updated tests to reflect changes in diagnostic output and removed obsolete assertions.
2026-03-06 12:16:56 -06:00
2026-03-06 12:04:10 -06:00
2026-01-01 15:25:23 -06:00
2026-01-01 15:25:23 -06:00
2026-01-10 17:51:30 -06:00
2026-01-01 15:05:29 -06:00
2026-03-06 12:04:10 -06:00
2026-03-05 16:39:05 -06:00
2026-01-10 17:51:56 -06:00

Reticulum MeshChatX

Русский | Deutsch | Italiano | 中文 | 日本語

A extensively modified and feature-rich fork of Reticulum MeshChat by Liam Cottle.

This project is independent from the original Reticulum MeshChat project and is not affiliated with it.

Important Notes

  • Uses LXST
  • Replaced Peewee ORM with raw SQL.

Warning

MeshChatX is not guaranteed to be wire/data compatible with older Reticulum MeshChat releases. Back up data before migration/testing.

Warning

Legacy systems are not fully supported yet. Current baseline is Python >=3.11 and Node >=24.

Demo And Screenshots

UI Previews

Phone Network Visualiser Archives Identities

Requirements

  • Python >=3.11 (from pyproject.toml)
  • Node.js >=24 (from package.json)
  • pnpm 10.30.0 (from package.json)
  • Poetry (used by Taskfile.yml and CI workflows)

Nix (flake.nix)

This repo includes a Nix flake at flake.nix.

Enter the dev shell

nix develop

The flake dev shell provides Python, Poetry, Node, pnpm, Task, packaging tools (rpm, dpkg, fakeroot), Android build tools, and Docker tooling.

Build the default Nix package

nix build .#default

Typical workflow inside nix develop

task install
task lint:all
task test:all
task build:all

Install Methods

Use the method that matches your environment and packaging preference.

Method Includes frontend assets Architectures Best for
Docker image Yes linux/amd64, linux/arm64 Fastest setup on Linux servers/hosts
Python wheel (.whl) Yes Any Python-supported architecture Headless/web-server install without Node build
Linux AppImage Yes x64, arm64 Portable desktop use
Debian package (.deb) Yes x64, arm64 Debian/Ubuntu installs
RPM package (.rpm) Yes CI-runner dependent for published artifact Fedora/RHEL/openSUSE style systems
From source Built locally Host architecture Development and custom builds

Notes:

  • The release workflow explicitly builds Linux x64 and arm64 AppImage + DEB.
  • RPM is also attempted by release workflow and uploaded when produced.

Quick Start: Docker

docker compose up -d

Default compose file maps:

  • 127.0.0.1:8000 on host -> container port 8000
  • ./meshchat-config -> /config for persistence

If your local meshchat-config permissions block writes, fix ownership:

sudo chown -R 1000:1000 ./meshchat-config

Install from Release Artifacts

1) Linux AppImage (x64/arm64)

  1. Download ReticulumMeshChatX-v<version>-linux-<arch>.AppImage from releases.
  2. Make it executable and run:
chmod +x ./ReticulumMeshChatX-v*-linux-*.AppImage
./ReticulumMeshChatX-v*-linux-*.AppImage

2) Debian/Ubuntu .deb (x64/arm64)

  1. Download ReticulumMeshChatX-v<version>-linux-<arch>.deb.
  2. Install:
sudo apt install ./ReticulumMeshChatX-v*-linux-*.deb

3) RPM-based systems

  1. Download ReticulumMeshChatX-v<version>-linux-<arch>.rpm if present in the release.
  2. Install with your distro tool:
sudo rpm -Uvh ./ReticulumMeshChatX-v*-linux-*.rpm

4) Python wheel (.whl)

Release wheels include the built web assets.

pip install ./reticulum_meshchatx-*-py3-none-any.whl
meshchat --headless

pipx is also supported:

pipx install ./reticulum_meshchatx-*-py3-none-any.whl

Run from Source (Web Server Mode)

Use this when developing or when you need a local custom build.

git clone https://git.quad4.io/RNS-Things/MeshChatX.git
cd MeshChatX
corepack enable
pnpm install
pip install poetry
poetry install
pnpm run build-frontend
poetry run meshchat --headless --host 127.0.0.1

Build Desktop Packages from Source

These scripts are defined in package.json and Taskfile.yml.

Linux x64 AppImage + DEB

pnpm run dist:linux-x64

Linux arm64 AppImage + DEB

pnpm run dist:linux-arm64

RPM

pnpm run dist:rpm

Or through Task:

task dist:fe:rpm

Architecture Support Summary

  • Docker image: amd64, arm64
  • Linux AppImage: x64, arm64
  • Linux DEB: x64, arm64
  • Windows: x64, arm64 (build scripts available)
  • macOS: build scripts available (arm64, universal) for local build environments
  • Android: build workflow and Android project are present in this repository

Android

Use the dedicated docs:

Configuration

MeshChatX supports both CLI args and env vars.

Argument Environment Variable Default Description
--host MESHCHAT_HOST 127.0.0.1 Web server bind address
--port MESHCHAT_PORT 8000 Web server port
--no-https MESHCHAT_NO_HTTPS false Disable HTTPS
--headless MESHCHAT_HEADLESS false Do not auto-launch browser
--auth MESHCHAT_AUTH false Enable basic auth
--storage-dir MESHCHAT_STORAGE_DIR ./storage Data directory
--public-dir MESHCHAT_PUBLIC_DIR auto/bundled Frontend files directory (needed for source installs without bundled assets)

Development

Common tasks from Taskfile.yml:

task install
task lint:all
task test:all
task build:all

Versioning

Current version in this repo is 4.2.1.

  • package.json is the JavaScript/Electron version source.
  • meshchatx/src/version.py is synced from package.json using:
pnpm run version:sync

For release consistency, keep version fields aligned where required (package.json, pyproject.toml, meshchatx/__init__.py).

Security

Security and integrity details:

  • SECURITY.md
  • Built-in integrity checks and HTTPS/WSS defaults in app runtime
  • CI scanning workflows in .gitea/workflows/

Credits

Description
No description provided
Readme MIT 18 MiB
Languages
JavaScript 49.3%
Vue 26.7%
Python 21.8%
HTML 1.9%