Files
mc-webui/requirements.txt
T
MarekWo ca2a6bacf9 feat(repeaters): My Repeaters panel (stage 1)
New full-screen panel (main menu / FAB) for repeater administration:
- repeaters table (saved per-pubkey admin password, login metadata);
  plaintext per observer_brokers precedent (single-user LAN app)
- REST /api/repeaters: list merged with device contact truth, add
  (device REP contacts only), set/clear password, remove, login
- device_manager: _repeater_lock serializes all repeater ops (companion
  firmware has a single pending-request slot); repeater_login now
  filters LOGIN_SUCCESS by pubkey_prefix and captures is_admin/
  permissions into an in-memory session store
- login timeout UX: wrong password and unreachable repeater are
  indistinguishable (firmware stays silent) - error message names both
- panel UI: add-picker, password modal (remembered password), per-
  repeater path editor reusing /api/contacts/<pk>/paths + Leaflet
  repeater map picker (adapted from the DM panel)
- meshcore pin bumped to >=2.3.7 (send_login_sync era API, fixed
  LOGIN_SUCCESS/LOGIN_FAILED parsing; container already ships 2.3.7)

Stage 2 (management panel with Status/Telemetry/Neighbors/CLI/
Settings/Actions tools) follows after user review.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 22:55:44 +02:00

39 lines
760 B
Plaintext

# mc-webui Python Dependencies
# Web Framework
Flask==3.0.0
Werkzeug==3.0.1
# WSGI Server for production
gunicorn==21.2.0
# Configuration
python-dotenv==1.0.0
# Scheduled Tasks
APScheduler==3.10.4
# Date/Time Utilities
python-dateutil==2.8.2
# QR Code Generation
qrcode==7.4.2
Pillow==10.1.0
# HTTP Client for MeshCore Bridge communication
requests==2.31.0
# Cryptography for pkt_payload computation (AES-128-ECB)
pycryptodome==3.21.0
# WebSocket support for console (threading mode - no gevent needed)
flask-socketio==5.3.6
# Observer: MQTT packet publishing (meshcore-packet-capture compatible)
paho-mqtt==2.1.0
python-socketio==5.10.0
python-engineio==4.8.1
# v2: Direct MeshCore device communication (replaces bridge subprocess)
meshcore>=2.3.7