Commit Graph

  • ef255cd689 refactor(message_handler): DMs read SNR and RSSI through _message_signal agessaman 2026-10-03 13:55:02 -07:00
  • 80d80c52dd refactor(message_handler): split handle_channel_message into steps on ChannelMessageMixin agessaman 2026-10-03 13:50:40 -07:00
  • 49458bc211 refactor(rf_log): split handle_rf_log_data into named steps agessaman 2026-10-03 13:40:18 -07:00
  • 6e0f9557ab refactor(message_handler): move handle_rf_log_data into RfLogMixin agessaman 2026-10-03 13:35:24 -07:00
  • 1aecf93323 refactor(message_handler): discover_message_path finds its contact through _find_contact agessaman 2026-10-03 13:07:06 -07:00
  • 752a1c24bc refactor(rf_correlation): RfCorrelationMixin owns inserting RF rows and caching signal values agessaman 2026-10-03 12:42:23 -07:00
  • 7c186cb65c refactor(message_handler): move RF log correlation into RfCorrelationMixin agessaman 2026-10-03 12:38:00 -07:00
  • 2f788abc9b Merge origin/dev (#342) into refactor/maintainability agessaman 2026-10-03 12:28:45 -07:00
  • c6500be0c3 Merge pull request #342 from agessaman/fix/remove-pending-message-correlation Adam Gessaman 2026-10-03 12:24:53 -07:00
  • 505058cc90 refactor(message_handler): remove the pending-message correlation list fix/remove-pending-message-correlation agessaman 2026-10-03 12:09:58 -07:00
  • c57fae64cf refactor(mesh_graph_recorder): truth-test the graph once in _mesh_graph_capturing agessaman 2026-10-03 11:06:48 -07:00
  • f5628acf80 refactor(message_handler): one mesh-graph capture guard and one contact-capacity check agessaman 2026-10-03 09:59:19 -07:00
  • 1e987b3829 refactor(message_handler): move contact and advert events into ContactEventsMixin agessaman 2026-10-03 09:54:51 -07:00
  • 2881568f28 refactor(message_handler): move mesh graph recording into MeshGraphRecorderMixin agessaman 2026-10-03 09:51:23 -07:00
  • e359d8d01f Merge origin/dev (#335, #336, #338, #341) into refactor/maintainability agessaman 2026-10-03 09:41:56 -07:00
  • 73d82562cc Merge pull request #341 from agessaman/fix/trace-late-response Adam Gessaman 2026-10-03 09:38:11 -07:00
  • de1df09d6f fix(trace): accept a late reply to an earlier attempt, and allow for repeater TX delay fix/trace-late-response agessaman 2026-10-03 09:27:59 -07:00
  • 5bfe975fa8 Merge pull request #336 from agessaman/fix/transmission-tracker Adam Gessaman 2026-10-03 09:22:51 -07:00
  • 4c1f55236e Merge remote-tracking branch 'origin/dev' into fix/transmission-tracker fix/transmission-tracker agessaman 2026-10-03 09:13:11 -07:00
  • ba94c1e3f3 Merge pull request #335 from agessaman/fix/new-contact-route Adam Gessaman 2026-10-03 09:13:03 -07:00
  • db839a6192 Merge remote-tracking branch 'origin/dev' into fix/new-contact-route fix/new-contact-route agessaman 2026-10-03 09:12:52 -07:00
  • 18e4a690e1 Merge pull request #338 from agessaman/fix/noaa-tomorrow-zero Adam Gessaman 2026-10-03 08:56:50 -07:00
  • a8f4eec3ec fix(graph_trace_helper): no self-loop for a one-hop neighbor sharing our prefix; survive bad distances agessaman 2026-10-02 18:54:40 -07:00
  • 568b296358 fix(graph_trace_helper): tell the bot apart from a hop sharing its prefix agessaman 2026-10-02 18:48:21 -07:00
  • a42ba576db fix(graph_trace_helper): record a trace's links in path order, with known keys only agessaman 2026-10-02 18:44:50 -07:00
  • 0ad9f4e69a fix(transmission_tracker): read the bot's prefix from the radio's reported key agessaman 2026-10-02 18:32:54 -07:00
  • b569eb8dd7 fix(wx): keep a 0° Tomorrow period in the default NOAA reply fix/noaa-tomorrow-zero agessaman 2026-10-02 18:02:34 -07:00
  • 0c30cdfcb3 refactor(wx): append NOAA's Today and Tonight periods through _append_noaa_period agessaman 2026-10-02 17:59:10 -07:00
  • 4dce714e0d Merge remote-tracking branch 'origin/dev' into refactor/maintainability agessaman 2026-10-02 17:33:57 -07:00
  • bf8b5c7ceb Merge remote-tracking branch 'origin/dev' into fix/new-contact-route agessaman 2026-10-02 17:33:26 -07:00
  • 8f99b45e44 Merge remote-tracking branch 'origin/dev' into fix/transmission-tracker agessaman 2026-10-02 17:33:26 -07:00
  • 2f0dd667a4 fix(message_handler): release a cancelled add's claim and match last_advert 0 exactly agessaman 2026-10-02 17:33:18 -07:00
  • 3c76c5bf73 fix(transmission_tracker): require our radio name on a channel match and drain writes at shutdown agessaman 2026-10-02 17:33:18 -07:00
  • b6867a496a Merge pull request #334 from agessaman/fix/noaa-tonight-without-temp Adam Gessaman 2026-10-02 17:26:38 -07:00
  • 201e60163c fix(message_handler): find NEW_CONTACT's advert by its timestamp, even mid-processing agessaman 2026-10-02 16:55:40 -07:00
  • 323ebedeae fix(transmission_tracker): match a sent message only to its own packet agessaman 2026-10-02 16:51:15 -07:00
  • 01718ff938 fix(message_handler): take a new contact's route from its own advert agessaman 2026-10-02 16:44:39 -07:00
  • 308e95f159 refactor: restore AqiCommand.geolocator and MeshCoreBot.last_clock_sync_time agessaman 2026-10-02 16:44:22 -07:00
  • f3dc49a677 refactor(wx): find the NOAA follow-up periods in _noaa_followup_periods agessaman 2026-10-02 16:33:00 -07:00
  • e05df87a59 fix(wx): leave out a NOAA Tonight period without a temperature instead of failing the reply fix/noaa-tonight-without-temp agessaman 2026-10-02 16:31:31 -07:00
  • a10baf6de2 Merge origin/dev (#322, #323, #333) into refactor/maintainability agessaman 2026-10-02 16:26:53 -07:00
  • 1009766a0c Merge pull request #333 from agessaman/feat/wx-gwx-convergence Adam Gessaman 2026-10-02 16:11:54 -07:00
  • 7159169eb3 Merge remote-tracking branch 'origin/dev' into feat/wx-gwx-convergence feat/wx-gwx-convergence agessaman 2026-10-02 16:03:06 -07:00
  • f994171818 feat(weather): [Weather] always_show_location names the place in every wx/gwx reply agessaman 2026-10-02 07:55:18 -07:00
  • 5c6178dbfa Merge pull request #322 from agessaman/fix/unicode-digit-crash Adam Gessaman 2026-10-02 07:25:27 -07:00
  • 66ce785e6c Merge remote-tracking branch 'origin/dev' into fix/unicode-digit-crash fix/unicode-digit-crash agessaman 2026-10-02 07:19:44 -07:00
  • 9959cc33fc fix(gwx): moon for clear night hours in the hourly forecast agessaman 2026-10-02 07:12:38 -07:00
  • 17a93104cc fix(gwx): label current conditions by is_day, moon at night, name tomorrow's weather agessaman 2026-10-02 07:04:52 -07:00
  • 46fdb1cded Merge pull request #323 from agessaman/refactor/weather-port Adam Gessaman 2026-10-02 05:55:59 -07:00
  • 9c055030c7 fix(weather): alerts as an option alone, option-named sources, alert list send status agessaman 2026-10-02 01:31:37 -07:00
  • 1536f2a634 fix(weather): codex review of the whole branch agessaman 2026-10-02 01:10:39 -07:00
  • 905c0af0cc Merge remote-tracking branch 'origin/refactor/weather-port' into feat/wx-gwx-convergence agessaman 2026-10-02 00:52:12 -07:00
  • e5b66b90ba refactor(weather): log a companion lookup on a bot without a database as dev did refactor/weather-port agessaman 2026-10-02 00:52:05 -07:00
  • 0853739f30 fix(weather): review follow-ups: warning units, wx localization, help text agessaman 2026-10-02 00:48:31 -07:00
  • 927a3746a8 docs(weather): describe wx and gwx as they now behave agessaman 2026-10-01 23:35:48 -07:00
  • 5b50229223 feat(weather): accept knots as the wind unit in wx, gwx and WXSIM agessaman 2026-10-01 23:35:48 -07:00
  • db07f8ca6f feat(i18n): fill the weather catalog gaps in every bundled language agessaman 2026-10-01 23:30:48 -07:00
  • dbe4ac7028 feat(gwx): name the place only when it adds information, as wx does agessaman 2026-10-01 23:23:14 -07:00
  • 3d86b70899 fix(wx): fit NOAA's tomorrow forecast into its byte budget agessaman 2026-10-01 23:17:47 -07:00
  • a2f0d4c22c fix(weather): a refused first message ends the reply agessaman 2026-10-01 23:12:47 -07:00
  • da6e699008 fix(wx): read NOAA's precipitation, gust and below-zero wording agessaman 2026-10-01 23:08:02 -07:00
  • 43c3006072 Merge remote-tracking branch 'origin/refactor/weather-port' into feat/wx-gwx-convergence agessaman 2026-10-01 23:00:39 -07:00
  • 66176a173b refactor(weather): keep wx and gwx's companion-location DEBUG lines agessaman 2026-10-01 23:00:14 -07:00
  • 45f2512acb Merge remote-tracking branch 'origin/feat/gwx-render-safe' into feat/wx-gwx-convergence agessaman 2026-10-01 22:53:29 -07:00
  • 4895da3f77 Merge remote-tracking branch 'origin/fix/weather-wind-emoji' into feat/wx-gwx-convergence agessaman 2026-10-01 22:50:34 -07:00
  • bce38407f2 test(gwx): check that a rendered gwx reply keeps its warning part feat/gwx-render-safe agessaman 2026-10-01 22:47:02 -07:00
  • e9122b2dfd fix(weather): let rain and snow outrank cloud in NOAA emojis; skip non-finite wind degrees fix/weather-wind-emoji agessaman 2026-10-01 22:46:47 -07:00
  • 37aabe5641 Merge remote-tracking branch 'origin/feat/gwx-hourly' into feat/wx-gwx-convergence agessaman 2026-10-01 22:42:38 -07:00
  • 4ab2a9ae48 Merge remote-tracking branch 'origin/fix/gwx-warnings-structured' into feat/wx-gwx-convergence agessaman 2026-10-01 22:32:56 -07:00
  • f4aaa7556f Merge remote-tracking branch 'origin/fix/gwx-missing-current' into feat/wx-gwx-convergence agessaman 2026-10-01 22:29:46 -07:00
  • f597205ce4 Merge remote-tracking branch 'origin/fix/noaa-configured-units' into feat/wx-gwx-convergence agessaman 2026-10-01 22:26:35 -07:00
  • fcb10eaa7e Merge remote-tracking branch 'origin/fix/weather-multiday-days' into feat/wx-gwx-convergence agessaman 2026-10-01 22:26:08 -07:00
  • 988c0caeb3 Merge remote-tracking branch 'origin/feat/gwx-keep-coordinates' into feat/wx-gwx-convergence agessaman 2026-10-01 22:22:34 -07:00
  • bdd9ea92cb Merge remote-tracking branch 'origin/fix/nws-alerts-per-location' into feat/wx-gwx-convergence agessaman 2026-10-01 22:22:27 -07:00
  • 3964a74301 docs(changelog): say which part of the units change reaches default-unit bots fix/noaa-configured-units agessaman 2026-10-01 22:21:53 -07:00
  • 9b9a0a0605 fix(weather): recognize Open-Meteo's heavy-thunderstorm code 97 fix/gwx-warnings-structured agessaman 2026-10-01 22:21:48 -07:00
  • cf91210394 fix(geocoding): keep a zero coordinate on the state-qualified city lookups feat/gwx-keep-coordinates agessaman 2026-10-01 22:20:44 -07:00
  • 2260ac0353 fix(gwx): leave out an absent wind direction instead of reporting north fix/gwx-missing-current agessaman 2026-10-01 22:20:07 -07:00
  • f893c7f00d feat(gwx): allow gwx in scheduled {cmd:...} messages agessaman 2026-10-01 22:13:06 -07:00
  • 0e8ba9bb61 fix(weather): nearest-point wind directions in gwx, and NOAA emoji precedence agessaman 2026-10-01 22:08:37 -07:00
  • 45894262c6 fix(wx): convert station gusts by NOAA's declared unit, keep 0° periods, read km/h gusts from forecast text agessaman 2026-10-01 22:03:43 -07:00
  • 151cf0b78a fix(wx): take today from the location's clock, and date undated periods from their neighbors fix/weather-multiday-days agessaman 2026-10-01 21:59:50 -07:00
  • 65ca8ff164 fix(geocoding): accept a zero coordinate throughout city geocoding agessaman 2026-10-01 21:55:26 -07:00
  • 65eb3492fa feat(gwx): hourly forecasts; custom sources say when an option is unavailable feat/gwx-hourly agessaman 2026-10-01 21:51:34 -07:00
  • 71f7f93e26 fix(gwx): judge extreme-weather warnings from Open-Meteo's numbers, not the reply text agessaman 2026-10-01 21:46:41 -07:00
  • a4513d17c9 fix(gwx): leave out missing current fields instead of inventing values agessaman 2026-10-01 21:42:44 -07:00
  • 883bad9334 feat(wx): follow the configured temperature and wind units for NOAA agessaman 2026-10-01 21:37:52 -07:00
  • 987df9b124 fix(weather): scope NWS 'no coverage' to the point that got it, not the whole bot fix/nws-alerts-per-location agessaman 2026-10-01 21:31:38 -07:00
  • 70972d1d4d refactor(weather): keep solarforecast's enabled check and the names local plugins may use agessaman 2026-10-01 21:27:56 -07:00
  • 8874c54a67 fix(weather): date forecasts by the location's own times, not the bot's clock agessaman 2026-10-01 21:24:03 -07:00
  • 94e6387eba feat(weather): forecast the sender's own point in gwx, and accept zero coordinates agessaman 2026-10-01 21:17:16 -07:00
  • 5601a126dd refactor(weather): port the behavior-neutral weather refactor from refactor/maintainability agessaman 2026-10-01 21:11:23 -07:00
  • 4f9a9e2414 test(characterization): pin the Open-Meteo and solarforecast edge branches the reviews listed agessaman 2026-10-01 20:52:31 -07:00
  • 11905a0679 fix: read superscript and circled digits in arguments as text instead of crashing agessaman 2026-10-01 20:51:56 -07:00
  • c8461053c3 refactor(weather): share wx and gwx's forecast-option parsing as _parse_forecast_suffix agessaman 2026-10-01 20:47:16 -07:00
  • b57403a047 refactor(wx): fetch NOAA points, forecast and hourly data through _noaa_fetch agessaman 2026-10-01 20:43:09 -07:00
  • b62806f58b test(characterization): fail when a public-API golden is missing instead of regenerating it agessaman 2026-10-01 20:21:03 -07:00
  • 09a6b50564 refactor(solarforecast): read the first day's energy before counting its hours, as before agessaman 2026-10-01 20:21:03 -07:00
  • d7958ff951 Merge dev through #321 into refactor/maintainability agessaman 2026-10-01 20:15:49 -07:00
  • 8d28ac637e Merge pull request #321 from agessaman/fix/gwx-null-forecast-days Adam Gessaman 2026-10-01 20:12:47 -07:00