Repository navigation
Conversation
|
Thank you for opening this pull request! 🙌 These tips will help get your PR across the finish line:
|
…relaunch A map whose values are objects (e.g. Map[str, Struct]) parsed each value into the string-typed value field, so the launch form bound an object straight into a text input -- coerced to "[object Object]" and producing render errors on relaunch. JSON-stringify object values at parse time so the field always receives a string. Signed-off-by: 1fanwang <1fannnw@gmail.com>
The test name and assertions already carry the relaunch scenario. Repeating the same behavior in source and test comments adds noise without documenting another constraint. Signed-off-by: 1fanwang <1fannnw@gmail.com>
1fanwang
force-pushed
the
fix-mapinput-object-render
branch
from
August 24, 2026 10:14
a7c1cc5 to
2dea5d0
Compare
Signed-off-by: 1fanwang <1fannnw@gmail.com>
Contributor
Author
|
@Sovietaced could you review when you have time? |
Member
|
I am not familiar with this codebase but AI reviews shows a possible regression with union values. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Read then delete this section
This is a bug fix, so it takes the default patch version bump. Release version rules
TL;DR
Relaunching an execution that has a map input shows [object Object] in the value box for dict, nested map, union, file and dataset values, and 1,2 instead of [1,2] for a list. The form now shows them all as JSON text.
Maps of dicts, lists and nested maps also failed validation on an unedited relaunch, so every value had to be retyped. They now submit unchanged. Maps of unions, files and structured datasets keep submitting unchanged.
Type
Are all requirements met?
Complete description
The relaunch form fills a map input from the values of the earlier execution. Dict, list and nested map values are now shown and kept as JSON text, which is what their validation expects. Union, file and structured dataset values are validated as structured values and reject text, so they stay structured and are only displayed as JSON.
Testing Done
The reproducer renders the real map input in jsdom. For each map type it builds a launched map literal, mounts the input with the value the form derives from that literal, validates what the input reports back with the map helpers, and converts it back to a literal. In the output, shown is the text in the value box, validation is the validator's answer, and sameLiteral says whether the rebuilt literal equals the launched one.
Save the source below as map_input_repro.cjs in a checkout with its dependencies installed, and run the commands from the repository root. Master is commit 73d8292.
This branch:
NODE_ENV=test node map_input_repro.cjs MapInput 2>/dev/nullOn master the dict, list and nested map are rejected even though they would convert back to the launched literal. On this branch every map shows JSON, validates, and rebuilds the launched literal.
This runs in jsdom, not a browser, and I did not submit a relaunched execution to a live backend. On master the run also logs a React warning that an object was passed as the text value, and the commands drop stderr.
Reproducer source: map_input_repro.cjs
Tracking Issue
N/A
Follow-up issue
N/A