feat(dashboard): Redesign Convoy dashboard - #2764
Merged
Merged
Conversation
mekilis
marked this pull request as draft
July 30, 2026 12:11
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 428c98c. Configure here.
Bring staging-parity backend (custom UA, sync-ack) onto the draft UI branch before the staging preview image build.
Align remaining shared components, billing, auth, filters, and dialogs with Clean tokens and native pill CTAs. Co-authored-by: Cursor <cursoragent@cursor.com>
Intersect requested endpoint IDs with the portal link allowlist so delivery list and count queries can filter without widening token access. Co-authored-by: Cursor <cursoragent@cursor.com>
…2770) keep query endpointId as an allowlist intersection on portal list/count/retry paths, return typed empty pages when the intersection is empty, and cover the contract in unit plus portal integration tests. also clear unused-var lint in event deliveries filters.
… trial (#2769) * feat(billing): forward optional referral_code on sh checkout and trial pass the trimmed referral_code through to overwatch guest checkout and self-hosted trial start so attribution can stick at signup. * feat(billing): wire referral share ui and fix portal batch replay ownership show the sh refer block from organisation share_url, accept optional referral_code on checkout and trial, and keep OwnedEndpointIDs on the full portal allowlist when filtering batch replay by endpointId. * fix(billing): reload referral share after activation and harden portal list errors call loadReferralShare from pollUntilBillingActive with a stale-response token, and clear portal subscription loading failures without showing stale rows or a false empty state.
mekilis
marked this pull request as ready for review
August 4, 2026 15:36
mekilis
approved these changes
Aug 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Redesign the dashboard UI to match the Convoy Clean Figma system.
Note
Medium Risk
Portal-link endpoint filtering and batch-replay ownership changes affect authorization boundaries for portal tokens; the large UI refactor is broad but mostly presentational.
Overview
This PR rolls out the Convoy Clean visual system across shared dashboard components and heavily refreshes the portal experience (endpoints list, create/update endpoint flow, transforms), replacing many
convoy-buttonusages with native-styled controls andnew.*design tokens (typography, borders, surfaces).Portal API behavior is tightened: new
filterAllowedEndpointIDs/portalScopedEndpointIDsintersect callerendpointIdfilters with the portal allowlist (never widening scope). Batch replay for portal tokens keeps ownership on the full allowlist while the query filter may narrow—so multi-endpoint events replay only when all targets are owned. Empty scoped results return proper empty paged payloads instead of misleading content.Self-hosted billing accepts optional
referral_codeon guest checkout and trial start (trimmed and forwarded to Overwatch); billing models gainreferral_code/share_urlon organisation payloads. Dev ergonomics:IframeGuardallows embedded previews when not in production; generated local install config is gitignored.Reviewed by Cursor Bugbot for commit 8bc8f71. Bugbot is set up for automated code reviews on this repo. Configure here.