fix: render side panel controls in error state#2637
Conversation
🦋 Changeset detectedLatest commit: 7ce7be9 The changes in this PR will be included in the next version bump. This PR includes changesets to release 3 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Greptile SummaryThis PR restores side-panel controls when row data fails to load. The main changes are:
Confidence Score: 5/5This looks safe to merge.
Important Files Changed
Reviews (3): Last reviewed commit: "Merge branch 'main' into cursor/fix-side..." | Re-trigger Greptile |
E2E Test Results✅ All tests passed • 237 passed • 3 skipped • 1444s
Tests ran across 4 shards in parallel. |
c8f4312 to
f543bfb
Compare
🔵 Tier 2 — Low RiskSmall, isolated change with no API route or data model modifications. Why this tier:
Review process: AI review + quick human skim (target: 5–15 min). Reviewer validates AI assessment and checks for domain-specific concerns. Stats
|
Deep Review✅ No critical issues found. This is a clean, low-risk UI refactor. The header controls (breadcrumbs + close/full-width actions) are extracted into a 🟡 P2 -- recommended
Reviewers (6): correctness, testing, maintainability, project-standards, kieran-typescript, julik-frontend-races. Testing gaps:
|
Summary
When a search-page row triggers a side-panel error ("Error loading row data"), the drawer became difficult to close: there was no close button, clicking outside did nothing (the drawer intentionally disables its overlay). Escape key worked, but was non-obvious.
The root cause is in
DBRowSidePanel.tsx(DBRowSidePanelInner): the!isRowSuccessbranches rendered only the error/loading body inside aBox, with no header.This PR renders that same header in both
!isRowSuccessbranches (theClickHouseQueryError/Errorstate and the generic fallback), so the user can always close the panel or navigate back via the breadcrumbs.Screenshots or video
Before:
After:
References