Commit Graph

261 Commits

Author SHA1 Message Date
Lloyd b5feead308 Merge feat/dmg into dev with feat/dmg changes taking precedence 2026-01-08 13:51:46 +00:00
Lloyd 6a861c1e37 Add .pybuild/ and */_version.py to .gitignore 2026-01-08 13:51:04 +00:00
Lloyd 1a527c761f feat: Refactor LetsMesh handler to use LocalIdentity for key management 2026-01-08 09:11:45 +00:00
Lloyd 1b45060e13 Update key retrieval method in StorageCollector to support both standard and firmware keys 2026-01-08 08:52:02 +00:00
Lloyd 4011a6b25e Add light mode to ui 2026-01-07 23:05:54 +00:00
Lloyd c98b653261 nstallation and upgrade process to include setuptools_scm version generation 2026-01-07 22:05:42 +00:00
Lloyd fad5958d9c feat: Update address calculation to use first byte of public key for MeshCore 2026-01-07 21:46:57 +00:00
Lloyd 1bd3b6c382 feat: Add prompt to restart pymc-repeater service after key import 2026-01-07 21:23:22 +00:00
Lloyd 19e5d1c775 feat: Update convert_firmware_key.sh to import 64-byte key into config.yaml 2026-01-07 21:19:26 +00:00
Lloyd 88948d1e22 Add script to convert MeshCore firmware key to pyMC_Repeater seed format 2026-01-07 15:41:57 +00:00
Lloyd 91dccb72d5 feat: Update version retrieval to prioritize _version.py 2026-01-07 13:48:00 +00:00
Lloyd 1d45ebf8f3 Generate version file using setuptools_scm during install and upgrade processes + fix missing json file 2026-01-07 13:35:54 +00:00
Lloyd 4c7e8e5a46 version handling in management script and update pyproject.toml 2026-01-06 17:28:48 +00:00
Lloyd 02bc44556b feat: Fetch latest git tags before Python package installation 2026-01-06 17:15:14 +00:00
Lloyd 0f07c2a61f feat: Update version scheme in setuptools_scm to guess-next-dev 1.0.5 2026-01-06 16:36:34 +00:00
Lloyd 32ce1ff698 Add configurable JWT token expiry and WebSocket transport support for MQTT 2026-01-05 16:50:15 +00:00
Lloyd 5a7ef14634 feat: Update .gitignore to include additional configuration and log files 2026-01-05 14:53:02 +00:00
Lloyd 357be79614 feat: Remove obsolete .pydistutils.cfg configuration file 2026-01-05 14:52:56 +00:00
Lloyd 3011706102 feat: Update hardware and presets file loading to check installed location first 2026-01-05 10:57:40 +00:00
Lloyd dfe4adad1c feat: Enhance MQTT configuration with TLS/SSL support and update logging 2026-01-05 10:47:14 +00:00
Lloyd 0e8df60764 HTTPStatsServer to use SQLiteHandler for token management 2026-01-05 10:04:26 +00:00
Lloyd acb687e0b4 Merge pull request #50 from ppicazo/cherrypicazo
Cherry pick fix from dev
2026-01-05 09:47:39 +00:00
Paul Picazo 9288e070aa fix: Add missing Dict, Any import to sqlite_handler.py 2026-01-03 14:47:37 -08:00
Paul Picazo 942d4dfe28 Enhance advert storage logic: prioritize direct routes and handle zero-hop measurements
Refactor packet processing: use processed_packet for forwarding and drop reason checks

Fix: Update zero-hop determination logic in AdvertHelper

Fix: Clone packet in process_packet to prevent modification of the original

Fix: Import copy module for deep copying of packets in process_packet
2026-01-03 14:35:30 -08:00
Lloyd c34cc4c701 Merge pull request #49 from ppicazo/packet_processing_fixes 2026-01-03 22:16:28 +00:00
Paul Picazo 509abdd31f Enhance advert storage logic: prioritize direct routes and handle zero-hop measurements
Refactor packet processing: use processed_packet for forwarding and drop reason checks

Fix: Update zero-hop determination logic in AdvertHelper

Fix: Clone packet in process_packet to prevent modification of the original

Fix: Import copy module for deep copying of packets in process_packet
2026-01-03 13:46:20 -08:00
Lloyd 75c4967bd6 feat: Add authentication handlers to HTTPStatsServer configuration 2026-01-02 17:23:21 +00:00
Lloyd 8d14b93874 feat: Update HTML directory configuration to handle missing web_path gracefully 2026-01-02 16:39:14 +00:00
Lloyd 8b8edb9929 add pymc console endpoints and ui 2026-01-02 16:35:18 +00:00
Lloyd 7d4a779939 feat: Enhance filtered_packets endpoint to support additional query parameters for improved packet filtering 2026-01-02 11:01:01 +00:00
Lloyd 2ba7be974d feat: Add CORS support for OPTIONS requests in filtered_packets endpoint 2026-01-02 10:40:32 +00:00
Lloyd c45fb6ba55 Update pymc_core dependency to use dev branch for testing 2026-01-01 23:12:36 +00:00
Stu Campbell 12b750a476 Fix systemd service file format
- Changed multiline comment to # for systemd compliance
- Changed MemoryLimit to MemoryHigh (current standard)

