From 71f7698a46e25593fefab5aa393ae28d013fe71b Mon Sep 17 00:00:00 2001 From: jelveh Date: Tue, 24 Feb 2026 18:33:30 -0800 Subject: [PATCH] Await update_auth_data to avoid races --- src/gui/src/UI/Dashboard/UIDashboard.js | 2 +- src/gui/src/UI/UIDesktop.js | 2 +- src/gui/src/UI/UIWindowLogin.js | 2 +- src/gui/src/UI/UIWindowSaveAccount.js | 2 +- src/gui/src/UI/UIWindowSessionList.js | 4 ++-- src/gui/src/UI/UIWindowSignup.js | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/gui/src/UI/Dashboard/UIDashboard.js b/src/gui/src/UI/Dashboard/UIDashboard.js index ddee60349..0a51a0842 100644 --- a/src/gui/src/UI/Dashboard/UIDashboard.js +++ b/src/gui/src/UI/Dashboard/UIDashboard.js @@ -476,7 +476,7 @@ async function UIDashboard (options) { if ( l_user.username === window.user.username ) { return; } - window.update_auth_data(l_user.auth_token, l_user); + await window.update_auth_data(l_user.auth_token, l_user); location.reload(); }, }); diff --git a/src/gui/src/UI/UIDesktop.js b/src/gui/src/UI/UIDesktop.js index c12a185fe..db1643a52 100644 --- a/src/gui/src/UI/UIDesktop.js +++ b/src/gui/src/UI/UIDesktop.js @@ -2195,7 +2195,7 @@ $(document).on('click', '.user-options-menu-btn', async function (e) { return; } // update auth data - window.update_auth_data(l_user.auth_token, l_user); + await window.update_auth_data(l_user.auth_token, l_user); // refresh location.reload(); }, diff --git a/src/gui/src/UI/UIWindowLogin.js b/src/gui/src/UI/UIWindowLogin.js index 9fa5eae58..d099b1143 100644 --- a/src/gui/src/UI/UIWindowLogin.js +++ b/src/gui/src/UI/UIWindowLogin.js @@ -395,7 +395,7 @@ async function UIWindowLogin (options) { await p; - window.update_auth_data(data.token, data.user); + await window.update_auth_data(data.token, data.user); if ( options.reload_on_success ) { window.onbeforeunload = null; diff --git a/src/gui/src/UI/UIWindowSaveAccount.js b/src/gui/src/UI/UIWindowSaveAccount.js index 0edf888a1..16ce05cf2 100644 --- a/src/gui/src/UI/UIWindowSaveAccount.js +++ b/src/gui/src/UI/UIWindowSaveAccount.js @@ -158,7 +158,7 @@ async function UIWindowSaveAccount (options) { success: async function (data) { window.dispatchEvent(new CustomEvent('account-saved', { detail: { data: data } })); - window.update_auth_data(data.token, data.user); + await window.update_auth_data(data.token, data.user); //close this window if ( data.user.email_confirmation_required ) { diff --git a/src/gui/src/UI/UIWindowSessionList.js b/src/gui/src/UI/UIWindowSessionList.js index c312e4aa4..9364c29cc 100644 --- a/src/gui/src/UI/UIWindowSessionList.js +++ b/src/gui/src/UI/UIWindowSessionList.js @@ -147,7 +147,7 @@ async function UIWindowSessionList (options) { $(el_window).find('.session-entry').on('click', function (e) { $(el_window).find('.loading').css({ display: 'flex' }); - setTimeout(() => { + setTimeout(async () => { let selected_uuid = $(this).attr('data-uuid'); let selected_user; for ( let index = 0; index < window.logged_in_users.length; index++ ) { @@ -158,7 +158,7 @@ async function UIWindowSessionList (options) { } // new logged in user - window.update_auth_data(selected_user.auth_token, selected_user); + await window.update_auth_data(selected_user.auth_token, selected_user); if ( options.reload_on_success ) { // disable native browser exit confirmation window.onbeforeunload = null; diff --git a/src/gui/src/UI/UIWindowSignup.js b/src/gui/src/UI/UIWindowSignup.js index 0044caeec..47aeb3f77 100644 --- a/src/gui/src/UI/UIWindowSignup.js +++ b/src/gui/src/UI/UIWindowSignup.js @@ -332,7 +332,7 @@ function UIWindowSignup (options) { contentType: 'application/json', data: JSON.stringify(requestData), success: async function (data) { - window.update_auth_data(data.token, data.user); + await window.update_auth_data(data.token, data.user); //send out the login event if ( options.reload_on_success ) {