上游 403 后会话仍显示运行中,继续消息进入队列且无法正常派发
- Dominant language
- TypeScript
- Stars
- 2.7k
- Forks
- 401
- Avg merge
- 21h 48m
- Merged PRs (30d)
- 776
Description
**提交人**: 用户1135
**客户端版本**: 0.1.36
---
## 现象
原 `win11开发` 会话在上游模型短暂不可用后进入异常状态:后端回合已经结束,但界面仍显示“正在生成/停止生成”。随后点击“继续”会进入待发送队列,无法立即启动新的回合。
## 复现步骤
1. 在一个正在执行的会话中触发上游不可用,返回 `403 Forbidden: Your master key has no access to an available group for model "gpt-5.6-sol"`。
2. 等待自动重试,期间出现 `Reconnecting 1/5 ... 5/5`。
3. 回合结束后观察会话状态,界面仍显示运行中。
4. 点击“继续”或多次恢复,观察消息进入队列。
5. 日志可见 `no active turn during delivery`、`steer fallback to normal turn dispatch`,以及 `steerQueuedMessage rejected: steering marker present in mirror`。
6. 只有点击停止生成、删除重复队列消息,再恢复剩余消息后,才能重新派发。
## 期望行为
终止性上游错误后,应原子清除 active-turn 和 UI 运行状态,并让一次“继续/重试”直接创建新的回合。恢复消息应去重;删除重复队列项后不应残留 steering marker 阻塞派发。
## 实际行为
active-turn/UI 状态可能残留;继续操作被错误地当作 steer 或排队消息,最终出现“无活动回合却无法正常发送”的卡死状态。即使后续回合完成,持久化会话状态仍可能保留旧的 active-turn 标记。
---
**版本区域**: CN
**OS**: win32 x64 (10.0.26200)
**界面语言**: zh-CN
Contributor guide
Research direction
Start by tracing active-turn and UI running-state transitions during the 403 retry sequence, using the reported logs: "no active turn during delivery", "steer fallback to normal turn dispatch", and "steerQueuedMessage rejected". Reproduce the queued-message failure, then verify that a terminal upstream error clears both states atomically, one continue/retry creates a new turn, and duplicate recovery messages and steering markers do not block delivery.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- backend, frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100