No description
Find a file
Graham McInitre b3ad3bdbe6 fix: sweep bugs across Python MQTT listener, Elixir PSKR/propagation, and Rust
Python pskr_mqtt_listen.py:
- Guard against malformed CONNACK/SUBACK/PUBLISH packets
- Fix _s() truthiness: is not None instead of if v (zero SNR was lost)
- EINTR-safe select loop, OOB data handling, VBInt overflow check
- Proper socket cleanup with try/finally + DISCONNECT on shutdown

Elixir:
- Log dropped spot errors in aggregator (was silently discarded)
- Wire retain_scores_window into NotifyListener chain completion
- Recurse sweep_tmp_dir into band/weather_scalars subdirectories
- Rescue recalibrator.run/0 to write failed status row on crash
- Handle nil in fmt_snr/fmt_callsigns (no more nil dB crashes)
- Replace Stream.run with Enum.reduce logging exits in poll_worker
- Handle File.stat race in ms_footprints prune, grid_center nil log
- Fix unused variables, stale comments, missing get_path!/1

Rust:
- Graceful JoinError handling in fetcher/hrdps_fetcher (no more panics)
- round_to_5min returns Option (leap-second safe)
- Acquire/Release ordering on shutdown flags (was Relaxed)
- Parameterized NOTIFY in db.rs, defensive scalar sweep, NaN guard
- OsString::push for tmp naming, clippy fixes
2026-07-20 19:48:45 -05:00
.forgejo/workflows chore(ci): source registry host from secrets.REGISTRY_URL 2026-05-05 14:31:50 -05:00
.github Add contact edit approval system with admin review queue 2026-04-11 16:15:49 -05:00
assets feat(weather): add duct cutoff band map layer 2026-05-15 19:51:24 -05:00
bin Fix livebook path resolution in bin/notebook 2026-04-07 11:15:49 -05:00
config Fix low-severity bugs and re-enable Credo checks 2026-05-29 17:29:22 -05:00
docs feat: extend HRRR forecast horizon from 18h to 48h 2026-06-10 11:36:58 -05:00
k8s update for ip changes 2026-07-20 09:01:36 -05:00
lib fix: sweep bugs across Python MQTT listener, Elixir PSKR/propagation, and Rust 2026-07-20 19:48:45 -05:00
lib_ml fix: resolve all compiler warnings except framework-generated phoenix_component_verify 2026-05-29 10:18:52 -05:00
nix chore: bump nix postgres from 16 to 17 2026-07-16 09:23:39 -05:00
notebooks refactor: normalize pos1/pos2 JSONB key to 'lon' everywhere 2026-04-17 09:10:32 -05:00
priv perf: batch fixes for site-wide audit — indexes, N+1, streams, atomicity 2026-07-16 07:31:19 -05:00
rel Add Erlang clustering via libcluster and expose LiveDashboard 2026-04-06 09:46:48 -05:00
rust/prop_grid_rs fix: sweep bugs across Python MQTT listener, Elixir PSKR/propagation, and Rust 2026-07-20 19:48:45 -05:00
scripts fix: sweep bugs across Python MQTT listener, Elixir PSKR/propagation, and Rust 2026-07-20 19:48:45 -05:00
test fix: accept 4-char Maidenhead grids in PSK Reporter spots 2026-07-20 13:54:32 -05:00
vendor fix: resolve all compiler warnings except framework-generated phoenix_component_verify 2026-05-29 10:18:52 -05:00
.credo.exs updates 2026-06-16 12:38:08 -05:00
.dockerignore Optimize Dockerfile layer caching 2026-04-01 10:32:56 -05:00
.envrc Track .envrc with use flake, move secrets to .envrc.local 2026-07-20 18:35:13 -05:00
.formatter.exs initial 2026-03-28 11:28:47 -05:00
.gitignore Track .envrc with use flake, move secrets to .envrc.local 2026-07-20 18:35:13 -05:00
.tool-versions feat: add Nix flake dev environment with Erlang 29.0.3 + Elixir 1.20.2 2026-07-15 12:57:10 -05:00
AGENTS.md initial 2026-03-28 11:28:47 -05:00
algo.md feat(weather): /weather-ca endpoint shows HRDPS-only Canadian data 2026-04-30 12:08:48 -05:00
app.json Migrate healthchecks from CHECKS to app.json 2026-04-04 11:24:56 -05:00
bugs.md fix: 6 bugs from bugs.md — ADIF parser, Es MUF, enrichment reset, profile privacy, HRRR OOM risks 2026-05-12 09:37:09 -05:00
CLAUDE.md fix: ensure all unused historical NFS data gets cleaned up 2026-07-20 09:27:36 -05:00
Dockerfile fix: revert Docker builder to Elixir 1.20.1 / OTP 29.0.2 2026-07-15 13:58:06 -05:00
Dockerfile.base Revert "fix: bump Docker debian date suffix from 20260518 to 20260713" 2026-07-15 13:57:04 -05:00
flake.lock feat: add Nix flake dev environment with Erlang 29.0.3 + Elixir 1.20.2 2026-07-15 12:57:10 -05:00
flake.nix feat: add Nix flake dev environment with Erlang 29.0.3 + Elixir 1.20.2 2026-07-15 12:57:10 -05:00
LICENSE Add GPLv3 license 2026-04-23 13:57:07 -05:00
mix.exs deps: update all dependencies to latest versions 2026-07-20 09:59:13 -05:00
mix.lock deps: update all dependencies to latest versions 2026-07-20 09:59:13 -05:00
nix.md feat: add Nix flake dev environment with Erlang 29.0.3 + Elixir 1.20.2 2026-07-15 12:57:10 -05:00
prediction.md HRRR forecast hours (f00-f18) with timeline map UI 2026-03-31 16:44:47 -05:00
README.md initial 2026-03-28 11:28:47 -05:00
shell.nix feat: add Nix flake dev environment with Erlang 29.0.3 + Elixir 1.20.2 2026-07-15 12:57:10 -05:00
tail_logs.sh Add type filter to backfill enqueue 2026-04-06 11:42:26 -05:00
updates.md Update seasonal scores from sounding data, document commercial link patterns 2026-04-07 11:45:44 -05:00

Microwaveprop

To start your Phoenix server:

  • Run mix setup to install and setup dependencies
  • Start Phoenix endpoint with mix phx.server or inside IEx with iex -S mix phx.server

Now you can visit localhost:4000 from your browser.

Ready to run in production? Please check our deployment guides.

Learn more