fix: Correctly handle setting / editing a status' language #780
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.
Previous code set the initial status text, and then set up the callbacks which meant that the status' length was initially 0, even when editing a status.
This meant that, e.g., editing a status to change its language would erroneously report the status body was empty. It also meant that editing a status and changing just the language would not prompt to save or discard the changes if moving back.
Fix this.
First, only set the status content after the callbacks that compute the status length.
Second, provide a function that sets the status' language, and update the close confirmation state when the language changes. Modify isDirty() to compare the original and current language when determining if the status is dirty.
Fixes #701