Skip to content

Refresh privacy request activity timeline display#8140

Open
Kelsey-Ethyca wants to merge 3 commits intomainfrom
kelsey/dash-update-activity-log
Open

Refresh privacy request activity timeline display#8140
Kelsey-Ethyca wants to merge 3 commits intomainfrom
kelsey/dash-update-activity-log

Conversation

@Kelsey-Ethyca
Copy link
Copy Markdown
Contributor

Summary

Reworks the activity timeline on the privacy request detail page so the log reads as something a non-engineer can scan, rather than a list of raw dataset keys prefixed with `Fides:`.

  • Each row now starts with an icon: integration logo (looked up by `connection_key`), user avatar (comments / manual tasks), or a system glyph (audit events, dataset graph events).
  • Integration rows show the connection's configured display name; when no connection is found we humanize the snake_case key (`service_now_servicenow_itsm_api` → `Service now servicenow itsm api`).
  • The `Fides:` author prefix is dropped — the icon now communicates that it's a system event. User-authored rows (comments, completed/skipped manual tasks) still surface the user's name.
  • The `Request update` tag is renamed to `Automatically updated`.

Implementation notes

  • New `timelineDisplay.tsx` centralizes the icon factory + `humanizeIdentifier` helper.
  • `usePrivacyRequestEventLogs` now fetches the connection list once via `useGetAllDatastoreConnectionsQuery({ size: 1000 })` and resolves each result group's `connection_key` into a display name + `ConnectionTypeLogo` source.
  • `ActivityTimelineItem` gains `connectionLogo`, `icon`, and `resultsKey` fields. `resultsKey` keeps the original dataset key around so the log drawer lookup still works after the title is replaced with the friendlier display name.
  • `stubPrivacyRequests` adds a default empty connection list intercept so the timeline behaves predictably under Cypress.

Test plan

  • `tsc --noEmit` passes
  • `jest events-and-logs` passes (14/14)
  • `eslint` clean on changed files
  • Cypress `Privacy Requests` suite passes
  • Manual smoke: open a completed privacy request, verify integration logos render, "Fides:" is gone, manual task / comment rows show a user icon + name, tag reads "Automatically updated"

🤖 Generated with Claude Code

Replace the bare "Fides:" prefix and snake_case dataset keys with leading
icons, integration logos, and humanized labels so the activity log reads
as a more user-friendly timeline. Each row now renders an icon (integration
logo, user avatar, or system event glyph), drops the redundant "Fides:"
author, and prefers the connection's display name when one is available.
The "Request update" tag has also been renamed to "Automatically updated".

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@Kelsey-Ethyca Kelsey-Ethyca requested a review from a team as a code owner May 8, 2026 02:51
@Kelsey-Ethyca Kelsey-Ethyca requested review from speaker-ender and removed request for a team May 8, 2026 02:51
@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented May 8, 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 May 10, 2026 10:18pm
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
fides-privacy-center Ignored Ignored May 10, 2026 10:18pm

Request Review

Kelsey-Ethyca and others added 2 commits May 9, 2026 15:34
Style timeline icons with branded backgrounds (terracotta for request
received, olive for approved, marble/sandstone with minos foreground for
user and policy events), bump icon size to 24px, swap to FlowData/Process/
ArrowRight/Checkmark glyphs, and pull SaaS connection logos through the
ConnectionSystemTypeMap so Stripe, Mailchimp, etc. show their integration
logo instead of the generic database fallback. Also add defensive guards
so an unmapped privacy request status no longer crashes the badge or the
bulk-action menu, drop the redundant Button wrapper around ClipboardButton
in request details, and reduce the connections page size from 1000 to 100
to stay under the backend pagination cap.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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