refactor(web): reset frontend to production shell - #4
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThe web frontend is reset around a minimal login and authenticated workspace flow. It centralizes query and error handling, introduces shared loading/error states, simplifies the app shell, removes prototype product pages and asset APIs, and adds linting, dependency, metadata, and design-system updates. ChangesSecure web flow
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant Browser
participant Router
participant LoginPage
participant AuthGate
participant WorkspacePage
Browser->>Router: navigate to login or workspace
Router->>LoginPage: provide validated search state
LoginPage->>AuthGate: check browser session
AuthGate->>WorkspacePage: render workspace when authenticated
AuthGate->>LoginPage: show loading or retryable error when session is unresolved
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 Biome (2.5.3)web/src/index.cssFile contains syntax errors that prevent linting: Line 4: Tailwind-specific syntax is disabled.; Line 77: Tailwind-specific syntax is disabled. 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/src/components/app-shell.tsx`:
- Around line 18-26: Update the initials function’s fallback handling so an
absent name and email produce a two-character fallback such as “OM” rather than
deriving only the first character from the single-token “OrgMemory” string;
preserve the existing name- and email-based initials behavior.
🪄 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: e7093c20-ac2c-4d8b-8150-73d16bcf3aa9
⛔ Files ignored due to path filters (1)
web/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/pnpm-lock.yaml
📒 Files selected for processing (39)
docs/guidelines/frontend-design-system.mddocs/increments/active/2026-07-20-secure-knowledge-vertical-slice/plan.mdweb/.oxlintrc.jsonweb/index.htmlweb/package.jsonweb/src/App.tsxweb/src/components/app-shell.tsxweb/src/components/auth-gate.tsxweb/src/components/layout/page-title.tsxweb/src/components/layout/topbar.tsxweb/src/components/mode-toggle.tsxweb/src/components/states/application-error.tsxweb/src/components/states/page-loading.tsxweb/src/components/ui/button.tsxweb/src/features/assets/asset-type-specs.tsweb/src/features/assets/asset-type.tsweb/src/features/assets/demo-data.tsweb/src/features/assets/status-badge.tsxweb/src/features/assets/use-assets.tsweb/src/features/assets/workflow-diagram.tsxweb/src/features/organization/use-organization-context.tsweb/src/index.cssweb/src/lib/api.tsweb/src/lib/query-client.tsweb/src/main.tsxweb/src/pages/analytics.tsxweb/src/pages/ask-memory.tsxweb/src/pages/asset-detail.tsxweb/src/pages/create-asset.tsxweb/src/pages/dashboard.tsxweb/src/pages/knowledge-graph.tsxweb/src/pages/knowledge-transfer.tsxweb/src/pages/login.tsxweb/src/pages/registry.tsxweb/src/pages/review-queue.tsxweb/src/pages/settings.tsxweb/src/pages/workspace.tsxweb/src/router.tsxweb/src/types/cytoscape-fcose.d.ts
💤 Files with no reviewable changes (22)
- web/src/pages/dashboard.tsx
- web/src/App.tsx
- web/src/pages/registry.tsx
- web/src/pages/create-asset.tsx
- web/src/components/layout/page-title.tsx
- web/src/features/assets/asset-type.ts
- web/src/pages/analytics.tsx
- web/src/features/assets/demo-data.ts
- web/src/features/assets/use-assets.ts
- web/src/pages/asset-detail.tsx
- web/src/types/cytoscape-fcose.d.ts
- web/src/components/layout/topbar.tsx
- web/src/pages/review-queue.tsx
- web/src/pages/knowledge-transfer.tsx
- web/src/features/assets/workflow-diagram.tsx
- web/src/features/organization/use-organization-context.ts
- web/src/pages/settings.tsx
- web/src/features/assets/status-badge.tsx
- web/src/pages/ask-memory.tsx
- web/src/pages/knowledge-graph.tsx
- web/src/lib/api.ts
- web/src/features/assets/asset-type-specs.ts
📜 Review details
🧰 Additional context used
📓 Path-based instructions (2)
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/states/page-loading.tsxweb/src/lib/query-client.tsweb/src/components/states/application-error.tsxweb/src/components/mode-toggle.tsxweb/src/components/ui/button.tsxweb/src/pages/workspace.tsxweb/src/components/auth-gate.tsxweb/src/pages/login.tsxweb/src/main.tsxweb/src/components/app-shell.tsxweb/src/router.tsx
docs/**/*.md
⚙️ CodeRabbit configuration file
docs/**/*.md: Preserve the thin-map documentation harness. Current facts belong in
architecture, specs, and tests only after implementation; future intent
belongs in vision, roadmap, or one active increment. Flag duplicated or
contradictory sources of truth.
Files:
docs/increments/active/2026-07-20-secure-knowledge-vertical-slice/plan.mddocs/guidelines/frontend-design-system.md
🧠 Learnings (1)
📓 Common learnings
Learnt from: CR
Repo: kl3inIT/OrgMemory
Timestamp: 2026-07-21T10:08:58.300Z
Learning: Do not copy old page layouts merely to preserve route parity; reuse old code only when it is generic, tested, and compatible with the new information architecture.
Learnt from: CR
Repo: kl3inIT/OrgMemory
Timestamp: 2026-07-21T10:08:58.300Z
Learning: Add product routes one vertical slice at a time and do not restore deleted prototype pages.
🪛 Stylelint (17.14.0)
web/src/index.css
[error] 132-132: Expected "optimizeLegibility" to be "optimizelegibility" (value-keyword-case)
(value-keyword-case)
🔇 Additional comments (16)
docs/guidelines/frontend-design-system.md (1)
19-39: LGTM!docs/increments/active/2026-07-20-secure-knowledge-vertical-slice/plan.md (1)
64-69: LGTM!web/.oxlintrc.json (1)
1-17: LGTM!web/package.json (1)
9-13: LGTM!Also applies to: 14-33, 43-48
web/index.html (1)
6-8: LGTM!web/src/components/ui/button.tsx (1)
3-3: LGTM!Also applies to: 51-51
web/src/lib/query-client.ts (1)
1-17: LGTM!web/src/components/states/application-error.tsx (1)
1-40: LGTM!web/src/components/states/page-loading.tsx (1)
1-14: LGTM!web/src/main.tsx (1)
1-20: LGTM!Also applies to: 21-37, 38-52
web/src/router.tsx (1)
1-11: LGTM!Also applies to: 12-44, 45-63, 64-64, 65-82, 83-83, 84-92
web/src/pages/login.tsx (1)
1-18: LGTM!Also applies to: 19-35, 36-37
web/src/components/auth-gate.tsx (1)
1-4: LGTM!Also applies to: 14-23, 25-32
web/src/pages/workspace.tsx (1)
1-11: LGTM!web/src/components/app-shell.tsx (1)
1-17: LGTM!Also applies to: 28-83
web/src/components/mode-toggle.tsx (1)
6-7: LGTM!
Summary
Verification
Summary by CodeRabbit
New Features
Bug Fixes
Chores
Removed