tcp_client sends non-conformant JSON
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1.5k
- Forks
- 560
- Avg merge
- 1h 41m
- Merged PRs (30d)
- 3
Description
In the transaction I see:
{"id": 11, "request": "swj_sequence", "arguments": [51, 72057594037927935]}
That's a bug waiting to happen. 72057594037927935 is larger than 9007199254740991 (aka Number.MAX_SAFE_INTEGER).
The protocol probably needs to have these kinds of integers (which are actually bitstrings anyway) converted to hex strings and have a protocol version bump.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing tcp_client's JSON serialization for the shown swj_sequence transaction and review how the protocol represents large integers. Determine the intended hex-string representation and protocol-version impact before changing behavior; done means the transaction is conformant for values above Number.MAX_SAFE_INTEGER and the versioning is agreed and covered.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- embedded-iot
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100