diff --git a/src/components/dialogs/SendBoopDialog.vue b/src/components/dialogs/SendBoopDialog.vue index de6200f3..7337b32c 100644 --- a/src/components/dialogs/SendBoopDialog.vue +++ b/src/components/dialogs/SendBoopDialog.vue @@ -33,7 +33,7 @@ style=" display: grid; grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); - gap: 15px; + gap: 5px; margin-top: 10px; max-height: 600px; overflow-y: auto; diff --git a/src/components/dialogs/WorldDialog/WorldDialog.vue b/src/components/dialogs/WorldDialog/WorldDialog.vue index 95f5add8..42203156 100644 --- a/src/components/dialogs/WorldDialog/WorldDialog.vue +++ b/src/components/dialogs/WorldDialog/WorldDialog.vue @@ -23,7 +23,7 @@ currentUser.$homeLocation && currentUser.$homeLocation.worldId === worldDialog.id " - style="margin-right: 5px" /> + class="inline-block" /> {{ worldDialog.ref.name }} diff --git a/src/stores/auth.js b/src/stores/auth.js index 8ae2e98c..56ba2514 100644 --- a/src/stores/auth.js +++ b/src/stores/auth.js @@ -447,59 +447,40 @@ export const useAuthStore = defineStore('Auth', () => { AppDebug.endpointDomain = AppDebug.endpointDomainVrchat; AppDebug.websocketDomain = AppDebug.websocketDomainVrchat; } - return new Promise((resolve, reject) => { - loginForm.value.loading = true; + + loginForm.value.loading = true; + try { + let password = loginParams.password; if (advancedSettingsStore.enablePrimaryPassword) { - checkPrimaryPassword(loginParams) - .then((pwd) => { - return authRequest - .getConfig() - .catch((err) => { - reject(err); - }) - .then(() => { - authLogin({ - username: loginParams.username, - password: pwd, - cipher: loginParams.password, - endpoint: loginParams.endpoint, - websocket: loginParams.websocket - }) - .catch((err2) => { - reject(err2); - }) - .then(() => { - resolve(); - }); - }); - }) - .catch((_) => { - toast.error('Incorrect primary password'); - reject(_); - }); - } else { - authRequest - .getConfig() - .catch((err) => { - reject(err); - }) - .then(() => { - authLogin({ - username: loginParams.username, - password: loginParams.password, - endpoint: loginParams.endpoint, - websocket: loginParams.websocket - }) - .catch((err2) => { - handleLogoutEvent(); - reject(err2); - }) - .then(() => { - resolve(); - }); - }); + try { + password = await checkPrimaryPassword(loginParams); + } catch (err) { + toast.error('Incorrect primary password'); + throw err; + } } - }).finally(() => (loginForm.value.loading = false)); + + await authRequest.getConfig(); + try { + await authLogin({ + username: loginParams.username, + password, + endpoint: loginParams.endpoint, + websocket: loginParams.websocket + }); + } catch (err) { + await handleLogoutEvent(); + throw err; + } + } catch (err) { + if (err.message.includes('Invalid Username/Email or Password')) { + toast.error('Saved credentials are no longer valid.'); + await deleteSavedLogin(user.user.id); + } + throw err; + } finally { + loginForm.value.loading = false; + } } async function deleteSavedLogin(userId) { diff --git a/src/views/Login/Login.vue b/src/views/Login/Login.vue index f7c1368d..b5379e55 100644 --- a/src/views/Login/Login.vue +++ b/src/views/Login/Login.vue @@ -1,17 +1,17 @@