400 websocket_error: ApiIdParam id exceeds 64 chars during iOS streaming
- Dominant language
- Shell
- Stars
- 11.2k
- Forks
- 1.9k
- Avg merge
- 14h 16m
- Merged PRs (30d)
- 6
Description
## 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.
Contributor guide
Research direction
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.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ios
- Domain
- api
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100