---
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
