l5y
db04b85134
chore: restore apache headers ( #260 )
2025-10-07 10:28:24 +02:00
l5y
6969ae6c4a
Fix mesh ingestor telemetry and neighbor handling ( #249 )
...
* Refine mesh ingestor modularization
* Handle script execution in mesh wrapper
* Ensure mesh shim finds package when run as script
* Ensure queue state resets after send errors
2025-10-07 08:40:28 +02:00
l5y
5dfcc1a5fe
docs: add ingestor inline docstrings ( #244 )
2025-10-07 00:06:42 +02:00
l5y
78168ce3db
Handle Bluetooth shutdown hangs gracefully ( #221 )
...
* Handle Bluetooth shutdown hangs gracefully
* Make interface close guard compatible with patched Event
2025-10-05 21:07:19 +02:00
l5y
332abbc183
Adjust mesh priorities and receive topics ( #220 )
2025-10-05 20:50:34 +02:00
l5y
c136c5cf26
Add BLE and fallback mesh interface handling ( #219 )
...
* Add BLE and fallback mesh interface support
* Handle SIGINT by propagating KeyboardInterrupt
* Guard optional BLE dependency
* run black
2025-10-05 20:48:23 +02:00
l5y
2a65e89eee
Add neighbor info ingestion and API endpoints ( #218 )
...
* Add neighbor info ingestion and API support
* Fix neighbor spec and add fixture
* run black
* run rufo
2025-10-05 12:35:13 +02:00
l5y
bb4cbfa62c
Improve debug logging for node and telemetry data ( #213 )
...
* Improve debug logging for node and telemetry data
* run black
2025-10-04 21:03:03 +02:00
l5y
f0d600e5d7
Improve stored message debug logging ( #211 )
2025-10-04 20:53:54 +02:00
l5y
e0f0a6390d
Stop repeating ingestor node info snapshot and timestamp debug logs ( #210 )
...
* Adjust ingestor node snapshot cadence and debug logging
* Ensure node snapshot waits for data
* run black
2025-10-04 20:41:53 +02:00
l5y
d4a27dccf7
Add telemetry API and ingestion support ( #205 )
...
* Add telemetry ingestion and API support
* Flatten telemetry storage and API responses
* Fix telemetry insert placeholder count
* Adjust telemetry node updates
* run black
* run rufo
2025-10-04 18:28:18 +02:00
l5y
4548f750d3
Add connection recovery for TCP interface ( #186 )
...
* Add connection recovery for TCP interface
* run black
2025-09-27 18:52:56 +02:00
l5y
66389dd27c
Handle plain IP addresses in mesh TCP detection ( #154 )
...
* Fix TCP target detection for plain IPs
* run black
2025-09-26 13:25:42 +02:00
l5y
ee6501243f
Handle encrypted messages ( #173 )
...
* Handle encrypted messages
* Remove redundant message node columns
* Preserve original numeric message senders
* Normalize message sender IDs in API responses
* Exclude encrypted messages from API responses
* run rufo
2025-09-24 07:34:28 +02:00
l5y
a46bed1c33
Handle proto values in nodeinfo payloads ( #167 )
2025-09-23 18:31:22 +02:00
l5y
98a8203591
Add POSITION_APP ingestion and API support ( #160 )
...
* Add POSITION_APP ingestion and API support
* Adjust mesh receive subscriptions and priorities
* run linters
2025-09-23 16:42:51 +02:00
l5y
084c5ae158
Add support for NODEINFO_APP packets ( #159 )
...
* Add support for NODEINFO_APP packets
* run black
2025-09-23 14:40:35 +02:00
l5y
5a610cf08a
Support mock serial interface in CI ( #143 )
2025-09-21 10:00:30 +02:00
l5y
671a910936
Adjust python ingestor interval to 60 seconds ( #112 )
2025-09-16 21:07:53 +02:00
l5y
cffdb7dca6
Prioritize node posts in queued API updates ( #107 )
...
* Prioritize node posts in queued API updates
* run black
2025-09-16 19:30:38 +02:00
l5y
051d09dcaf
Document Python and Ruby source modules ( #94 )
2025-09-16 13:13:12 +02:00
l5y
1c13b99f3b
Skip null fields when choosing packet identifiers ( #88 )
2025-09-16 11:56:02 +02:00
l5y
54a1eb5b42
create python yml ga ( #90 )
...
* Create python.yml
* ci: add black
* run an actual formatter
* also add rufo
* fix pytest
* run black
2025-09-16 11:50:33 +02:00
l5y
542f4dd0e2
Handle concurrent node snapshot updates ( #85 )
2025-09-16 11:10:11 +02:00
l5y
4a72cdda75
Fix extraction of packet sender ids ( #84 )
2025-09-16 10:35:11 +02:00
l5y
203bd623bd
Add Apache license headers to source files ( #77 )
...
* Add Apache license headers to source files
* fix formatting
2025-09-16 09:39:28 +02:00
l5y
e2c19e1611
Add debug logging for missing from_id ( #64 )
2025-09-15 18:15:46 +02:00
l5y
b230e79ab0
Handle nested dataclasses in node snapshots ( #63 )
2025-09-15 14:59:23 +02:00
l5y
413278544a
Log node object on snapshot update failure ( #62 )
2025-09-15 14:34:56 +02:00
l5y
b39b83fb51
Send mesh data to Potatomesh API ( #60 )
...
* feat: post mesh data to API
* Serialize node objects before posting
* don't put raw json in api/db
2025-09-15 14:00:48 +02:00
l5y
648bcc9b92
Use packet id as message primary key ( #58 )
...
* Use packet id as message primary key
* fix query
* fix query
2025-09-15 13:34:59 +02:00
l5y
29dba74038
run linter
2025-09-15 08:04:07 +02:00
l5y
547518a105
Harden mesh utilities ( #45 )
2025-09-14 22:02:06 +02:00
l5y
6c6e040e21
Validate future times for nodes ( #35 )
2025-09-14 19:38:52 +02:00
l5y
6094609a86
Ensure last_heard never precedes position time ( #31 )
2025-09-14 17:53:37 +02:00
l5y
2ca87eb847
refactor: replace deprecated utcfromtimestamp ( #30 )
2025-09-14 17:52:54 +02:00
l5y
63e8891d97
Add optional debug logging for node and message operations ( #29 )
2025-09-14 13:43:37 +02:00
l5y
c52b917f84
switch to pubsub for message parsing
2025-09-14 13:35:58 +02:00
l5y
72a0150006
data: enable serial collection of messages on channel 0 ( #25 )
...
* data: enable serial collection of messages on channel 0
* remove tests
2025-09-14 11:37:56 +02:00