Desktop: Fixes #8960: Fix cursor jump in the Rich Text Editor on sync #10558
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
This pull request tries to fix #8960 (#10449 seems to have failed to do so). It does so by marking the current note as changed immediately after a key is pressed (rather than waiting for an
onChange
event to be received).In particular, this pull request focuses on the Rich Text Editor because it's simpler to implement and I am not certain that this will fix the issue. If it does, a similar change can be made to the beta and legacy markdown editors.
May fix #8960.
Rationale
Logs collected before #10449 was merged suggest that #8960 was caused by a race condition where:
#10449 eliminated the need for a React re-render between the editor's
change
event and marking the editor's content as changed (in step 3). If #8960 is still happening because thechange
event isn't firing soon enough after the editor is changed, marking the editor as changed on key down events might fix the issue.Testing plan
Regression testing:
This has been tested successfully on Ubuntu 24.04.