From 0c4db27dcc4264004aea4ee53cf28d115ee33429 Mon Sep 17 00:00:00 2001 From: David Walsh Date: Fri, 28 Feb 2025 15:55:05 -0600 Subject: [PATCH 1/2] fix: Prevent SrpViewSrpText from firing more than once --- ui/pages/keychains/reveal-seed.js | 62 ++++++++++++++++--------------- 1 file changed, 33 insertions(+), 29 deletions(-) diff --git a/ui/pages/keychains/reveal-seed.js b/ui/pages/keychains/reveal-seed.js index cf3e285eba64..a619394a1dfb 100644 --- a/ui/pages/keychains/reveal-seed.js +++ b/ui/pages/keychains/reveal-seed.js @@ -1,5 +1,5 @@ import qrCode from 'qrcode-generator'; -import React, { useContext, useEffect, useState } from 'react'; +import React, { useContext, useEffect, useState, useCallback } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import { useHistory } from 'react-router-dom'; import { getErrorMessage } from '../../../shared/modules/error'; @@ -56,6 +56,26 @@ export default function RevealSeedPage() { const [error, setError] = useState(null); const mostRecentOverviewPage = useSelector(getMostRecentOverviewPage); const [isShowingHoldModal, setIsShowingHoldModal] = useState(false); + const [srpViewEventTracked, setSrpViewEventTracked] = useState(false); + + const onClickCopy = useCallback(() => { + trackEvent({ + category: MetaMetricsEventCategory.Keys, + event: MetaMetricsEventName.KeyExportCopied, + properties: { + key_type: MetaMetricsEventKeyType.Srp, + copy_method: 'clipboard', + }, + }); + trackEvent({ + category: MetaMetricsEventCategory.Keys, + event: MetaMetricsEventName.SrpCopiedToClipboard, + properties: { + key_type: MetaMetricsEventKeyType.Srp, + copy_method: 'clipboard', + }, + }); + }, [trackEvent]); useEffect(() => { const passwordBox = document.getElementById('password-box'); @@ -146,13 +166,16 @@ export default function RevealSeedPage() { const renderRevealSeedContent = () => { // default for SRP_VIEW_SRP_TEXT event because this is the first thing shown after rendering - trackEvent({ - category: MetaMetricsEventCategory.Keys, - event: MetaMetricsEventName.SrpViewSrpText, - properties: { - key_type: MetaMetricsEventKeyType.Srp, - }, - }); + if (!srpViewEventTracked) { + trackEvent({ + category: MetaMetricsEventCategory.Keys, + event: MetaMetricsEventName.SrpViewSrpText, + properties: { + key_type: MetaMetricsEventKeyType.Srp, + }, + }); + setSrpViewEventTracked(true); + } return (
@@ -160,6 +183,7 @@ export default function RevealSeedPage() { defaultActiveTabName={t('revealSeedWordsText')} onTabClick={(tabName) => { if (tabName === 'text-seed') { + console.log('TRACKING EVENT: onTabClick text-seed'); trackEvent({ category: MetaMetricsEventCategory.Keys, event: MetaMetricsEventName.SrpViewSrpText, @@ -185,27 +209,7 @@ export default function RevealSeedPage() { tabKey="text-seed" > - { - trackEvent({ - category: MetaMetricsEventCategory.Keys, - event: MetaMetricsEventName.KeyExportCopied, - properties: { - key_type: MetaMetricsEventKeyType.Srp, - copy_method: 'clipboard', - }, - }); - trackEvent({ - category: MetaMetricsEventCategory.Keys, - event: MetaMetricsEventName.SrpCopiedToClipboard, - properties: { - key_type: MetaMetricsEventKeyType.Srp, - copy_method: 'clipboard', - }, - }); - }} - /> + Date: Wed, 5 Mar 2025 10:38:41 -0600 Subject: [PATCH 2/2] Remove console.log --- ui/pages/keychains/reveal-seed.js | 1 - 1 file changed, 1 deletion(-) diff --git a/ui/pages/keychains/reveal-seed.js b/ui/pages/keychains/reveal-seed.js index a619394a1dfb..9f619ef585d8 100644 --- a/ui/pages/keychains/reveal-seed.js +++ b/ui/pages/keychains/reveal-seed.js @@ -183,7 +183,6 @@ export default function RevealSeedPage() { defaultActiveTabName={t('revealSeedWordsText')} onTabClick={(tabName) => { if (tabName === 'text-seed') { - console.log('TRACKING EVENT: onTabClick text-seed'); trackEvent({ category: MetaMetricsEventCategory.Keys, event: MetaMetricsEventName.SrpViewSrpText,