Web version of devtools cannot display 64-bit numbers from typed data instances
- Dominant language
- Dart
- Stars
- 1.7k
- Forks
- 404
- Avg merge
- 6d 17h
- Merged PRs (30d)
- 18
Description
For typed data instances, the VM service will return the byte contents encoded as a base64 String. In order to display a meaningful value in the debugger, this must be decoded and then converted to the appropriate typed data instance. For example, -1 will need to display as `0xFF` if the typed data instance was unsigned.
This poses a problem for `Unit64List` and `int64List`, since these types cannot be instantiated on the web.
One potential solution would be to pull in [fixnum](https://github.com/dart-lang/fixnum) and manually unmarshal Int64 numbers into a string representation - though that would not help the unsigned case. Another approach would be to write a utility based off of fixnum to handle both.
Contributor guide
Research direction
Start by tracing how the web debugger decodes VM-service base64 bytes for typed data instances and where it renders their values. Compare the required signed and unsigned 64-bit behavior, including Int64List and Uint64List, and consider the utility approaches mentioned; done means both types display meaningful values on the web.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- dart
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100