Home

boring / v2

publicBoring-Software-Inc/v2
Overview Code History Branches Pull requestsIssuesInsights Campfire Docs
main
HomeOverview Code PRsIssues

TRP-80 fix(customize): fill override defaults for pre-existing configs

3 months ago

3ed703e
Authored
grim7/24/2026, 11:56:47 PM
The customize page crashed with `undefined.trim()` on any repo whose saved
response_configs row predates the new fields. CustomizePageInner hand-lists
the flat keys it feeds to unflattenConfig and the new per-outcome keys were
never added there — a third key list that drifted from flattenConfig — so
blockComment.customText came back undefined and previewBody's .trim() threw.

- add the six new per-outcome keys to the CustomizePageInner valueFor list.
- unflattenConfig now PARSES through responseConfigSchema instead of casting,
  so any missing key (a stale row, a drifted list) resolves to its default
  and can never leak undefined downstream again.
- test: a legacy row (no custom text / pass / review fields) upgrades to a
  complete config on parse.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Parentc65c699

2 files changed
  • apps/web/src/components/customize/customize-page.tsx+18−2
  • packages/contracts/src/comment-render.test.ts+24−0