-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
fix: Info panel may show stale data of previous objects when refreshing the data table or navigating between classes #3036
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
🚀 Thanks for opening this pull request! We appreciate your effort in improving the project. Please let us know once your pull request is ready for review. |
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
|
Caution Review failedThe pull request is closed. 📝 WalkthroughWalkthroughUpdates DataBrowser to proactively clear aggregation panel UI/state when className changes or data becomes null, simplifies handleRefresh to clear panel/cache and reset selection state, and ensures multi-panel mode shows an explicit "No object selected" aggregation panel when no objects are displayed. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes
Possibly related PRs
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
src/dashboard/Data/Browser/DataBrowser.react.js(5 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-07-31T06:12:17.707Z
Learnt from: mtrezza
Repo: parse-community/parse-dashboard PR: 2957
File: src/dashboard/Data/Browser/BrowserTable.react.js:584-597
Timestamp: 2025-07-31T06:12:17.707Z
Learning: In Parse Dashboard's data browser selection logic (src/dashboard/Data/Browser/BrowserTable.react.js), the `selection['*']` pattern is used to handle global operations that pass `{ '*': true }` to indicate all items are selected, particularly for bulk operations like delete. This is not dead code but serves as compatibility layer for global operations that don't go through normal individual row selection workflows.
Applied to files:
src/dashboard/Data/Browser/DataBrowser.react.js
🧬 Code graph analysis (1)
src/dashboard/Data/Browser/DataBrowser.react.js (1)
src/components/AggregationPanel/AggregationPanel.js (1)
AggregationPanel(15-223)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Docker linux/amd64
🔇 Additional comments (6)
src/dashboard/Data/Browser/DataBrowser.react.js (6)
144-144: LGTM! Clear flag for tracking panel refresh state.The
pendingPanelRefreshflag is properly initialized and will help coordinate the refresh cycle for panel data.
267-281: LGTM! Proper cleanup when switching classes.The immediate panel clearing when className changes prevents stale data from being displayed when navigating between classes, which directly addresses the reported issue.
283-299: LGTM! Handles panel clearing on data transitions.Clearing panels when data becomes null (e.g., during filter changes) prevents stale data display. The condition correctly checks for existing selections before clearing.
301-314: LGTM! Consistent panel state management.Keeping
showAggregatedDatatrue ensures the "No object selected" message is displayed, providing consistent UX feedback.
469-503: Good UX: immediate panel clearing during refresh.The immediate clearing of panel data when refresh is triggered provides good user feedback by showing "No object selected" rather than displaying stale data. The cache invalidation ensures fresh data is fetched.
Note: The
pendingPanelRefreshmechanism is currently non-functional due to the issue flagged in lines 353-385, but the immediate clearing behavior itself is correct.
1621-1638: LGTM! Consistent empty state for multi-panel mode.Displaying a single "No object selected" panel when
displayedObjectIdsis empty provides clear user feedback and prevents a confusing blank panel area.
# [8.1.0-alpha.11](8.1.0-alpha.10...8.1.0-alpha.11) (2025-12-01) ### Bug Fixes * Info panel may show stale data of previous objects when refreshing the data table or navigating between classes ([#3036](#3036)) ([2565f0e](2565f0e))
|
🎉 This change has been released in version 8.1.0-alpha.11 |
New Pull Request Checklist
Issue Description
Info panel may show stale data of unrelated objects when navigating between classes.
Summary by CodeRabbit
Bug Fixes
Enhancements
✏️ Tip: You can customize this high-level summary in your review settings.