Skip to content

fix: follow-ups from the 2026-09-23..30 merge review - #186

Merged
MrAlders0n merged 13 commits into
devfrom
fix/weekly-review-followups
Sep 30, 2026
Merged

MrAlders0n merged 13 commits into
devfrom
fix/weekly-review-followups

Conversation

@MrAlders0n

Copy link
Copy Markdown
Member

Fixes from a review of the PRs merged into dev this week (#149–#185). One commit per fix.

Bugs

API shape

  • RouteEvidence no longer carries the dead nextCursor; items, hasMore and nextPageCursor are unchanged on the wire.
  • Observer.statusMetadata is emitted as a JSON object instead of a base64 string (beacon-web keeps a base64 fallback for older servers).

CI

  • TestPacketSummariesPostgres and the TestReconfirm*Postgres tests are now in the Postgres run; the analytics retention test reads GetSignalStats/GetPathStats on the 039 views.

Follow-up (not in this PR)

Same-observer broker copies that block on each other's ON CONFLICT insert can still race MarkSent; closing that needs the insert to return the stored path.

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.
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.
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.
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.
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.
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.
@MrAlders0n
MrAlders0n merged commit f6fe177 into dev Sep 30, 2026
3 checks passed
@MrAlders0n
MrAlders0n deleted the fix/weekly-review-followups branch September 30, 2026 14:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant