Skip to content

Commit 6c95b07

Browse files
committed
fix: account token encryption/decryption
Signed-off-by: Adam Setch <[email protected]>
1 parent 1fe032e commit 6c95b07

File tree

1 file changed

+25
-19
lines changed

1 file changed

+25
-19
lines changed

src/renderer/context/App.tsx

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -150,28 +150,34 @@ export const AppProvider = ({ children }: { children: ReactNode }) => {
150150
return Promise.all(auth.accounts.map(refreshAccount));
151151
}, [auth.accounts]);
152152

153+
// TODO - Remove migration logic in future release
153154
const migrateAuthTokens = useCallback(async () => {
154-
let tokensMigrated = false;
155-
156-
for (const account of auth.accounts) {
157-
/**
158-
* Check if the account is using an encrypted token.
159-
* If not encrypt it and save it.
160-
*/
161-
try {
162-
await decryptValue(account.token);
163-
} catch (_err) {
164-
const encryptedToken = await encryptValue(account.token);
165-
account.token = encryptedToken as Token;
166-
167-
tokensMigrated = true;
168-
}
169-
}
155+
const migratedAccounts = await Promise.all(
156+
auth.accounts.map(async (account) => {
157+
try {
158+
await decryptValue(account.token);
159+
return account;
160+
} catch {
161+
const encryptedToken = (await encryptValue(account.token)) as Token;
162+
return { ...account, token: encryptedToken };
163+
}
164+
}),
165+
);
170166

171-
if (tokensMigrated) {
172-
setAuth(auth);
173-
saveState({ auth, settings });
167+
const tokensMigrated = migratedAccounts.some(
168+
(account, index) => account.token !== auth.accounts[index]?.token,
169+
);
170+
171+
if (!tokensMigrated) {
172+
return;
174173
}
174+
175+
const updatedAuth: AuthState = {
176+
accounts: migratedAccounts,
177+
};
178+
179+
setAuth(updatedAuth);
180+
saveState({ auth: updatedAuth, settings });
175181
}, [auth, settings]);
176182

177183
// biome-ignore lint/correctness/useExhaustiveDependencies: Fetch new notifications when account count or filters change

0 commit comments

Comments
 (0)