feat(controlplane): forward optional referral_code on sh checkout and trial - #2769
Merged
Merged
Conversation
mekilis
force-pushed
the
smart/feat-referral-code-passthrough
branch
from
August 3, 2026 14:58
4e86cd1 to
8d68eda
Compare
pass the trimmed referral_code through to overwatch guest checkout and self-hosted trial start so attribution can stick at signup.
mekilis
force-pushed
the
smart/feat-referral-code-passthrough
branch
from
August 3, 2026 15:27
8d68eda to
08eada2
Compare
|
Current version of PR was reviewed by /review-bugbot with additional instructions on Aug 3, 10:24 GMT+1. It flagged 0 findings. Bugbot on commit |
…ership 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.
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 4e836c2. Configure here.
…l 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.
|
Current version of PR was reviewed by /review-bugbot with additional instructions on Aug 4, 16:20 GMT+1. It flagged 0 findings. Bugbot on commit |
mekilis
added a commit
that referenced
this pull request
Aug 4, 2026
* redesign dashboard * update convoy clean design * finish Clean UI cleanup across dashboard surfaces Align remaining shared components, billing, auth, filters, and dialogs with Clean tokens and native pill CTAs. Co-authored-by: Cursor <cursoragent@cursor.com> * honor portal endpoint filters within allowed scope 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> * update billing session * fix(dashboard): honor portal endpoint filters without widening scope (#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. * feat(controlplane): forward optional referral_code on sh checkout and 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. --------- Co-authored-by: Smart Mekiliuwa <st.nonso@gmail.com> Co-authored-by: Cursor <cursoragent@cursor.com>
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.

Summary
referral_codeon self-hosted checkout and trial start requests.Test plan
referral_codeset forwards the fieldNote
Medium Risk
Billing and event-replay behavior changes are user-visible; referral attribution is fail-open on bad codes but replay logic affects portal security boundaries.
Overview
Adds self-hosted referral support end-to-end: optional
referral_codeon guest checkout and trial start (trimmed and forwarded to Overwatch; omitted when blank), billing org models exposereferral_code/share_url, and the dashboard shows a “Refer a friend” block whenshare_urlis present plus optional referee fields on checkout and trial flows.Fixes portal batch replay so
OwnedEndpointIDsis the full portal allowlist while the query filter may narrow endpoints—multi-endpoint events that only touch owned targets can replay instead of being skipped when the filter was wrongly used as the ownership set.Moves default
text-neutral-12from*tobodyso primary button label text can inherittext-white-100. Includes billing client/integration tests and regenerated Swagger docs.Reviewed by Cursor Bugbot for commit 4e836c2. Bugbot is set up for automated code reviews on this repo. Configure here.