fix(mp): 修复并发请求饥饿导致开发者工具卡死

- 长轮询走独立通道(requestUnlimited),不再占用 ConcurrencyLimiter 槽位
- ConcurrencyLimiter 上限 8→12,缓解 TabBar 切换请求风暴
- 新增 safeReLaunch 去重,防止并发 401 多次触发页面跳转
- maxFailures 50→10,后端不可用时快速止损而非持续 18 分钟重试

根因:咨询页长轮询每次占用槽位 25-30s,8 个槽位被占满后
所有新请求排队等待,叠加 401 场景形成死锁。
This commit is contained in:
iven
2026-05-17 17:01:24 +08:00
parent b84becfbea
commit 9d50ef7847
4 changed files with 27 additions and 11 deletions

View File

@@ -1,4 +1,4 @@
import { api, requestWithTimeout } from './request';
import { api, requestUnlimited } from './request';
export interface ConsultationSession {
id: string;
@@ -72,5 +72,5 @@ export async function pollMessages(sessionId: string, afterId?: string) {
params.set('timeout', '25');
const query = params.toString();
const path = `/health/consultation-sessions/${sessionId}/messages/poll${query ? '?' + query : ''}`;
return requestWithTimeout<ConsultationMessage[]>('GET', path, undefined, 30000);
return requestUnlimited<ConsultationMessage[]>('GET', path, undefined, 30000);
}