Volleyball Elite Academy development update
|
Volleyball Elite Academy
Inbox-backlog nudge in the Conversations digest
|
Inbox-backlog nudge in the Conversations digestVolleyball Elite Academy — Development Update • May 14, 2026
Inbox-backlog nudge in the Conversations digest
What & Why The daily Conversations inbox digest currently just reports "N unassigned threads need triage" in the subject. The unassigned count has been climbing steadily (44 → 45 → 46 → 47 over four days), and the digest reads the same whether the queue is at 5 or 50 — so admins are starting to ignore it. This task makes the digest visibly escalate when the backlog crosses a threshold so the email becomes actionable instead of just a number.
Done looks like
- When the unassigned count is at or above the backlog threshold (default 40, defined as a single named constant near the digest helper), the digest email:
- Adds a "Backlog growing" prefix to the subject (e.g. ). - Renders a short escalation banner at the top of the HTML body explaining the backlog has crossed the threshold and showing the trend vs the previous day's count when available. - Inlines the oldest 5 unassigned threads (subject, sender, age in days, and a deep link to that thread in the Conversations tab) at the top of the unassigned section, in addition to the existing first-N rendering.
- When the count is below the threshold, the digest renders exactly as it does today — no behavioural change for the normal-state path.
- The threshold and the "oldest N inlined" count are both pulled from named constants near the digest helper so they're easy for the user to tune later.
- The existing per-admin IANA timezone, preferred-hour, weekdays-only, and pause-until preferences continue to gate sends — escalation does not bypass quiet hours or pause-until.
- Server tests cover the three states: under-threshold (no escalation), at-threshold (escalation rendered, oldest-5 inlined), and pause-until still suppresses sends even when escalated.
Out of scope
- Changing the digest cadence (daily stays daily — no flipping to hourly).
- Adding a separate Slack/SMS escalation channel.
- Auto-assigning or auto-triaging threads.
- Any UI changes inside the Conversations tab itself.
Steps 1. Add the threshold helpers — Define and constants near the inbox-digest helper, plus a small pure helper that, given the unassigned count and an optional previous count, returns . 2. Compute the previous day's count — Read the most recent row for for the same recipient and pull its stored from the metadata so the digest can render a trend like "up 3 from yesterday". Fall back gracefully when no previous row exists. 3. Render the escalation in the email — When is true, prefix the subject, render the banner block at the top of the HTML and text bodies, and inline the oldest N unassigned threads (sorted by ascending) above the existing first-N rendering. Re-use existing row-rendering helpers so the markup stays consistent. 4. Persist the count for tomorrow's trend — Make sure is written into the metadata on every send (even non-escalated ones), so the trend lookup in step 2 keeps working. 5. Add scheduler tests — Cover under-threshold, at-threshold (assert subject prefix, banner present, oldest 5 inlined, trend rendered), and that pause-until + quiet-hours gating still wins over escalation.
Relevant files - - - -
|
Volleyball Elite Academy Reply to this email — we read every reply. You received this because you have an account with Volleyball Elite Academy. elitevolleyball.training |
|
No comments:
Post a Comment