Files
reticulum-meshchatX/README.md
2025-12-01 00:07:30 -06:00

2.7 KiB

Reticulum MeshChatX

A heavily customized fork of Reticulum MeshChat, any meaningful, stable and tested modifications will be submitted as a PR upstream.

Features of this fork

  • Custom UI/UX (actively being improved)
  • Ability to set inbound and propagation node stamps.
  • Better config parsing.
  • Cancel page fetching or file downloads
  • Block receiving messages from users.
  • Spam filter (based on keywords)
  • Multi-identity support.
  • Multi-language support
  • Offline Reticulum documentation tool
  • More tools (translate, LoRa calculator, LXMFy bots, etc)
  • Codebase reorganization and cleanup.
  • Tests and proper CI/CD pipeline.
  • RNS hot reload
  • Backup/Import identities, messages and interfaces.
  • Full LXST support.
  • Poetry for packaging and dependency management.
  • More stats on about page.
  • Actions are pinned to full-length SHA hashes.
  • Docker images are smaller and use SHA256 hashes for the images.
  • Electron improvements (ASAR and security).
  • Latest updates for NPM and Python dependencies (bleeding edge)
  • Numerous Ruff, Deepsource, CodeQL Advanced and Bearer Linting/SAST fixes.
  • Some performance improvements.

Usage

Check releases for pre-built binaries or appimages.

Building

make install   # installs Python deps via Poetry and Node deps via npm
make build

You can run make run or make develop (a thin alias) to start the backend + frontend loop locally through poetry run meshchat.

Python packaging

The Python build is driven entirely by Poetry now. Run python scripts/sync_version.py or make sync-version before packaging so pyproject.toml and src/version.py match package.json. After that:

python -m poetry install
make wheel  # produces a wheel in python-dist/ that bundles the public assets

The wheel includes the frontend public/ assets, logo/, and the CLI entry point, and python-dist/ keeps the artifact separate from the Electron dist/ output.

Building in Docker

make docker-build

The Electron build artifacts will still live under dist/ for releases.

Python packaging

The backend now provides pyproject.toml so you can build/install a wheel with pip install . or python -m build. Before packaging, run python3 scripts/sync_version.py (or make sync-version) so the generated src/version.py reflects the package.json version that the Electron artifacts use. The same version helper drives meshchat.get_app_version() and setup.py, so the CLI release metadata, wheel and AppImage/NSIS bundles stay aligned.