Skip to content

feat: add data exports dashboard - #5811

Merged
tgmendes merged 13 commits into
mainfrom
feat/data-exports-ui
Sep 2, 2026
Merged

feat: add data exports dashboard#5811
tgmendes merged 13 commits into
mainfrom
feat/data-exports-ui

Conversation

@tgmendes

@tgmendes tgmendes commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Builds on #5792 and the database invariant from #5859.

Summary

  • Move Data exports into the organization-level Data group beside Event Feed at /data/event-feed and /data/exports, with a compatibility redirect from the former /data Event Feed URL.
  • Load export configuration for all visible projects in parallel, flatten configured projects into one topology, and hide projects without exports.
  • Add one global New export action when a project has an available source; the workflow project picker contains only eligible projects.
  • Replace separate route and destination inventories with one New export / Configure export workflow for project, source, and existing or inline-created destination selection.
  • Use the generic destination API and its typed OTEL configuration, with org:read page access and org:admin mutation controls.
  • Keep enable, configure, and delete controls on each real source card, and render only persisted source-to-destination connections with reduced-motion support.
  • Preserve exact organization routes when a project slug collides with the data route segment.

Motivation

Data exports are organization-visible but project-scoped configuration. This provides one place to understand and manage real export routes across projects without exposing separate transport-resource inventories or synthetic preview routes.

@tgmendes
tgmendes requested a review from a team as a code owner August 27, 2026 16:40
@tgmendes tgmendes added the enhancement New feature or request label Aug 27, 2026
@tgmendes
tgmendes requested a review from a team as a code owner August 27, 2026 16:40
@tgmendes tgmendes added preview Spawn a preview environment javascript Pull requests that update javascript code labels Aug 27, 2026
@changeset-bot

changeset-bot Bot commented Aug 27, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 59ad9f4

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
dashboard Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@cubic-dev-ai

cubic-dev-ai Bot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Running ultrareview automatically — This PR introduces a large new data-exports management surface with complex optimistic routing, write-only header preservation, and repurposed legacy forwarding logic—high risk for subtle regressions or data muting errors.. I'll post findings when complete.

@speakeasybot

speakeasybot commented Aug 27, 2026

Copy link
Copy Markdown
Collaborator

