fix(thread): respect is_optional on dataset selection screen#647
Merged
fix(thread): respect is_optional on dataset selection screen#647
Conversation
Thread datasets UI treated optional model inputs as required: orange warning icon, "None selected" gating model done state. is_optional was wired through REST API but the thread page reads via Apollo get_thread directly against Hasura, bypassing REST plumbing. - Select is_optional on modelcatalog_configuration_input junction in get_thread + get_thread_subscription - Map item.is_optional -> ModelIO.isOptional in graphql_adapter - Add isOptional?: boolean to ModelIO interface - thread-expansion-datasets: skip optional inputs in getStatus and modelDone; render grey info icon + (optional) label when optional and unselected, instead of orange warning
…nselected mint-datasets._selectThreadDatasets gated allok on bindings.length==0 without checking input.isOptional, so the Framing -> Parameters Continue button alerted 'Please select atleast one dataset' for any unselected optional input. Skip the ok=false branch when input.isOptional.
Per-input log line shows model, input name, isOptional, dataset count, dt count, empty/blocks flags. Per-model summary shows ok. Final allok logged. Helps diagnose 'Please select atleast one dataset' alerts.
- Grey info icon + (optional) label for empty optional inputs in dataset selection section - Orange warning icon retained for required empty inputs - Gating logic (blocks = empty && !input.isOptional) unchanged - Debug console.groupCollapsed block preserved verbatim
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.
Summary
Thread datasets selection UI treated optional model inputs as required: orange warning icon, "None selected" gating model done state.
is_optionalwas wired through REST API (Phase 12-02/03/04) but the thread page reads via Apolloget_threaddirectly against Hasura, bypassing REST plumbing. Junction column was never selected, mapped, or rendered.Changes
queries/thread/get.graphql+get-subscription.graphql: selectis_optionalonmodelcatalog_configuration_inputjunctionutil/graphql_adapter.ts: mapitem.is_optional->ModelIO.isOptionalscreens/models/reducers.ts: addisOptional?: booleantoModelIOscreens/modeling/thread/thread-expansion-datasets.ts:getStatusskips optional inputs when computing donemodelDoneshort-circuits true on optional inputsrenderRequiredDatasetRowrenders greyinfoicon +(optional)label instead of orange warning when optional and unselectedTest plan
hello world file input testmodelFollow-up
mint-datasets.tshas the same pattern — tracked in.planning/todos/pending/2026-05-03-mint-datasets-optional-input-warning.md.Companion bump: dynamo PR https://github.com/In-For-Disaster-Analytics/dynamo/pull/6