fix: Clicking reload button in info panel may display fetched data in incorrect panel#3189
Conversation
|
🚀 Thanks for opening this pull request! |
✅ 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. |
📝 WalkthroughWalkthroughRefactors info panel request management in Browser.react.js from a single query tracker to a per-objectId map, implementing cancellation logic and adding lastFetchedObjectId state for staleness detection. Propagates lastFetchedObjectId to DataBrowser to update how multiPanelData entries are keyed. Changes
Sequence DiagramsequenceDiagram
participant User as User
participant Browser as Browser.react.js
participant DB as DataBrowser.react.js
participant CloudFn as Cloud Function
User->>Browser: Select Object A
Browser->>Browser: Check infoPanelQueries[A]
Note over Browser: Cancel existing request if present
Browser->>CloudFn: Initiate info panel request (objectId: A)
Browser->>Browser: Store promise in infoPanelQueries[A]
User->>Browser: Select Object B (before A completes)
Browser->>Browser: Check infoPanelQueries[B]
Browser->>CloudFn: Initiate info panel request (objectId: B)
Browser->>Browser: Cancel infoPanelQueries[A]
Browser->>Browser: Store promise in infoPanelQueries[B]
CloudFn-->>Browser: Return response for B
Browser->>Browser: Set lastFetchedObjectId = B
Browser->>Browser: Verify promise matches infoPanelQueries[B]
Browser->>DB: Pass lastFetchedObjectId=B via props
Browser->>Browser: Delete infoPanelQueries[B]
DB->>DB: Update multiPanelData[B] with AggregationPanelData
Note over DB: Keyed by lastFetchedObjectId instead of selectedObjectId
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
No actionable comments were generated in the recent review. 🎉 🧹 Recent nitpick comments
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 |
# [8.5.0-alpha.3](8.5.0-alpha.2...8.5.0-alpha.3) (2026-02-07) ### Bug Fixes * Clicking reload button in info panel may display fetched data in incorrect panel ([#3189](#3189)) ([b348ef5](b348ef5))
|
🎉 This change has been released in version 8.5.0-alpha.3 |
# [8.5.0](8.4.0...8.5.0) (2026-02-12) ### Bug Fixes * Auto-formatting not applied when Cloud Config parameter value is outdated and re-fetched from server ([#3182](#3182)) ([84eab36](84eab36)) * Clicking reload button in info panel may display fetched data in incorrect panel ([#3189](#3189)) ([b348ef5](b348ef5)) * Role linking in ACL fails with type error ([#3095](#3095)) ([2070d29](2070d29)) * Security migration from csurf to csrf-sync ([#3188](#3188)) ([a95d8a3](a95d8a3)) * View configuration dialog looses focus while typing and lacks syntax highlighting ([#3183](#3183)) ([715fe8d](715fe8d)) ### Features * Add keyboard shortcut to scroll info panels to top ([#3199](#3199)) ([7535626](7535626)) * Add option to reload all or only selected rows after invoking script ([#3200](#3200)) ([173b953](173b953)) * Add reload button to info panel on long loading time ([#3184](#3184)) ([3712d96](3712d96)) * Add support for script execution invoking dashboard form for user input ([#3201](#3201)) ([159f99d](159f99d))
|
🎉 This change has been released in version 8.5.0 |
Pull Request
Issue
Clicking reload button in info panel may populate incorrect panel with fetched data.
Summary by CodeRabbit