Commit Graph

62 Commits

Author SHA1 Message Date
Lloyd 9d971d03b7 UI fix for air time 2026-04-11 21:14:39 +01:00
Lloyd 19e0f5d3dd build: update bundled web UI assets
Rebuilt from pyMC-RepeaterUI dev branch — includes unscoped flood policy
UI changes (rename from global flood, updated API endpoint and labels).
2026-04-09 09:16:43 +01:00
Lloyd a92708f9d5 update UI to reflect keygen changes 2026-03-27 12:36:25 +00:00
Lloyd 50c19be498 Add gen tool for repeater prefix 2026-03-27 12:17:35 +00:00
Lloyd f5dbd83cda feat: add backup and restore and DB man 2026-03-27 11:15:53 +00:00
Lloyd 7fcad04f49 feat: enhance graceful shutdown handling in RepeaterDaemon and improve stale dist-info cleanup with sudo support 2026-03-24 10:02:43 +00:00
Lloyd 7d73ca0df6 show full path hop hex and normalize case for traces and add new config observer UI 2026-03-22 22:52:16 +00:00
Lloyd 55fe9feddd feat: add useSignalQuality utility for signal strength evaluation 2026-03-22 22:26:18 +00:00
Lloyd ddaa62fa9e update UI with extra modes monitor/forward/no tx 2026-03-16 10:17:07 +00:00
Lloyd 810743fbf2 fix setup race between service restart and login redirect. 2026-03-13 09:15:28 +00:00
Lloyd 07c6f14b4b Merge branch 'feat/companion' into dev-companion-v2-cleanup 2026-03-13 09:07:34 +00:00
Lloyd d40f39fa87 add seed ui 2026-03-13 09:06:57 +00:00
agessaman 985e0c829f Add companion identity handling and statistics tracking for ACL endpoints. 2026-03-12 20:57:13 -07:00
agessaman 9326868f6e Implement contact import functionality for companions
- Added `companion_import_repeater_contacts` method in `SQLiteHandler` to import repeater adverts into a companion's contact store, with options for filtering by contact types, last seen hours, and import limits.
- Introduced `_get_sqlite_handler` method in `CompanionAPIEndpoints` to ensure the SQLite handler is available for contact import operations.
- Created `import_repeater_contacts` endpoint to handle POST requests for importing contacts, validating input parameters, and returning the count of successfully imported contacts.
- Updated the frontend to reflect changes in the contact import process, ensuring a seamless user experience.
2026-03-12 15:39:04 -07:00
Lloyd bc19c0fd9b update UI for web updater 2026-03-11 15:54:45 +00:00
Lloyd 596c96d1f4 Extend test to: serialization/deserialization with multi-byte paths
- Functionality of Packet.apply_path_hash_mode and get_path_hashes
- Engine flood_forward and direct_forward with real multi-byte encoded packets
- PacketBuilder.create_trace payload structure and TraceHandler parsing
- Enforcement of max-hop boundaries per hash size
2026-03-11 14:23:29 +00:00
Lloyd 362a477cdd exted multibyte to ping api 2026-03-11 11:00:49 +00:00
Lloyd 6c3252e51c fix letmesh logging typo 2026-03-10 13:55:35 +00:00
Lloyd e5e2006bbe update ui to include Github ratelimit warn 2026-03-10 12:50:51 +00:00
Lloyd c53e8034e6 update UI update process to attend restart 2026-03-10 12:33:30 +00:00
Lloyd 664f061bb9 update type check on web version state 2026-03-09 15:02:11 +00:00
Lloyd bf04439357 update UI with web installer 2026-03-09 14:57:58 +00:00
agessaman 3725d6eb21 Add path hash mode configuration and management
- Introduced `path_hash_mode` setting in `config.yaml.example` to specify the hash size for flood packets.
- Updated `ConfigManager` to re-apply the path hash mode when the mesh section changes, with validation for acceptable values (0, 1, 2).
- Enhanced `RepeaterDaemon` to set the default path hash mode during initialization, ensuring consistent handling of flood packets.
2026-03-07 13:57:46 -08:00
agessaman 0217a49ed2 Refactor RepeaterHandler path management and enhance packet validation
- Removed redundant call to mark_seen() for duplicate packets.
- Added validation to ensure hop count does not exceed the maximum limit before appending to the packet path.
- Updated logic to check for path size constraints when appending hash bytes, improving packet processing efficiency.
2026-03-05 16:52:43 -08:00
agessaman c150b9a9bf Merge upstream/feat/newRadios into dev-companion-v2-cleanup
- Keep our Vite-built assets and index.html script (index-DyUIpN7m.js)
- Remove upstream-only asset chunks and RoomServers-BxQ-0q-x.js
- README: keep two-backend intro, add upstream CAUTION/compatibility table
- manage.sh: keep dialog/gauge UX and .[hardware]; add CH341 udev, sudoers, libusb, polkit, silent upgrade
- sqlite_handler: add crc_errors table, index, and cleanup from upstream
- engine: add validate_packet and mark_seen in direct_forward; keep our path hash_size/hop_count logic
- advert: keep comment, use current_time = now
- api_endpoints: use restart_service() from service_utils
- config merge: strip user config comments before yq merge (upstream)

