l5y
09a2d849ec
Improve live node positions and expose precision metadata ( #231 )
...
* Fetch latest node positions and precision metadata
* Stop showing position source and precision in UI
* Guard node positions against stale merges
2025-10-05 23:08:57 +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
d6f1e7bc80
Add debug logs for unknown node creation and last-heard updates ( #214 )
...
* Add debug logging for unknown nodes and last-heard updates
* Fix debug log syntax
2025-10-04 21:25:23 +02:00
l5y
5ac5f3ec3f
Update node last seen when events are received ( #212 )
...
* Update node last seen timestamps from event receive times
* run rufo
* fix tests
2025-10-04 21:11:16 +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
74c4596dc5
Add private mode to hide chat and message APIs ( #204 )
...
* Add private mode to hide chat and message APIs
* run rufo
2025-10-04 09:36:43 +02:00
l5y
ff06129a6f
Update node last seen when ingesting encrypted messages ( #198 )
...
* Update node last seen for encrypted messages
* run rufo
2025-10-03 10:59:12 +02:00
l5y
31f02010d3
bump version to 0.3 ( #191 )
...
* bump version to 0.3
* update readme
2025-09-27 18:52:41 +02:00
l5y
ec1ea5cbba
pgrade styles and fix interface issues ( #190 )
2025-09-27 18:46:56 +02:00
l5y
8500c59755
some updates in the front ( #188 )
...
* ok, i'm added correct image loader
* and some css
* make zebra in a table and add a background and some little changes in app
* for example you can check how it work on https://vrs.kdd2105.ru
* fix ai comments
---------
Co-authored-by: dkorotkih2014-hub <d.korotkih2014@gmail.com >
2025-09-27 18:18:02 +02:00
l5y
556dd6b51c
Update last heard on node entry change ( #185 )
2025-09-26 20:43:53 +02:00
l5y
3863e2d63d
Populate chat metadata for unknown nodes ( #182 )
...
* Populate chat metadata for unknown nodes
* run rufo
* fix comments
* run rufo
2025-09-26 16:45:42 +02:00
l5y
c8c7c8cc05
Add placeholder nodes for unknown senders ( #181 )
...
* Add placeholder nodes for unknown senders
* run rufo
2025-09-26 14:24:30 +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
d711300442
Remove raw payload storage from database schema ( #166 )
2025-09-23 17:29:08 +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
17018aeb19
Derive SEO metadata from existing config ( #153 )
2025-09-23 08:20:42 +02:00
l5y
62de1480f7
Require time library before formatting ISO timestamps ( #149 )
...
* Require time library for ISO timestamp formatting
* Default to host networking in Compose
2025-09-22 09:21:04 +02:00
l5y
608d1e0396
bump version to 0.2.1 ( #134 )
2025-09-20 20:59:21 +02:00
l5y
6750d7bc12
Add footer version display ( #128 )
...
* Add footer version display
* Ensure footer version text matches spec
2025-09-19 11:22:28 +02:00
l5y
71e9f89aae
Harden API auth and request limits ( #116 )
...
* Harden API auth and request limits
* run rufo
2025-09-17 08:00:25 +02:00
l5y
84ed739a61
Handle message updates based on sender info ( #108 )
...
* Handle message updates based on sender info
* run rufo
2025-09-16 19:41:56 +02:00
l5y
baf7f5d137
Ensure node numeric aliases are derived from canonical IDs ( #101 )
...
* Derive node numeric aliases when missing
* Preserve raw message senders when storing payloads
* Normalize packet message sender ids when available
* run rufo
2025-09-16 18:41:49 +02:00
l5y
3edf60c625
chore: clean up repository ( #96 )
...
* chore: clean up repository
* Fix message spec node lookup for numeric IDs (#98 )
* Fix message spec node lookup for numeric IDs
* run rufo
* Fix message node fallback lookup (#99 )
2025-09-16 15:25:12 +02:00
l5y
1beb343501
Handle SQLite busy errors when upserting nodes ( #100 )
2025-09-16 15:24:01 +02:00
l5y
0c0f877b13
Configure Sinatra logging level from DEBUG flag ( #97 )
...
* Configure Sinatra logging level
* Fix logger level helper invocation
* Fix Sinatra logger helper definition syntax
2025-09-16 14:46:50 +02:00
l5y
051d09dcaf
Document Python and Ruby source modules ( #94 )
2025-09-16 13:13:12 +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
f4aa5d3873
Add coverage for debug logging on messages without sender ( #86 )
...
* Add debug logging spec for messages without sender
* Route debug logging through Kernel.warn
* Relax debug log matchers
2025-09-16 11:33:03 +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
be1306c9c0
Normalize message sender IDs using node numbers ( #67 )
2025-09-15 21:04:29 +02:00
l5y
e2c19e1611
Add debug logging for missing from_id ( #64 )
2025-09-15 18:15:46 +02:00
l5y
31727e35bb
add placeholder for default frequency
2025-09-15 14:48:12 +02:00
l5y
580a588df7
Run schema initialization only when database or tables are missing ( #61 )
2025-09-15 14:05:01 +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
6d948603c9
Convert boolean flags to integers for SQLite ( #59 )
2025-09-15 13:37:30 +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
4dc1227be7
Add POST /api/messages and enforce API token ( #56 )
2025-09-15 13:13:47 +02:00
l5y
da2e5fbde1
feat: parameterize community info ( #55 )
...
* feat: parameterize community info
* chore: restore test data and document env defaults
* also make default channel configurable
2025-09-15 12:15:51 +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
7008804ae2
Cast SQLite timestamps to integers ( #40 )
2025-09-14 21:07:17 +02:00
l5y
6c6e040e21
Validate future times for nodes ( #35 )
2025-09-14 19:38:52 +02:00
l5y
334e21d674
Optimize web frontend and Ruby app ( #32 )
...
* Optimize web app and cleanup
* Refine node rendering and front-end timing
2025-09-14 19:31:28 +02:00
l5y
a1cabec150
Add messages API endpoint with node details ( #33 )
...
* Add messages API endpoint with node details
* Preserve message SNR when joining nodes
2025-09-14 19:29:44 +02:00
l5y
6094609a86
Ensure last_heard never precedes position time ( #31 )
2025-09-14 17:53:37 +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
l5y
bcaa9dc1a9
sort chat nodes by first seen field in database
2025-09-14 09:20:38 +02:00
l5y
62b096c601
Add first_heard timestamp ( #23 )
2025-09-14 09:12:57 +02:00
l5y
c67b18c657
web: extend the table view to display more records
2025-09-14 09:00:14 +02:00