Skip to content

feat: cursor paginated tree [ENG-2442]#7425

Merged
speaker-ender merged 1 commit intomainfrom
feat/cursor-paginated-tree--ENG-2442
Feb 20, 2026
Merged

feat: cursor paginated tree [ENG-2442]#7425
speaker-ender merged 1 commit intomainfrom
feat/cursor-paginated-tree--ENG-2442

Conversation

@speaker-ender
Copy link
Copy Markdown
Contributor

@speaker-ender speaker-ender commented Feb 19, 2026

Ticket ENG-2442

Description Of Changes

UI update to use the new cursor based pagination for the monitor tree.
To be tested against changes in ENG-2440

Code Changes

  • Creating new cursor pagination params
  • Updating monitor tree to use new pagination params

Steps to Confirm

  1. Visit a datastore monitor
  2. Confirm that the tree pagination functions as expected without regressions

Pre-Merge Checklist

  • Issue requirements met
  • All CI pipelines succeeded
  • CHANGELOG.md updated
    • Add a db-migration This indicates that a change includes a database migration label to the entry if your change includes a DB migration
    • Add a high-risk This issue suggests changes that have a high-probability of breaking existing code label to the entry if your change includes a high-risk change (i.e. potential for performance impact or unexpected regression) that should be flagged
    • Updates unreleased work already in Changelog, no new entry necessary
  • UX feedback:
    • All UX related changes have been reviewed by a designer
    • No UX review needed
  • Followup issues:
    • Followup issues created
    • No followup issues
  • Database migrations:
    • Ensure that your downrev is up to date with the latest revision on main
    • Ensure that your downgrade() migration is correct and works
      • If a downgrade migration is not possible for this change, please call this out in the PR description!
    • No migrations
  • Documentation:
    • Documentation complete, PR opened in fidesdocs
    • Documentation issue created in fidesdocs
    • If there are any new client scopes created as part of the pull request, remember to update public-facing documentation that references our scope registry
    • No documentation updates required

@vercel
Copy link
Copy Markdown
Contributor

vercel bot commented Feb 19, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
fides-plus-nightly Ready Ready Preview, Comment Feb 20, 2026 3:06pm
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
fides-privacy-center Ignored Ignored Feb 20, 2026 3:06pm

Request Review

@speaker-ender speaker-ender force-pushed the feat/cursor-paginated-tree--ENG-2442 branch from 5fb16b9 to 87cf10c Compare February 19, 2026 16:47
@speaker-ender speaker-ender marked this pull request as ready for review February 19, 2026 16:49
@speaker-ender speaker-ender requested review from a team as code owners February 19, 2026 16:49
@speaker-ender speaker-ender requested review from johnewart, lucanovera and vcruces and removed request for a team, johnewart and lucanovera February 19, 2026 16:49
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Feb 19, 2026

Greptile Summary

This PR successfully migrates the monitor tree from offset-based to cursor-based pagination on the frontend, while also adding database indices to optimize tree queries on the backend.

Key changes:

  • Frontend now uses cursor pagination (cursor_start/cursor_end) instead of page-based pagination (page/pageIndex) for the monitor tree
  • Added two new database indices: ix_stagedresource_leaf_true_monitor_status_urn (partial index for leaf nodes) and ix_staged_resource_ancestor_anc_dist_desc (for ancestor queries)
  • Migration includes smart conditional logic to defer index creation for large tables (>1M rows) to application startup
  • Added async version of is_backfill_completed function with proper test coverage
  • Reduced TREE_PAGE_SIZE from 20 to 10

Implementation quality:

  • Proper race condition handling in MonitorTree.tsx using request sequence tracking
  • Migration includes existence checks to avoid errors on downgrade
  • Indices are properly registered in post_upgrade_index_creation.py for deferred creation
  • Test coverage added for new async utility function

Confidence Score: 5/5

  • This PR is safe to merge with minimal risk
  • The changes are well-structured with proper migration handling, test coverage, and backwards compatibility. The cursor pagination implementation follows established patterns, includes race condition handling, and has appropriate safeguards for large tables. No critical issues found.
  • No files require special attention

Important Files Changed

Filename Overview
clients/admin-ui/src/features/data-discovery-and-detection/action-center/action-center.slice.ts Updated getMonitorTree query to use cursor pagination instead of page/size pagination
clients/admin-ui/src/features/data-discovery-and-detection/action-center/fields/MonitorTree.tsx Refactored tree component to use cursor pagination with cursor_start/cursor_end instead of pageIndex, includes race condition handling
src/fides/api/models/detection_discovery/core.py Added two new database indices: ix_stagedresource_leaf_true_monitor_status_urn and ix_staged_resource_ancestor_anc_dist_desc for query optimization
src/fides/api/alembic/migrations/versions/xx_2026_02_13_0100_29acbb0689de_add_is_leaf_is_true_index_to_.py Migration conditionally creates indices based on table size (<1M rows), with proper downgrade handling and existence checks
src/fides/api/migrations/post_upgrade_index_creation.py Updated to include new indices ix_stagedresource_leaf_true_monitor_status_urn and ix_staged_resource_ancestor_anc_dist_desc

Last reviewed commit: 87cf10c

Copy link
Copy Markdown
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

12 files reviewed, no comments

Edit Code Review Agent Settings | Greptile

chore: update api def

feat: cursor paginated tree [ENG-2442]

chore: update changelog

chore: restore page size

fix: icon showing in show more

chore: linting
Copy link
Copy Markdown
Contributor

@vcruces vcruces left a comment

Choose a reason for hiding this comment

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

Looks great and worked perfectly for me!

@speaker-ender speaker-ender added this pull request to the merge queue Feb 20, 2026
Merged via the queue into main with commit 32180cb Feb 20, 2026
45 checks passed
@speaker-ender speaker-ender deleted the feat/cursor-paginated-tree--ENG-2442 branch February 20, 2026 15:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants