feat(docs): update READMEs

This commit is contained in:
Ivan
2026-04-16 02:40:24 -05:00
parent b9bf4a10b3
commit 1034b1874c
7 changed files with 298 additions and 99 deletions
+37 -2
View File
@@ -193,11 +193,46 @@ task dist:fe:rpm
- 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: native APKs — ABIs `arm64-v8a`, `x86_64`, plus universal
## Android
Use the dedicated docs:
MeshChatX supports native Android APK builds (not only Termux).
### Build APKs from source
From repo root:
```bash
# 1) Build Chaquopy wheels used by android/app/build.gradle
bash scripts/build-android-wheels-local.sh
# 2) Build both APK variants
cd android
./gradlew --no-daemon :app:assembleDebug :app:assembleRelease
```
APK outputs (ABI splits plus a universal APK; see `splits { abi { ... } }` in `android/app/build.gradle`):
Debug (`android/app/build/outputs/apk/debug/`):
- `app-arm64-v8a-debug.apk` (ARM64 devices)
- `app-x86_64-debug.apk` (x86_64 emulators)
- `app-universal-debug.apk` (all bundled ABIs in one package)
Release (`android/app/build/outputs/apk/release/`):
- `app-arm64-v8a-release-unsigned.apk`
- `app-x86_64-release-unsigned.apk`
- `app-universal-release-unsigned.apk`
Notes:
- Release outputs are unsigned by default unless you configure signing.
- If you only need one variant, run `:app:assembleDebug` or `:app:assembleRelease`.
- Android targets `arm64-v8a` and `x86_64` ABIs as configured in `android/app/build.gradle`.
Additional docs:
- [`docs/meshchatx_on_android_with_termux.md`](docs/meshchatx_on_android_with_termux.md)
- [`android/README.md`](android/README.md)
+1 -82
View File
@@ -4,85 +4,4 @@ This directory contains the Android app build configuration using Chaquopy to em
## Architecture
The app uses a **WebView** to display the existing Vue.js frontend. The Python server runs in the background via Chaquopy and serves the web interface on `http://127.0.0.1:8000`.
**No Kotlin frontend needed** - we reuse the entire existing Vue.js web frontend!
## Prerequisites
- Android Studio (latest version)
- Android SDK with API level 24+ (Android 7.0+)
- Chaquopy license (free for open source projects, see https://chaquo.com/chaquopy/pricing/)
## Setup
1. **Initialize Gradle Wrapper** (if not already done):
```bash
task android-init
```
Or manually:
```bash
cd android
gradle wrapper --gradle-version 8.2
```
2. **Get Chaquopy License**:
- Sign up at https://chaquo.com/chaquopy/
- Add your license key to `android/local.properties`:
```
chaquopy.license=your-license-key-here
```
3. **Prepare Build**:
```bash
task android-prepare
```
This will:
- Build the frontend
- Copy the `meshchatx` package to `app/src/main/python/`
- Initialize Gradle wrapper if needed
## Building
### Using Task (Recommended)
```bash
# Build debug APK
task android-build
# Build release APK (requires signing config)
task android-build-release
```
### Using Gradle Directly
```bash
cd android
./gradlew assembleDebug
```
Or open the `android` directory in Android Studio and build from there.
## Configuration
The server is configured to:
- Run on `127.0.0.1:8000` (localhost only)
- Use HTTPS for local WebView access
- Run in headless mode (no browser launch)
## Notes
- The app requires network permissions for RNS/mesh networking
- Storage permissions are needed for identity and message storage
- The Python server runs in a background thread
- The WebView loads the Vue.js frontend after a 2-second delay to allow server startup
## Troubleshooting
- If the WebView shows a blank page, check logcat for Python errors
- Ensure all Python dependencies are listed in `app/build.gradle` chaquopy.pip block
- Some native dependencies (like RNS) may need additional configuration
The app uses a **WebView** to display the existing Vue.js frontend. The Python server runs in the background via Chaquopy and serves the web interface on `https://127.0.0.1:8000`.
+52 -3
View File
@@ -1,6 +1,6 @@
# Reticulum MeshChatX
[English README](../README.md) | [Русский](README.ru.md) | [Italiano](README.it.md) | [中文](README.zh.md) | [日本語](README.ja.md)
[English](../README.md) | [Русский](README.ru.md) | [Italiano](README.it.md) | [中文](README.zh.md) | [日本語](README.ja.md)
Ein umfassend modifizierter und funktionsreicher Fork von Reticulum MeshChat von Liam Cottle.
@@ -146,6 +146,18 @@ Um das native `meshchatx`-Programm (Alias: `meshchat`) mit zusaetzlicher Dateisy
Dieselbe Seite erscheint in der in-app-**Dokumentation** (MeshChatX-Docs), wenn sie aus den gebuendelten oder synchronisierten `meshchatx-docs`-Dateien ausgeliefert wird.
## Linux-Desktop: Emoji-Schriften
Die Emoji-Auswahl rendert Standard-Unicode-Emoji mit den Systemschriften (Electron/Chromium). Wenn Emoji als leere Kaestchen („Tofu“) erscheinen, installieren Sie ein Farb-Emoji-Paket und starten Sie die App neu.
| Distribution (Beispiele) | Paket |
| ---------------------------- | --------------------------------------------------------------------- |
| Arch Linux, Artix, Manjaro | `noto-fonts-emoji` (`sudo pacman -S noto-fonts-emoji`) |
| Debian, Ubuntu | `fonts-noto-color-emoji` (`sudo apt install fonts-noto-color-emoji`) |
| Fedora | `google-noto-emoji-color-fonts` |
Nach der Installation bei Bedarf `fc-cache -fv` ausfuehren. Optional: `noto-fonts` fuer breitere Symbolabdeckung bei minimalen Installationen.
## Desktop-Pakete aus Quellcode bauen
Diese Skripte sind in `package.json` und `Taskfile.yml` definiert.
@@ -176,15 +188,52 @@ task dist:fe:rpm
## Architekturunterstuetzung
- Docker: `amd64`, `arm64`
- Docker-Image: `amd64`, `arm64`
- Linux AppImage: `x64`, `arm64`
- Linux DEB: `x64`, `arm64`
- Windows: `x64`, `arm64` (Build-Skripte vorhanden)
- macOS: Build-Skripte vorhanden (`arm64`, `universal`) fuer lokale Build-Umgebungen
- Android: Projekt und CI-Workflow im Repository enthalten
- Android: native APKs — ABIs `arm64-v8a`, `x86_64`, plus universal
## Android
MeshChatX unterstuetzt native Android-APK-Builds (nicht nur Termux).
### APKs aus Quellcode bauen
Vom Repository-Root:
```bash
# 1) Chaquopy-Wheels gemaess android/app/build.gradle bauen
bash scripts/build-android-wheels-local.sh
# 2) Beide APK-Varianten bauen
cd android
./gradlew --no-daemon :app:assembleDebug :app:assembleRelease
```
APK-Ausgaben (ABI-Splits plus universelles APK; siehe `splits { abi { ... } }` in `android/app/build.gradle`):
Debug (`android/app/build/outputs/apk/debug/`):
- `app-arm64-v8a-debug.apk` (ARM64-Geraete)
- `app-x86_64-debug.apk` (x86_64-Emulatoren)
- `app-universal-debug.apk` (alle gebundelten ABIs in einem Paket)
Release (`android/app/build/outputs/apk/release/`):
- `app-arm64-v8a-release-unsigned.apk`
- `app-x86_64-release-unsigned.apk`
- `app-universal-release-unsigned.apk`
Hinweise:
- Release-Ausgaben sind standardmaessig unsigniert, sofern keine Signatur konfiguriert ist.
- Wenn nur eine Variante noetig ist: `:app:assembleDebug` oder `:app:assembleRelease`.
- Android zielt auf die ABIs `arm64-v8a` und `x86_64` gemaess `android/app/build.gradle`.
Weitere Dokumentation:
- [`docs/meshchatx_on_android_with_termux.md`](../docs/meshchatx_on_android_with_termux.md)
- [`android/README.md`](../android/README.md)
+52 -3
View File
@@ -1,6 +1,6 @@
# Reticulum MeshChatX
[English README](../README.md) | [Deutsch](README.de.md) | [Русский](README.ru.md) | [中文](README.zh.md) | [日本語](README.ja.md)
[English](../README.md) | [Deutsch](README.de.md) | [Русский](README.ru.md) | [中文](README.zh.md) | [日本語](README.ja.md)
Un fork ampiamente modificato e ricco di funzionalita di Reticulum MeshChat di Liam Cottle.
@@ -146,6 +146,18 @@ Per eseguire il binario nativo `meshchatx` (alias: `meshchat`) con isolamento ag
La stessa pagina compare nell'elenco **Documentazione** in-app (documentazione MeshChatX) quando viene servita dai file `meshchatx-docs` inclusi o sincronizzati.
## Desktop Linux: font emoji
Il selettore emoji mostra gli emoji Unicode standard usando i font di sistema (Electron/Chromium). Se compaiono quadrati vuoti ("tofu"), installate un pacchetto emoji a colori e riavviate l'app.
| Famiglia (esempi) | Pacchetto |
| -------------------------- | ------------------------------------------------------------------------- |
| Arch Linux, Artix, Manjaro | `noto-fonts-emoji` (`sudo pacman -S noto-fonts-emoji`) |
| Debian, Ubuntu | `fonts-noto-color-emoji` (`sudo apt install fonts-noto-color-emoji`) |
| Fedora | `google-noto-emoji-color-fonts` |
Dopo l'installazione, eseguite `fc-cache -fv` se i glifi non compaiono fino al prossimo accesso. Opzionale: `noto-fonts` per una copertura simboli più ampia su installazioni minime.
## Compilazione pacchetti desktop da sorgente
Gli script sono definiti in `package.json` e `Taskfile.yml`.
@@ -176,15 +188,52 @@ task dist:fe:rpm
## Supporto architetture
- Docker: `amd64`, `arm64`
- Immagine Docker: `amd64`, `arm64`
- Linux AppImage: `x64`, `arm64`
- Linux DEB: `x64`, `arm64`
- Windows: `x64`, `arm64` (script di build disponibili)
- macOS: script di build disponibili (`arm64`, `universal`) per ambienti di build locali
- Android: progetto e workflow CI presenti nel repository
- Android: APK nativi — `arm64-v8a`, `x86_64`, universale
## Android
MeshChatX supporta build APK Android native (non solo Termux).
### Build APK da sorgente
Dalla root del repository:
```bash
# 1) Build delle wheel Chaquopy usate da android/app/build.gradle
bash scripts/build-android-wheels-local.sh
# 2) Build di entrambe le varianti APK
cd android
./gradlew --no-daemon :app:assembleDebug :app:assembleRelease
```
Output APK (split degli ABI e APK universale; vedere `splits { abi { ... } }` in `android/app/build.gradle`):
Debug (`android/app/build/outputs/apk/debug/`):
- `app-arm64-v8a-debug.apk` (dispositivi ARM64)
- `app-x86_64-debug.apk` (emulatori x86_64)
- `app-universal-debug.apk` (tutti gli ABI inclusi in un unico pacchetto)
Release (`android/app/build/outputs/apk/release/`):
- `app-arm64-v8a-release-unsigned.apk`
- `app-x86_64-release-unsigned.apk`
- `app-universal-release-unsigned.apk`
Note:
- Gli output release sono non firmati di default se non configurate le firme.
- Se serve una sola variante: `:app:assembleDebug` o `:app:assembleRelease`.
- Android punta agli ABI `arm64-v8a` e `x86_64` come in `android/app/build.gradle`.
Documentazione aggiuntiva:
- [`docs/meshchatx_on_android_with_termux.md`](../docs/meshchatx_on_android_with_termux.md)
- [`android/README.md`](../android/README.md)
+52 -3
View File
@@ -1,6 +1,6 @@
# Reticulum MeshChatX
[English README](../README.md) | [Deutsch](README.de.md) | [Italiano](README.it.md) | [Русский](README.ru.md) | [中文](README.zh.md)
[English](../README.md) | [Deutsch](README.de.md) | [Italiano](README.it.md) | [Русский](README.ru.md) | [中文](README.zh.md)
Liam Cottle 氏による Reticulum MeshChat を大幅に改修・機能拡張したフォークです。
@@ -146,6 +146,18 @@ poetry run python -m meshchatx.meshchat --headless --host 127.0.0.1
同梱または同期された `meshchatx-docs` から配信される場合、アプリ内の **ドキュメント**(MeshChatX ドキュメント)一覧にも同じページが表示されます。
## Linux デスクトップ: 絵文字フォント
絵文字ピッカーはシステムフォント(Electron/Chromium)で標準 Unicode 絵文字を描画します。絵文字が空の四角(「豆腐」)になる場合はカラー絵文字パッケージをインストールし、アプリを再起動してください。
| ディストリビューション(例) | パッケージ |
| ---------------------------- | ---------- |
| Arch Linux, Artix, Manjaro | `noto-fonts-emoji``sudo pacman -S noto-fonts-emoji` |
| Debian, Ubuntu | `fonts-noto-color-emoji``sudo apt install fonts-noto-color-emoji` |
| Fedora | `google-noto-emoji-color-fonts` |
インストール後も表示されない場合は `fc-cache -fv` を実行してください。最小インストールでは記号の網羅用に `noto-fonts` も任意で入れてください。
## ソースからのデスクトップパッケージビルド
スクリプトは `package.json``Taskfile.yml` に定義されています。
@@ -176,15 +188,52 @@ task dist:fe:rpm
## アーキテクチャサポート
- Docker: `amd64`, `arm64`
- Docker イメージ: `amd64`, `arm64`
- Linux AppImage: `x64`, `arm64`
- Linux DEB: `x64`, `arm64`
- Windows: `x64`, `arm64`(ビルドスクリプトあり)
- macOS: ローカルビルド向けにビルドスクリプトあり(`arm64`, `universal`
- Android: リポジトリにプロジェクトと CI ワークフローあり
- Android: ネイティブ APK — ABI `arm64-v8a``x86_64`、および universal
## Android
MeshChatX はネイティブ Android APK のビルドに対応しています(Termux のみに限りません)。
### ソースから APK をビルド
リポジトリのルートで:
```bash
# 1) android/app/build.gradle で使う Chaquopy 用ホイールをビルド
bash scripts/build-android-wheels-local.sh
# 2) 両方の APK バリアントをビルド
cd android
./gradlew --no-daemon :app:assembleDebug :app:assembleRelease
```
APK の出力(ABI 分割と universal APK。`android/app/build.gradle``splits { abi { ... } }` を参照):
デバッグ(`android/app/build/outputs/apk/debug/`:
- `app-arm64-v8a-debug.apk`ARM64 端末)
- `app-x86_64-debug.apk`x86_64 エミュレータ)
- `app-universal-debug.apk`(同梱 ABI を 1 パッケージに)
リリース(`android/app/build/outputs/apk/release/`:
- `app-arm64-v8a-release-unsigned.apk`
- `app-x86_64-release-unsigned.apk`
- `app-universal-release-unsigned.apk`
備考:
- リリース出力は署名を設定しない限りデフォルトで未署名です。
- どちらか一方でよい場合は `:app:assembleDebug` または `:app:assembleRelease`
- Android の対象 ABI は `android/app/build.gradle` で設定されている `arm64-v8a``x86_64` です。
追加ドキュメント:
- [`docs/meshchatx_on_android_with_termux.md`](../docs/meshchatx_on_android_with_termux.md)
- [`android/README.md`](../android/README.md)
+52 -3
View File
@@ -1,6 +1,6 @@
# Reticulum MeshChatX
[English README](../README.md) | [Deutsch](README.de.md) | [Italiano](README.it.md) | [中文](README.zh.md) | [日本語](README.ja.md)
[English](../README.md) | [Deutsch](README.de.md) | [Italiano](README.it.md) | [中文](README.zh.md) | [日本語](README.ja.md)
Существенно доработанный и функционально расширенный форк Reticulum MeshChat от Liam Cottle.
@@ -146,6 +146,18 @@ poetry run python -m meshchatx.meshchat --headless --host 127.0.0.1
Та же страница отображается во встроенной **Документации** (документация MeshChatX), когда она отдаётся из `meshchatx-docs`.
## Linux на ПК: шрифты эмодзи
Выбор эмодзи отображает стандартные Unicode-эмодзи системными шрифтами (Electron/Chromium). Если вместо них пустые квадраты («тофу»), установите пакет цветных эмодзи и перезапустите приложение.
| Семейство (примеры) | Пакет |
| -------------------------- | ----- |
| Arch Linux, Artix, Manjaro | `noto-fonts-emoji` (`sudo pacman -S noto-fonts-emoji`) |
| Debian, Ubuntu | `fonts-noto-color-emoji` (`sudo apt install fonts-noto-color-emoji`) |
| Fedora | `google-noto-emoji-color-fonts` |
После установки при необходимости выполните `fc-cache -fv`. Опционально: `noto-fonts` для лучшего покрытия символов на минимальных установках.
## Сборка настольных пакетов из исходников
Скрипты заданы в `package.json` и `Taskfile.yml`.
@@ -176,15 +188,52 @@ task dist:fe:rpm
## Поддержка архитектур
- Docker: `amd64`, `arm64`
- Образ Docker: `amd64`, `arm64`
- Linux AppImage: `x64`, `arm64`
- Linux DEB: `x64`, `arm64`
- Windows: `x64`, `arm64` (скрипты сборки есть)
- macOS: скрипты сборки (`arm64`, `universal`) для локальных сред
- Android: проект и CI в репозитории
- Android: нативные APK — ABI `arm64-v8a`, `x86_64`, плюс universal
## Android
MeshChatX поддерживает нативные Android APK (не только Termux).
### Сборка APK из исходников
Из корня репозитория:
```bash
# 1) Собрать колёса Chaquopy для android/app/build.gradle
bash scripts/build-android-wheels-local.sh
# 2) Собрать обе вариации APK
cd android
./gradlew --no-daemon :app:assembleDebug :app:assembleRelease
```
Выходные APK (разбиение по ABI и универсальный APK; см. `splits { abi { ... } }` в `android/app/build.gradle`):
Отладка (`android/app/build/outputs/apk/debug/`):
- `app-arm64-v8a-debug.apk` (устройства ARM64)
- `app-x86_64-debug.apk` (эмуляторы x86_64)
- `app-universal-debug.apk` (все включённые ABI в одном пакете)
Релиз (`android/app/build/outputs/apk/release/`):
- `app-arm64-v8a-release-unsigned.apk`
- `app-x86_64-release-unsigned.apk`
- `app-universal-release-unsigned.apk`
Примечания:
- Релизные артефакты по умолчанию не подписаны, если не настроена подпись.
- Если нужна одна вариация: `:app:assembleDebug` или `:app:assembleRelease`.
- Целевые ABI — `arm64-v8a` и `x86_64` согласно `android/app/build.gradle`.
Дополнительная документация:
- [`docs/meshchatx_on_android_with_termux.md`](../docs/meshchatx_on_android_with_termux.md)
- [`android/README.md`](../android/README.md)
+52 -3
View File
@@ -1,6 +1,6 @@
# Reticulum MeshChatX
[English README](../README.md) | [Deutsch](README.de.md) | [Italiano](README.it.md) | [Русский](README.ru.md) | [日本語](README.ja.md)
[English](../README.md) | [Deutsch](README.de.md) | [Italiano](README.it.md) | [Русский](README.ru.md) | [日本語](README.ja.md)
Liam Cottle 开发的 Reticulum MeshChat 的一个功能丰富的深度修改分支。
@@ -146,6 +146,18 @@ poetry run python -m meshchatx.meshchat --headless --host 127.0.0.1
在提供已捆绑或已同步的 `meshchatx-docs` 时,应用内 **文档**(MeshChatX 文档)列表亦会显示同一页面。
## Linux 桌面:绘文字字体
绘文字选择器使用系统字体(Electron/Chromium)渲染标准 Unicode 绘文字。若显示为空白方框(“豆腐块”),请安装彩色绘文字字体包并重启应用。
| 发行版(示例) | 软件包 |
| ------------------------ | ------ |
| Arch Linux、Artix、Manjaro | `noto-fonts-emoji``sudo pacman -S noto-fonts-emoji` |
| Debian、Ubuntu | `fonts-noto-color-emoji``sudo apt install fonts-noto-color-emoji` |
| Fedora | `google-noto-emoji-color-fonts` |
安装后若仍异常,可运行 `fc-cache -fv`。可选:最小安装可再装 `noto-fonts` 以覆盖更多符号。
## 从源码构建桌面包
脚本定义于 `package.json``Taskfile.yml`
@@ -176,15 +188,52 @@ task dist:fe:rpm
## 架构支持
- Docker: `amd64`, `arm64`
- Docker 镜像: `amd64`, `arm64`
- Linux AppImage: `x64`, `arm64`
- Linux DEB: `x64`, `arm64`
- Windows: `x64`, `arm64`(提供构建脚本)
- macOS: 提供构建脚本(`arm64``universal`),适用于本地构建环境
- Android: 仓库内含项目与 CI 工作流
- Android: 原生 APK — ABI `arm64-v8a``x86_64` 与 universal
## Android
MeshChatX 支持构建原生 Android APK(不仅限于 Termux)。
### 从源码构建 APK
在仓库根目录执行:
```bash
# 1) 构建 android/app/build.gradle 所需的 Chaquopy 轮子
bash scripts/build-android-wheels-local.sh
# 2) 构建两种 APK 变体
cd android
./gradlew --no-daemon :app:assembleDebug :app:assembleRelease
```
APK 输出(ABI 分包与 universal APK;见 `android/app/build.gradle` 中的 `splits { abi { ... } }`:
调试(`android/app/build/outputs/apk/debug/`:
- `app-arm64-v8a-debug.apk`ARM64 设备)
- `app-x86_64-debug.apk`x86_64 模拟器)
- `app-universal-debug.apk`(所有已打包 ABI 的单包)
发布(`android/app/build/outputs/apk/release/`:
- `app-arm64-v8a-release-unsigned.apk`
- `app-x86_64-release-unsigned.apk`
- `app-universal-release-unsigned.apk`
说明:
- 若未配置签名,发布构建默认未签名。
- 若只需一种变体,可运行 `:app:assembleDebug``:app:assembleRelease`
- Android 目标 ABI 为 `android/app/build.gradle` 中配置的 `arm64-v8a``x86_64`
更多文档:
- [`docs/meshchatx_on_android_with_termux.md`](../docs/meshchatx_on_android_with_termux.md)
- [`android/README.md`](../android/README.md)