From ed57c386db34d8693ca75311972d0929ebe5f488 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Mon, 01 Jun 2026 22:23:19 +0000
Subject: [PATCH] =Added some more Schema classes, allowed for override of  array in outputSchema for complex schema, as for timeline post types

---
 assets/js/concise/AuthManager.js |   17 +++++++++++++----
 1 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/assets/js/concise/AuthManager.js b/assets/js/concise/AuthManager.js
index 25db258..760934f 100644
--- a/assets/js/concise/AuthManager.js
+++ b/assets/js/concise/AuthManager.js
@@ -17,8 +17,8 @@
 		this.nonces = {};
 
 		this.subscribers = new Set();
-		this.storageKey = 'jvb_auth_state';
-		this.cacheMetaKey = 'jvb_auth_meta';
+		this.storageKey = `${jvbBase.base}auth_state`;
+		this.cacheMetaKey = `${jvbBase.base}auth_meta`;
 		this.cacheExpiry = 5 * 60 * 1000; // 5 minutes
 
 		this.init();
@@ -74,8 +74,10 @@
 	 */
 	async fetch(url, options = {}) {
 		const attempt = async (retryCount = 0) => {
+			const isFormData = options.body instanceof FormData;
+
 			const headers = {
-				'Content-Type': 'application/json',
+				...(!isFormData && { 'Content-Type': 'application/json' }),
 				...options.headers,
 				'X-WP-Nonce': this.getNonce()
 			};
@@ -91,7 +93,7 @@
 				if (result.code === 'rest_cookie_invalid_nonce' || result.message?.includes('Cookie check')) {
 					console.log('Nonce invalid, refreshing auth...');
 					await this.refresh();
-					return attempt(1);
+					return attempt(retryCount + 1);
 				}
 			}
 
@@ -140,9 +142,16 @@
 	 * Set authentication data
 	 */
 	setAuthData(authData) {
+		const wasAuthenticated = this.initialized && this.authenticated;
+
 		this.authenticated = authData.authenticated || false;
 		this.user = authData.user || false;
 		this.nonces = authData.nonces || {};
+
+		// Session expired — was logged in, now isn't
+		if (wasAuthenticated && !this.authenticated) {
+			window.location.href = `/login?redirect_to=${encodeURIComponent(window.location.href)}`;
+		}
 	}
 
 	/**

--
Gitblit v1.10.0