You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Post-release tracking issue from the v26.6.0 deploy (2026-08-27). Prod is serving 25/40 satellites: all amateur birds resolved (AMSAT/SatNOGS fallbacks), but the 15 CelesTrak-only weather sats (GOES/METEOR/ELEKTRO/HIMAWARI/METOP/NOAA + SO-125) stay unresolved an hour after boot.
Diagnostics so far (all verified live)
Health lies green: /api/health reports fletcher ok because health.js probes the service's /health — which is fine — while the actual TLE fetches through it fail. Health should probably probe a relay path, not just liveness.
Co-deploy cold-start race: a push to main redeploys openhamclock-production AND fletcher simultaneously. Prod's satellite state machine starts fetching ~5 min after boot against a cold fletcher whose first relayed requests exceed prod's 20s timeout → httpStatusCode 0 → skipped, and retry spacing is long.
Fletcher is slow even warm: 6–9s per relayed CelesTrak request via fletcher-production.up.railway.app, vs <1s hitting celestrak.org directly from a residential connection (HTTP 200, 30,167 bytes, 73 sats — upstream is healthy). Cold requests exceed 20s. Suspects: undici IPv6-first dialing on Railway egress (try pinning autoSelectFamily/family 4 in fletcher's fetch), or CelesTrak slow-walking fletcher's shared cloud egress IP.
Warm-cache priming of fletcher's 10-min cache with the exact weather-group payload did NOT lead prod to recover within 30 min — so either the state machine's weather-group retry cadence is longer than that after early failures, or requests are failing for a reason not visible externally.
Next steps
Prod Railway logs for [Satellites] lines (needs Railway access): which state, what status codes, whether blockCelesTrakUntil engaged
Fletcher logs for inbound/upstream latency split
Consider: family-pinned fetch in fletcher, shorter warm-up (self-probe on boot), health probe through a relay path, faster weather-group retry after status-0
Verify weather sats return after the 120-min CelesTrak backoff window would expire (~2h post-boot) even with no changes
Filed as wrap-up so the diagnostic chain isn't lost; prod is degraded (weather sats only), amateur satellite tracking unaffected.
Post-release tracking issue from the v26.6.0 deploy (2026-08-27). Prod is serving 25/40 satellites: all amateur birds resolved (AMSAT/SatNOGS fallbacks), but the 15 CelesTrak-only weather sats (GOES/METEOR/ELEKTRO/HIMAWARI/METOP/NOAA + SO-125) stay unresolved an hour after boot.
Diagnostics so far (all verified live)
/api/healthreports fletcher ok because health.js probes the service's /health — which is fine — while the actual TLE fetches through it fail. Health should probably probe a relay path, not just liveness.FLETCHER_URL || TLE_FETCHER_URLbut routing config read only the new name. Fixed in hotfix: honor legacy TLE_FETCHER_URL in fletcher routing #1164 (on main + Staging). Not today's trigger, but real.httpStatusCode 0→ skipped, and retry spacing is long.fletcher-production.up.railway.app, vs <1s hitting celestrak.org directly from a residential connection (HTTP 200, 30,167 bytes, 73 sats — upstream is healthy). Cold requests exceed 20s. Suspects: undici IPv6-first dialing on Railway egress (try pinningautoSelectFamily/family 4 in fletcher's fetch), or CelesTrak slow-walking fletcher's shared cloud egress IP.Next steps
[Satellites]lines (needs Railway access): which state, what status codes, whetherblockCelesTrakUntilengagedFiled as wrap-up so the diagnostic chain isn't lost; prod is degraded (weather sats only), amateur satellite tracking unaffected.
73, K0CJH