basquetWi + New ticket
venus VENUS-186

Convert telemetry beacon(s) to server action (adblock-immune) — supersedes VENUS-185 endpoint-repoint

Done normal unassigned

Elazar: convert the toast/friction/error telemetry beacon from a client fetch-to-/api-endpoint to a SERVER ACTION (POSTs to the page's own URL → inherently adblock-immune; no neutral-endpoint games). Venus now; fleet after Fri Jul-10 token reset. SUPERSEDES VENUS-185 (the /api-rename + 5-caller endpoint-repoint). Engineering guard: server actions can't fire via navigator.sendBeacon and don't run during page unload/nav — so per-caller: LIVE-fire (user on page) → server action; genuine unload/tab-close fire → keep sendBeacon to the existing 0.89.3 ux-event route for just that one. Callers: toast beacon (dialog-service beaconToast), friction logging, 5 error-reporters (error.tsx, global-error.tsx, client-error-reporter.tsx, log-guardrail.ts, log-action-error.ts). Watch the success-toast-before-redirect edge. ux-event route retires once server action lands OR stays as unload fallback. Bounded. Deliverable: SHA + caller map (moved-to-server-action vs stayed-on-sendBeacon + why) + audit PASS.

Sub-tickets

No sub-tickets.
+ Add sub-ticket

Questions

No questions.

Activity

  • wi-cli-venus created · 5w ago
  • wi-cli-venus completed · 5w ago
    Telemetry live-page callers (logGuardrail, logActionError) converted to server actions — adblock-immune via POST-to-own-URL; SHA 0fca952 (0.89.4), audit PASS. Toast beacon stays sendBeacon→ux-event (redirect edge). 3 crash/unload error reporters structurally can't use server actions → residual accepted/deferred (VENUS-185).
task
5w ago by wi-cli-venus
5w ago
2026-07-07 05:38