Merge branch 'persist-instance' into 'main'

Fix instance persistence in indexeddb

See merge request soapbox-pub/soapbox!2991
environments/review-main-yi2y9f/deployments/4551
marcin mikołajczak 5 months ago
commit 5f515524f8

@ -72,25 +72,26 @@ const handleAuthFetch = (state: Instance) => {
}; };
}; };
const getHost = (instance: { uri: string }) => { const getHost = (instance: { uri?: string; domain?: string }) => {
const domain = instance.uri || instance.domain as string;
try { try {
return new URL(instance.uri).host; return new URL(domain).host;
} catch { } catch {
try { try {
return new URL(`https://${instance.uri}`).host; return new URL(`https://${domain}`).host;
} catch { } catch {
return null; return null;
} }
} }
}; };
const persistInstance = (instance: { uri: string }, host: string | null = getHost(instance)) => { const persistInstance = ({ instance }: { instance: { uri: string } }, host: string | null = getHost(instance)) => {
if (host) { if (host) {
KVStore.setItem(`instance:${host}`, instance).catch(console.error); KVStore.setItem(`instance:${host}`, instance).catch(console.error);
} }
}; };
const persistInstanceV2 = (instance: { uri: string }, host: string | null = getHost(instance)) => { const persistInstanceV2 = ({ instance }: { instance: { domain: string } }, host: string | null = getHost(instance)) => {
if (host) { if (host) {
KVStore.setItem(`instanceV2:${host}`, instance).catch(console.error); KVStore.setItem(`instanceV2:${host}`, instance).catch(console.error);
} }

Loading…
Cancel
Save