Skip to content

fix(results-panel): correct feedback charts, insights, and add refresh#200

Merged
sacha-l merged 2 commits into
mainfrom
develop
Jun 25, 2026
Merged

fix(results-panel): correct feedback charts, insights, and add refresh#200
sacha-l merged 2 commits into
mainfrom
develop

Conversation

@sacha-l

@sacha-l sacha-l commented Jun 25, 2026

Copy link
Copy Markdown
Collaborator

Summary

Fixes five bugs in the completed-program results panel found in production after the initial ship.

  • Y-axis labels unreadable — dynamic YAxis width (max 160px) computed from longest label + tickFormatter truncation; full text on hover via existing <Tooltip>
  • Duplicate entries in biggest blockerbiggestBlocker changed from textSamples() to tally() server-side; now a proper bar chart, not a text list with repeated strings
  • "0% plan to continue building" always wrongbuildFeedbackInsights now uses /^yes/i / /^maybe/i regex matching; actual stored values are "Yes, already planning to" / "Maybe", not "yes" / "maybe"; same fix for deadlineStatus (full sentence options, not "comfortable" / "tight")
  • couldntHandle free-text never shown — added ·WHAT BITREFILL COULDN'T HANDLE (OPEN TEXT) section
  • Stale data after score re-save↺ REFRESH button in section header re-triggers the data fetch without a full page reload
  • Mock data updated to use real Bitrefill option strings so dev:harness catches future key-mismatch bugs

Test plan

cd client && npm run build
cd server && npm test ✓ (439/439)

Stadium tester — 5/5 PASS

# Scenario Result
1 ·RESULTS SUMMARY heading + ↺ REFRESH button visible PASS
2 6 feedback charts all rendered PASS
3 Insight prose does not contain "0% plan" PASS — observed: "89% plan to keep building…"
4 WHAT BITREFILL COULDN'T HANDLE section visible PASS
5 REFRESH button reloads and restores panel PASS

Console errors during run: 0

Closes post-ship bugs from #195 / #197.

sacha-l added 2 commits June 25, 2026 19:10
- biggestBlocker: tally() not textSamples() (it is a single-select field,
  not free text) — removes duplicates and enables a proper bar chart
- buildFeedbackInsights: pattern-match option strings instead of hardcoded
  short keys; actual stored values are 'Yes, already planning to'/'Maybe',
  not 'yes'/'maybe'; same fix for deadlineStatus (full sentence options, not
  'comfortable'/'tight')
- FeedbackChart: dynamic YAxis width computed from longest label (max 160px)
  + tickFormatter truncation so long option strings are readable
- Layout: 6-chart grid (adds surfacesPrimary + biggestBlocker); replaces the
  old 'BIGGEST BLOCKERS' text list; adds 'WHAT COULDN'T BITREFILL HANDLE'
  for couldntHandle free-text responses
- Refresh button: increments refreshTick dep so leaderboard/stats/feedback
  can be reloaded after score re-saves without a full page refresh
- Mock data: updated to use real Bitrefill option strings so dev:harness
  exercises the same code paths as production
fix(results-panel): correct feedback charts, insights, and add refresh
@vercel

vercel Bot commented Jun 25, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
stadium Ready Ready Preview, Comment Jun 25, 2026 6:25pm

@sacha-l sacha-l merged commit 7def1ba into main Jun 25, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant