From 602e2f19f8429d4753838786936530c5c96df680 Mon Sep 17 00:00:00 2001 From: Denis Koltovich Date: Tue, 13 Jan 2026 10:12:44 +0300 Subject: [PATCH 1/3] fix: Handle case when token expired --- src/user/User.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/user/User.ts b/src/user/User.ts index 19fab5b..b0e5761 100644 --- a/src/user/User.ts +++ b/src/user/User.ts @@ -340,7 +340,13 @@ const User = { const isRateLimited = loginError?.error == 'too-many-requests'; const isResumeRejection = - loginError?.error === 403 || loginError?.error === 'not-authorized'; + loginError?.error === 403 + || loginError?.error === 'token-expired' + || loginError?.error === 'not-authorized'; + + if (Meteor.isVerbose && isResumeRejection) { + Meteor.logger(`User._loginWithToken::: reason ${(loginError === null || loginError === void 0 ? void 0 : loginError.error)}`); + } if (isRateLimited) { Meteor.isVerbose && From 803d1bb580324af82b326fcbce0f601695671cb8 Mon Sep 17 00:00:00 2001 From: Denis Koltovich Date: Tue, 13 Jan 2026 10:49:22 +0300 Subject: [PATCH 2/3] refactoring --- src/user/User.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/user/User.ts b/src/user/User.ts index b0e5761..9d4f8a9 100644 --- a/src/user/User.ts +++ b/src/user/User.ts @@ -345,7 +345,7 @@ const User = { || loginError?.error === 'not-authorized'; if (Meteor.isVerbose && isResumeRejection) { - Meteor.logger(`User._loginWithToken::: reason ${(loginError === null || loginError === void 0 ? void 0 : loginError.error)}`); + Meteor.logger(`User._loginWithToken::: reason ${loginError?.error}`); } if (isRateLimited) { From 23046880bc13f19518038398b041f3a8c7348ec5 Mon Sep 17 00:00:00 2001 From: Denis Koltovich Date: Tue, 13 Jan 2026 10:50:08 +0300 Subject: [PATCH 3/3] fix --- src/user/User.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/user/User.ts b/src/user/User.ts index 9d4f8a9..2497e51 100644 --- a/src/user/User.ts +++ b/src/user/User.ts @@ -345,7 +345,7 @@ const User = { || loginError?.error === 'not-authorized'; if (Meteor.isVerbose && isResumeRejection) { - Meteor.logger(`User._loginWithToken::: reason ${loginError?.error}`); + Meteor.logger(`User._loginWithToken::: isResumeRejection reason ${loginError?.error}`); } if (isRateLimited) {