makecindy / makecindy/cindy

上游 403 后会话仍显示运行中,继续消息进入队列且无法正常派发

Open
#2,045 1 comment 0 reactions 0 assignees View on GitHub
bug
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.