Optimize AJAX auth for guests

Only do one check, once. Login will clear the local data anyway.
This commit is contained in:
Tetrakern 2024-12-09 16:27:28 +01:00
parent f95ee9a45c
commit dae49404af
5 changed files with 20 additions and 9 deletions

File diff suppressed because one or more lines are too long

8
js/complete.min.js vendored

File diff suppressed because one or more lines are too long

2
js/utility.min.js vendored

File diff suppressed because one or more lines are too long

View File

@ -75,6 +75,14 @@ const FcnGlobals = {
debounceRate: fictioneer_ajax.post_debounce_rate, debounceRate: fictioneer_ajax.post_debounce_rate,
/**
* Whether AJAX authentication is enabled.
*
* @type {Boolean}
*/
ajaxAuth: document.documentElement.dataset.fictioneerAjaxAuthValue ?? false,
/** /**
* Theme fonts. * Theme fonts.
* *
@ -235,7 +243,10 @@ application.register('fictioneer', class extends Stimulus.Controller {
} }
// Only update from server after some time has passed (e.g. 60 seconds) // Only update from server after some time has passed (e.g. 60 seconds)
if (FcnGlobals.ajaxLimitThreshold < currentUserData.lastLoaded || currentUserData.loggedIn === false) { if (
(FcnGlobals.ajaxLimitThreshold < currentUserData.lastLoaded || currentUserData.loggedIn === false) &&
currentUserData.loggedIn !== 'pending'
) {
// Prepare event // Prepare event
const event = new CustomEvent( const event = new CustomEvent(
'fcnUserDataReady', 'fcnUserDataReady',

View File

@ -88,7 +88,7 @@ const FcnUtils = {
const reset = { const reset = {
'lastLoaded': data.lastLoaded ?? 0, 'lastLoaded': data.lastLoaded ?? 0,
'timestamp': 0, 'timestamp': 0,
'loggedIn': 'pending', 'loggedIn': (FcnGlobals.ajaxAuth && data.loggedIn === false) ? false : 'pending',
'follows': false, 'follows': false,
'reminders': false, 'reminders': false,
'checkmarks': false, 'checkmarks': false,