MrAlders0n
f6fe177a4e
docs: regenerate swagger
2026-09-30 10:31:08 -04:00
MrAlders0n
50d35d8626
fix(api): emit observer statusMetadata as JSON
2026-09-30 10:31:08 -04:00
MrAlders0n
8a488fde95
fix(meshmapper): retry failed catalogue fetches sooner
...
A transient failure pushed the next attempt out by the full refresh interval. Failures now retry in five minutes, with a server Retry-After still honoured as a ceiling.
2026-09-30 10:31:08 -04:00
MrAlders0n
9ce4e8d10c
fix(cache): invalidate derived scope keys on catalogue import
2026-09-30 10:31:08 -04:00
MrAlders0n
3b548900a0
fix(api): tolerate client clock skew and drop the dead route evidence cursor
2026-09-30 10:31:08 -04:00
MrAlders0n
1c2841a3c9
perf(db): compute route ambiguity once per reconfirm run
...
The four-way GROUP BY over node_short_ids ran once per 1000-route batch, up to 750 times a run, and could eat the whole 5s batch budget. The task now fetches the set once and passes it to each batch.
2026-09-30 10:31:08 -04:00
MrAlders0n
ab27334f15
fix(backup): report trailing archive data as corruption
2026-09-30 10:31:08 -04:00
MrAlders0n
e1b78b6458
fix(profiling): offset periodic captures and harden the recorder
...
Periodic ticks now start five minutes off the task tickers so the hourly reconfirm trigger stops colliding with the cooldown, any capture clears a deferred periodic, subdirectories no longer stop the recorder, and the metadata sidecar is published before the profile.
2026-09-30 10:31:08 -04:00
MrAlders0n
e7061f5e10
fix(api): log the cause of account 500s
2026-09-30 10:31:08 -04:00
MrAlders0n
44b9a0f6d8
ci: run packet summary and reconfirm tests, read analytics on 039 views
2026-09-30 10:31:08 -04:00
MrAlders0n
c952afdd29
fix(ingest): let paho auto-ack MQTT deliveries
...
Sessions are clean and client IDs random, so deferring acks never bought redelivery; it only capped delivery at the broker's inflight window and pushed backlog into the broker queue, where drops are silent.
2026-09-30 10:31:08 -04:00
MrAlders0n
6852074180
fix(ingest): record hearing paths right after the insert
...
MarkSent ran after the side effects, so a broker copy on another worker could win it and be streamed as a repeat of the first hearing. It now runs before any further DB work, unconditionally so the set is warm before anyone opts in, and never for TRACE, whose path bytes are per-hop SNR.
2026-09-30 10:31:08 -04:00
MrAlders0n
d733975165
fix(backup): abort exports on shutdown and sweep stale staging dirs
...
srv.Shutdown never cancelled the request context, so a SIGTERM mid-export left the plaintext dump and pg_service.conf in TMPDIR. The handler now derives its context from the app context and the router removes staging dirs older than 20 minutes at startup.
2026-09-30 10:31:08 -04:00
MrAlders0n
5cf060114a
feat: add bounded CPU profiling ( #182 )
...
* feat: add bounded CPU profiling
* fix(profiling): defer cooldown-skipped samples and configure triggers
2026-09-30 07:52:59 -04:00
MrAlders0n
32644ae09f
chore: set MrAlders0n as default code owner
2026-09-30 07:48:21 -04:00
MrAlders0n
fd57c8b00c
fix(ingest): accept space-separated and colonless-offset timestamps
2026-09-30 07:48:21 -04:00
MrAlders0n
c9b7010082
chore: regenerate sqlc and document saved-route evidence
2026-09-30 07:48:21 -04:00
n30nex
89a376c291
fix(ingest): accept RFC3339 timestamp offsets and precision
2026-09-30 07:33:53 -04:00
n30nex
97cc22a5a0
fix: address maintainer review for #166
2026-09-30 07:33:45 -04:00
n30nex
3b806c1c39
fix(ingest): resolve advert endpoints after node updates
2026-09-30 07:33:45 -04:00
n30nex
6bf58acb80
fix: address maintainer review for #176
2026-09-30 07:19:03 -04:00
n30nex
8f6032877b
test(channels): preserve the existing catch-up response shape
2026-09-30 07:19:03 -04:00
n30nex
07335e6625
test(channels): use the documented catch-up cursor parameter
2026-09-30 07:19:03 -04:00
n30nex
7d3a3e289e
test(channels): verify scope metadata through all HTTP message routes
2026-09-30 07:19:03 -04:00
n30nex
abb6a3b9cf
test(channels): give stored packet fixtures explicit receive times
2026-09-30 07:19:03 -04:00
n30nex
2abed6c195
feat(channels): expose recorded packet scope in message delivery
2026-09-30 07:19:03 -04:00
n30nex
7e01abf5a0
docs(api): refresh generated contract after stack update
2026-09-30 07:19:03 -04:00
n30nex
83cbaff1cf
fix: address release review follow-ups for #174
2026-09-30 07:19:03 -04:00
n30nex
574bba4e13
fix: address maintainer review for #174
2026-09-30 07:19:03 -04:00
n30nex
986a6c0788
test(scopes): synchronize the timeout fixture state
2026-09-30 07:19:03 -04:00
n30nex
f6e628c501
test(scopes): run race checks on the Linux CI runner
2026-09-30 07:19:03 -04:00
n30nex
c18e059e0d
feat(scopes): import cached regional MeshMapper catalogues
2026-09-30 07:19:03 -04:00
n30nex
831148ff5f
fix: address release review follow-ups for #172
2026-09-30 07:19:03 -04:00
n30nex
85c9123e9a
fix: address maintainer review for #172
2026-09-30 07:19:03 -04:00
n30nex
cd20bc5c34
test(routes): cover server-anchored evidence windows
2026-09-30 07:19:03 -04:00
n30nex
c448a04ea0
feat(routes): add bounded retained observation evidence
2026-09-30 07:19:03 -04:00
n30nex
b8a8188fbc
test: mirror coalesced observer payload types
2026-09-30 07:19:03 -04:00
n30nex
de42595de0
style: trim regenerated sqlc configuration
2026-09-30 07:19:03 -04:00
n30nex
551f061f9c
docs(api): refresh generated contract after stack update
2026-09-30 07:19:02 -04:00
n30nex
dea5395783
fix: address release review follow-ups for #169
2026-09-30 07:19:02 -04:00
n30nex
d3c330e8fb
fix: address maintainer review for #169
2026-09-30 07:19:02 -04:00
n30nex
5977e42c5c
test(observers): exercise non-finite raw and archived samples
2026-09-30 07:19:02 -04:00
n30nex
47342abc99
fix(observers): keep non-finite signal samples out of JSON
2026-09-30 07:19:02 -04:00
n30nex
5fbba24a4a
fix(observers): separate packet metrics from presence updates
2026-09-30 07:19:02 -04:00
n30nex
fd7c6b3eb7
feat(db): retain 30-day analytics independently of packet expiry ( #167 )
2026-09-30 07:16:27 -04:00
MrAlders0n
db30c9b573
fix(db): batch route reconfirmation to avoid ingest stalls ( #180 )
2026-09-28 08:41:48 -04:00
MrAlders0n
1887fccb8d
perf(ingest): reduce database work and buffer MQTT bursts ( #179 )
2026-09-27 22:56:03 -04:00
MrAlders0n
876d99704f
feat(ws): opt-in includeRepeats streams later hearings over new paths ( #178 )
...
Duplicate observations are dropped before the hub today, so a live map only sees each packet's first hearing per observer. Clients that configure includeRepeats also get later hearings whose path is new; nothing is stored, repeats skip the count query, and they are dropped first when the broadcast channel is half full.
2026-09-27 20:38:49 -04:00
MrAlders0n
90f9b50614
feat(ws): allow subdomain wildcards in allowed origins ( #177 )
2026-09-27 20:03:49 -04:00
MrAlders0n
dec643a2ad
feat(ws): opt-in allowed origins and observer key ( #170 )
2026-09-27 11:41:11 -04:00