Skip to content

feat(dashboard): add Number Checker page for single and batch recipient validation - #1865

Merged
rmyndharis merged 5 commits into
rmyndharis:mainfrom
Purushotham-Prajapati-24:feat/dashboard-number-checker
Oct 16, 2026
Merged

rmyndharis merged 5 commits into
rmyndharis:mainfrom
Purushotham-Prajapati-24:feat/dashboard-number-checker

Conversation

@Purushotham-Prajapati-24

Copy link
Copy Markdown
Contributor

Description

Adds a dedicated Number Checker page in the OpenWA web dashboard for single and bulk WhatsApp phone number verification.

Key Capabilities

  • Single Check: Check single phone number with auto +91 prefixing toggle (preserves 12-digit numbers, auto-prefixes 10-digit numbers, strips domestic trunk 0).
  • Bulk / Batch Check: Parse multi-line or comma-separated lists of numbers with configurable pacing delay (500ms - 3000ms) to avoid WhatsApp rate limits.
  • Results & CSV Export: Displays registered vs unregistered status, WhatsApp JID, live progress counter, and includes a CSV export button.
  • i18n & a11y: Full localization across all 14 supported languages and accessible form controls matching OpenWA standards.

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation update

Checklist

  • Tests added/updated
  • Documentation updated
  • Lint passes
  • Self-reviewed

Related Issues

Related to recipient pre-validation tracking in #830

@rmyndharis

Copy link
Copy Markdown
Owner

Two batch behaviors need changes before merging:

  • The catch block records every failed lookup as exists: false. A 429, 500, or network failure therefore becomes an unregistered number in the results and CSV. Keep failed lookups distinct from successful negative results and show their error status.
  • Stop immediately clears isCheckingBatch while the request is still pending. Starting another batch resets the shared cancellation flag, so the old batch resumes, sends its remaining lookups, and overwrites the new batch's results. Keep the previous run cancelled and prevent its late completions from updating the next run, for example with a run identifier checked after each await.

Please add regression coverage for a rejected lookup and for Stop followed by Start while the first lookup is pending. The current branch also needs its CHANGELOG.md conflict with main resolved.

@Purushotham-Prajapati-24
Purushotham-Prajapati-24 force-pushed the feat/dashboard-number-checker branch from 481081a to 0778d0b Compare October 16, 2026 09:29
Preserve explicit international numbers and disabled prefix settings.
Use shared CSV escaping and enforce operator access for lookups.
@rmyndharis

Copy link
Copy Markdown
Owner

Thanks for adding the failed-lookup and cancelled-run regressions. I have merged current main, preserved those fixes, and covered a few related cases: explicit international numbers retain their country code, disabling the India prefix preserves the entered digits, CSV export uses the shared escaping helper, and lookup controls follow the operator permission required by the API.

The 13 focused tests and all 1,089 dashboard tests pass locally, together with build, typecheck, lint, formatting, and locale parity. I also checked single and bulk results in the browser against a disposable synthetic backend, including a rate limit reported as Failed rather than Unregistered. GitHub CI is running on the updated branch.

@rmyndharis
rmyndharis merged commit e2b0edd into rmyndharis:main Oct 16, 2026
9 checks passed
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.

2 participants