Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
- added: NYM swap provider (`nymswap`)
- changed: Route maestro test builds to a dedicated Zealot channel so they no longer appear in the production release list.
- changed: Hide the wallet "Get Raw Keys" option behind Developer Mode, while still showing it for wallets that fail to load.
- fixed: Share button referral link now uses the dl.edge.app deep-link domain so appreferred attribution is tracked
- removed: SideShift `privateKey` from env config; the swap integration no longer sends the affiliate secret header.

## 4.49.0 (staging)
Expand Down
8 changes: 7 additions & 1 deletion src/components/themed/SideMenu.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,13 @@ export function SideMenuComponent(props: Props): React.ReactElement {
.replace('0x', '')
.substring(0, 10)

const url = `${config.website}?af=appreferred_${refId}`
// Share the app via the AppsFlyer deep-link URL so the appreferred referral
// attribution (refDeviceInstallerId) is tracked. Defaults to dl.edge.app for
// Edge; white-label builds fall back to their own website domain. The trailing
// slash before the query matches the dl.edge.app deep-link format (see
// DeepLinkParser), which AppsFlyer needs to resolve the attribution.
const shareUrlBase = config.referralAppShareUrl ?? config.website
const url = `${shareUrlBase}/?af=appreferred_${refId}`
const subject = sprintf(lstrings.share_subject, config.appName)

await Share.open({
Expand Down
1 change: 1 addition & 0 deletions src/theme/edgeConfig.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ export const edgeConfig: AppConfig = {
supportSite: 'https://help.edge.app/support/tickets/new',
termsOfServiceSite: 'https://edge.app/tos/',
website: 'https://edge.app',
referralAppShareUrl: 'https://dl.edge.app',
supportChatSite: 'https://support.edge.app/hc/en-us?chat=open',
quickActions: {
uninstallWarningUrl:
Expand Down
6 changes: 6 additions & 0 deletions src/types/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -376,6 +376,12 @@ export interface AppConfig {
supportSite: string
termsOfServiceSite: string
website: string
/**
* Base URL used when sharing the app for referral attribution (the AppsFlyer
* deep-link domain). Falls back to `website` when unset so white-label builds
* share links on their own domain.
*/
referralAppShareUrl?: string
disableSwaps?: boolean
disableSurveyModal?: boolean
/**
Expand Down
Loading