aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2022-12-29 16:07:47 -0800
committerAdam Soltys <[email protected]>2022-12-29 16:07:47 -0800
commit97c0bf2a15a6570093b326044766d127ba950347 (patch)
tree3406d9706990bf54b2ec86091ab5cf653416b62c /src
parent65c1a7a3113c0fabe67d74f430254845830e1e2f (diff)
downloadcoinos-ui-97c0bf2a15a6570093b326044766d127ba950347.tar.gz
coinos-ui-97c0bf2a15a6570093b326044766d127ba950347.zip
catch follow errors
Diffstat (limited to 'src')
-rw-r--r--src/hooks.server.js9
-rw-r--r--src/routes/(app)/[username]/(profile)/+layout.server.js16
-rw-r--r--src/routes/(app)/[username]/(profile)/+page.svelte2
-rw-r--r--src/routes/(app)/[username]/(profile)/follows/+page.svelte4
4 files changed, 23 insertions, 8 deletions
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;
</script>
-<Feed {events} user={subject.username === user.username && user} />
+<Feed {events} user={subject?.username === user?.username && user} />
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 @@
<svelte:window bind:innerWidth={w} />
<div class="mt-24 mb-20 px-3 md:px-0 w-full md:w-[400px] mx-auto space-y-8">
- <h1 class="px-3 md:px-0 text-center text-3xl md:text-4xl font-semibold">
- Follows
- </h1>
+ <h1 class="px-3 md:px-0 text-center text-3xl md:text-4xl font-semibold">Follows</h1>
{#if browser}
{#if follows.length}