vaadin / vaadin/framework

Full range of long not supported in RPC and shared state

Open
#2,491 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.