400 websocket_error: ApiIdParam id exceeds 64 chars during iOS streaming
- 主要语言
- Shell
- 星标
- 11.2k
- 派生
- 1.9k
- 平均合并
- 14 小时 16 分钟
- 30 天内合并 PR
- 6
描述
## Summary
When connected and streaming from an up-to-date iOS app, short commands triggered a 400 bad_request with a websocket_error. One command was simply `go`.
## Error
```
✗ Execution failed: CAPIError: 400 {"error":{"code":"bad_request","type":"websocket_error","message":"[ApiIdParam] [input[1].id] [string_above_max_length] Invalid 'input[1].id': string too long. Expected a string with maximum length 64, but got a string with length 380 instead."}} (Request ID: 00000-ef2d3e2a-2e1c-4bdd-b810-4006d9f709c7)
```
## Context
- Connected and streaming from the iOS app
- The app was up to date
- Commands were short
- One command was just `go`
## Expected
Commands should execute normally, or the client should validate the websocket id before sending it.
## Actual
The request failed with a 400 because `input[1].id` was 380 characters, above the 64-character limit.
贡献指南
调研方向
未指定文件或测试。首先跟踪 websocket 流式请求的构造以及 input[1].id 的生成,然后使用类似 `go` 的短命令重现问题。当流式请求不再发送超过 64 个字符的 id,或客户端在发送前报告验证失败时,即表示完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- ios
- 领域
- api
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 冷清
- 描述清晰度
- 基本清楚
- 新手友好度
- 45/100