🚀 Preview Environment (PR #5811)

Preview URL: https://pr-5811.dev.getgram.ai

Component Status Details Updated (UTC)
✅ Database Ready Created and validated 2026-09-02 15:21:51.
⏭️ Images Superseded Newer commit pushed, re-syncing 2026-09-02 15:20:11.

Gram Preview Bot

@tgmendes

tgmendes commented Aug 27, 2026

Copy link
Copy Markdown
Contributor Author

Demo

Animated typed export topology

Data exports topology

Configure export sheet

What it shows:

  1. Configured exports from every project are flattened into one animated topology; project identity stays as a side note on the real source card.
  2. Development preview nodes demonstrate Product telemetry fanning out to OTEL, SIEM, and S3 while Risk findings and Agent sessions converge on the same OTEL destination.
  3. Real enable, configure, and delete controls live on the persisted source card; preview nodes are explicitly marked.
  4. A global New export action appears only when a project has an available source, and its project dropdown lists only eligible projects.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Ultrareview completed in 11m 5s

All reported issues were addressed across 13 files

Tip: instead of fixing issues one by one fix them all with cubic

Re-trigger cubic

Comment thread client/dashboard/src/pages/data-exports/DestinationEditorSheet.tsx Outdated
Comment thread client/dashboard/src/pages/data-exports/DataExports.tsx Outdated
Comment thread client/dashboard/src/lib/write-only-headers.ts
Comment thread client/dashboard/src/lib/write-only-headers.ts Outdated
Comment thread client/dashboard/src/pages/data-exports/DestinationEditorSheet.tsx Outdated
Comment thread client/dashboard/src/pages/data-exports/DestinationEditorSheet.tsx Outdated
Comment thread client/dashboard/src/pages/data-exports/DataExports.tsx Outdated
Comment thread client/dashboard/src/pages/data-exports/DataExports.tsx Outdated
Comment thread client/dashboard/src/pages/data-exports/DataExports.tsx Outdated

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

All reported issues were addressed across 3 files (changes from recent commits).

Tip: instead of fixing issues one by one fix them all with cubic

Re-trigger cubic

Comment thread client/dashboard/src/pages/data-exports/DataExports.tsx Outdated
Comment thread client/dashboard/src/pages/data-exports/DataExports.tsx Outdated
Comment thread client/dashboard/src/pages/data-exports/RouteEditorSheet.tsx Outdated
Comment thread client/dashboard/src/pages/data-exports/RouteEditorSheet.tsx Outdated
Comment thread client/dashboard/src/pages/data-exports/DataExports.tsx Outdated
Comment thread client/dashboard/src/pages/data-exports/RouteEditorSheet.tsx Outdated

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

All reported issues were addressed across 6 files (changes from recent commits).

Tip: Review your code locally with the cubic CLI to iterate faster.

Fix all with cubic | Re-trigger cubic

Comment thread client/dashboard/src/components/write-only-header-row.tsx Outdated
Comment thread client/dashboard/src/pages/data-exports/DestinationEditorSheet.tsx Outdated
Comment thread client/dashboard/src/components/write-only-header-row.tsx Outdated

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

All reported issues were addressed across 14 files (changes from recent commits).

Tip: instead of fixing issues one by one fix them all with cubic
Tip: Review your code locally with the cubic CLI to iterate faster.

Re-trigger cubic

Comment thread client/dashboard/src/pages/data-exports/DataExports.tsx
Comment thread client/dashboard/src/pages/data-exports/ConfigureExportSheet.tsx
Comment thread client/dashboard/src/pages/data-exports/DataExports.tsx Outdated
Comment thread client/dashboard/src/routes.tsx
Comment thread client/dashboard/src/routes.tsx

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

All reported issues were addressed across 2 files (changes from recent commits).

Tip: Review your code locally with the cubic CLI to iterate faster.

Fix all with cubic | Re-trigger cubic

Comment thread client/dashboard/src/pages/data-exports/DataExports.tsx Outdated
@tgmendes
tgmendes force-pushed the feat/otel-data-forwarding-api branch 2 times, most recently from a76aa6c to 56bee8d Compare September 1, 2026 16:32

@bradcypert bradcypert left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pending resolution of cubic feedback (but overall LGTM!)

Base automatically changed from feat/otel-data-forwarding-api to main September 2, 2026 08:33
@tgmendes
tgmendes force-pushed the feat/data-exports-ui branch from dc133d4 to 31777a9 Compare September 2, 2026 13:40
@tgmendes
tgmendes force-pushed the feat/data-exports-ui branch from 5ea48e7 to 714c042 Compare September 2, 2026 14:44
@tgmendes
tgmendes enabled auto-merge September 2, 2026 14:52
@tgmendes
tgmendes added this pull request to the merge queue Sep 2, 2026

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

1 issue found across 3 files (changes from recent commits).

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="seed/demo/PAGES.md">

<violation number="1">
P2: When a main seed row for data exports is removed, the demo page renders an empty state. Restore a working seed for the exports page or mark it as deliberately not seeded, rather than removing the row entirely. Ensure the page remains populated for a demo user to reach and verify.</violation>
</file>

Tip: Review your code locally with the cubic CLI to iterate faster.

Fix all with cubic | Re-trigger cubic

Merged via the queue into main with commit 0570bd9 Sep 2, 2026
43 of 44 checks passed
@tgmendes
tgmendes deleted the feat/data-exports-ui branch September 2, 2026 15:04
@github-actions github-actions Bot locked and limited conversation to collaborators Sep 2, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

enhancement New feature or request javascript Pull requests that update javascript code preview Spawn a preview environment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants