From 97c0bf2a15a6570093b326044766d127ba950347 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Thu, 29 Dec 2022 16:07:47 -0800 Subject: catch follow errors --- src/hooks.server.js | 9 +++++++-- src/routes/(app)/[username]/(profile)/+layout.server.js | 16 ++++++++++++++-- src/routes/(app)/[username]/(profile)/+page.svelte | 2 +- .../(app)/[username]/(profile)/follows/+page.svelte | 4 +--- 4 files changed, 23 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/hooks.server.js b/src/hooks.server.js index e4a7a0eb..b97daa5a 100644 --- a/src/hooks.server.js +++ b/src/hooks.server.js @@ -5,7 +5,6 @@ let users = {}; export async function handle({ event, resolve }) { let token = event.cookies.get('token'); let { - cookies, params, request, url: { pathname, origin } @@ -14,7 +13,13 @@ export async function handle({ event, resolve }) { let user; if (token && pathname !== '/logout') { try { - user = await get('/me', auth(event.cookies)); + user = users[token] || (await get('/me', auth(event.cookies))); + users[token] = user; + + setTimeout(() => { + delete users[token]; + }, 60000); + event.locals.user = user; if (['/', '/login', '/register'].includes(pathname) && request.method === 'GET') diff --git a/src/routes/(app)/[username]/(profile)/+layout.server.js b/src/routes/(app)/[username]/(profile)/+layout.server.js index 9cd0870d..f4f2ca0a 100644 --- a/src/routes/(app)/[username]/(profile)/+layout.server.js +++ b/src/routes/(app)/[username]/(profile)/+layout.server.js @@ -3,8 +3,20 @@ import { get } from '$lib/utils'; export async function load({ parent }) { let { subject, user } = await parent(); - subject.follows = await get(`/${subject.pubkey}/follows`); - subject.followers = await get(`/${subject.pubkey}/followers`); + subject.follows = []; + subject.followers = []; + + try { + subject.follows = await get(`/${subject.pubkey}/follows`); + } catch (e) { + console.log('problem fetching follows', e); + } + + try { + subject.followers = await get(`/${subject.pubkey}/followers`); + } catch (e) { + console.log('problem fetching followers', e); + } if (user) { user.follows = await get(`/${user.pubkey}/follows?tagsonly=true`); diff --git a/src/routes/(app)/[username]/(profile)/+page.svelte b/src/routes/(app)/[username]/(profile)/+page.svelte index 3d4d1fb6..f23a1753 100644 --- a/src/routes/(app)/[username]/(profile)/+page.svelte +++ b/src/routes/(app)/[username]/(profile)/+page.svelte @@ -6,4 +6,4 @@ let { events, subject, user } = data; - + diff --git a/src/routes/(app)/[username]/(profile)/follows/+page.svelte b/src/routes/(app)/[username]/(profile)/follows/+page.svelte index 93fc4aab..a9b65483 100644 --- a/src/routes/(app)/[username]/(profile)/follows/+page.svelte +++ b/src/routes/(app)/[username]/(profile)/follows/+page.svelte @@ -13,9 +13,7 @@
-

- Follows -

+

Follows

{#if browser} {#if follows.length} -- cgit v1.2.3