diff --git a/src/applications/permissions.ts b/src/applications/permissions.ts index 822971f5..a83fef95 100644 --- a/src/applications/permissions.ts +++ b/src/applications/permissions.ts @@ -60,19 +60,20 @@ let isResetInProgress = false; * Reset all permissions for all apps */ export const resetAllPermissions = async (): Promise => { - // Check both storage and memory flags - if (ExtensionStorage.get(IS_PERMISSIONS_RESET) || isResetInProgress) { - return; - } - try { + const isPermissionsReset = await ExtensionStorage.get(IS_PERMISSIONS_RESET); + // Check both storage and memory flags + if (isPermissionsReset || isResetInProgress) { + return; + } + // Set the in-progress flag isResetInProgress = true; // Get and validate connected apps const connectedApps = (await ExtensionStorage.get("apps")) || []; if (!Array.isArray(connectedApps) || connectedApps.length === 0) { - ExtensionStorage.set(IS_PERMISSIONS_RESET, true); + await ExtensionStorage.set(IS_PERMISSIONS_RESET, true); return; } @@ -109,7 +110,7 @@ export const resetAllPermissions = async (): Promise => { } // Mark as complete - ExtensionStorage.set(IS_PERMISSIONS_RESET, true); + await ExtensionStorage.set(IS_PERMISSIONS_RESET, true); } catch (error) { console.error("Error in resetAllPermissions:", error); } finally {