Skip to content

Channel message selection#1130

Merged
peterchinman merged 3 commits intomainfrom
cursor/channel-message-selection-4635
Jan 26, 2026
Merged

Channel message selection#1130
peterchinman merged 3 commits intomainfrom
cursor/channel-message-selection-4635

Conversation

@peterchinman
Copy link
Copy Markdown
Contributor

Restore arrow key navigation to select adjacent messages in channels instead of scrolling the message list.


Open in Cursor Open in Web

@cursor
Copy link
Copy Markdown

cursor bot commented Jan 22, 2026

Cursor Agent can help with this pull request. Just @cursor in comments and I'll start working on changes in this branch.
Learn more about Cursor Agents

@github-actions
Copy link
Copy Markdown

github-actions bot commented Jan 22, 2026

@peterchinman peterchinman force-pushed the cursor/channel-message-selection-4635 branch from 200bb17 to 260e83a Compare January 26, 2026 20:10
@peterchinman peterchinman marked this pull request as ready for review January 26, 2026 20:11
@peterchinman peterchinman requested a review from a team as a code owner January 26, 2026 20:11
@claude
Copy link
Copy Markdown
Contributor

claude bot commented Jan 26, 2026

Code review

This PR introduces significant navigation behavior changes but does not include any tests, which violates the testing requirement in CLAUDE.md.

Issue: Missing Tests

Rule violated: CLAUDE.md Rule 4 states:

"Write tests for your changes. When fixing bugs or regressions, identify the issue with a test before fixing it."

Reference: js/app/CLAUDE.md

Context: This PR modifies core navigation logic across multiple files (~156 additions, ~104 deletions), including:

  • New navigation functions (navigateChannel, navigateToMessage, navigateByOffset, etc.)
  • Complex hybrid navigation logic combining DOM-based and ID-based approaches
  • Changes to focus management and keyboard event handling

Recommendation: Add tests to verify:

  • Arrow key navigation selects adjacent messages correctly
  • Hybrid navigation fallback works when DOM elements are unmounted during virtualization
  • Mouse hover updates selected message appropriately
  • Focus/blur behavior maintains correct selected message state

The navigation logic contains testable business logic that could be decoupled from the UI layer and tested using bun run test. For UI-specific interactions, consider using Playwright.

@peterchinman peterchinman merged commit 44260f4 into main Jan 26, 2026
21 checks passed
@peterchinman peterchinman deleted the cursor/channel-message-selection-4635 branch January 26, 2026 21:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant