MKT-25: make stats display resilient #44

Merged
backmeupplz merged 1 commit from codex/mkt-kaneo-25-stats-resilience into main 2026-05-28 02:04:36 +00:00
backmeupplz commented 2026-05-28 01:47:13 +00:00 (Migrated from github.com)

Summary

  • Keep the homepage total count in a loading state unless /count returns a positive count or a last-known positive history value.
  • Restore project-card subtitles from lightweight /summary data when userCountSeparate is empty, including Shieldy userCount, Voicy chatCount, Banofbot counts, and Temply userCount.
  • Guard project description stats so missing or zero fallback counts do not render malformed copy.
  • Add a small regression script for count normalization and summary-derived project stat behavior.
  • Rebuild docs/ assets for the static site.

Validation

  • node .yarn/releases/yarn-3.1.0.cjs test:stats-fallbacks
  • node .yarn/releases/yarn-3.1.0.cjs lint
  • node .yarn/releases/yarn-3.1.0.cjs build
  • curl https://stats.borodutch.com/summary confirmed live summary exposes Shieldy, Voicy, Banofbot, and Temply lightweight counts while userCountSeparate is empty.

Manual QA

Required after deploy: hard refresh https://borodutch.com in a real browser and verify the top count is nonzero or skeleton but never 0, and project cards show numbers for at least Shieldy, Voicy, Banofbot, and Temply when stats data exists.

Related: MKT-25.

## Summary - Keep the homepage total count in a loading state unless `/count` returns a positive count or a last-known positive history value. - Restore project-card subtitles from lightweight `/summary` data when `userCountSeparate` is empty, including Shieldy `userCount`, Voicy `chatCount`, Banofbot counts, and Temply `userCount`. - Guard project description stats so missing or zero fallback counts do not render malformed copy. - Add a small regression script for count normalization and summary-derived project stat behavior. - Rebuild `docs/` assets for the static site. ## Validation - `node .yarn/releases/yarn-3.1.0.cjs test:stats-fallbacks` - `node .yarn/releases/yarn-3.1.0.cjs lint` - `node .yarn/releases/yarn-3.1.0.cjs build` - `curl https://stats.borodutch.com/summary` confirmed live summary exposes Shieldy, Voicy, Banofbot, and Temply lightweight counts while `userCountSeparate` is empty. ## Manual QA Required after deploy: hard refresh `https://borodutch.com` in a real browser and verify the top count is nonzero or skeleton but never `0`, and project cards show numbers for at least Shieldy, Voicy, Banofbot, and Temply when stats data exists. Related: MKT-25.
Sign in to join this conversation.
No description provided.