diff --git a/app/src/main/kotlin/top/yeij/cyrene/data/ws/WsEvent.kt b/app/src/main/kotlin/top/yeij/cyrene/data/ws/WsEvent.kt index ff5b766..7486246 100644 --- a/app/src/main/kotlin/top/yeij/cyrene/data/ws/WsEvent.kt +++ b/app/src/main/kotlin/top/yeij/cyrene/data/ws/WsEvent.kt @@ -269,7 +269,15 @@ sealed class WsEvent { override val type: String get() = "session_idle" } - /** 用户打断:当前任务取消、pending 清空,`dropped` 为丢弃条数。 */ + /** + * 用户打断:当前任务取消。 + * + * [dropped] **只在我们发了 `scope:"all"` 时才可能非零**(那档会清空待处理队列,`dropped` = 被清掉的 + * 条数,且 [mode] 为 `idle`);**本端从不发 `all`** —— 「追加队列」档一个 `interrupt` 都不发, + * 「打断」档发的是 `scope:"current"`(只取消在跑回合、**保留**待处理队列)⇒ 在客户端的全部现实路径里 + * [dropped] **恒为 0**(契约 v0.56 明文)。所以「已打断,丢弃 N 条」那句话在本端是**不可达**的, + * 别照着它去实现一个用不上的计数(见 `devdocs/03` §4 的同一条更正)。 + */ data class SessionInterrupted( override val sessionId: String, val mode: String,