Skip to content

refactor: filter linked progress [ENG-3259, ENG-2794]#7846

Open
speaker-ender wants to merge 1 commit intomainfrom
refactor/filter-linked-progress
Open

refactor: filter linked progress [ENG-3259, ENG-2794]#7846
speaker-ender wants to merge 1 commit intomainfrom
refactor/filter-linked-progress

Conversation

@speaker-ender
Copy link
Copy Markdown
Contributor

@speaker-ender speaker-ender commented Apr 7, 2026

Ticket [ENG-3259, ENG-2794]

Description Of Changes

  • Moved the refresh button on action center pages to the top of the screen and enable them to refresh the statistics as well as the content below
  • Updated the visual to be a bar chart instead of a pie chart
  • Updated the stewards avatar color in the root action center

Code Changes

Steps to Confirm

  1. Visit the action center
  2. Confirm that clicking the refresh button refreshes your results, triggers an update to each of the statistics on the BE, and refreshes the statistics
  3. Verify that this functionality exists on each of the monitor screen types
  4. Verify that individual monitor screens include the integration and any linked system id

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 force-pushed the refactor/filter-linked-progress branch from 03b3f99 to 4d0cd24 Compare April 7, 2026 14:04
@vercel
Copy link
Copy Markdown
Contributor

vercel bot commented Apr 7, 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 Apr 9, 2026 3:57pm
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
fides-privacy-center Ignored Ignored Apr 9, 2026 3:57pm

Request Review

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 7, 2026

Title Lines Statements Branches Functions
admin-ui Coverage: 7%
5.87% (2547/43347) 4.88% (1199/24533) 3.95% (508/12842)
fides-js Coverage: 78%
78.98% (1962/2484) 65.55% (1214/1852) 72.57% (336/463)
privacy-center Coverage: 88%
85.93% (330/384) 81.1% (176/217) 78.87% (56/71)

@speaker-ender speaker-ender force-pushed the refactor/filter-linked-progress branch from 03c9feb to 393d6fa Compare April 7, 2026 14:14
@speaker-ender speaker-ender force-pushed the refactor/filter-linked-progress branch from 393d6fa to 3fe3a3a Compare April 8, 2026 14:13
@speaker-ender speaker-ender marked this pull request as ready for review April 8, 2026 14:16
@speaker-ender speaker-ender requested a review from a team as a code owner April 8, 2026 14:16
@speaker-ender speaker-ender requested review from lucanovera and removed request for a team April 8, 2026 14:16
Copy link
Copy Markdown

@claude claude bot left a comment

Choose a reason for hiding this comment

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

Code Review

This PR is a frontend-only refactor that replaces the local MONITOR_TYPES enum with the API-generated APIMonitorType, decomposes the monolithic MonitorStats into three focused widgets (MonitorProgressWidget, MonitorStatsWidget, MonitorDetailsWidget), and adds a refresh button across action center pages. The direction is good, but there are a few bugs and polish issues to address before merging.

Must Fix

1. Literal commas rendered as text in JSX (MonitorStats.tsx lines 50, 55)
The trailing , after <Divider /> inside the JSX Fragment will render as literal , characters in the DOM. Remove the commas. (Inline comment added.)

2. Typos in user-visible strings and constant names (utils.ts, ProgressCard.tsx)

  • "Classifeid""Classified"
  • "unlabled" / "Unlabled""unlabeled" / "Unlabeled" (appears in key names in utils.ts, segment labels, and the badge text in ProgressCard.tsx — all must be updated together since they're used as data keys)
  • MONIOR_BAR_CHART_SEGMENTSMONITOR_BAR_CHART_SEGMENTS
  • "accross""across" in the ProgressCard body text

3. Refresh button can get permanently stuck in loading state
In ActionCenterLayout.tsx and website/[monitorId]/index.tsx, setRefreshing(false) is called after await, but without try/finally. If the API call rejects, the button stays disabled forever. Wrap in try/finally. (Inline comments added.)

Suggestions

4. reduce for divider insertion creates nested arrays (MonitorStats.tsx lines 32–47)
The accumulator builds up nested arrays ([[[], item1], divider, item2]) which React flattens at render time, so it won't crash — but the logic is hard to follow. A map with an index-based guard is simpler and more idiomatic. (Inline comment with suggested alternative added.)

5. Root page refresh triggers WEBSITE stats even when flag is off (index.tsx)
APIMonitorType.WEBSITE is included in the Promise.all unconditionally regardless of the webMonitor flag. (Inline comment added.)

6. MonitorDetailsWidget renders null when heliosInsights is off, but its surrounding dividers in MonitorStats do not
When heliosInsights is false, MonitorDetailsWidget returns null, but the two <Divider> elements around it (lines 50 and 55) will still render — causing extra visual separators with nothing between them. Either move the flag check up to MonitorStats, or have the widget render its own dividers.

@speaker-ender speaker-ender force-pushed the refactor/filter-linked-progress branch 2 times, most recently from 9119129 to 076209f Compare April 8, 2026 14:38
@speaker-ender speaker-ender force-pushed the refactor/filter-linked-progress branch from 076209f to 389b82b Compare April 8, 2026 15:11
@speaker-ender speaker-ender force-pushed the refactor/filter-linked-progress branch from 389b82b to 0768ff3 Compare April 8, 2026 18:31
@speaker-ender speaker-ender force-pushed the refactor/filter-linked-progress branch from 0768ff3 to 97dd2fa Compare April 8, 2026 19:17
@speaker-ender speaker-ender force-pushed the refactor/filter-linked-progress branch 2 times, most recently from c701ec7 to 5f97a48 Compare April 8, 2026 19:42
@speaker-ender speaker-ender force-pushed the refactor/filter-linked-progress branch from 5f97a48 to 06ec644 Compare April 9, 2026 12:10
@speaker-ender speaker-ender force-pushed the refactor/filter-linked-progress branch from 06ec644 to 7e97dab Compare April 9, 2026 12:20
@speaker-ender speaker-ender force-pushed the refactor/filter-linked-progress branch from 7e97dab to 39d868e Compare April 9, 2026 14:47
@speaker-ender speaker-ender force-pushed the refactor/filter-linked-progress branch 2 times, most recently from 9352bb7 to 284e55f Compare April 9, 2026 15:49
wip: hooked up

wip: dimming

wip: more

wip: more refactors

chore: lots of widgets

chore: linting and refinements

chore: update changelog

wip: avatar update

chore: updated avatar color

chore: all of the async stuff

chore: additional clean up

chore: fix typos

chore: fix async states

chore: additional clean up

fix: test enum

chore: fix overflow

chore: more ellipsis stuff

chore: formatting

chore: restore keys on monitor

fix: open tooltip

chore: hiding tooltip

chore: add system and integration links

chore: adding tooltip to icon

chore: adding additional tooltip

chore: updating types

fix: unassociated systems bug

fix: layout issues

fix: alignment on smaller screens

chore: formatting
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.

1 participant