l5y
dc2fa9d247
Recursively ingest federated instances ( #353 )
...
* Recursively ingest federated instances
* Keep absent is_private nil during signature verification
2025-10-15 21:35:37 +02:00
l5y
a32125996c
Remove federation timeout environment overrides ( #352 )
2025-10-15 20:04:19 +02:00
l5y
db7b67d859
Improve federation instance error diagnostics ( #350 )
2025-10-15 18:35:22 +02:00
l5y
49f08a7f75
Harden federation domain validation and tests ( #347 )
...
* Harden federation domain validation and tests
* Preserve domain casing for signature verification
* Forward sanitize helper keyword argument
* Handle mixed-case domains during signature verification
2025-10-15 18:14:31 +02:00
l5y
b2d35d3edf
Handle malformed instance records ( #348 )
2025-10-15 17:08:24 +02:00
l5y
03b5a10fe4
Add LoRa metadata fields to nodes and messages ( #331 )
...
* Add LoRa metadata fields to nodes and messages
* Filter numeric SQLite keys from message rows
2025-10-14 14:51:28 +02:00
l5y
ffad84f18a
Ensure frontend reports git-aware version strings ( #321 )
...
* Ensure frontend reports git-aware version strings
* Keep footer fixed across viewport widths
2025-10-13 16:26:57 +02:00
l5y
dee6ad7e4a
Refine environment configuration defaults ( #318 )
2025-10-13 14:06:14 +02:00
l5y
ea9c633eff
Fix legacy configuration migration to XDG directories ( #317 )
...
* Handle legacy config migration for XDG assets
* Ensure legacy key migration precedes identity load
* Apply rufo formatting to identity module
2025-10-13 14:02:17 +02:00
l5y
9c73fceea7
Adopt XDG base directories for app data and config ( #316 )
...
* Support XDG base directories
* Keep Docker MESH_DB on persistent volume
2025-10-13 12:29:56 +02:00
l5y
d66b09ddee
Ensure APIs filter stale data and refresh node details from latest sources ( #312 )
...
* Ensure fresh API data and richer node refresh details
* Refresh map markers with latest node data
2025-10-13 10:54:47 +02:00
l5y
00444f7611
test: expand config and sanitizer coverage ( #303 )
2025-10-12 14:41:20 +02:00
l5y
ee904633a8
Handle CRL lookup failures during federation TLS ( #299 )
2025-10-12 09:56:53 +02:00
l5y
772c5888c3
Fix ingestor debug timestamps for structured logging ( #296 )
2025-10-12 09:40:57 +02:00
l5y
f04e917cd9
Add Apache license headers to missing sources ( #297 )
2025-10-12 09:38:04 +02:00
l5y
e328a20929
Fix IPv6 instance domain canonicalization ( #294 )
2025-10-12 09:33:03 +02:00
l5y
aba94b197d
Handle federation HTTPS CRL verification failures ( #293 )
2025-10-12 09:22:54 +02:00
l5y
80f2bbdb25
Adjust federation announcement cadence ( #292 )
2025-10-12 09:08:50 +02:00
l5y
522213c040
Restore modular app functionality ( #291 )
...
* Restore modular app functionality
* Fix federation thread settings and add coverage
* Use Sinatra set for federation threads
* Restore 41447 as default web port
2025-10-12 08:54:11 +02:00
l5y
58998ba274
Refactor config and metadata helpers into PotatoMesh modules ( #290 )
2025-10-11 23:19:25 +02:00
l5y
4ad718e164
Update default site configuration environment values ( #288 )
2025-10-11 21:20:36 +02:00
l5y
73bdd809bd
Normalize INSTANCE_DOMAIN configuration to require hostnames ( #280 )
...
* Ensure INSTANCE_DOMAIN configuration uses hostname
* Define ip_from_domain before use
2025-10-11 19:39:05 +02:00
l5y
2240be1f2d
Improve instance domain detection logic ( #278 )
2025-10-11 18:22:50 +02:00
l5y
a048a83c6c
Implement federation announcements and instances API ( #277 )
2025-10-11 18:01:08 +02:00
l5y
4ef1e29034
Fix federation signature handling and IP guard ( #276 )
...
* Fix federation signature handling and IP guard
* Avoid defaulting isPrivate before signature verification
* Normalize instance domain host handling for restricted IP check
* ignore web app credentials
---------
Co-authored-by: l5yth <d220195275+l5yth@users.noreply.github.com >
2025-10-11 17:39:52 +02:00
l5y
678af5e55b
Add configurable instance domain with reverse DNS fallback ( #272 )
...
* Add instance domain resolution with reverse DNS fallback
* run rufo
---------
Co-authored-by: l5yth <d220195275+l5yth@users.noreply.github.com >
2025-10-11 12:21:55 +00:00
l5y
16e1304ded
Add comprehensive RDoc comments to Ruby helpers ( #254 )
2025-10-07 08:53:39 +02:00
l5y
6660986211
Add tests for helper utilities and asset routes ( #243 )
...
* test: expand coverage for helpers and assets
* Adjust failing helper and asset specs
* Adjust specs for fallback node lookup and missing logo
2025-10-07 07:07:23 +02:00
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
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
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
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
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
f7a1b5c5ad
Add penetration tests for authentication and SQL injection ( #95 )
2025-09-16 13:13:57 +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