Skip to content

[FIX] Improve loader UX and abort race condition handling - #3683

Open
arturrybalskyy-dev wants to merge 5 commits into
mlrun:developmentfrom
arturrybalskyy-dev:fix/ML-11218/loader-placement-and-abort-handling
Open

[FIX] Improve loader UX and abort race condition handling#3683
arturrybalskyy-dev wants to merge 5 commits into
mlrun:developmentfrom
arturrybalskyy-dev:fix/ML-11218/loader-placement-and-abort-handling

Conversation

@arturrybalskyy-dev

Copy link
Copy Markdown
Contributor

[FIX] Fix loader UX and abort race condition handling across multiple pages

📝 Description

Fixes two related UX issues that appeared across several pages:

  1. Loaders were covering ActionBar buttons and filters, making them inaccessible during data fetching
  2. Rapid filter changes or refreshes caused stale data race conditions due to missing request cancellation

🛠️ Changes Made

  • Fix <Loader overlay /> placement in Artifacts, Models, ModelEndpoints, MonitoringApplications, and FeatureStore pages — loaders no longer cover ActionBar/filters
  • Replace loading ? null pattern with <Loader section secondary /> to show visible loading state below ActionBar
  • Add abort-before-new pattern (AbortController) to MonitoringApplicationsPage and ModelEndpointsTable to prevent stale data race conditions on rapid refresh/filter changes
  • Wire AbortController signal via httpClient interceptor (requestLargeDataOnFulfill) so requests using config.ui.controller are properly canceled
  • Fix NoData flash on aborted ModelEndpoints fetch by guarding fulfilled handler against undefined payload
  • Extract shared isRequestAborted(message) utility to replace repeated inline [REQUEST_CANCELED, DEFAULT_ABORT_MSG].includes(...) checks across reducers and components

✅ Checklist

  • I have given the PR a well-structured title describing the domain and the specific change that was made
  • I tested the changes in the browser (locally or via preview build)
  • I confirmed that existing tests pass
  • I added or updated unit / integration tests (if needed)
  • I checked that this change doesn't introduce new console warnings or lint / formatting errors
  • I updated the relevant Jira ticket with the appropriate details and status

🔗 References

  • Related ticket / issue:
  • Figma / design spec:
  • Documentation:

🚨 Potentially Breaking Changes

  • Yes
  • No

Includes DRC change

  • Yes
  • No

@Taras-Hlukhovetskyi Taras-Hlukhovetskyi added the bug Something isn't working label Jul 23, 2026
@Taras-Hlukhovetskyi

Copy link
Copy Markdown
Collaborator

@arturrybalskyy-dev please resolve conflicts, test it and mark as ready for review once done

@arturrybalskyy-dev
arturrybalskyy-dev marked this pull request as ready for review September 3, 2026 13:21

@Taras-Hlukhovetskyi Taras-Hlukhovetskyi Sep 4, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please remove import { Loader } from 'igz-controls/components'

@Taras-Hlukhovetskyi Taras-Hlukhovetskyi added javascript Pull requests that update javascript code and removed 1.13 labels Sep 4, 2026
@Taras-Hlukhovetskyi

Copy link
Copy Markdown
Collaborator

@arturrybalskyy-dev CI failed again, plase check

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants