838 Commits

Author SHA1 Message Date
Rightup 291c1a6ed9 fix:update statics for companion ui fix 2026-06-09 22:26:36 +01:00
Yellowcooln aeea4bb3f8 Format OpenAPI identity test 2026-06-09 16:10:37 -04:00
Yellowcooln 063c8eeb8c Fix companion identity OpenAPI contract 2026-06-09 15:50:09 -04:00
Lloyd 99a04295da Merge pull request #287 from agessaman/kiss/tuning-options 2026-06-09 19:33:47 +01:00
Lloyd 1f9be5a024 Merge pull request #284 from MSmithDev/main 2026-06-09 19:29:16 +01:00
Matt 10b64bce62 added current docker compose and env 2026-06-09 14:17:01 -04:00
Matt 7b85cfcec9 Delete docker-compose.yml 2026-06-09 14:11:55 -04:00
Matt 88820038ee Delete .env.example 2026-06-09 14:11:30 -04:00
Matt 524359de9f Made requested changed to docker setup 2026-06-09 13:14:47 -04:00
agessaman 0b4571cb68 Stop tracking policy.yaml and add it to .gitignore 2026-06-09 09:44:58 -07:00
Lloyd 2b7b2b5b4e feat:add channel sender option to policy 2026-06-09 13:51:18 +01:00
Lloyd eb717cc745 fix:update ui clean up and add change password. 2026-06-09 11:54:46 +01:00
Lloyd c5dbfdcd4b Merge branch 'pr-284' into dev
# Conflicts:
#	README.md
2026-06-09 08:55:34 +01:00
Lloyd f4533e5ef6 Merge branch 'pr-285' into dev 2026-06-09 08:54:41 +01:00
agessaman 183650228e feat(config): add optional KISS CSMA tuning parameters
- Updated `config.yaml.example` to include optional KISS key-up and CSMA tuning parameters.
- Enhanced `get_radio_for_board` function in `config.py` to forward KISS tuning settings to the modem firmware when specified.
- Added tests to verify correct forwarding of KISS parameters and omission of unset values in `test_radio_config.py`.
2026-06-08 21:25:26 -07:00
Yellowcooln d5001a235d docs: remove docker readme edits 2026-06-08 20:31:32 -04:00
Yellowcooln 1569b11690 docker: default compose image to main 2026-06-08 20:27:48 -04:00
Yellowcooln 77480c6c1c docker: use named volumes by default 2026-06-08 20:22:45 -04:00
Yellowcooln ca50656560 docs: remove fork image from env example 2026-06-08 20:22:45 -04:00
Yellowcooln d333deb1e5 docker: clarify compose env setup 2026-06-08 20:22:45 -04:00
Yellowcooln 7015e0eb15 docs: document docker gpio gids 2026-06-08 20:22:45 -04:00
Yellowcooln b5df705b87 docs: clarify docker setup config steps 2026-06-08 20:22:45 -04:00
Yellowcooln 9e8c152f0b docker: tolerate read-only config during merge 2026-06-08 20:22:45 -04:00
Yellowcooln a308ddc00d docker: add gpio and spi groups 2026-06-08 20:22:45 -04:00
Matt 5dfa98c57c Rewrite README with expanded docs and images
Added:
- Supported hardware table with links to products
-
- New screenshots
- Web setup walkthrough
- Policy engine and example
- Updated docker with image
- Cleaned formatting
- Updated pyMC Core and MeshCore Discord links
2026-06-08 14:13:58 -04:00
Lloyd 00682e8086 Merge pull request #282 from agessaman/companion/advanced-settings 2026-06-06 18:09:00 +01:00
agessaman f3146ebc14 fix(companion): clean up ruff errors 2026-06-06 09:44:55 -07:00
agessaman ea6e660f34 refactor(api_endpoints): improve sqlite_handler retrieval logic
- Updated the logic for retrieving the sqlite_handler in APIEndpoints to use a safer approach with getattr, ensuring compatibility with the daemon_instance.
- Adjusted test case to include an additional parameter in the sqlite.companion_push_message assertion for consistency.
2026-06-06 09:39:30 -07:00
agessaman dac60443f0 feat(companion): implement contact trimming and retention policies
- Introduced `enforce_companion_contact_capacity` to manage contact limits during companion loading, with an option to trim non-favourite contacts when exceeding capacity.
- Updated `SQLiteHandler` to support message retention limits, allowing for automatic trimming of older messages based on `offline_queue_size`.
- Enhanced API endpoints to handle contact trimming on overflow, providing feedback on trimmed contacts during updates.
- Added utility functions for selecting and trimming contacts while preserving favourites.
- Improved logging for contact management actions and errors related to capacity.
2026-06-05 21:39:11 -07:00
Lloyd af603d78d0 feat:new menu change 2026-06-05 16:38:29 +01:00
Lloyd 879aac1556 Merge branch 'pr-280' into dev 2026-06-05 16:26:22 +01:00
Lloyd b3119f97f4 Merge branch 'pr-281' into dev 2026-06-05 16:25:15 +01:00
Lloyd da95c67cef fix: improve error logging for invalid policy entries and adjust test configuration 2026-06-05 16:23:18 +01:00
Yellowcooln 767c070384 Update broker host and audience in tests 2026-06-05 11:22:44 -04:00
Yellowcooln 8926b3d593 Fix URL in test_get_preset_meshmapper_is_single_broker_mc2mqtt
Update the URL in the MeshMapper preset test docstring.
2026-06-05 11:06:42 -04:00
Yellowcooln b5b2c60eb6 Update MQTT host and audience to meshmapper.net 2026-06-05 11:06:02 -04:00
Lloyd e9a9f21cab feat: update preamble_length to 32 for radio configurations 2026-06-05 16:00:23 +01:00
Rightup 225feda195 feat:ui for policy and logging update 2026-06-04 16:27:35 +01:00
Rightup 14b4804c26 feat: Enhance logging system and introduce policy management endpoints
- Updated LogBuffer to support log entry IDs, enhanced log entry structure with additional metadata, and implemented subscriber management for real-time log streaming.
- Added OpenAPI specifications for new endpoints related to policy management, including retrieval, updating, validation, and group management for network policies.
- Implemented comprehensive tests for new policy endpoints, ensuring correct behavior for creating, updating, validating, and deleting policy groups and entries.
- Introduced policy evaluation tests to validate the functionality of the PolicyEngine, including various scenarios for action decisions based on defined rules.
- Enhanced packet routing tests to ensure proper handling of policy decisions in packet processing.
2026-06-04 15:53:17 +01:00
Matt 4abc497e83 MeshSmith: Change tx_power from 22 to 18
Testing shows a setting of 18 is sufficient for full output power. May help improve TX signal quality.
2026-06-03 14:34:14 -04:00
agessaman 7fe1b19241 fix: update packet injector to include origin hash for companion bridge 2026-06-02 20:52:22 -07:00
agessaman 499f871262 Merge upstream/dev into companion/advanced-settings
Integrate latest dev while preserving per-companion bridge settings
and contact capacity validation. Resolve import conflicts in main.py
and api_endpoints.py.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 15:34:52 -07:00
Adam Gessaman 7d57b34a04 feat(companion): enhance contact capacity management and bridge settings
- Introduced `CompanionContactCapacityError` to handle cases where persisted contacts exceed configured limits.
- Added utility functions for parsing companion bridge settings and validating contact capacity.
- Updated `RepeaterDaemon` to check contact capacity during companion loading and initialization.
- Enhanced API endpoints to validate companion settings and manage contact limits effectively.
- Implemented logging for bridge limits and errors related to contact capacity.
2026-06-02 07:42:40 -07:00
Lloyd cd7058be99 fix: update packet router debugs for less noise and policy prep for advanced filters works 2026-06-02 12:18:17 +01:00
Lloyd 416310befd refactor: improve code readability 2026-06-02 10:31:47 +01:00
Lloyd 9e26068a10 feat: enhance installation process to align web/OTA updates with manage.sh defaults 2026-06-02 10:30:51 +01:00
Lloyd d7e74e0a89 Merge pull request #278 from agessaman/feat/pre-1160-compatibility-sendfix
Feat/pre 1160 compatibility sendfix
2026-06-02 10:26:22 +01:00
agessaman e24cdca055 feat(companion): echo injected TX to companion clients as raw RX (0x88)
Push locally-injected TX packets to connected companion frame server
clients as PUSH_CODE_LOG_RX_DATA (0x88) with snr=0/rssi=0, so apps that
decrypt locally from raw RX (e.g. RemoteTerm) see companion-originated
channel traffic. The originating companion is excluded so a node never
hears its own transmission, matching physical firmware behavior.
inject_packet now takes an origin_hash (threaded per-companion via the
packet_injector partial); _on_raw_rx_for_companions gains exclude_hash
to skip that companion's frame server. OTA RX is unaffected.
2026-06-01 17:05:38 -07:00
Lloyd 2cacb7cfc0 Merge pull request #276 from pyMC-dev/feat-open-api
Feat open api updates
2026-05-31 10:08:03 +01:00
Lloyd 9e1dabddbf feat: add PUT endpoint for updating transport keys in OpenAPI specification 2026-05-31 10:03:39 +01:00