From 378a903ac4dc12e6ee708de20f0d9a5aa758bd18 Mon Sep 17 00:00:00 2001 From: panteliselef Date: Thu, 21 Sep 2023 14:16:45 +0300 Subject: [PATCH] chore(clerk-js,backend): Remove deprecated `__clerk_referrer_primary` (#1755) * chore(clerk-js,backend): Remove deprecated internal `__clerk_referrer_primary` This is safe to remove, as the code that was adding this query param has been removed for at least 4 releases * chore(clerk-js): Add changeset --- .changeset/little-grapes-compete.md | 6 +++++ .../backend/src/tokens/interstitialRule.ts | 18 --------------- packages/backend/src/tokens/request.ts | 2 -- packages/clerk-js/src/core/clerk.ts | 23 +------------------ packages/clerk-js/src/core/constants.ts | 4 ---- .../clerk-js/src/utils/getClerkQueryParam.ts | 4 +--- 6 files changed, 8 insertions(+), 49 deletions(-) create mode 100644 .changeset/little-grapes-compete.md diff --git a/.changeset/little-grapes-compete.md b/.changeset/little-grapes-compete.md new file mode 100644 index 0000000000..dd3a29084a --- /dev/null +++ b/.changeset/little-grapes-compete.md @@ -0,0 +1,6 @@ +--- +'@clerk/clerk-js': patch +'@clerk/backend': patch +--- + +Removing the `__clerk_referrer_primary` that was marked as deprecated. It was introduced to support the multi-domain featured, but was replaced shortly after. diff --git a/packages/backend/src/tokens/interstitialRule.ts b/packages/backend/src/tokens/interstitialRule.ts index 58b379a7e5..9a8933dd30 100644 --- a/packages/backend/src/tokens/interstitialRule.ts +++ b/packages/backend/src/tokens/interstitialRule.ts @@ -12,10 +12,6 @@ type InterstitialRule = ( const shouldRedirectToSatelliteUrl = (qp?: URLSearchParams) => !!qp?.get('__clerk_satellite_url'); const hasJustSynced = (qp?: URLSearchParams) => qp?.get('__clerk_synced') === 'true'; -/** - * @deprecated This will be removed in the next minor version - */ -const isReturningFromPrimary = (qp?: URLSearchParams) => qp?.get('__clerk_referrer_primary') === 'true'; const VALID_USER_AGENTS = /^Mozilla\/|(Amazon CloudFront)/; @@ -90,20 +86,6 @@ export const potentialRequestAfterSignInOrOutFromClerkHostedUiInDev: Interstitia return undefined; }; -/** - * @deprecated This will be removed in the next minor version - */ -export const satelliteInDevReturningFromPrimary: InterstitialRule = options => { - const { apiKey, secretKey, isSatellite, searchParams } = options; - - const key = secretKey || apiKey || ''; - - if (isSatellite && isReturningFromPrimary(searchParams) && isDevelopmentFromApiKey(key)) { - return interstitial(options, AuthErrorReason.SatelliteReturnsFromPrimary); - } - return undefined; -}; - export const potentialFirstRequestOnProductionEnvironment: InterstitialRule = options => { const { apiKey, secretKey, clientUat, cookieToken } = options; const key = secretKey || apiKey || ''; diff --git a/packages/backend/src/tokens/request.ts b/packages/backend/src/tokens/request.ts index ac90422539..98ea9114ba 100644 --- a/packages/backend/src/tokens/request.ts +++ b/packages/backend/src/tokens/request.ts @@ -19,7 +19,6 @@ import { potentialFirstRequestOnProductionEnvironment, potentialRequestAfterSignInOrOutFromClerkHostedUiInDev, runInterstitialRules, - satelliteInDevReturningFromPrimary, } from './interstitialRule'; import type { VerifyTokenOptions } from './verify'; @@ -161,7 +160,6 @@ export async function authenticateRequest(options: AuthenticateRequestOptions): crossOriginRequestWithoutHeader, nonBrowserRequestInDevRule, isSatelliteAndNeedsSyncing, - satelliteInDevReturningFromPrimary, isPrimaryInDevAndRedirectsToSatellite, potentialFirstRequestOnProductionEnvironment, potentialFirstLoadInDevWhenUATMissing, diff --git a/packages/clerk-js/src/core/clerk.ts b/packages/clerk-js/src/core/clerk.ts index 2ecf7ea0fd..8e011364ef 100644 --- a/packages/clerk-js/src/core/clerk.ts +++ b/packages/clerk-js/src/core/clerk.ts @@ -76,7 +76,6 @@ import { noUserExists, pickRedirectionProp, removeClerkQueryParam, - replaceClerkQueryParam, requiresUserInput, sessionExistsAndSingleSessionModeEnabled, setDevBrowserJWTInURL, @@ -85,7 +84,7 @@ import { windowNavigate, } from '../utils'; import { memoizeListenerCallback } from '../utils/memoizeStateListenerCallback'; -import { CLERK_REFERRER_PRIMARY, CLERK_SATELLITE_URL, CLERK_SYNCED, ERROR_CODES } from './constants'; +import { CLERK_SATELLITE_URL, CLERK_SYNCED, ERROR_CODES } from './constants'; import type { DevBrowserHandler } from './devBrowserHandler'; import createDevBrowserHandler from './devBrowserHandler'; import { @@ -1141,20 +1140,6 @@ export default class Clerk implements ClerkInterface { #hasJustSynced = () => getClerkQueryParam(CLERK_SYNCED) === 'true'; #clearJustSynced = () => removeClerkQueryParam(CLERK_SYNCED); - /** - * @deprecated This will be removed in the next minor version - */ - #isReturningFromPrimary = () => getClerkQueryParam(CLERK_REFERRER_PRIMARY) === 'true'; - /** - * @deprecated This will be removed in the next minor version - */ - #replacePrimaryReferrerWithClerkSynced = () => { - if (this.#options.isInterstitial) { - replaceClerkQueryParam(CLERK_REFERRER_PRIMARY, CLERK_SYNCED, 'true'); - } else { - removeClerkQueryParam(CLERK_REFERRER_PRIMARY); - } - }; #buildSyncUrlForDevelopmentInstances = (): string => { const searchParams = new URLSearchParams({ @@ -1179,12 +1164,6 @@ export default class Clerk implements ClerkInterface { }; #shouldSyncWithPrimary = (): boolean => { - // TODO: Remove this in the minor release - if (this.#isReturningFromPrimary()) { - this.#replacePrimaryReferrerWithClerkSynced(); - return false; - } - if (this.#hasJustSynced()) { if (!this.#options.isInterstitial) { this.#clearJustSynced(); diff --git a/packages/clerk-js/src/core/constants.ts b/packages/clerk-js/src/core/constants.ts index 4ff9050ed4..17df8558c3 100644 --- a/packages/clerk-js/src/core/constants.ts +++ b/packages/clerk-js/src/core/constants.ts @@ -5,10 +5,6 @@ export const DEV_BROWSER_SSO_JWT_PARAMETER = '__dev_session'; export const DEV_BROWSER_SSO_JWT_HTTP_HEADER = 'Clerk-Cookie'; export const CLERK_MODAL_STATE = '__clerk_modal_state'; -/** - * @deprecated This will be removed in the next minor version - */ -export const CLERK_REFERRER_PRIMARY = '__clerk_referrer_primary'; export const CLERK_SYNCED = '__clerk_synced'; export const CLERK_SATELLITE_URL = '__clerk_satellite_url'; export const ERROR_CODES = { diff --git a/packages/clerk-js/src/utils/getClerkQueryParam.ts b/packages/clerk-js/src/utils/getClerkQueryParam.ts index 7da308e067..e51ff6574c 100644 --- a/packages/clerk-js/src/utils/getClerkQueryParam.ts +++ b/packages/clerk-js/src/utils/getClerkQueryParam.ts @@ -1,4 +1,4 @@ -import { CLERK_REFERRER_PRIMARY, CLERK_SATELLITE_URL, CLERK_SYNCED } from '../core/constants'; +import { CLERK_SATELLITE_URL, CLERK_SYNCED } from '../core/constants'; const ClerkQueryParams = [ '__clerk_status', @@ -8,7 +8,6 @@ const ClerkQueryParams = [ '__clerk_modal_state', CLERK_SYNCED, CLERK_SATELLITE_URL, - CLERK_REFERRER_PRIMARY, ] as const; type ClerkQueryParam = (typeof ClerkQueryParams)[number]; @@ -21,7 +20,6 @@ type ClerkQueryParamsToValuesMap = { __clerk_modal_state: string; __clerk_synced: string; __clerk_satellite_url: string; - __clerk_referrer_primary: string; }; export type VerificationStatus = 'expired' | 'failed' | 'loading' | 'verified' | 'verified_switch_tab';