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.
貢獻指南
研究方向
No file or test is named. Start by tracing the websocket streaming request construction and generation of input[1].id, then reproduce with a short command such as `go`. Done means the streaming request no longer sends an id over 64 characters, or the client reports the validation failure before sending it.
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- ios
- 領域
- api
- Issue 類型
- 缺陷
- 難度
- 3/5
- 預估耗時
- 1-2 天
- 活躍度
- 冷清
- 描述清晰度
- 基本清楚
- 新手友好度
- 45/100