summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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,