rjsf-team/react-jsonschema-form

Recursive json-schema definition causes the browser to hang and eventually stack overflow

Fermée

#3 907 ouverte le 13 oct. 2023

 (7 commentaires) (0 réaction) (1 personne assignée)TypeScript (2 136 forks)batch import
$refbughelp wanted

Métriques du dépôt

Stars
 (13 175 étoiles)
Métriques de merge PR
 (Merge moyen 3j 17h) (32 PRs mergées en 30 j)

Description

Prerequisites

What theme are you using?

core

Version

5.x

Current Behavior

Schema:

{
  "title": "A registration form",
  "description": "A simple form example.",
  "type": "object",
  "properties": {
    "child": {
      "$ref": "#"
    }
  }
}

Expected Behavior

Not to hang aka eventually stack overflow

Steps To Reproduce

Paste that schema into the playground, that schema is a simplification of what happens when I attempt to use the draft-07 json-schema meta-schema.

Environment

N/A

Anything else?

@heath-freenome , as requested in #3560. I dont really know anything about react anymore, but just poking around for a bit, the Form seems to be trying to render a recursive reference. It seems like the correct behavior should either be an error something like: "Hey, we don't allow recursive references", or just build the feature which marks definitions as seen, which may require a bit of a change in strat from DFS to BFS of the schema tree.

Also, im not sure if its a goal of this project, but it seems to me some good test cases are actually the json-schema meta-schemas. But I recon that is a separate issue altogether.

Guide contributeur