Made-with: Cursor
2026-03-05 16:43:14 -08:00
agessaman a6170f70ed Add public key to identity details and enhance companion configuration handling
- Updated IdentityManager to include public key in identity details when retrieving identities.
- Introduced a new method in RepeaterDaemon for adding companions from configuration, supporting hot-reload functionality.
- Enhanced error handling for companion registration, ensuring proper validation of identity keys and settings.
- Updated API endpoints to include configured companions in the response, improving visibility of companion status and configuration.
2026-03-05 16:26:50 -08:00
Lloyd c54efa3412 add side bar display of advert blocks etc 2026-03-05 12:56:01 +00:00
Lloyd 2b7d394938 add logging for tracking advert blocking 2026-03-05 11:26:40 +00:00
Lloyd 7eeba4d569 add debugs to advert settings 2026-03-05 11:13:44 +00:00
Lloyd d5e1b0e714 update stats display 2026-03-05 10:53:34 +00:00
Lloyd 4285023670 Implement adaptive advert rate limiting and configuration updates 2026-03-05 10:35:15 +00:00
Lloyd 1f14dcd9fc Ui Chnages for CRC display 2026-03-02 13:53:46 +00:00
agessaman c2f8a2e3cd refactor: companion FrameServer and related (substantive only, no Black)
Reapply refactor from ce8381a (replace monolithic FrameServer with thin
pymc_core subclass, re-export constants, SQLite persistence hooks) while
preserving pre-refactor whitespace where patch applied cleanly. Remaining
files match refactor commit exactly. Diff vs ce8381a is whitespace-only.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-21 15:35:47 -08:00
agessaman 878ff8dc51 Enhance configuration and setup for KISS modem support
- Added support for Meshcore KISS modem firmware in configuration, allowing users to set `radio_type: kiss` and configure serial port and baud rate.
- Updated `config.yaml.example` to include KISS modem settings.
- Modified `manage.sh` to install with hardware extras for KISS support.
- Enhanced `setup-radio-config.sh` to prompt for radio type and KISS modem settings.
- Updated API endpoints to handle KISS modem configurations and hardware options.
- Improved error handling for missing configuration sections.

This update improves flexibility for users utilizing KISS modems alongside SX1262 hardware.
2026-02-03 16:20:51 -08:00
Lloyd 267b8e2a1c fix setup fields 2026-01-22 13:10:07 +00:00
Lloyd 5e4adf62b3 add ed auth to WS 2026-01-20 21:53:24 +00:00
Lloyd f6a4e0f861 simplify PacketTable rendering and system stats update logic 2026-01-18 22:39:13 +00:00
Lloyd 86ab778aeb fix datarange in NF 2026-01-18 21:27:35 +00:00
Lloyd a7fe30b2c3 up date to stats card 2026-01-18 20:56:43 +00:00
Lloyd 599e4628d9 Changes include:
Features

Neighbour details modal with full info and map view

WebSocket support with heartbeat and automatic reconnection

Improved signal quality calculations (SNR-based RSSI)

Route-based pagination for faster initial loads

UI

Mobile sidebar tweaks (logout, version info, lazy-loaded charts)

Sorting added to the neighbour table

Packet view now shows multi-hop paths

CAD calibration charts respect light/dark themes

Statistics charts now show the full requested time range

Performance

Reduced polling when WebSocket is active

Lazy loading for heavier components

Noise floor data capped to keep charts responsive

Technical

Improved type safety across API responses

Contrast improvements for accessibility

Cleaner WebSocket and MQTT reconnection handling

Additional metrics added to heartbeat stats

Bug fixes

Corrected noise floor history query

Fixed authentication for CAD calibration streams

Nothing major required from users — just update and carry on.
As always, shout if something looks off.
2026-01-18 20:15:50 +00:00
Lloyd 1999af8bdd add Packet Hash Cache to UI 2026-01-10 22:59:43 +00:00
Lloyd 4011a6b25e Add light mode to ui 2026-01-07 23:05:54 +00:00
Lloyd 8b8edb9929 add pymc console endpoints and ui 2026-01-02 16:35:18 +00:00
Lloyd c24c39eab2 fix: Update directory names and permissions in post-install script 2025-12-30 22:34:28 +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 98b425f444 added CLI 2025-12-29 14:37:54 +00:00
Lloyd 6d82936987 add LBT stats to Packet table and details screen 2025-12-21 21:41:15 +00:00
Lloyd dbe925e26a update to GUI for room server 2025-12-18 22:16:58 +00:00
Lloyd 1dc6b59c39 Enhance API documentation: rename packet history endpoint, improve ACL info response structure, and update descriptions for clarity 2025-12-18 12:54:48 +00:00
Lloyd 36a730f656 Refactor Swagger UI integration: load HTML template from file and remove inline styles 2025-12-18 12:28:50 +00:00