Two bugs made "N در صف" persist even when online:
- The badge counted poisoned ops (failed after 5 retries, never removed), so it
never returned to 0. Now the badge counts only retryable (active) ops; poisoned
ops are tracked separately as failedCount and surfaced as a red "N failed —
clear" chip the user can tap to discard them.
- The manual-retry click drained the LEGACY order_queue, not the real outbox the
app actually uses — so clicking did nothing for stuck items. It now drains the
outbox (drainOutbox), invalidates queries on success, and recounts.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>