Skip to content

← All releases

v0.10.3

0.10.3 — 2026-09-09

viewbus knew two numbers about every queue and treated one of them as an afterthought. Dead letters got a detector, four alert types and most of the dashboard; active messages got a single sort and a threshold you had to guess. This release makes the backlog a first-class thing to watch.

Active messages on the dashboard

  • Rank the estate by backlog, not just by failures. The dashboard’s controls now read Metric · Sort · Window, and the metric is its own choice: Dead letters or Active. All three sorts work on either, so “which queues grew their backlog the most this morning” is finally a question you can ask. It replaces the old “Active backlog” sort, which could only ever rank by current size — and which left the window pill on screen doing nothing whenever you picked it.
  • A backlog is coloured by what’s normal for that queue. 500 active messages is a routine Tuesday for one queue and a stalled consumer on another, so there’s no threshold that means the same thing everywhere. Each row is graded against its own recent history instead, and hovering says what normal looks like: “1,204 active — normally ~15”. A queue viewbus hasn’t watched long enough stays uncoloured and says so, rather than showing a grade it can’t justify.
  • The row’s sparkline follows the metric. Under Active it draws the backlog, not the dead letters — the shape and the number beside it describe the same series.

Smart Alerts for backlogs

  • An alert that learns what your queue normally holds. Smart Alerts already watched how fast dead letters arrive; they now also watch how much work is waiting, and tell you when a queue is holding far more than it normally holds. Same idea, no number to pick: a queue that always sits on 50,000 in-flight messages isn’t a problem, and one that’s normally near-empty and suddenly holding 2,000 is.
  • A burst that drains doesn’t wake you. A batch job dropping 5,000 messages that clear in two minutes is not a stalled consumer, so a backlog has to stay high for a sustain window — 30 minutes by default — before anything fires.
  • The alert editor asks which count first, then what about it. The old list mixed the two: “Total dead letters” named its metric, “Active backlog” hid its trigger, and “Smart Alerts” meant dead letters without saying so. Now you pick the count, and only the triggers that make sense for it are offered. Every existing rule opens on exactly what saved it — nothing was converted or switched on.

Longer history

  • “All time” joins the window picker. The look-back stopped at 30 days, so “how much has this queue ever accumulated” had nowhere to go. It reaches as far back as viewbus still has data — up to a year — and the row’s sparkline spans the same range rather than quietly showing you the last month beside an all-time number.

Fixes

  • Slack and Discord webhooks actually deliver. Neither accepts an arbitrary JSON document — Slack wants a top-level text or blocks, Discord a content or embeds — so both answered every viewbus alert with HTTP 400 and nothing arrived. Alerts are now rendered into the destination’s own format, detected from the URL, and the editor tells you which format it recognised before you save. Plain webhooks are unchanged.
  • The Windows installer no longer stalls on the MCP sidecar. If an MCP client (Claude Desktop, an editor) was holding viewbus-mcp.exe, the updater couldn’t overwrite it and the install sat there. The installer now closes the sidecar first.
  • A badly backed-up queue can’t fall off a large estate’s dashboard. The list’s internal cap ranked candidates by dead letters alone, so on a very large estate a queue with a big backlog and no failures could be truncated away — from the very view meant to show it.

All local-first as always. Update via the in-app updater or grab a fresh installer from viewbus.app — your settings, themes, monitored sets, and stored connections carry over untouched.

Download v0.10.3 →