From 14a2fdd2f6f1f3d523bdd32d316833668dd06dbf Mon Sep 17 00:00:00 2001 From: Gamaliel Padillo Date: Tue, 13 May 2025 12:17:53 -0700 Subject: [PATCH 1/6] fix: rate popup --- packages/extension/src/libs/rate-state/index.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/extension/src/libs/rate-state/index.ts b/packages/extension/src/libs/rate-state/index.ts index 62b498389..27d7f97d4 100644 --- a/packages/extension/src/libs/rate-state/index.ts +++ b/packages/extension/src/libs/rate-state/index.ts @@ -1,6 +1,7 @@ import BrowserStorage from '../common/browser-storage'; import { InternalStorageNamespace } from '@/types/provider'; import { IState, StorageKeys } from './types'; +import { state } from '@polkadot/types/interfaces/definitions'; const POPUP_TIME = 2592000000; // 30 days @@ -95,11 +96,15 @@ export default class RateState { } async setRated(): Promise { - const state: IState = { + const state: IState | undefined = await this.storage.get( + StorageKeys.rateInfo, + ); + const newState: IState = { alreadyRated: true, popupTime: 0, + askedAfterActivity: state?.askedAfterActivity || true, }; - await this.storage.set(StorageKeys.rateInfo, state); + await this.storage.set(StorageKeys.rateInfo, newState); } } From 4bd24c7a1735aff61c9f8265eb95cbca124556fb Mon Sep 17 00:00:00 2001 From: Gamaliel Padillo Date: Tue, 13 May 2025 12:29:34 -0700 Subject: [PATCH 2/6] chore: remove unused imports --- packages/extension/src/libs/rate-state/index.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/extension/src/libs/rate-state/index.ts b/packages/extension/src/libs/rate-state/index.ts index 27d7f97d4..29f24b7b1 100644 --- a/packages/extension/src/libs/rate-state/index.ts +++ b/packages/extension/src/libs/rate-state/index.ts @@ -1,7 +1,6 @@ import BrowserStorage from '../common/browser-storage'; import { InternalStorageNamespace } from '@/types/provider'; import { IState, StorageKeys } from './types'; -import { state } from '@polkadot/types/interfaces/definitions'; const POPUP_TIME = 2592000000; // 30 days From 22742ff297340cced4741689377339879c0f673a Mon Sep 17 00:00:00 2001 From: Gamaliel Padillo Date: Tue, 13 May 2025 12:36:57 -0700 Subject: [PATCH 3/6] chore: comment --- packages/extension/src/libs/rate-state/index.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/extension/src/libs/rate-state/index.ts b/packages/extension/src/libs/rate-state/index.ts index 29f24b7b1..0f8061fd4 100644 --- a/packages/extension/src/libs/rate-state/index.ts +++ b/packages/extension/src/libs/rate-state/index.ts @@ -33,12 +33,13 @@ export default class RateState { * Case 2: if the user has not rated (this means that the user got asked after activity) * - askedAfterActivity is already true * - set popupTime to now + 30 days + * - set true if user rates it, if feedback, reset the timer * Case 3: if the user has already rated * - always return false * Case 4: if no state exists * - create a new state with askedAfterActivity = false * - set popupTime to now + 30 days - * - return immediate + * - return immediate (should be false at this point) */ if (state) { @@ -87,7 +88,7 @@ export default class RateState { const newState: IState = { alreadyRated: false, popupTime, - askedAfterActivity: false, + askedAfterActivity: state?.askedAfterActivity || true, }; await this.storage.set(StorageKeys.rateInfo, newState); From 829be91c2f7e300211fe4b59e337040b6253aeac Mon Sep 17 00:00:00 2001 From: Gamaliel Padillo Date: Tue, 13 May 2025 12:38:20 -0700 Subject: [PATCH 4/6] fix: lint --- packages/extension/src/libs/rate-state/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/extension/src/libs/rate-state/index.ts b/packages/extension/src/libs/rate-state/index.ts index 0f8061fd4..0530f7ef3 100644 --- a/packages/extension/src/libs/rate-state/index.ts +++ b/packages/extension/src/libs/rate-state/index.ts @@ -88,7 +88,7 @@ export default class RateState { const newState: IState = { alreadyRated: false, popupTime, - askedAfterActivity: state?.askedAfterActivity || true, + askedAfterActivity: false, }; await this.storage.set(StorageKeys.rateInfo, newState); From e83c3f763f6cf2b2da32b6cfa090c744a2848ff7 Mon Sep 17 00:00:00 2001 From: Gamaliel Padillo Date: Tue, 13 May 2025 12:45:10 -0700 Subject: [PATCH 5/6] devop: clean up --- packages/extension/src/libs/rate-state/index.ts | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/packages/extension/src/libs/rate-state/index.ts b/packages/extension/src/libs/rate-state/index.ts index 0530f7ef3..97bcba788 100644 --- a/packages/extension/src/libs/rate-state/index.ts +++ b/packages/extension/src/libs/rate-state/index.ts @@ -24,7 +24,7 @@ export default class RateState { StorageKeys.rateInfo, ); const now = Date.now(); - const popupTime = Date.now() + POPUP_TIME; + const popupTime = now + POPUP_TIME; /** * Case 1: if the user has already been asked after activity @@ -45,11 +45,12 @@ export default class RateState { if (state) { if (!state.askedAfterActivity) { state.askedAfterActivity = true; + state.popupTime = popupTime; await this.storage.set(StorageKeys.rateInfo, state); return true; } - if (!state.alreadyRated) { + else if (!state.alreadyRated) { if (state.popupTime < now) { state.popupTime = popupTime; @@ -59,14 +60,12 @@ export default class RateState { } else { return false; } - - if (immediate) return false } const newState: IState = { popupTime, alreadyRated: false, - askedAfterActivity: immediate, + askedAfterActivity: false, }; this.storage.set(StorageKeys.rateInfo, newState); From c14a858b4b81081aed48e8fc6d6d93146c7944be Mon Sep 17 00:00:00 2001 From: Gamaliel Padillo Date: Tue, 13 May 2025 12:46:40 -0700 Subject: [PATCH 6/6] devop: add async --- packages/extension/src/libs/rate-state/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/extension/src/libs/rate-state/index.ts b/packages/extension/src/libs/rate-state/index.ts index 97bcba788..1ee21e893 100644 --- a/packages/extension/src/libs/rate-state/index.ts +++ b/packages/extension/src/libs/rate-state/index.ts @@ -68,7 +68,7 @@ export default class RateState { askedAfterActivity: false, }; - this.storage.set(StorageKeys.rateInfo, newState); + await this.storage.set(StorageKeys.rateInfo, newState); return immediate; }