feat: bump console-components to v0.8.0; add generic-table detail page#321
Conversation
- bump @lakekeeper/console-components from v0.7.2 to v0.8.0 (generic tables, format-version policy, maintenance summary, brand icons, WarehousesNavigationTree pickable mode) - add /warehouse/:id/namespace/:nsid/generic-table/:tid detail page - handleNavigate cases for 'generic-table' added to all five warehouse pages so tree/list clicks route to the new detail page Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Warning Review limit reached
More reviews will be available in 45 minutes and 37 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: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
WalkthroughThis PR introduces a new generic-table page for displaying warehouse/namespace/table metadata with tabbed details, permissions, and tasks views. It updates the console-components dependency to v0.8.0, extends navigation routing across five existing warehouse pages to support generic-table items, and registers the new route in TypeScript type declarations. ChangesGeneric Table Feature
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ 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
🧹 Nitpick comments (1)
src/pages/warehouse/[id].namespace.[nsid].table.[tid].vue (1)
215-243: ⚡ Quick winConsider extracting handleNavigate to a shared composable.
The
handleNavigatefunction is duplicated across six page components (this file plus index.vue, [id].vue, [id].namespace.[nsid].vue, [id].namespace.[nsid].view.[vid].vue, and the new generic-table page). Extracting it to a shared composable would reduce duplication and centralize navigation logic.🤖 Prompt for 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. In `@src/pages/warehouse/`[id].namespace.[nsid].table.[tid].vue around lines 215 - 243, Extract the duplicated handleNavigate function into a shared composable (e.g., useNavigation) and replace local copies with an imported call; move the logic that computes namespaceForRoute (item.namespaceId?.split('.').join('\x1F')), the branching on item.type ('warehouse'|'namespace'|'table'|'view'|'generic-table'), the router.push calls, and the visual.whId assignment into that composable so callers simply call useNavigation().handleNavigate(item). Ensure the composable accepts router and visual (or accesses the same global stores) and preserves the optional tab query behavior for namespaces and the exact route strings using item.warehouseId and item.name.
🤖 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 `@src/pages/warehouse/`[id].namespace.[nsid].generic-table.[tid].vue:
- Around line 240-271: The loadGenericTableMetadata function can leave
genericTableId.value as '' when functions.listGenericTables(...) finds no
identifier matching tid, which causes the Permissions/Tasks tabs to show an
indeterminate loader; update loadGenericTableMetadata so after calling
functions.listGenericTables (and verifying requestToken), if no match is found
set an explicit error state (e.g., pageError.value = 'not-found' or another
suitable sentinel) and ensure loading.value is cleared as currently done;
reference the functions.listGenericTables call, the match variable,
genericTableId.value assignment, and set pageError.value accordingly to prevent
the UI from getting stuck.
---
Nitpick comments:
In `@src/pages/warehouse/`[id].namespace.[nsid].table.[tid].vue:
- Around line 215-243: Extract the duplicated handleNavigate function into a
shared composable (e.g., useNavigation) and replace local copies with an
imported call; move the logic that computes namespaceForRoute
(item.namespaceId?.split('.').join('\x1F')), the branching on item.type
('warehouse'|'namespace'|'table'|'view'|'generic-table'), the router.push calls,
and the visual.whId assignment into that composable so callers simply call
useNavigation().handleNavigate(item). Ensure the composable accepts router and
visual (or accesses the same global stores) and preserves the optional tab query
behavior for namespaces and the exact route strings using item.warehouseId and
item.name.
🪄 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: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 3b137285-7525-4c4f-b6ea-2e6bb3e3b4be
⛔ Files ignored due to path filters (1)
package-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (9)
package.jsonsrc/assets/dependencies.jsonsrc/pages/warehouse/[id].namespace.[nsid].generic-table.[tid].vuesrc/pages/warehouse/[id].namespace.[nsid].table.[tid].vuesrc/pages/warehouse/[id].namespace.[nsid].view.[vid].vuesrc/pages/warehouse/[id].namespace.[nsid].vuesrc/pages/warehouse/[id].vuesrc/pages/warehouse/index.vuesrc/typed-router.d.ts
loadGenericTableMetadata calls listGenericTables to resolve the UUID for PermissionManager / TaskManager. If the listing returned no identifier for the route's table name, the previous code left genericTableId.value as '' and the tabs spun on "Loading generic table information…" forever. Set pageError.value = 'not-found' in that case so the page renders the inline alert instead. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Summary
Test plan
BEGIN_COMMIT_OVERRIDE
chore(ui): bump console-components to v0.8.0
feat(ui): add /warehouse/:id/namespace/:nsid/generic-table/:tid detail page
feat(ui): route generic-table tree/list/search clicks to the new page
END_COMMIT_OVERRIDE
Summary by CodeRabbit