fix(configurator): draggable pane widths, font-family classifier, overflow fix, build-time version injection - #315
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (10)
💤 Files with no reviewable changes (2)
📝 WalkthroughWalkthroughThe PR migrates framework version stamping from a sync-time injection step (embedded in ChangesBuild-time version injection
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…ne release bug
Previously the displayed framework version was read from a static field
(`_sync.frameworkVersion`) in `api-index.generated.json`. That field had
to be updated in sync with `package.json` on every release, creating a
persistent class of drift:
- The sync-main CI job ran version-sync.js but initially omitted the
file from `git add` (fix #1: 720e339). Later the git add was added
(fix #2: 1a3e949). But post-release PR merges from branches developed
pre-release kept overwriting main's correct value with the old one,
causing CI failures and manual re-syncs every release cycle.
Root fix: remove frameworkVersion from api-index.generated.json entirely
and inject it at Vite build time via `define.__SLASHED_VERSION__` in
vite.config.js, reading directly from the root package.json.
Results:
- The version displayed in the header/output drawer is always exactly
the package.json version that was current when `vite build` ran — no
separate sync step, no committed JSON field to maintain.
- sync-api.mjs no longer writes frameworkVersion to the generated index.
- version-sync.js no longer patches api-index.generated.json.
- check-version-sync.js no longer checks api-index frameworkVersion.
- release.yml sync-main no longer stages api-index.generated.json.
- model.js falls back to sync.frameworkVersion for any dev builds that
bypass Vite (e.g. direct node imports in unit tests).
https://claude.ai/code/session_01MAgtQ7JY16X2TqZZyGfkuu
bf88f2d to
e4491d4
Compare
|
@coderabbitai review |
✅ Action performedReview finished.
|
$(cat <<'EOF'
Summary
localStorage. CSS grid updated to 5-column layout with 6 px resizer columns;onlostpointercaptureadded to both handles so drag state always clears.isFontFamilyTokenwas too broad, matching--sf-font-weight-*,--sf-font-features,--sf-font-numeric, and--sf-font-variationtokens. These appeared in Typography with a System-stack picker and font preview row instead of plain inputs. Fixed the regex to exclude those sibling namespaces; unit tests updated.min-width: 0; overflow: hiddento.previewas a safety net. Fixes two failing a11y e2e tests (no horizontal overflow on any basic panelandno horizontal overflow on advanced colors + cheatsheet).api-index.generated.jsonthat needed manual syncing after every release. Nowvite.config.jsinjects__SLASHED_VERSION__at build time from the rootpackage.json, so the version is always exactly correct for any build. Removed theframeworkVersionfield fromsync-api.mjs,version-sync.js,check-version-sync.js, andrelease.yml.Test plan
onlostpointercapture— focus a different window mid-drag; drag state releases cleanly--sf-font-weight-heading,--sf-font-featuresetc. show plain text inputs, not font-family pickersnpm test(unit) passes — 352 tests, 0 failuresv0.5.35) immediately after a release — confirmed bygrep 0.5.35 configurator/dist/assets/*.jsnode scripts/check-version-sync.jspasseshttps://claude.ai/code/session_01MAgtQ7JY16X2TqZZyGfkuu
EOF
)
Generated by Claude Code
Summary by CodeRabbit