Commits
Marek Vsechovsky committed b74c95280be
Session 153, Step 7: Ctrl+B — bold shortcut - AIM-2833 Ctrl+B — bold shortcut - AIM-2835 Ctrl+- — strikethrough shortcut - AIM-2840 Ctrl+U — bullet list shortcut with paragraph behavior - AIM-2841 Ctrl+= — numbered list shortcut with paragraph behavior - AIM-2843 Ctrl+. — inline code shortcut - AIM-2844 Ctrl+Alt+. — code block shortcut - AIM-2846 Ctrl+Alt+L — link shortcut - AIM-2848 Fix user story split view scroll sync feedback loop - AIM-2862 Ctrl+Alt+Shift+. — PascalCase inline code shortcut - AIM-2869 Credit tracking dialog focus not retained on #dlgCreditRemaining Outcome: **AIM-2833, AIM-2835:** Fixed bold/strikethrough toggle — added surrounding-markers detection in `_wrapOrUnwrapInline` for word-expansion case where cursor was inside wrapped text. **AIM-2840, AIM-2846:** Fixed Alt+U/Alt+Q — `_mdFormat` factory guard required `e.ctrlKey`, blocking Alt-based shortcuts. Changed to `e.ctrlKey || e.altKey`. **AIM-2841, AIM-2844, AIM-2862:** Fixed all `Ctrl+Shift+` shortcuts — browser reports shifted punctuation chars (e.g. `<` for Shift+,), but handler map expected base chars. Added `_SHIFTED_TO_BASE` reverse mapping in `_callHandler`. **AIM-2843:** Fixed inline code toggle (surrounding-backtick detection) and code block newlines (added ` ` before/after triple backticks for multi-line selections). **AIM-2848:** Replaced 80ms timeout with double-rAF in all scroll sync handlers for proper paint-cycle timing. **Issue -3454:** Deferred `#dlgCreditRemaining` focus with `setTimeout(fn, 50)` to let dialog focus management complete first.