Bug fix — keyboard focus lost after custom actions (txt2tags-it.qml)#291
Merged
Conversation
After invoking a custom action via keyboard shortcut (e.g. "Heading 2"), the editor lost focus, forcing the user to click with the mouse before typing again. - Root cause: the toolbar/menu button steals focus when the action fires. - First attempt: script.noteTextEditSetFocus() — does not exist, throws TypeError on v26.5.14. - Fix: mainWindow.focusNoteTextEdit() added at the end of customActionInvoked(). This is the only official API method for restoring editor focus. noteToMarkdownHtmlHook optimisations (hot path, called on every keystroke): - _isWindows — platformIsWindows() cached in init() (avoids an external call on every render) - _headRe — regex /<head>[\s\S]*?<\/head>/ pre-compiled in init() (no more new RegExp(...) on each call + (?:.|\n)*? replaced by [\s\S]*? which is significantly faster on large HTML) - _urlAttrRe — URL attribute regex pre-compiled in init() + lastIndex = 0 reset before each replace() - _cssInject — constant CSS string extracted as a property txt2tags_autolink optimisation (inline rule, called at every position): - charCode fast-fail before src.slice(pos) + exec() — avoids creating a substring for every / and any non-letter character
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.
After invoking a custom action via keyboard shortcut (e.g. "Heading 2"), the editor lost focus, forcing the user to
click with the mouse before typing again.
noteToMarkdownHtmlHook optimisations (hot path, called on every keystroke):
txt2tags_autolink optimisation (inline rule, called at every position):