Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
3feccf9
added pna-25 banner
NidhiKJha Nov 21, 2025
85cc83d
added pna25 banner to use boolean logic
NidhiKJha Nov 24, 2025
26e9ed2
updated selector
NidhiKJha Nov 24, 2025
1bfb72b
show banner
NidhiKJha Nov 24, 2025
82adc6d
nit fix
NidhiKJha Nov 24, 2025
330dfdb
locale update
NidhiKJha Nov 24, 2025
d270e72
updated metametrics link
NidhiKJha Nov 24, 2025
3ff5436
nit fix
NidhiKJha Nov 25, 2025
8e6603e
jest update
NidhiKJha Nov 25, 2025
82a81c8
added sentry state
NidhiKJha Nov 25, 2025
26821c2
sentry update
NidhiKJha Nov 25, 2025
c787954
sentry update
NidhiKJha Nov 25, 2025
ba6bbab
lint fix
NidhiKJha Nov 25, 2025
79d3892
nit fix
NidhiKJha Nov 25, 2025
cf8d1dd
Merge branch 'main' into CEUX-713-pna-25
NidhiKJha Nov 25, 2025
9aa85c1
metrics update
NidhiKJha Nov 25, 2025
eed9b2a
lint fix
NidhiKJha Nov 25, 2025
cc388b3
lint fix
NidhiKJha Nov 25, 2025
f3a4bda
Merge branch 'main' into CEUX-713-pna-25
NidhiKJha Nov 26, 2025
8450372
lint fix
NidhiKJha Nov 26, 2025
2386bc4
Merge branch 'main' into CEUX-713-pna-25
NidhiKJha Nov 26, 2025
58a3457
updated state to be boolea
NidhiKJha Nov 26, 2025
4bfd97d
lint fix
NidhiKJha Nov 26, 2025
e6758fc
lint fix
NidhiKJha Nov 26, 2025
971c1d0
added onboarding
NidhiKJha Nov 26, 2025
7b4cf07
added build flag
NidhiKJha Nov 26, 2025
a23ac5d
added pna banner
NidhiKJha Nov 26, 2025
af8f50e
removed unused code
NidhiKJha Nov 27, 2025
395951e
Merge branch 'main' into CEUX-713-pna-25
NidhiKJha Nov 27, 2025
1252cb7
nit fix
NidhiKJha Nov 27, 2025
b70dd38
updated welcome logic
NidhiKJha Nov 27, 2025
7af809a
lint fix
NidhiKJha Nov 27, 2025
5236ca2
added metrics logic to settings
NidhiKJha Nov 27, 2025
ca876f7
Merge branch 'main' into CEUX-713-pna-25
NidhiKJha Nov 27, 2025
7a157ea
updated sentry state
NidhiKJha Nov 27, 2025
bf7d334
Merge branch 'main' into CEUX-713-pna-25
NidhiKJha Nov 28, 2025
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
Prev Previous commit
Next Next commit
updated selector
  • Loading branch information
