Skip to content
Discussion options

You must be logged in to vote

@rengy 这个报错和「AI 分析的 seq 不连续」大概率是两个不同的东西——「Remote stream WebSocket closed」不是 seq/gap 错误,别被 AI 带偏方向。我在 0.1.2-rc.1 的源码上定位了它:

这条报错是「物理连接被关」,不是「日志 seq 有洞」

packages/api/gateway/src/client/stream-client.ts 里,api gateway: Remote stream WebSocket closed 是 lost() 的默认错误(第 236-245 行):

private lost(
  socket: WebSocket,
  error: RemoteStreamCarrierError = new RemoteStreamCarrierError(
    'api gateway: Remote stream WebSocket closed',
  ),
): void {
  if (this.socket !== socket) return
  this.socket = undefined
  this.failAll(error)      // ← 一击杀掉所有 active Remote stream
}

触发路径:一个已经打开(OPEN)的 persistent WebSocket 收到了 close/error 事件(connect() 里:163-181 的 failed/closed),lost() 就把这个 socket 标注为已失效、并对 this.s…

Replies: 1 comment 2 replies

Comment options

You must be logged in to vote
2 replies
@rengy
Comment options

@rengy
Comment options

Answer selected by rengy
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants