Commit graph

  • b7907c2a45 Merge feat/custom-announcements into main main Matt Johnson 2026-08-16 18:30:42 +00:00
  • c2fd4d7131 feat(dashboard): custom-announcements frontend (Announcements panel) Matt Johnson 2026-08-16 18:29:26 +00:00
  • c0572b04a1 feat: user-crafted scheduled announcements (custom_announcements) Matt Johnson 2026-08-16 18:20:59 +00:00
  • 2eddd9b572 fix(reminders): resolve Active: fire location via _fire_anchor, not county/state Matt Johnson 2026-08-16 18:00:12 +00:00
  • 522458f194 fix: sync _TOWN_ANCHORS_SEED with the production town_anchors table Matt Johnson 2026-08-16 02:58:11 +00:00
  • 3961f7ec04 fix: honour town_anchors.enabled in alert anchor-resolution queries Matt Johnson 2026-08-16 02:58:00 +00:00
  • bdbc2afe7f MeshCore reconnect persistence: implement 0=unlimited max-reconnect-attempts sentinel Matt Johnson 2026-08-02 04:10:20 +00:00
  • c5aa0e1f42 Fix event-loop starvation, MeshCore stability, config-page hardening Matt Johnson 2026-08-02 01:34:15 +00:00
  • 3c281c96e2 fix(fire): honor tombstoned_at as a durable mute in the gate decider Matt Johnson 2026-08-16 01:20:18 +00:00
  • 81ade1e323 fix(satpass): region-tag satpass events via observer_list Matt Johnson 2026-08-16 01:20:12 +00:00
  • 738ffc71c3 fix(usgs_quake): stop dropping first-sighted quakes at the freshness gate Matt Johnson 2026-08-16 01:20:06 +00:00
  • 50553b26f5 fix(roads511): distinguish full closures from partial restrictions Matt Johnson 2026-08-16 01:19:49 +00:00
  • c4706d3c92 fix(ipaws): route county-only alerts through evac-phase detection Matt Johnson 2026-08-16 01:19:46 +00:00
  • db52e30972 MeshCore reconnect persistence: implement 0=unlimited max-reconnect-attempts sentinel fix/meshcore-eventloop-stability-2026-08 Matt Johnson 2026-08-02 04:10:20 +00:00
  • 2b448e064b Fix event-loop starvation, MeshCore stability, config-page hardening Matt Johnson 2026-08-02 01:34:15 +00:00
  • 67176d66d5
    chore(central-ripout 2d-ii): remove dead fire scraps (NOT the 'rewrite' — there wasn't one) (#166) malice 2026-07-17 22:11:00 -06:00
  • 66a4f1e3ef test(fire-ripout 2dii-c): rewire fire tests off the deleted dead entrypoints Matt Johnson 2026-07-18 04:04:05 +00:00
  • 2476b74908 chore(fire-ripout 2dii-b): remove dead handle_wfigs entrypoint Matt Johnson 2026-07-18 04:03:47 +00:00
  • c401e7b1fc chore(fire-ripout 2dii-a): remove dead wildfire_growth cutover path + handle_firms Matt Johnson 2026-07-18 04:03:40 +00:00
  • 6050392d09
    chore(central-ripout 2e): split central_normalizer.py; eliminate the "central" name (#165) malice 2026-07-17 17:15:50 -06:00
  • ef2df5f54b chore(central-ripout 2e): split central_normalizer.py; eliminate the "central" name Matt Johnson 2026-07-17 23:11:26 +00:00
  • de91751bbc
    chore(central-ripout 2d-i): relocate the fire engine + renderer out of central/ (#164) malice 2026-07-17 16:31:48 -06:00
  • 1ffde64c3c chore(central-ripout 2d-i): relocate the fire engine + renderer out of central/ Matt Johnson 2026-07-17 22:27:08 +00:00
  • dd932b4ee9
    chore(central-ripout 2c): relocate gauge sites to env/gauge_sites.py (#163) malice 2026-07-17 16:04:34 -06:00
  • 8fb7655b3f chore(central-ripout 2c): relocate gauge sites to env/gauge_sites.py Matt Johnson 2026-07-17 22:00:00 +00:00
  • 41178831e4
    chore(central-ripout 2b): relocate satellite code to env/satellite/ (#162) malice 2026-07-17 15:46:36 -06:00
  • e90d30accb chore(central-ripout 2b): update satpass/tle test suite for the relocation Matt Johnson 2026-07-17 21:37:23 +00:00
  • 0c4be8db91 chore(central-ripout 2b): repoint satellite consumers at env.satellite Matt Johnson 2026-07-17 21:36:42 +00:00
  • 48ff153618 chore(central-ripout 2b): split tle_handler.py -> env/satellite/tle_store.py Matt Johnson 2026-07-17 21:26:25 +00:00
  • 525b9ca42c chore(central-ripout 2b): split satpass_handler.py -> env/satellite/pass_format.py Matt Johnson 2026-07-17 21:26:20 +00:00
  • 9e82ce6a34 chore(central-ripout 2b): create env/satellite package, move pass_predictor Matt Johnson 2026-07-17 21:25:55 +00:00
  • ff127bee18
    chore(central-ripout 2a): remove the budget shim + dead work_zone renderer (#161) malice 2026-07-17 15:12:55 -06:00
  • d98608db22 chore: delete dead renderers/work_zone.py Matt Johnson 2026-07-17 21:03:35 +00:00
  • 6aec582fcb chore: remove central.budget re-export shim Matt Johnson 2026-07-17 21:03:23 +00:00
  • b7fa0aad02
    ci: add pytest gate for PRs and pushes to main (#157) malice 2026-07-17 14:32:15 -06:00
  • e035563501 ci: add pytest gate for PRs and pushes to main Matt Johnson 2026-07-17 17:01:09 +00:00
  • b1535744a1
    fix(tests): stop poisoning sys.modules session-wide with a bare MagicMock (#160) malice 2026-07-17 14:25:11 -06:00
  • 2d359ea6f1 fix(tests): stop poisoning sys.modules session-wide with a bare MagicMock fix/test-isolation-leak-phase4 Matt Johnson 2026-07-17 20:24:28 +00:00
  • cd226689da
    docs: one README (root canonical) — the two had cross-drifted (#152) malice 2026-07-17 14:15:39 -06:00
  • 1a28a4bfad build(work): eliminate work/README.md as a second source of truth docs/single-readme Matt Johnson 2026-07-17 02:58:45 +00:00
  • 2243724ae9 docs(readme): reconcile root README as the single source of truth Matt Johnson 2026-07-17 02:58:32 +00:00
  • 18e9ae9127
    chore: untrack dashboard build output (stale by 13 commits on the pip path) (#151) malice 2026-07-17 14:14:16 -06:00
  • 8d60db11d6 docs(readme): move frontend-build note to root README chore/untrack-dashboard-static Matt Johnson 2026-07-17 03:00:58 +00:00
  • f5b3f85b86 fix(dashboard): log clearly when the built frontend is missing Matt Johnson 2026-07-17 01:32:25 +00:00
  • 69b72d76ce docs(readme): document the required frontend build for pip installs Matt Johnson 2026-07-17 01:32:19 +00:00
  • bc2e487141 chore(dashboard): untrack committed frontend build output Matt Johnson 2026-07-17 01:24:52 +00:00
  • 5685ed034f
    feat(swpc): native solar_radiation_storm (S-scale) formatter + decider + pinned goldens (#145) malice 2026-07-17 14:12:40 -06:00
  • 517a247151 feat(swpc): native solar_radiation_storm (S-scale) formatter + decider + pinned goldens feat/native-solar-radiation-storm Matt Johnson 2026-07-17 20:11:29 +00:00
  • e9daabfbff
    fix(satpass): default feed_source to native; correct misleading config comments (#139) malice 2026-07-17 14:09:24 -06:00
  • 2dddc1a67b fix(satpass): default feed_source to native; correct misleading config comments Matt Johnson 2026-07-16 17:30:40 +00:00
  • e9153943bf
    chore(wzdx): remove two dead config fields (#150) malice 2026-07-17 14:07:46 -06:00
  • 3c900091d7
    docs: point onboarding at the dashboard; drop 3 phantom keys from the seeded default (#147) malice 2026-07-17 14:07:31 -06:00
  • 12e7335add
    fix(dashboard): hard-disable the Central feed_source option (retired backend) (#154) malice 2026-07-17 14:07:27 -06:00
  • 2543dfa8d1
    fix(config): warn on unknown config keys; delete 7 phantom keys from the example (#146) malice 2026-07-17 14:07:23 -06:00
  • b0d1a76e70
    feat(dashboard): make the gauge-sites bulk import reachable (#149) malice 2026-07-17 14:07:09 -06:00
  • 89a46d520a
    fix(hydro): restore USGS stream-gauge flood alerts (silently dead since the all-native flip) (#156) malice 2026-07-17 14:07:04 -06:00
  • d7913fddaa
    feat(dashboard): serve real recommendations in Nodes & Health; give mesh_intelligence one home (#148) malice 2026-07-17 14:06:15 -06:00
  • ec973b606a
    chore(dashboard): remove orphaned route, redirect 5 legacy routes, fix a misleading docstring (#143) malice 2026-07-17 14:06:12 -06:00
  • 391a6316ad
    chore: remove dead modules and orphaned fixtures (-2,952 LOC) (#142) malice 2026-07-17 14:06:08 -06:00
  • f4b717f351
    chore: untrack dashboard-frontend/node_modules (#141) malice 2026-07-17 14:06:03 -06:00
  • 9f06930a0d
    chore: excise the dead Central NATS consumer path (-11,328 LOC) (#144) malice 2026-07-17 14:03:40 -06:00
  • 16f01b29d4
    fix(persistence): derive SCHEMA_VERSION from migrations; unbreak the red suite (#140) malice 2026-07-17 13:03:40 -06:00
  • 8460ab50e0
    fix(ipaws): route county-only CAP alerts + auto-refresh toggles live (#159) malice 2026-07-17 12:08:29 -06:00
  • 553bba0925 fix(ipaws): route county-only CAP alerts + auto-refresh toggles live Matt Johnson 2026-07-17 17:57:49 +00:00
  • e244405230
    feat(dashboard): bring ipaws adapter + emergency family to full GUI parity (#158) malice 2026-07-17 11:36:13 -06:00
  • 47d7ef7e78 feat(dashboard): bring ipaws adapter + emergency family to full GUI parity feat/ipaws-gui-parity Matt Johnson 2026-07-17 17:06:00 +00:00
  • 21b3d3959a test(hydro): cover native gauge flood-alert registration, gating, and wire format Matt Johnson 2026-07-17 15:23:42 +00:00
  • c6a5e45d9f fix(hydro): make native USGS gauge flood alerts renderable Matt Johnson 2026-07-17 15:23:33 +00:00
  • c04daa6e4d
    fix(config): merge partial PUT bodies instead of resetting to defaults (#155) malice 2026-07-17 01:28:41 -06:00
  • 77748ff104 fix(config): merge partial PUT bodies instead of resetting to defaults fix/config-save-partial-wipe Matt Johnson 2026-07-17 07:20:48 +00:00
  • d8fe214da5 fix(dashboard): hard-disable the Central feed_source option (retired backend) Matt Johnson 2026-07-17 06:59:29 +00:00
  • ea4c010967
    feat(meshcore): report the true connection + add roster/channel management (#153) malice 2026-07-16 22:24:49 -06:00
  • aa18f642aa feat(meshcore): report the true connection + add roster/channel management Matt Johnson 2026-07-17 03:50:36 +00:00
  • 51ee056b21 chore(wzdx): remove two dead config fields Matt Johnson 2026-07-17 03:05:48 +00:00
  • 70865f943e docs(readme): move dashboard-first onboarding rewrite to root README Matt Johnson 2026-07-17 03:02:07 +00:00
  • ead5deed0b feat(dashboard-frontend): render recommendations in Nodes & Health Matt Johnson 2026-07-16 22:57:47 +00:00
  • 31d8a361d2 feat(dashboard): serve real recommendations from /api/health Matt Johnson 2026-07-16 22:57:39 +00:00
  • 841311795f refactor(mesh_reporter): expose recommendations as list[str] Matt Johnson 2026-07-16 22:57:29 +00:00
  • 202ed5795f feat(dashboard): add gauge-sites bulk import UI Matt Johnson 2026-07-16 22:53:04 +00:00
  • 5288089768 test(dashboard): assert gauge_sites import route is reachable via real app Matt Johnson 2026-07-16 22:48:57 +00:00
  • fa9b6c7820 fix(dashboard): register gauge_sites_import router Matt Johnson 2026-07-16 22:48:57 +00:00
  • be867d230c docs: point onboarding at the dashboard, not the legacy example config Matt Johnson 2026-07-16 21:16:53 +00:00
  • 1661b355f3 fix(entrypoint): drop three phantom history keys from the seeded default Matt Johnson 2026-07-16 21:16:53 +00:00
  • ea174f18d6 fix(config): remove phantom config.example.yaml keys, add missing live ones Matt Johnson 2026-07-16 21:01:46 +00:00
  • 6b71b23cf3 fix(config): warn on unknown config keys instead of silently dropping them Matt Johnson 2026-07-16 21:01:35 +00:00
  • 03d58d9aae test(nws): restore native-only golden coverage for the wire formatter Matt Johnson 2026-07-16 20:29:21 +00:00
  • ca751fb50b chore: excise the dead Central NATS consumer path Matt Johnson 2026-07-16 19:53:08 +00:00
  • 225e296691 chore: untrack dashboard-frontend/node_modules Matt Johnson 2026-07-16 19:18:56 +00:00
  • 0a9345fb5b test(fire-tracker): pin config + history db to tmp_path Matt Johnson 2026-07-16 18:26:07 +00:00
  • 785d32e668 test(tle): make TLE fixtures time-relative so they cannot expire Matt Johnson 2026-07-16 18:26:07 +00:00
  • bc94cf237a fix(persistence): derive SCHEMA_VERSION from the migrations directory Matt Johnson 2026-07-16 18:26:07 +00:00
  • 69d3cc7659 docs(dashboard-api): fix misleading refresh_toggles docstring Matt Johnson 2026-07-16 17:51:17 +00:00
  • 4c97a7d3f1 chore(dashboard): redirect 5 orphaned legacy routes to their tabbed homes Matt Johnson 2026-07-16 17:50:56 +00:00
  • 43e06bff81 chore(dashboard): remove orphaned /adapter-config route Matt Johnson 2026-07-16 17:49:12 +00:00
  • 6c71e6158d chore: remove orphaned swpc/swpc_last golden fixtures Matt Johnson 2026-07-16 17:15:52 +00:00
  • ec463eba7c chore: remove empty meshai/cli package Matt Johnson 2026-07-16 17:15:16 +00:00
  • 93d6e605c1 chore: remove dead region_tagger.py module Matt Johnson 2026-07-16 17:15:04 +00:00
  • 174befd4a3 chore: remove dead mesh_sources.py module Matt Johnson 2026-07-16 17:14:58 +00:00
  • bbe97398bc
    feat(ipaws): add FEMA IPAWS-OPEN civil-alert adapter (disabled by default) (#138) malice 2026-07-16 09:05:01 -06:00
  • 707ce036f0 feat(ipaws): add FEMA IPAWS-OPEN civil-alert adapter (disabled by default) Matt Johnson 2026-07-16 15:01:34 +00:00