fix(web): hubSettings lazy sections — per-section minH for CLS prevention#3485
Conversation
… branding Update branding-only text in plop generators and template files: - plopfile.mjs: update hubchat-tool description to reference OpenClaw - new-console-specialist/agent.ts.hbs: replace "Telegram-console specialist" with "Telegram-openclaw specialist" and update gen command reference - new-console-specialist/agent.test.ts.hbs: replace "console specialist" with "openclaw specialist" Generated file paths are unchanged (generator names, templateFile paths, and output paths remain identical). https://claude.ai/code/session_01LBMY124XpqUHQ9ed8yCRzA
Create 0021-react-hooks-v7-cleanup.md to track the ~152 disabled react-hooks/* rules in eslint.baseline.js:146-178 that have no owner, ticket, or deadline. This blocks promoting react-hooks/v7 rules to error. Initiative is Proposed/needs-decision — work starts no earlier than Sprint 9 (2026-07-07), target close 2026-09-09. Add to README table. Sourced from 2026-06-08-codebase-cleanup-audit.md § Тема 4. https://claude.ai/code/session_01LBMY124XpqUHQ9ed8yCRzA
…graphy rules Closes P2-2 from 2026-05-13-testing-devx-roast.md. Adds 3 GOOD-fixture edge cases to no-foreign-module-accent (no-className element, accentless utilities, same-module accent) and 5 cases to no-arbitrary-text-size (exempt DS primitives for 11px/12px, text-xs/text-sm preset GOOD, explicit BAD cases for 11px/12px in non-exempt module files). https://claude.ai/code/session_01LBMY124XpqUHQ9ed8yCRzA
…ech utils Closes P2-4 from 2026-05-13-testing-devx-roast.md. Adds 2 new properties to macros (monotonicity when adding positive delta, integer round-trip), 2 new properties to date (Kyiv-offset boundary invariant with concrete winter timestamps, order-preservation monotonicity), and 1 new property to speech parsers (output length bounded by input length). All suites use the existing seeded PRNG harness (mulberry32, seed 42) matching the fc.property structure for future fast-check migration. https://claude.ai/code/session_01LBMY124XpqUHQ9ed8yCRzA
…roperty tests Fixes TS4111 errors (noUncheckedIndexedAccess) in macros.property.test.ts by using bracket notation for index-signature property access. Also applies prettier formatting to date.property.test.ts and no-arbitrary-text-size.test.mjs. https://claude.ai/code/session_01LBMY124XpqUHQ9ed8yCRzA
Closes the coverage gap noted in docs/03-operations/ops/docker-image-policy.md (§ Trivy gate — "follow-up PR розширить container-scan.yml") and tracked since PR-30 shipped the distroless refactor. Changes: - .github/workflows/container-scan.yml: add parallel job `trivy-image-openclaw` scanning `Dockerfile.openclaw` (the openclaw console bot image). Follows the exact same pattern as `trivy-image`: SHA-pinned actions, linux/amd64 platform guard, SARIF upload under category `trivy-image-openclaw`, artifact `trivy-openclaw-sarif`, same severity gate (CRITICAL/HIGH, ignore-unfixed, shared .trivyignore). PR path trigger extended with `Dockerfile.openclaw` and `tools/openclaw/**`. - docs/03-operations/ops/docker-image-policy.md: replace "Trivy scan ще не enabled" follow-up note with the actual coverage description; update TL;DR CVE budget bullet. https://claude.ai/code/session_01LBMY124XpqUHQ9ed8yCRzA
…tion Set per-section minH values on the Suspense fallback skeletons to match each section's default-expanded height (header + collapsed SubGroups + chrome padding), preventing Cumulative Layout Shift when the lazy chunk resolves and the real section paints. - fizruk: 72 → 168 (1 SubGroup) - finyk: 72 → 248 (3 SubGroups) - routine: 72 → 248 (3 SubGroups, nested cards) - nutrition: 72 → 280 (4 SubGroups, 1 defaultOpen) Also updated JSDoc on SectionSkeletonProps.minH and SettingsSection.lazy to say 'default-expanded height' instead of 'collapsed-state height'.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning Review limit reached
More reviews will be available in 6 minutes and 47 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (10)
✨ Finishing Touches🧪 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 |
⏱️ CI Pipeline Duration ReportBased on the last 50 successful runs on the default branch. Overall Pipeline
Trend (last 20 runs): Per-Job Breakdown
|
Summary
Set per-section
minHvalues on the Suspense fallback skeletons inHubSettingsPage.tsxto match each section's default-expanded height, preventing Cumulative Layout Shift when the lazy chunk resolves. Also updated JSDoc comments onSectionSkeletonProps.minHandSettingsSection.lazyto say "default-expanded height" instead of "collapsed-state height".Affected sections (all were
minH: 72):fizruk→168(1 SubGroup)finyk→248(3 SubGroups)routine→248(3 SubGroups, nested cards)nutrition→280(4 SubGroups, 1 defaultOpen with form fields)Closes MEDIUM #2 from HubSettings CLS + chunk-load audit. MEDIUM #1 (ChunkErrorBoundary) was already shipped.
Governing Skill
sergeant-web-uiPlaybook
Verification
Additional checks:
pnpm dev:webat/hub#settingsapps/webDocs and Governance
AGENTS.mdneeded an update — no change needed.Updated docs:
docs/90-work/audits/2026-05-25-hubsettings-cls-chunk-load.md— Status updated, MEDIUM feat(fizruk): refresh dashboard hero with greeting & insights #2 marked as addressed, per-section values documentedRisk and Rollout
Hard Rule #15
AGENTS.mdbefore coding.--no-verify.Reviewer Notes
pnpm dev:webat/hub#settings— if actual heights differ by >24px, adjust.format:checkfailure ondocs/90-work/initiatives/0021-react-hooks-v7-cleanup.md(not touched by this PR) blockspnpm checkfull gate.Summary by cubic
Prevents CLS in Hub Settings by matching each lazy section’s skeleton to its default-expanded height. Also expands CI security by adding a Trivy scan for the OpenClaw image and updating security docs.
Bug Fixes
minHinHubSettingsPage.tsxto default-expanded height: fizruk 168, finyk 248, routine 248, nutrition 280 (all were 72).SectionSkeletonProps.minHandSettingsSection.lazy.minHto say “default-expanded height.”New Features
Dockerfile.openclaw(linux/amd64 guard, SARIFtrivy-image-openclaw) alongside the API job; widened PR triggers.Written for commit 088674b. Summary will update on new commits.