fix(ui): restore consistent page rhythm - #72
Conversation
|
Warning Review limit reached
Next review available in: 54 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe change standardizes page content placement through ChangesPage layout standardization
MCP onboarding update
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ 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 |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@web/test/e2e/mcp-connect.spec.ts`:
- Around line 42-46: Strengthen the visibility assertion in the test around the
OrgMemory permissions message to explicitly require the non-mutation text
“cannot publish or modify them,” rather than matching only the opening sentence.
Keep the assertion scoped to the same page content and preserve the existing
visibility check.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 640232d8-c9a5-4e00-bf7c-05bea87d9630
⛔ Files ignored due to path filters (2)
docs/increments/active/2026-07-27-page-rhythm-follow-up/design.mdis excluded by!docs/**docs/increments/active/2026-07-27-page-rhythm-follow-up/plan.mdis excluded by!docs/**
📒 Files selected for processing (12)
web/src/components/layouts/page-layout-components.tsxweb/src/components/layouts/page-layout.test.tsxweb/src/features/admin/components/admin-page.tsxweb/src/features/admin/components/admin-user-permissions-page.tsxweb/src/features/assets/components/asset-catalog-page.tsxweb/src/features/assets/components/asset-detail-page.tsxweb/src/features/assets/components/asset-state.tsxweb/src/features/assets/components/governance-workspace-page.tsxweb/src/features/assets/components/pack-journey-page.tsxweb/src/features/mcp/components/mcp-connect-page.tsxweb/test/e2e/asset-registry-golden-poc.spec.tsweb/test/e2e/mcp-connect.spec.ts
📜 Review details
⏰ Context from checks skipped due to timeout. (1)
- GitHub Check: Web · Node 24
🧰 Additional context used
📓 Path-based instructions (3)
**/*
📄 CodeRabbit inference engine (CLAUDE.md)
**/*: Record current behavior in architecture/specification documentation only after it exists in code; keep intended behavior in vision, roadmap, or an active increment, and do not duplicate state.
Before using unfamiliar Spring Boot 4, Spring Modulith 2, Spring AI 2, Gradle, React, Vite, Tailwind, or TypeScript APIs, consult current official documentation via Context7 and the projectorgmemory-*verification skills.
Before retrieval, AI, MCP, permission, upload, graph, or export work, readdocs/guidelines/agent-safety.md.
Never commit.envfiles, provider keys, tokens, or customer data.
Run the relevant verification gates fromdocs/guidelines/testing-harness.md; use a terminating clean test as the context gate, and do not treatbootRunas verification.
Files:
web/src/components/layouts/page-layout-components.tsxweb/src/components/layouts/page-layout.test.tsxweb/src/features/admin/components/admin-page.tsxweb/src/features/assets/components/governance-workspace-page.tsxweb/src/features/assets/components/asset-state.tsxweb/test/e2e/mcp-connect.spec.tsweb/src/features/assets/components/asset-catalog-page.tsxweb/src/features/admin/components/admin-user-permissions-page.tsxweb/src/features/assets/components/asset-detail-page.tsxweb/test/e2e/asset-registry-golden-poc.spec.tsweb/src/features/assets/components/pack-journey-page.tsxweb/src/features/mcp/components/mcp-connect-page.tsx
**/*.{ts,tsx,js,jsx,css,scss,html}
📄 CodeRabbit inference engine (CLAUDE.md)
For frontend files, run Oxlint, TypeScript typecheck, the production build, and browser tests when the UI flow matters; do not run JetBrains IDE inspection on TypeScript, TSX, or web configuration.
Files:
web/src/components/layouts/page-layout-components.tsxweb/src/components/layouts/page-layout.test.tsxweb/src/features/admin/components/admin-page.tsxweb/src/features/assets/components/governance-workspace-page.tsxweb/src/features/assets/components/asset-state.tsxweb/test/e2e/mcp-connect.spec.tsweb/src/features/assets/components/asset-catalog-page.tsxweb/src/features/admin/components/admin-user-permissions-page.tsxweb/src/features/assets/components/asset-detail-page.tsxweb/test/e2e/asset-registry-golden-poc.spec.tsweb/src/features/assets/components/pack-journey-page.tsxweb/src/features/mcp/components/mcp-connect-page.tsx
web/src/**/*.{ts,tsx}
⚙️ CodeRabbit configuration file
web/src/**/*.{ts,tsx}: OAuth access and refresh tokens must never enter browser JavaScript or
browser storage. Use the HttpOnly BFF session, CSRF-protected mutations,
generated Hey API data clients, accessible states, and both light and
dark themes. Handwritten transport is reserved for documented protocol
flows such as navigation redirects and streaming.
Files:
web/src/components/layouts/page-layout-components.tsxweb/src/components/layouts/page-layout.test.tsxweb/src/features/admin/components/admin-page.tsxweb/src/features/assets/components/governance-workspace-page.tsxweb/src/features/assets/components/asset-state.tsxweb/src/features/assets/components/asset-catalog-page.tsxweb/src/features/admin/components/admin-user-permissions-page.tsxweb/src/features/assets/components/asset-detail-page.tsxweb/src/features/assets/components/pack-journey-page.tsxweb/src/features/mcp/components/mcp-connect-page.tsx
🧠 Learnings (1)
📚 Learning: 2026-07-23T03:36:09.053Z
Learnt from: kl3inIT
Repo: kl3inIT/OrgMemory PR: 16
File: web/src/features/admin/components/admin-mappings-page.tsx:190-211
Timestamp: 2026-07-23T03:36:09.053Z
Learning: In the OrgMemory admin UI, preserve the principal display ordering returned by the backend instead of re-sorting on the client. The server-owned order (e.g., unmapped views first, then deterministic ordering by source-system, connection, kind, and external-key as defined in SourcePrincipalAdminService#listPrincipals) must be used as-is to avoid mismatches with the server’s intended admin mappings/principals list.
Applied to files:
web/src/features/admin/components/admin-page.tsxweb/src/features/admin/components/admin-user-permissions-page.tsx
🔇 Additional comments (12)
web/src/features/mcp/components/mcp-connect-page.tsx (1)
1-1: LGTM!Also applies to: 24-49, 77-77, 93-93, 116-126
web/test/e2e/mcp-connect.spec.ts (1)
34-41: LGTM!Also applies to: 65-66
web/src/components/layouts/page-layout-components.tsx (1)
123-131: LGTM!web/src/components/layouts/page-layout.test.tsx (1)
38-53: LGTM!web/src/features/admin/components/admin-page.tsx (1)
29-33: LGTM!web/src/features/admin/components/admin-user-permissions-page.tsx (1)
118-239: LGTM!web/src/features/assets/components/asset-catalog-page.tsx (1)
58-170: LGTM!web/src/features/assets/components/asset-detail-page.tsx (1)
143-161: LGTM!Also applies to: 184-251
web/src/features/assets/components/asset-state.tsx (1)
11-19: LGTM!Also applies to: 33-49
web/src/features/assets/components/governance-workspace-page.tsx (1)
103-122: LGTM!web/src/features/assets/components/pack-journey-page.tsx (1)
142-227: LGTM!web/test/e2e/asset-registry-golden-poc.spec.ts (1)
55-61: LGTM!
What changed
PageLayout.Bodyown the ordinary page top rhythm and apply theHeader → Bodycomposition consistentlyAvailable/protocol badges and replace the oversized security callout with compact factual guidanceRoot cause
The shared page foundation introduced
PageLayout.Body, but feature pages continued rendering independent surfaces directly underPageLayout.Root. With no root-level content gap, filters, cards, and searches visually touched even though they were unrelated sections.User impact
Pages now use consistent vertical rhythm without changing their business behavior. MCP onboarding no longer implies a live health status that the UI has not checked.
Validation
corepack pnpm -C web typecheckcorepack pnpm -C web lintcorepack pnpm -C web test:unit— 5 passedcorepack pnpm -C web buildcorepack pnpm -C web test:e2e— 8 passedgit diff --checkSummary by CodeRabbit
UI Improvements
Bug Fixes
Tests