Co-authored-by: Stu Campbell <stucampbell.git@gmail.com>
2026-01-01 22:43:36 +00:00
Lloyd 734b59dc3c fix: Update hardware and radio presets file paths for improved accessibility 2026-01-01 22:37:41 +00:00
Lloyd 6fdad00933 feat: Enhance authentication and logging in API endpoints and HTTP server 2025-12-30 23:01:35 +00:00
Lloyd b6f30d59e1 fix: Remove sudo from systemctl command for service restart 2025-12-30 22:37:47 +00:00
Lloyd c24c39eab2 fix: Update directory names and permissions in post-install script 2025-12-30 22:34:28 +00:00
Lloyd a70d692546 Fix: Reload systemd before starting the service in install and upgrade functions 2025-12-30 17:10:53 +00:00
Lloyd 48076f0c32 Fix: Update pip installation command to use python3 -m and correct package name 2025-12-30 16:42:33 +00:00
Lloyd f0c2d02400 Update README and scripts for clarity and support; change version to 1.0.5 2025-12-30 16:29:17 +00:00
Lloyd 3dfddf4aa8 Fix: Make assets directory optional for http_server 2025-12-30 15:34:30 +00:00
Lloyd 59a151f382 Add build scripts and setup for pyMC_Repeater
- Implemented build-dev.sh for creating development .deb packages from untagged commits.
- Implemented build-prod.sh for creating production .deb packages from tagged commits, including checks for a clean git state.
- Added setup-build-env.sh to automate the installation of required build dependencies for Debian/Ubuntu.
- Created setup.py to manage package setup using setuptools with versioning from git tags.
2025-12-30 15:17:48 +00:00
Lloyd 7112da98c2 feat: Add authentication endpoints and JWT support
- Implemented JWT authentication with auto-generated secret if not provided.
- Added API token management functionality.
- Created authentication endpoints for login, token refresh, verification, and password change.
- Introduced API documentation endpoints for Swagger UI and OpenAPI spec.
- Enhanced CORS support for API and documentation endpoints.
- Updated OpenAPI specification to include new authentication and system endpoints.
2025-12-30 00:10:48 +00:00
Lloyd 98b425f444 added CLI 2025-12-29 14:37:54 +00:00
Lloyd c91b06c7b0 Merge pull request #36 from dmduran12/feat/console-api-extensions
Feat/console api extensions
2025-12-29 11:06:07 +00:00
Lloyd d417fed51a feat(api): Enable CORS for multiple API endpoints 2025-12-29 11:05:27 +00:00
dmduran12 2ab4a62011 feat(api): Add POST /api/update_radio_config endpoint
Adds a new endpoint to update radio and repeater configuration via HTTP API,
supporting both persisted storage and live in-memory updates.

Supported settings:
- Radio: tx_power (2-30 dBm)
- Delays: tx_delay_factor, direct_tx_delay_factor, rx_delay_base
- Repeater: node_name, latitude, longitude, max_flood_hops,
  flood_advert_interval_hours, advert_interval_minutes

Features:
- Validates all input parameters with appropriate ranges
- Saves to config.yaml for persistence
- Updates daemon's in-memory config for immediate effect (no restart needed)
- Returns live_update status so clients know if restart is required

This enables web dashboards like pyMC Console to configure the repeater
without requiring SSH access or service restarts for most settings.

Co-Authored-By: Warp <agent@warp.dev>
2025-12-27 19:47:49 -08:00
dmduran12 e74e062fe5 feat(api): Expose additional config values in /api/stats
Adds the following fields to the stats API response for MeshCore CLI parity:

- config.repeater.max_flood_hops: Max flood hops setting (for 'get flood.max')
- config.repeater.advert_interval_minutes: Local advert interval (for 'get advert.interval')
- config.delays.rx_delay_base: RX delay base setting (for 'get rxdelay')

These fields are already present in config.yaml but were not exposed via the
stats API, making them inaccessible to web dashboards and CLI tools that
communicate over HTTP.

This enables pyMC Console's Terminal to display these values without
requiring direct config file access.

Co-Authored-By: Warp <agent@warp.dev>
2025-12-27 19:46:29 -08:00
Lloyd fbe4e4e2bc bug:Skip already-evicted clients during eviction checks in RoomServer 2025-12-22 13:23:34 +00:00
Lloyd 32e13cb40e Enhance LetsMesh broker configuration and connection management
- Added detailed comments and examples for broker selection in config.yaml
- Refactored letsmesh_handler.py to support multiple broker connections
- Implemented connection lifecycle management for individual brokers
- Improved JWT token handling and publishing across all connected brokers
2025-12-22 13:08:30 +00:00