Release/test 合并上生产 #1

Merged
admin merged 236 commits from release/test into main 2026-09-17 11:51:50 +08:00
2 changed files with 7 additions and 2 deletions
Showing only changes of commit 458c8d5961 - Show all commits
+5 -1
View File
@@ -80,7 +80,11 @@ export async function refreshAuthenticatedSession() {
})
.catch((error) => {
if (error instanceof CrossTabRefreshTimeoutError) {
throw new ApiError(error.message, 'A0401', 401)
const expiredError = new ApiError(error.message, 'A0401', 401)
clearSessionTokens()
window.dispatchEvent(new CustomEvent('cc-client-session-expired'))
redirectToLoginAfterSessionExpiry()
throw expiredError
}
throw error
})
+2 -1
View File
@@ -88,7 +88,8 @@ test('uses real auth endpoints and single-flight refresh handling', () => {
assert.match(httpSource, /envelope\.code !== '200'/)
assert.match(httpSource, /redirectToLoginAfterSessionExpiry/)
assert.match(httpSource, /error instanceof CrossTabRefreshTimeoutError/)
assert.match(httpSource, /new ApiError\(error\.message, 'A0401', 401\)/)
assert.match(httpSource, /const expiredError = new ApiError\(error\.message, 'A0401', 401\)/)
assert.match(httpSource, /error instanceof CrossTabRefreshTimeoutError[\s\S]*window\.dispatchEvent\(new CustomEvent\('cc-client-session-expired'\)\)[\s\S]*redirectToLoginAfterSessionExpiry\(\)/)
assert.match(httpSource, /window\.location\.replace\(`\/login\?redirect=\$\{encodeURIComponent\(redirect\)\}`\)/)
assert.match(authStoreSource, /decodeMerchantToken/)
assert.doesNotMatch(authStoreSource, /mock-client:/)