Skip to content

[ReviewEntriesTable] Fix arrow keys in cell dialogs - #4403

Merged
imnasnainaec merged 2 commits into
masterfrom
review-entries-arrow-keys
Oct 23, 2026
Merged

imnasnainaec merged 2 commits into
masterfrom
review-entries-arrow-keys

Conversation

@imnasnainaec

@imnasnainaec imnasnainaec commented Oct 19, 2026 •

Copy link
Copy Markdown
Collaborator

Fixes #4400

Summary

Key events from a cell's dialog bubble (via React portal) to the table cell, where MRT's keyboard navigation preventDefaults arrow/Home/End/PageUp/PageDown.

 useMaterialReactTable({
+  enableKeyboardShortcuts: false,

Stopping propagation at the cell instead would also block window keydown listeners, which the semantic domain tree (opened from the sense editor) uses for arrow navigation.

Evidence

  • Before: keyDown(ArrowLeft) in an Edit dialog text field is default-prevented
    After: not default-prevented; keyDown(ArrowRight) in the dialog reaches window listeners

Merge Danger

Door: two-way

Blast Radius: small

Loses arrow-key navigation between Review Entries table cells (and cell tabIndex).

🤖 Generated with Claude Code


This change is Reviewable

Key events from dialogs opened in a table cell bubble through the React
portal to the cell, where Material React Table's keyboard navigation
calls preventDefault on arrow, Home/End, and PageUp/PageDown keys. That
kept the cursor from moving in the Edit dialog's text fields.

Stop propagation at the cell for key events whose target is outside the
cell's DOM, which MRT honors by skipping its shortcuts. Keyboard
navigation between cells is unaffected.

Fixes #4400

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@codecov

codecov Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 67.16%. Comparing base (099e77c) to head (04a0dd1).

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #4403      +/-   ##
==========================================
- Coverage   76.26%   67.16%   -9.11%     
==========================================
  Files         305      248      -57     
  Lines       11452     6319    -5133     
  Branches     1409      794     -615     
==========================================
- Hits         8734     4244    -4490     
+ Misses       2324     1814     -510     
+ Partials      394      261     -133     
Flag Coverage Δ
backend ?
frontend 67.16% <ø> (+0.06%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@coderabbitai

coderabbitai Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 44 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 3e5ed118-feea-43d6-a955-c85012d46859
📥 Commits

Reviewing files that changed from the base of the PR and between 099e77c and 04a0dd1.

📒 Files selected for processing: 2
  • src/goals/ReviewEntries/ReviewEntriesTable/index.tsx
  • src/goals/ReviewEntries/ReviewEntriesTable/tests/index.test.tsx
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Stopping propagation at the cell also kept key events from reaching
window listeners, so arrow keys no longer navigated the semantic domain
tree opened from the sense editor. Turning off MRT's keyboard shortcuts
removes the conflict with any content rendered from a cell, at the cost
of arrow-key navigation between table cells.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@imnasnainaec
imnasnainaec marked this pull request as ready for review October 19, 2026 17:26
@imnasnainaec imnasnainaec added bug Something isn't working 🟨Medium Medium-priority PR labels Oct 19, 2026

@jasonleenaylor jasonleenaylor left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

This review was assisted by Claude Opus 5.5.

@imnasnainaec
imnasnainaec merged commit e2f4c4b into master Oct 23, 2026
16 of 18 checks passed
@imnasnainaec
imnasnainaec deleted the review-entries-arrow-keys branch October 23, 2026 20:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working frontend goal: ReviewEntries 🟨Medium Medium-priority PR test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Review Entries: arrow keys don't work in the Edit dialog

2 participants