Change the fragmentId
to be a required property in WidgetStateManager
#8533
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.
Describe your changes
The
fragmentId
is currently an optional property for all the set state methods in theWidgetStateManager
. The reason here is that it sometimes has a value and sometimes is justundefined
. But this makes it a bit too easy to forget to add it -> which can lead to features that are not compatible with fragments.This PR changes the property to required by changing from
fragmentId?: string
tofragmentId: string | undefined
. This also uncovered a potentially existing issue with form submission & fragments, which will be fixed via this PR, e.g.:https://github.com/streamlit/streamlit/pull/8533/files#diff-b6b2b8d7411dc40d04d4dc0442572c4835e84a79844cd2e299a469b7b2ec1a1cR309
Testing Plan
Contribution License Agreement
By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.