Block a user
[Task] Audit and migrate Campaign interfaces to the product-wide pattern language
Codex State: progress
Summary
- Completed and closed the bounded send/progress, coherent report filtering, excluded-outcome, durable operator queue, synchronous-send safety, and…
[Privacy] Add an aggregate-only Campaign report UI
Codex State: done
Summary
- A separate aggregate-reader route and UI expose only campaign-level business totals under tenant/campaign ACLs and the dedicated aggregate-report permission. -…
[Privacy] Add an aggregate-only Campaign report UI
[Safety] Enforce a configurable maximum for synchronous Campaign sends
[Safety] Enforce a configurable maximum for synchronous Campaign sends
Codex State: done
Summary
- Synchronous delivery now has a mandatory deployment ceiling that tenants may only lower, pre-effect validation, and a second post-queue concurrency check. -…
[Feature] Add a durable Campaign queue management UI
[Feature] Add a durable Campaign queue management UI
Codex State: done
Summary
- The operator queue now exposes campaign/version/job identity and preserves historical active work when a newer draft becomes current.
- It uses fixed…
[Bug] Excluded campaign mails should skip IMAP and SMTP status semantics
[Bug] Excluded campaign mails should skip IMAP and SMTP status semantics
Codex State: done
Summary
- Excluded build rows now persist as explicit skipped transport outcomes, remain distinct from unattempted work, and cannot be queued, retried, or cancelled…
[Bug] Campaign report filtering and count UX is inconsistent with DataGrid filters
Codex State: done
Summary
- Campaign report filtering, sorting, counts, and pagination now share the server-owned query model.
- SMTP/IMAP outcome counts are exact toggleable shortcuts…
[Bug] Campaign report filtering and count UX is inconsistent with DataGrid filters
[Feature] Show send mode and delivery progress for synchronous and asynchronous campaign sends
[Feature] Show send mode and delivery progress for synchronous and asynchronous campaign sends
Codex State: done
Summary
- Review/send exposes explicit synchronous, worker-queue, and durable database-queue modes and persists the selected delivery mode.
- Delivery state, retry/reconc…
[Bug] DataGrid filters must apply to the full result set, not only the current page
[Bug] DataGrid filters must apply to the full result set, not only the current page
Codex State: done
Summary
- DataGrid now applies client-owned filter and sort operations to the full logical result before pagination, while server-owned grids expose an explicit query…