Skip to content

feat(dashboard): Redesign Convoy dashboard - #2764

Merged
mekilis merged 9 commits into
mainfrom
new-convoy-ui
Aug 4, 2026
Merged

feat(dashboard): Redesign Convoy dashboard#2764
mekilis merged 9 commits into
mainfrom
new-convoy-ui

Conversation

@motunrayokoyejo

@motunrayokoyejo motunrayokoyejo commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

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-button usages with native-styled controls and new.* design tokens (typography, borders, surfaces).

Portal API behavior is tightened: new filterAllowedEndpointIDs / portalScopedEndpointIDs intersect caller endpointId filters 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_code on guest checkout and trial start (trimmed and forwarded to Overwatch); billing models gain referral_code / share_url on organisation payloads. Dev ergonomics: IframeGuard allows 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.

@motunrayokoyejo
motunrayokoyejo requested a review from mekilis July 30, 2026 12:10
@mekilis
mekilis marked this pull request as draft July 30, 2026 12:11

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ 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.

Comment thread web/ui/dashboard/src/app/portal/subscriptions/subscriptions.component.html Outdated
mekilis and others added 4 commits August 1, 2026 00:35
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>
@motunrayokoyejo motunrayokoyejo changed the title Redesign Convoy dashboard feat(UI):Redesign Convoy dashboard Aug 3, 2026
@motunrayokoyejo motunrayokoyejo changed the title feat(UI):Redesign Convoy dashboard feat(dashboard):Redesign Convoy dashboard Aug 3, 2026
@mekilis mekilis changed the title feat(dashboard):Redesign Convoy dashboard feat(dashboard): Redesign Convoy dashboard Aug 3, 2026
mekilis added 2 commits August 3, 2026 16:13
…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
mekilis marked this pull request as ready for review August 4, 2026 15:36
@mekilis
mekilis merged commit 19dfbc5 into main Aug 4, 2026
35 checks passed
@mekilis
mekilis deleted the new-convoy-ui branch August 4, 2026 16:45
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