Skip to content

fix: suppress slide arrow nav inside editor controls#13

Merged
vkehfdl1 merged 1 commit intodevfrom
feature/issue-4-editor-keyboard-fix
Mar 12, 2026
Merged

fix: suppress slide arrow nav inside editor controls#13
vkehfdl1 merged 1 commit intodevfrom
feature/issue-4-editor-keyboard-fix

Conversation

@vkehfdl1
Copy link
Copy Markdown
Owner

Summary

  • broaden the editor keyboard focus guard so slide navigation is skipped while focus is inside input, textarea, select, or contenteditable controls
  • add E2E regression coverage for #model-select, #popover-text-input, and #popover-size-input
  • preserve ArrowLeft/ArrowRight slide navigation when focus returns to the slide canvas

Testing

  • node --test tests/editor/editor-ui.e2e.test.js

AI disclosure: This PR was prepared by GithubClaw Coder, an AI coding agent.

@vkehfdl1
Copy link
Copy Markdown
Owner Author


[robot] GithubClaw [dot] Coder [dot] SUCCESS

Implemented the editor keyboard focus fix for issue #4 in this PR: #13

What changed:

  • broadened the editable-focus guard in src/editor/js/editor-init.js so ArrowLeft/ArrowRight slide navigation is suppressed while focus is inside input, textarea, select, or contenteditable elements
  • added regression coverage in tests/editor/editor-ui.e2e.test.js for #model-select, #popover-text-input, and #popover-size-input
  • verified ArrowLeft/ArrowRight still navigate slides when focus is outside form controls

Verification:

  • node --test tests/editor/editor-ui.e2e.test.js

AI disclosure: posted by GithubClaw Coder, an AI coding agent.

@vkehfdl1
Copy link
Copy Markdown
Owner Author


[robot] GithubClaw [dot] QA [dot] SUCCESS

QA verification on feature/issue-4-editor-keyboard-fix against PR #13:

What I verified:

  • node --test --test-name-pattern="suppresses slide arrow navigation while focus is inside editor form controls" tests/editor/editor-ui.e2e.test.js passed
  • node --test tests/editor/editor-ui.e2e.test.js passed (5/5)
  • Arrow navigation is suppressed by the new editable-focus guard in src/editor/js/editor-init.js
  • Arrow navigation still works again after focus returns to the canvas

Residual risk:

  • the new E2E coverage explicitly exercises #model-select, #popover-text-input, and #popover-size-input
  • it does not explicitly assert the same behavior for the #prompt-input textarea
  • I did not find a current contenteditable control in the editor DOM, so that requested case is not directly exercised by E2E yet

No regressions were observed in the full editor-ui.e2e file during this QA pass.

AI disclosure: posted by GithubClaw QA, an AI testing agent.

@vkehfdl1
Copy link
Copy Markdown
Owner Author


[robot] GithubClaw [dot] QA [dot] SUCCESS

AI disclosure: I’m an AI QA agent.

Verified PR #13 against issue #4 on branch feature/issue-4-editor-keyboard-fix.

Results:

  • node --test tests/editor/editor-ui.e2e.test.js passed (5 tests, 0 failures).
  • Arrow-key slide navigation stayed suppressed while focus was on #model-select, #popover-text-input, and #popover-size-input.
  • Arrow-key slide navigation still worked after focus returned to the slide canvas.

Coverage note:

  • The new regression test does cover select, textarea, and input[type=number] paths.
  • I did not find automated coverage in this PR for contenteditable focus, even though the production guard now includes activeElement.isContentEditable.

No behavioral regression was reproduced in the exercised paths.


@vkehfdl1
Copy link
Copy Markdown
Owner Author


[robot] GithubClaw [dot] Reviewer [dot] SUCCESS

Reviewed PR #13 against dev.

Review result:

  • no blocking findings in the diff
  • verified the branch targets dev and GitHub reports merge state CLEAN
  • node --test tests/editor/editor-ui.e2e.test.js passed on commit 56377b5 (5/5)
  • no required GitHub checks were configured on this branch at review time

Merge decision:

  • proceeding to merge into dev

AI disclosure: posted by GithubClaw Reviewer, an AI code review agent.

@vkehfdl1 vkehfdl1 merged commit bb7dcf2 into dev Mar 12, 2026
@vkehfdl1
Copy link
Copy Markdown
Owner Author


[robot] GithubClaw [dot] Reviewer [dot] SUCCESS

Post-merge verification for PR #13:

  • confirmed the PR targeted dev from feature/issue-4-editor-keyboard-fix, which matches the repo's dev-branch workflow
  • verified the merged change is present on origin/dev at merge commit bb7dcf2350d7a1fec7337d5e794be63036a8f510
  • reran node --test tests/editor/editor-ui.e2e.test.js against that merged commit: 5 tests passed, 0 failed
  • reviewed the keyboard-focus guard in src/editor/js/editor-init.js; widening the suppression check from only #prompt-input to input, textarea, select, and contenteditable is the correct fix for the reported regression

Coverage judgment:

  • the current regression test covers the concrete editor controls that exist today: #model-select, #popover-text-input, and #popover-size-input
  • I did not find an active editor control that is actually contenteditable, so the uncovered contenteditable branch is a real test gap but not a merge blocker for issue Disable left and right arrow keyboard shortcut for slide page change when user types the text field. #4
  • follow-up coverage would be reasonable only when the editor exposes a real contenteditable surface or when a targeted harness is added for that branch

Merge judgment:

  • acceptable for the current scope
  • no further reviewer action required because the PR was already merged into dev on 2026-03-12

Project board note:

  • no GitHub Projects board was configured for owner vkehfdl1 at review time

AI disclosure: posted by GithubClaw Reviewer, an AI code review agent.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant