Skip to content

fix: url form syncing [ENG-2469]#7279

Merged
speaker-ender merged 7 commits intomainfrom
fix/url-form-syncing--ENG-2469
Jan 30, 2026
Merged

fix: url form syncing [ENG-2469]#7279
speaker-ender merged 7 commits intomainfrom
fix/url-form-syncing--ENG-2469

Conversation

@speaker-ender
Copy link
Copy Markdown
Contributor

@speaker-ender speaker-ender commented Jan 30, 2026

Ticket ENG-2469

Description Of Changes

Allowing the search form to be updated by the url via an effect
Also removes default steward filter for current user

Code Changes

Steps to Confirm

  1. Visit the activity center
  2. Change the steward filter
  3. Click the Activity Center link in the nav
  4. Verify that the filters reset correctly

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

@speaker-ender speaker-ender requested a review from a team as a code owner January 30, 2026 16:11
@speaker-ender speaker-ender requested review from gilluminate and removed request for a team January 30, 2026 16:11
@vercel
Copy link
Copy Markdown
Contributor

vercel bot commented Jan 30, 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 Jan 30, 2026 6:59pm
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
fides-privacy-center Ignored Ignored Jan 30, 2026 6:59pm

Request Review

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Jan 30, 2026

Greptile Overview

Greptile Summary

This PR adds bidirectional URL-to-form synchronization for the monitor list search form. Previously, form changes updated the URL, but URL changes (from browser navigation or direct URL manipulation) didn't update the form.

Key changes:

  • Added useEffect hook to sync URL state (searchForm) back to form fields when URL changes
  • Modified onFieldsChange to directly update URL state instead of using form.submit() and onFinish callback
  • Removed the onFinish callback entirely as it's no longer needed

Impact:

  • Users can now use browser back/forward buttons and the form will correctly reflect URL state
  • Direct URL manipulation will properly update form values
  • Maintains translation layer between Ant Design form conventions (undefined for empty) and nuqs URL conventions (empty string for empty)

The implementation leverages Ant Design's behavior where form.setFieldsValue() does not trigger onFieldsChange, naturally preventing infinite loops between URL and form updates.

Confidence Score: 4/5

  • This PR is safe to merge with minimal risk - the change is well-scoped and solves a legitimate URL syncing issue
  • The implementation correctly adds bidirectional syncing between URL and form state. The useEffect approach is appropriate for this use case, and Ant Design's form.setFieldsValue() naturally prevents infinite loops by not triggering onFieldsChange. The only minor concern is documentation clarity around the dependency array.
  • No files require special attention

Important Files Changed

Filename Overview
clients/admin-ui/src/features/data-discovery-and-detection/action-center/hooks/useSearchForm.ts Added bidirectional URL-to-form syncing via useEffect to support browser navigation

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.

1 file reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

Updated description to include removal of default monitor filter.
Copy link
Copy Markdown
Contributor

@adamsachs adamsachs left a comment

Choose a reason for hiding this comment

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

functionally this looks good, approving since we want to patch this bug and default behavior ASAP - we'll be coming back to this bit of code so a further review can be done then!

@speaker-ender speaker-ender added this pull request to the merge queue Jan 30, 2026
Merged via the queue into main with commit 94fc912 Jan 30, 2026
46 checks passed
@speaker-ender speaker-ender deleted the fix/url-form-syncing--ENG-2469 branch January 30, 2026 19:19
speaker-ender added a commit that referenced this pull request Jan 30, 2026
@greptile-apps greptile-apps bot mentioned this pull request Feb 3, 2026
18 tasks
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