Full range of long not supported in RPC and shared state
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 1.8k
- Forks
- 717
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 3
Description
Originally by @Legioth
Because JavaScript only uses a 64-bit floating point number for all numbers, the full range of long can not be supported if it's sent as a number. We could probably support the full long range by encoding it as a string instead of a number and then rely on GWT's long emulation in client-side Java code.
Imported from https://dev.vaadin.com/ issue #9012
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
The issue identifies RPC and shared state as the affected entry points, but names no files or tests. Start by locating their serialization paths and reviewing how Java long values cross the JavaScript boundary. Done means the full Java long range is preserved when transmitted through both paths, including values JavaScript numbers cannot represent.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, javascript
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100