38 Commits

Author SHA1 Message Date
Lloyd
d83d3e07aa fix: update pymc_core dependency to point to dev branch 2026-03-27 22:35:31 +00:00
Lloyd
91918e7cfc feat: add CLI command endpoint and standalone CLI client for pyMC Repeater 2026-03-24 14:02:51 +00:00
Lloyd
5e7cf3f315 Refactor setuptools configuration to use package finding options 2026-03-10 13:21:29 +00:00
Lloyd
bf3b4b5b1b Enhance version retrieval logic and add fallback mechanisms in _get_installed_version function 2026-03-10 11:33:49 +00:00
Lloyd
6de88dd2a0 Fix formatting in dependencies section of pyproject.toml 2026-03-06 14:43:45 +00:00
Lloyd
f792b20bcf Update pymc_core dependency to include hardware support 2026-03-06 14:24: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
9eb2b8a50f Add data directory to .gitignore and include rrdtool dependency in pyproject.toml 2026-02-03 16:54:41 -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
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
1c15f0ff34 fix: Update pymc_core dependency to use specific git repository 2026-01-08 13:58:08 +00:00
Lloyd
b5feead308 Merge feat/dmg into dev with feat/dmg changes taking precedence 2026-01-08 13:51:46 +00:00
Lloyd
4c7e8e5a46 version handling in management script and update pyproject.toml 2026-01-06 17:28:48 +00:00
Lloyd
0f07c2a61f feat: Update version scheme in setuptools_scm to guess-next-dev 2026-01-06 16:36:34 +00:00
Lloyd
c45fb6ba55 Update pymc_core dependency to use dev branch for testing 2026-01-01 23:12:36 +00:00
Lloyd
c24c39eab2 fix: Update directory names and permissions in post-install script 2025-12-30 22:34:28 +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
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
5df266c83e Implement access control and login management for identities
- Added security settings in config.yaml.example for managing authenticated clients.
- Introduced ACL class for handling access control and client authentication in acl.py.
- Created LoginHelper class for processing login requests and managing authentication in login.py.
- Added IdentityManager class for managing multiple identities in identity_manager.py.
- Updated main.py to initialize IdentityManager and LoginHelper, and register identities.
- Added packet_router to process ANON_REQ login packets through the LoginHelper.
2025-12-16 22:39:26 +00:00
Lloyd
e483c8b28e bump version to 1.0.5 beta and update pymc_core dependency to dev branch 2025-12-09 22:02:42 +00:00
Lloyd
e8afa79114 Refactor packet handling in pyMC Repeater
- Updated dependency for pymc_core to use the feat/valid-packets-checks branch.
- Removed neighbor tracking logic from RepeaterHandler and moved it to AdvertHelper.
- Introduced PacketPipeline for centralized packet processing, ensuring all packets flow through repeater logic.
- Created handler helpers: TraceHelper, DiscoveryHelper, and AdvertHelper for better modularity.
- Implemented asynchronous processing of advertisement packets and discovery requests.
- Enhanced logging for better traceability and debugging.
- Cleaned up unused code and improved overall structure for maintainability.
2025-12-01 15:13:23 +00:00
Lloyd
330d97d862 add hardware statistics collection and new API endpoints for hardware stats 2025-11-29 22:13:53 +00:00
Lloyd
34a775925b feat: implement server-level CORS support and cleanup CORS handling in API endpoints 2025-11-24 00:11:32 +00:00
Lloyd
e07f384dfb fix: remove rrdtool dependency from project 2025-11-22 23:12:01 +00:00
Lloyd
3c2351f2b3 fix: update pymc_core dependency to use git repository for development version 2025-11-22 22:40:40 +00:00
Lloyd
e7d4c63021 Merge pull request #20 from rightup/feat/api-storage
Feat/api storage
2025-11-22 14:38:59 -08:00
Lloyd
9ca191f9b2 Update version to 1.0.4 in pyproject.toml and add SPI setup instructions 2025-11-15 01:17:15 +00:00
Lloyd
0c05988e7d Update pyproject.toml to require pymc_core version 1.0.5 2025-11-15 00:17:42 +00:00
Lloyd
3f092e3b39 Add StorageCollector class for packet and advert management
- Refactored main.py to import HTTPStatsServer from the new path.
- Introduced storage.py to handle SQLite database for packets and adverts.
- Implemented methods for initializing SQLite, RRD, and MQTT.
- Added functionality to record packets and adverts, including storage and metrics updates.
- Created methods for retrieving packet statistics, recent packets, and filtered packets.
- Implemented RRD data fetching and packet type statistics.
- Added cleanup method for old data in the database.
2025-11-07 13:23:44 +00:00
Lloyd
a179d36018 Bump version to 1.0.3 and update pymc_core dependency to 1.0.4 2025-11-04 22:27:44 +00:00
Lloyd
8631703b12 Update pyproject.toml
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-02 23:15:25 +00:00
Lloyd
f607784b0b Bump version to 1.0.2 and update pymc_core dependency to version 1.0.3 2025-11-02 21:40:01 +00:00
Lloyd
6a7dca0bca add heatmap chat 2025-11-01 22:41:26 +00:00
Lloyd
3bb2dca587 Bump version to 1.0.1 in pyproject.toml and __init__.py 2025-10-27 22:09:44 +00:00
Lloyd
d95a0819b4 Update dependencies in pyproject.toml and add meshadv configuration in radio-settings.json 2025-10-27 21:45:11 +00:00
Lloyd
42aec4f74b Update dependencies in pyproject.toml to use development version of pymc_core 2025-10-26 23:28:38 +00:00
Lloyd
97256eb132 Initial commit: PyMC Repeater Daemon
This commit sets up the initial project structure for the PyMC Repeater Daemon.
It includes base configuration files, dependency definitions, and scaffolding
for the main daemon service responsible for handling PyMC repeating operations.
2025-10-24 23:13:48 +01:00