Skip to content

[Bug]: Fauxton silently corrupts integers larger than Number.MAX_SAFE_INTEGER #6008

@mhehle

Description

@mhehle

Version

3.3.3

Describe the problem you're encountering

Documents containing integers larger than JavaScript Number.MAX_SAFE_INTEGER are stored correctly by CouchDB itself.

However, when such a document is opened and saved through the Fauxton Web UI, the integer is silently rounded/truncated due to JavaScript number precision limits, corrupting the document.

Expected Behaviour

The integer value should remain unchanged after editing/saving via Fauxton.

Steps to Reproduce

  1. Insert a document containing a large integer:
{
  "_id": "large-int-test",
  "hugeNumber": 9223372036854775807
}
  1. Open the document in Fauxton.
  2. Save the document.
  3. Fetch the document again.

Actual Result

{
  "_id": "large-int-test",
  "_rev": "1-242234d64bf45499ef1d622e1a0f8237",
  "hugeNumber": 9223372036854776000
}

Your Environment

No response

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions