diff --git a/html/src/app.js b/html/src/app.js index 3d24b4f0c..78ead1754 100644 --- a/html/src/app.js +++ b/html/src/app.js @@ -490,6 +490,17 @@ speechSynthesis.getVoices(); this.$emit('AUTOLOGIN'); throw new Error('401: Missing Credentials'); } + if ( + status === 401 && + data.error.message === '"Unauthorized"' && + endpoint !== 'auth/user' + ) { + // trigger 2FA dialog + if (!$app.twoFactorAuthDialogVisible) { + $app.API.getCurrentUser(); + } + throw new Error('401: Unauthorized'); + } if (status === 403 && endpoint.substring(0, 6) === 'config') { $app.$alert( 'VRChat currently blocks most VPNs. Please disable any connected VPNs and try again.', diff --git a/html/src/repository/database.js b/html/src/repository/database.js index 70ccbe76c..799ccbf99 100644 --- a/html/src/repository/database.js +++ b/html/src/repository/database.js @@ -800,7 +800,7 @@ class Database { row.$isExpired = true; } notifications.unshift(row); - }, `SELECT * FROM ${Database.userPrefix}_notifications ORDER BY id DESC LIMIT ${Database.maxTableSize}`); + }, `SELECT * FROM ${Database.userPrefix}_notifications ORDER BY created_at DESC LIMIT ${Database.maxTableSize}`); return notifications; }