400 websocket_error: ApiIdParam id exceeds 64 chars during iOS streaming
- Vorherrschende Sprache
- Shell
- Sterne
- 11.2k
- Forks
- 1.9k
- Ø Merge
- 14 Std. 16 Min.
- Gemergte PRs (30 T.)
- 6
Beschreibung
## 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.
Beitragsleitfaden
Rechercherichtung
Es ist keine Datei und kein Test benannt. Beginne damit, die websocket-Streaming-Anfragekonstruktion und die Erzeugung von input[1].id nachzuverfolgen, und reproduziere das Problem anschließend mit einem kurzen Befehl wie `go`. Als erledigt gilt, dass die Streaming-Anfrage keine id mit mehr als 64 Zeichen mehr sendet oder der Client den Validierungsfehler vor dem Senden meldet.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- ios
- Bereich
- api
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100