From bf1f4b26cf1ab6963451690ff5c2d30acc56bb5d Mon Sep 17 00:00:00 2001 From: Manav Rathi Date: Mon, 1 Jul 2024 13:51:43 +0530 Subject: [PATCH] Keep separate --- web/apps/auth/src/pages/_app.tsx | 4 ++-- web/apps/photos/src/pages/_app.tsx | 4 ++-- .../shared/storage/localStorage/index.ts | 17 +++++++++++------ 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/web/apps/auth/src/pages/_app.tsx b/web/apps/auth/src/pages/_app.tsx index 1f1ba88863..b6bfa1a3d2 100644 --- a/web/apps/auth/src/pages/_app.tsx +++ b/web/apps/auth/src/pages/_app.tsx @@ -20,7 +20,7 @@ import HTTPService from "@ente/shared/network/HTTPService"; import { LS_KEYS, getData, - setKVToken, + migrateKVToken, } from "@ente/shared/storage/localStorage"; import { getTheme } from "@ente/shared/themes"; import { THEME_COLOR } from "@ente/shared/themes/constants"; @@ -80,7 +80,7 @@ const App: React.FC = ({ Component, pageProps }) => { useEffect(() => { void setupI18n().finally(() => setIsI18nReady(true)); const user = getData(LS_KEYS.USER) as User | undefined | null; - setKVToken(user); + migrateKVToken(user); logStartupBanner(user?.id); HTTPService.setHeaders({ "X-Client-Package": clientPackageName }); logUnhandledErrorsAndRejections(true); diff --git a/web/apps/photos/src/pages/_app.tsx b/web/apps/photos/src/pages/_app.tsx index 4c90736132..98af7f9d67 100644 --- a/web/apps/photos/src/pages/_app.tsx +++ b/web/apps/photos/src/pages/_app.tsx @@ -26,7 +26,7 @@ import HTTPService from "@ente/shared/network/HTTPService"; import { LS_KEYS, getData, - setKVToken, + migrateKVToken, } from "@ente/shared/storage/localStorage"; import { getLocalMapEnabled, @@ -145,7 +145,7 @@ export default function App({ Component, pageProps }: AppProps) { useEffect(() => { void setupI18n().finally(() => setIsI18nReady(true)); const user = getData(LS_KEYS.USER) as User | undefined | null; - setKVToken(user); + migrateKVToken(user); logStartupBanner(user?.id); HTTPService.setHeaders({ "X-Client-Package": clientPackageName }); logUnhandledErrorsAndRejections(true); diff --git a/web/packages/shared/storage/localStorage/index.ts b/web/packages/shared/storage/localStorage/index.ts index f783cdf206..33a60900df 100644 --- a/web/packages/shared/storage/localStorage/index.ts +++ b/web/packages/shared/storage/localStorage/index.ts @@ -1,5 +1,5 @@ -import log from "@/next/log"; import { removeKV, setKV } from "@/next/kv"; +import log from "@/next/log"; export enum LS_KEYS { USER = "user", @@ -54,7 +54,10 @@ export const clearData = () => localStorage.clear(); // // Creating a new function here to act as a funnel point. export const setLSUser = async (user: object) => { - await setKVToken(user); + const token = user["token"]; + token && typeof token == "string" + ? await setKV("token", token) + : await removeKV("token"); setData(LS_KEYS.USER, user); }; @@ -68,9 +71,11 @@ export const setLSUser = async (user: object) => { * * This was added 1 July 2024, can be removed after a while (tag: Migration). */ -export const setKVToken = async (user: unknown) => { - const token = user ? user["token"] : undefined; - token && typeof token == "string" - ? await setKV("token", token) +export const migrateKVToken = async (user: unknown) => { + user && + typeof user == "object" && + "token" in user && + typeof user.token == "string" + ? await setKV("token", user.token) : await removeKV("token"); };