cmux NEXT Settings > Updates: no "Awaiting Verdict" badge on builds the canary never rated

TE
7d ago
+31-142

Leo: "what is #1 why and what is #2 going on there awaiting verdict? i fele like ui could be improvedthere"

#2: Settings > Updates > Channels showed "Awaiting Verdict" on every Nightly and Dev build, including builds hours old.

Why

The badge is each build's canary verdict, verdicts/<build>.json beside the NEXT appcast (UpdaterService+Channels.swift). The canary writes that file for few builds (most of its runs are cancelled), so nearly every build stayed pending and showed "Awaiting Verdict" forever.

What changes

  • A build with no verdict, or a skipped one, shows no badge. Promoted, Held and Pulled still show. The health field stays pending in the page JSON, and health_title is null.
  • The unused updater.channels.pending string is removed.

Dev listing the same builds as Nightly

This is by design, not a bug. Dev takes every build CI publishes (cmux-next-dev first, then cmux-next once promoted). With the ring off, both tracks are the same notes/index.json. This PR leaves that alone.

Tests

  • ChannelsPageStateTests: a build with no verdict has health_title null.
  • channelsCard.test.tsx: an unrated build has no badge and no "Awaiting Verdict"; a held build keeps its warning badge. The mock now has one unrated build.

Risk

Low: the card's badge only.

Before / after

Settings > Updates, scrolled to the Channels card, on a fleet build driven on a capture mini. Before: every unrated Nightly build says "Awaiting Verdict". After: unrated builds show no badge; the promoted build keeps "Promoted".

After (this head)

Capture steps-eaf9d507cc at a86769c9a5d6 (fleet build, capture mini, text checked for private data)

LightDark
lightdark

Before (merge base 9458432b)

Capture steps-eaf9d507cc at 9458432b0771 (fleet build, capture mini, text checked for private data)

LightDark
lightdark

Agent session: agent session

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Stops the Settings > Updates > Channels page from showing "Awaiting Verdict" on every Nightly and Dev build. The badge came from the canary's verdict file, which the canary writes for only a few builds, so almost every build showed "pending" forever.

  • Unrated builds now show no badge and a null health_title; Promoted, Held, and Pulled keep theirs.
  • Removes the unused updater.channels.pending string.
  • Dev and Nightly listing the same builds is by design and left unchanged.