From e7a2535ecea58a4b40f3532e551de8ba0bdca451 Mon Sep 17 00:00:00 2001 From: Jon Staab Date: Mon, 10 Nov 2025 15:24:11 -0800 Subject: [PATCH] Fix access restricted after successful invite code --- src/app/components/SpaceJoinConfirm.svelte | 2 +- src/app/util/policies.ts | 20 +++++++++++--------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/app/components/SpaceJoinConfirm.svelte b/src/app/components/SpaceJoinConfirm.svelte index c048340a..475085bf 100644 --- a/src/app/components/SpaceJoinConfirm.svelte +++ b/src/app/components/SpaceJoinConfirm.svelte @@ -10,8 +10,8 @@ await addSpaceMembership(url) broadcastUserData([url]) - goto(makeSpacePath(url), {replaceState: true}) relaysMostlyRestricted.update(dissoc(url)) + goto(makeSpacePath(url), {replaceState: true}) pushToast({message: "Welcome to the space!"}) } diff --git a/src/app/util/policies.ts b/src/app/util/policies.ts index db11a667..a989ac08 100644 --- a/src/app/util/policies.ts +++ b/src/app/util/policies.ts @@ -58,14 +58,18 @@ export const trustPolicy = (socket: Socket) => { export const mostlyRestrictedPolicy = (socket: Socket) => { let total = 0 let restricted = 0 - let error = "" const pending = new Set() - const updateStatus = () => - relaysMostlyRestricted.update( - restricted > total / 2 ? assoc(socket.url, error) : dissoc(socket.url), - ) + const updateStatus = (error?: string) => { + if (restricted > total / 2) { + if (error) { + return relaysMostlyRestricted.update(assoc(socket.url, error)) + } + } else { + relaysMostlyRestricted.update(dissoc(socket.url)) + } + } const unsubscribers = [ on(socket, SocketEvent.Receive, (message: RelayMessage) => { @@ -83,8 +87,7 @@ export const mostlyRestrictedPolicy = (socket: Socket) => { if (details.startsWith("restricted: ")) { restricted++ - error = details - updateStatus() + updateStatus(details) } } } @@ -103,8 +106,7 @@ export const mostlyRestrictedPolicy = (socket: Socket) => { if (details.startsWith("restricted: ")) { restricted++ - error = details - updateStatus() + updateStatus(details) } } }