NidhiKJha committed Nov 24, 2025
commit 26e9ed265de2220f8a8905897442bef5aacd4db0
28 changes: 0 additions & 28 deletions app/scripts/controllers/app-state-controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -101,8 +101,6 @@ export type AppStateControllerState = {
networkConnectionBanner: NetworkConnectionBanner;
newPrivacyPolicyToastClickedOrClosed: boolean | null;
newPrivacyPolicyToastShownDate: number | null;
pna25BannerClickedOrClosed: boolean | null;
pna25BannerDismissedDate: number | null;
pna25Acknowledged: boolean | null;
nftsDetectionNoticeDismissed: boolean;
nftsDropdownState: Json;
Expand Down Expand Up @@ -272,8 +270,6 @@ const getDefaultAppStateControllerState = (): AppStateControllerState => ({
lastViewedUserSurvey: null,
newPrivacyPolicyToastClickedOrClosed: null,
newPrivacyPolicyToastShownDate: null,
pna25BannerClickedOrClosed: null,
pna25BannerDismissedDate: null,
pna25Acknowledged: null,
nftsDetectionNoticeDismissed: false,
notificationGasPollTokens: [],
Expand Down Expand Up @@ -472,18 +468,6 @@ const controllerMetadata: StateMetadata<AppStateControllerState> = {
includeInDebugSnapshot: true,
usedInUi: true,
},
pna25BannerClickedOrClosed: {
includeInStateLogs: true,
persist: true,
includeInDebugSnapshot: true,
usedInUi: true,
},
pna25BannerDismissedDate: {
includeInStateLogs: true,
persist: true,
includeInDebugSnapshot: true,
usedInUi: true,
},
pna25Acknowledged: {
includeInStateLogs: true,
persist: true,
Expand Down Expand Up @@ -898,18 +882,6 @@ export class AppStateController extends BaseController<
});
}

setPna25BannerClickedOrClosed(): void {
this.update((state) => {
state.pna25BannerClickedOrClosed = true;
});
}

setPna25BannerDismissedDate(time: number): void {
this.update((state) => {
state.pna25BannerDismissedDate = time;
});
}

setPna25Acknowledged(acknowledged: boolean): void {
this.update((state) => {
state.pna25Acknowledged = acknowledged;
Expand Down
8 changes: 3 additions & 5 deletions ui/components/app/toast-master/selectors.ts
Original file line number Diff line number Diff line change
Expand Up @@ -252,15 +252,13 @@ export function selectShowPna25Banner(state: Pick<State, 'metamask'>): boolean {
const { participateInMetaMetrics, pna25Acknowledged } = state.metamask || {};

// Get the feature flag from LaunchDarkly
// extension-ux-pna25 is now a boolean, not a timestamp
// extension-ux-pna25 is a boolean flag
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const remoteFeatureFlags = getRemoteFeatureFlags(state as any);
const isMetametricsOnchainDataEnabled = Boolean(
remoteFeatureFlags?.['extension-ux-pna25'],
);
const isPna25Enabled = Boolean(remoteFeatureFlags?.['extension-ux-pna25']);

// Check all conditions
if (!isMetametricsOnchainDataEnabled) {
if (!isPna25Enabled) {
return false; // LD flag not enabled
}

Expand Down
14 changes: 6 additions & 8 deletions ui/pages/onboarding-flow/metametrics/metametrics.js
Original file line number Diff line number Diff line change
Expand Up @@ -69,11 +69,9 @@ export default function OnboardingMetametrics() {
const dataCollectionForMarketing = useSelector(getDataCollectionForMarketing);
const remoteFeatureFlags = useSelector(getRemoteFeatureFlags);

// Check if the MetaMetrics on-chain data collection feature is enabled
// extension-ux-pna25 is now a boolean, not a timestamp
const isMetametricsOnchainDataEnabled = Boolean(
remoteFeatureFlags?.['extension-ux-pna25'],
);
// Check if the PNA25 feature is enabled
// extension-ux-pna25 is a boolean LaunchDarkly flag
const isPna25Enabled = Boolean(remoteFeatureFlags?.['extension-ux-pna25']);

const [
isParticipateInMetaMetricsChecked,
Expand Down Expand Up @@ -129,7 +127,7 @@ export default function OnboardingMetametrics() {

// If LD flag is enabled, set pna25Acknowledged to true
// This means they saw the updated policy during onboarding
if (isMetametricsOnchainDataEnabled) {
if (isPna25Enabled) {
await submitRequestToBackgroundAndCatch('setPna25Acknowledged', [
true,
]);
Expand All @@ -153,7 +151,7 @@ export default function OnboardingMetametrics() {
dispatch(setDataCollectionForMarketing(false));

// If user opts out, set to false (no need to show banner later)
if (isMetametricsOnchainDataEnabled) {
if (isPna25Enabled) {
await submitRequestToBackgroundAndCatch('setPna25Acknowledged', [
false,
]);
Expand Down Expand Up @@ -253,7 +251,7 @@ export default function OnboardingMetametrics() {
color={TextColor.textAlternative}
textAlign={TextAlign.Left}
>
{isMetametricsOnchainDataEnabled
{isPna25Enabled
? t('onboardingMetametricCheckboxDescriptionOneUpdated')
: t('onboardingMetametricCheckboxDescriptionOne')}
</Text>
Expand Down
Loading