Commit Graph

  • c1bd4a4877 fix(web_viewer): ignore invalid observed path encodings in contacts filter agessaman 2026-08-06 21:08:29 -07:00
  • 9d6dc6fa2d Merge pull request #234 from agessaman/feat/neighbors-mqtt Adam Gessaman 2026-08-06 21:03:36 -07:00
  • ea8b3491de fix(tests): improve rollup correctness assertions in test_dashboard_stats.py agessaman 2026-08-06 21:03:22 -07:00
  • 34bfe807f7 refactor(neighbors): improve IATA handling and cycle management agessaman 2026-08-06 11:04:15 -07:00
  • 321631c722 fix(feed_format): unescape HTML entities in feed titles agessaman 2026-08-06 10:13:58 -07:00
  • 250119301f fix(neighbors): introduce neighbors attempt state management agessaman 2026-08-05 20:30:30 -07:00
  • ae3a3c66fa fix(neighbors): move the airtime cooldown into the service agessaman 2026-08-05 19:38:36 -07:00
  • ce68e7ab7e fix(neighbors): close three gaps in the cycle guards agessaman 2026-08-05 19:01:23 -07:00
  • 7cffe1d7c0 fix(neighbors): bound cycle airtime and correct evidence labelling agessaman 2026-08-05 18:32:42 -07:00
  • 9db865131a possible filterting by node type/details/etc Littleaton 2026-08-05 14:33:19 -06:00
  • ba24af0989 chore(.gitignore): update ignore rules and remove launch configuration agessaman 2026-08-04 20:40:01 -07:00
  • 035ec963b6 docs: clarify APScheduler cron usage and day-of-week numbering agessaman 2026-08-04 20:33:26 -07:00
  • ebc66992dd feat(neighbors): zero-hop neighbour discovery in packet capture agessaman 2026-08-04 19:24:18 -07:00
  • 7882148f90 refactor(feed): modularize feed formatting and timestamp handling agessaman 2026-08-04 15:16:53 -07:00
  • 97e50dff24 fix(tests): update timezone handling in test_dashboard_stats.py agessaman 2026-08-04 14:59:46 -07:00
  • 7e68ed3dec Merge pull request #231 from agessaman/perf/optimization-review Adam Gessaman 2026-08-03 11:51:32 -07:00
  • 51ab6e50df feat(db-manager): enhance SQLite journal mode handling and validation agessaman 2026-08-02 09:48:05 -07:00
  • 58bc8f7643 Merge pull request #228 from agessaman: Rebuild dashboard for performance and enhance data visualization Adam Gessaman 2026-07-31 21:26:31 -07:00
  • 75fda424c2 feat(web-viewer): implement per-payload-type multibyte share tracking agessaman 2026-07-31 21:23:51 -07:00
  • 40307bd8cb feat(mesh): enhance mesh graph performance and caching agessaman 2026-07-30 13:16:16 -07:00
  • ff6b3c0d89 chore(.gitignore): add aqi_http_cache.sqlite to ignore list agessaman 2026-07-30 10:52:34 -07:00
  • b8b1647b27 feat(retention): enhance data retention and resource limits for Raspberry Pi agessaman 2026-07-30 08:06:21 -07:00
  • 07d6737008 feat(graph): optimize mesh graph persistence and data retention agessaman 2026-07-30 07:23:06 -07:00
  • 7ea34a2672 feat(web-viewer): hide flood hop buckets under 0.1% of the series agessaman 2026-07-29 23:16:51 -07:00
  • 196f42789c refactor(web-viewer): fill card height, trim hop axis, drop live feed agessaman 2026-07-29 23:07:38 -07:00
  • d5170606c1 fix(web-viewer): plot hop distance to the full 64-hop protocol range agessaman 2026-07-29 22:56:06 -07:00
  • 3a4d7aab33 feat(web-viewer): add flood-packet distance to the hops chart agessaman 2026-07-29 22:45:21 -07:00
  • 0296c2e93e feat(web-viewer): show payload-type mix beside the routing mix agessaman 2026-07-29 22:34:18 -07:00
  • f68da5287c fix(web-viewer): derive neighbours and hop distance from path evidence agessaman 2026-07-29 22:23:43 -07:00
  • c94a3f861e refactor(web-viewer): rework dashboard signal, role and contact tiles agessaman 2026-07-29 22:10:48 -07:00
  • 7e3ab04b53 feat(web-viewer): rebuild dashboard on a background snapshot agessaman 2026-07-29 21:56:09 -07:00
  • 9007080c48 feat(install-service): add virtual environment update options agessaman 2026-07-29 20:31:05 -07:00
  • 19a7f5ba8d fix(scheduler): improve coroutine handling in device-mode jobs agessaman 2026-07-29 20:16:34 -07:00
  • 9ae04987e7 fix(install-service,commands): enhance permission handling and cache path for service account agessaman 2026-07-29 20:09:12 -07:00
  • f4587392db fix(config): update auto_manage_contacts default behavior and documentation agessaman 2026-07-29 19:49:50 -07:00
  • 96c4a01788 fix(commands,clients): correct scheduling, parsing and formatting defects agessaman 2026-07-28 20:08:57 -07:00
  • 4e49c0557f fix(path,capture): restore silently dead packet and path-scoring paths agessaman 2026-07-28 20:08:23 -07:00
  • a5f7f711dd fix(config): close config-injection and credential-exposure holes agessaman 2026-07-28 20:07:58 -07:00
  • c5452033f2 refactor(rate-limiter): improve request handling and synchronization agessaman 2026-07-28 17:14:57 -07:00
  • 9a24ed1bf2 chore: update documentation and improve configuration handling agessaman 2026-07-28 16:56:43 -07:00
  • 2451d5bc67 refactor(solar): independently reimplement condition helpers agessaman 2026-07-28 16:55:40 -07:00
  • d7dcf919bb docs(checkin-api): update reference to checkin receiver script location agessaman 2026-07-28 14:47:50 -07:00
  • d78b29b6b5 docs: fix site build, stale paths, and missing pages agessaman 2026-07-28 13:54:45 -07:00
  • d6275d79d8 chore(release): prepare 1.0.0 agessaman 2026-07-28 13:38:46 -07:00
  • 717f9a8ef3 feat(i18n): opt-in auto-detect sender language for replies agessaman 2026-07-12 14:30:44 -07:00
  • 092be2d5bf feat(contacts): implement pagination, search, and sorting for contacts API agessaman 2026-07-23 08:26:00 -07:00
  • 8ab5708b72 fix(installer): roll back failed alternative restores agessaman 2026-07-28 12:10:48 -07:00
  • 58c78e5bb2 docs: correct manual service diagnostic command agessaman 2026-07-28 12:08:15 -07:00
  • 7727cf3827 fix(installer): roll back partial executable syncs agessaman 2026-07-28 12:08:09 -07:00
  • 7c64a6e365 fix(installer): preserve alternative command symlinks agessaman 2026-07-28 12:08:01 -07:00
  • 65ed0d941f ci: verify base wheel geocoding fallback agessaman 2026-07-28 12:02:14 -07:00
  • fda34a839e docs: align service upgrade guidance with hardened layout agessaman 2026-07-28 12:01:20 -07:00
  • 22f36b0484 fix(installer): recover active service after upgrade failure agessaman 2026-07-28 11:59:03 -07:00
  • f67858b238 fix(installer): preserve custom alternative commands agessaman 2026-07-28 11:57:39 -07:00
  • 3dd5c7740d chore(release): prepare 0.9.4 metadata agessaman 2026-07-28 11:55:08 -07:00
  • c4d7fe6fd3 feat(contacts): implement pagination, search, and sorting for contacts API perf/contacts-list agessaman 2026-07-23 08:26:00 -07:00
  • d83524b10a Merge pull request #223 from agessaman/p0-security-hardening Adam Gessaman 2026-07-22 16:39:52 -07:00
  • 5f97cff8d7 ci: install the geo extra so location tests match a real install agessaman 2026-07-22 14:55:58 -07:00
  • 388c2925cf chore(ci): fix mypy Optional inference and ruff import order agessaman 2026-07-22 14:54:31 -07:00
  • 03a1d4056b Merge origin/dev into codex/p0-security-hardening agessamanandClaude Opus 4.8 2026-07-22 14:28:13 -07:00
  • 08ed8464b8 fix(security): close IPv4-mapped IPv6 metadata SSRF bypass and mypy types agessamanandClaude Opus 4.8 2026-07-22 14:15:51 -07:00
  • c93025061a Merge pull request #224 from agessaman/refactor/consolidate-location-tools Adam Gessaman 2026-07-22 13:46:16 -07:00
  • 3a896ec1ea feat(location): enhance geocoding and error handling in location resolution agessaman 2026-07-20 09:35:13 -07:00
  • 6cb5c34a9a feat(location): enhance location resolution and geocoding functionality agessaman 2026-07-19 18:23:00 -07:00
  • bbe91b5f2d feat(feed-manager): add support for custom post limits and improve emoji handling agessaman 2026-07-17 21:01:17 -07:00
  • c1c3ac2511 feat(feed-manager): introduce max_posts_per_check and enhance emoji handling agessaman 2026-07-17 16:43:08 -07:00
  • 1f0ec48448 Harden feed, config reload, and wx async paths agessaman 2026-07-16 15:40:20 -07:00
  • a24d756abd Harden outbound URL and async provider boundaries agessaman 2026-07-16 15:22:12 -07:00
  • 119fce2211 feat(command-manager): implement DM length guard and auto-splitting for oversized messages agessaman 2026-07-16 12:49:38 -07:00
  • f804d05d7f feat(command-manager): implement DM length guard and auto-splitting for oversized messages agessaman 2026-07-16 12:49:38 -07:00
  • af7b82dfdf Fix remaining Python 3.10 UTC usage agessaman 2026-07-16 10:46:46 -07:00
  • 2922b4e640 Fix Python 3.10 and plugin loader CI agessaman 2026-07-16 10:40:37 -07:00
  • 9ae9ebb327 Harden P0 security and release boundaries agessaman 2026-07-16 10:21:50 -07:00
  • 614bf81fe1 Merge pull request #219 from agessaman/perf/mesh-graph-load Adam Gessaman 2026-07-12 16:31:23 -07:00
  • ffee28c0ff fix(config): add type ignore for optionxform and handle None values in path inference agessaman 2026-07-12 16:31:05 -07:00
  • 2324f23832 perf(web-viewer): speed up mesh graph load agessaman 2026-07-12 15:00:46 -07:00
  • 97645b9cfe feat(i18n): opt-in auto-detect sender language for replies feat/multilingual-auto-detect agessaman 2026-07-12 14:30:44 -07:00
  • 91b1607bf5 feat(web-viewer): frame initial mesh map on the home multi-byte component agessaman 2026-07-12 11:48:16 -07:00
  • b2f700e15f feat(web-viewer): heat-colored repeater dots and density-aware sizing agessaman 2026-07-12 11:35:12 -07:00
  • 47e2047d5f fix(web-viewer): allow CARTO basemap tiles in the CSP img-src agessaman 2026-07-12 11:19:04 -07:00
  • 1f7a1db1b0 feat(web-viewer): mesh graph dark mode, viridis heat coloring, compact header agessaman 2026-07-12 11:12:57 -07:00
  • 2fb389b268 fix(launch): point web-viewer launch config at repo config.ini agessaman 2026-07-12 11:12:57 -07:00
  • fb9d5f4115 fix(web-viewer): log-scale Min Observations slider with sane default agessaman 2026-07-12 08:08:02 -07:00
  • f2dc37f28f feat(web-viewer): multi-byte evidence mode for the mesh graph agessaman 2026-07-12 07:52:51 -07:00
  • 4d49c6b0b8 feat(web-viewer): Node Settings card on the Radio page agessaman 2026-07-11 22:31:00 -07:00
  • 8c5b932634 refactor(config): single source for legacy enabled-key aliases agessaman 2026-07-10 08:26:40 -07:00
  • 65d0f48c04 style: ruff import fixes agessaman 2026-07-10 08:01:34 -07:00
  • 1211c5ebe9 docs(web-viewer): document the Plugins settings page agessaman 2026-07-10 08:01:10 -07:00
  • bb237ecfa8 feat(startup): validate config on every start; polish ini_writer appends agessaman 2026-07-10 07:58:39 -07:00
  • 448dc39261 docs(config): document settings-UI keys in config.ini.example + drift test agessaman 2026-07-10 07:54:13 -07:00
  • 2e8ccf283a fix(settings-ui): make config reload honor deletions and cached command settings agessaman 2026-07-10 07:49:59 -07:00
  • 3ccfd63613 feat(config): add config panel for modifying plugin settings, with config schema in each command and service plugin. agessaman 2026-06-05 05:53:27 -07:00
  • 604762f9c9 feat(web-viewer): frame initial mesh map on the home multi-byte component dev-mesh-graph-review agessamanandClaude Fable 5 2026-07-12 11:48:16 -07:00
  • 4c7c82d738 feat(web-viewer): heat-colored repeater dots and density-aware sizing agessamanandClaude Fable 5 2026-07-12 11:35:12 -07:00
  • 92b30fc6f8 fix(web-viewer): allow CARTO basemap tiles in the CSP img-src agessamanandClaude Fable 5 2026-07-12 11:19:04 -07:00
  • 55b809e38a feat(web-viewer): mesh graph dark mode, viridis heat coloring, compact header agessamanandClaude Fable 5 2026-07-12 11:12:57 -07:00
  • c3b98b00cf fix(launch): point web-viewer launch config at repo config.ini agessamanandClaude Fable 5 2026-07-12 11:12:57 -07:00
  • 604179f6db fix(web-viewer): log-scale Min Observations slider with sane default agessamanandClaude Fable 5 2026-07-12 08:08:02 -07:00
  • 89651b01db feat(web-viewer): multi-byte evidence mode for the mesh graph agessamanandClaude Fable 5 2026-07-12 07:52:51 -07:00
  • 96188857e0 feat(web-viewer): Node Settings card on the Radio page agessaman 2026-07-11 22:31:00 -07:00