summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorivarlovlie <git@ivarlovlie.no>2022-02-07 23:12:22 +0100
committerivarlovlie <git@ivarlovlie.no>2022-02-07 23:12:22 +0100
commit9f68183929f11b4fa44e173b8dcc46cdc0f3c88d (patch)
tree9da69534812be696b8790de08f69844409ee4ae5
parent3dd7daf1165da46c662e05c1599d6489996ffb44 (diff)
downloadbookmark-thing-9f68183929f11b4fa44e173b8dcc46cdc0f3c88d.tar.xz
bookmark-thing-9f68183929f11b4fa44e173b8dcc46cdc0f3c88d.zip
fix: Don't require client to have user id in session in order to check status with server
-rw-r--r--src/webapp/src/lib/stores/session.ts10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/webapp/src/lib/stores/session.ts b/src/webapp/src/lib/stores/session.ts
index 63441df..36231cc 100644
--- a/src/webapp/src/lib/stores/session.ts
+++ b/src/webapp/src/lib/stores/session.ts
@@ -1,6 +1,7 @@
import {get} from "svelte/store";
+import isUUID from "validator/lib/isUUID";
import {SECONDS_BETWEEN_SESSION_CHECK, storage_keys} from "@/lib/configuration";
-import {get_profile_async, create_session_async, end_session_async} from "@/lib/api/account";
+import {get_profile_async, create_session_async} from "@/lib/api/account";
import {writable_persistent, StoreType} from "@/lib/stores/persistent-store";
import type {IProfileData} from "@/lib/models/IProfileData";
import type {IErrorResult} from "@/lib/models/IErrorResult";
@@ -51,7 +52,8 @@ export async function clear_session_async() {
}
export async function session_is_valid_async(refresh = false) {
- const hasId = get(session).id !== "";
+ const hasId = get(session).id && isUUID(get(session).id);
+
const storage_value = localStorage.getItem(storage_keys.last_active_check);
if (!storage_value) {
localStorage.setItem(storage_keys.last_active_check, String(0));
@@ -61,10 +63,10 @@ export async function session_is_valid_async(refresh = false) {
const epoch_seconds_now = Math.floor(Date.now() / 1000);
const force_server_check = next_active_check < epoch_seconds_now;
console.log("Checking session validity...");
- if (!hasId || refresh || force_server_check) {
+ if (refresh || force_server_check) {
const profile_data_request = await get_profile_async();
localStorage.setItem(storage_keys.last_active_check, String(epoch_seconds_now));
- console.log("Session is valid, because (!hasId || refresh || force_server_check)", {
+ console.log("Session is valid, because (refresh || force_server_check)", {
last_active_check,
next_active_check,
epoch_seconds_now,