--- issue: 089 title: "Frontend: admin payments-awaiting-confirmation polls every 12s unconditionally" severity: medium domain: Admin labels: [performance, frontend, polling] status: open created: 2026-05-30 source: Full Codebase Audit 2026-05-30 --- # Frontend: admin payments-awaiting-confirmation polls every 12s unconditionally **Severity:** medium **Domain:** Admin **Labels:** performance, frontend, polling ## Description `payments-awaiting-confirmation-list-view.tsx:95` polls the backend every 12 seconds regardless of tab visibility or socket connectivity. NB-49 added visibility-gating as a no-brainer, but the longer-term question of whether to replace polling with socket subscriptions remains. ## Options 1. Pause polling when `document.visibilityState === 'hidden'` and increase interval (applied via NB-49). 2. Replace polling with a socket subscription for awaiting-confirmation events — best but needs backend events. 3. Both: visibility-gated polling now, socket later. ## Recommendation NB-49 applied the visibility gate. Plan a socket subscription for awaiting-confirmation events to eliminate polling entirely. Confirm acceptable notification latency with owner. ## Affected Files - `frontend/src/sections/admin/payments-awaiting-confirmation/payments-awaiting-confirmation-list-view.tsx:95` ## References - [Full Codebase Audit 2026-05-30](../09%20-%20Audits/Full%20Codebase%20Audit%20-%202026-05-30.md) — DEC-18