atproto explorer

fix login signin state

handle.invalid dba10696 c437950f

verified
+4 -2
+4 -2
src/components/login.tsx
··· 115 115 const lastSignedIn = localStorage.getItem("lastSignedIn"); 116 116 117 117 if (lastSignedIn) { 118 + const sessions = localStorage.getItem("sessions"); 119 + const newSessions: Sessions = sessions ? JSON.parse(sessions) : {}; 118 120 try { 119 121 const session = await getSession(lastSignedIn as Did); 120 122 const rpc = new Client({ handler: new OAuthUserAgent(session) }); 121 123 const res = await rpc.get("com.atproto.server.getSession"); 124 + newSessions[lastSignedIn].signedIn = true; 125 + localStorage.setItem("sessions", JSON.stringify(newSessions)); 122 126 if (!res.ok) throw res.data.error; 123 127 return session; 124 128 } catch (err) { 125 - const sessions = localStorage.getItem("sessions"); 126 - const newSessions: Sessions = sessions ? JSON.parse(sessions) : {}; 127 129 newSessions[lastSignedIn].signedIn = false; 128 130 localStorage.setItem("sessions", JSON.stringify(newSessions)); 129 131 throw err;