Skip to content

Merge upstream PR #119: deep select (Cmd+hover)#3

Merged
alexgorbatchev merged 4 commits intomainfrom
merge/upstream-pr-119
Mar 10, 2026
Merged

Merge upstream PR #119: deep select (Cmd+hover)#3
alexgorbatchev merged 4 commits intomainfrom
merge/upstream-pr-119

Conversation

@alexgorbatchev
Copy link
Owner

Summary

  • Merges benjitaylor/agentation#119 by @stevysmith — adds deep select mode (Cmd/Ctrl+hover to pierce through overlays, empty wrappers, and opacity:0 elements)
  • Adds comprehensive test coverage for the new feature (90%+ on all changed files)

What's included

  • Deep select: hold Cmd (Mac) / Ctrl (Win) while hovering to select content underneath overlays
  • Two-pass pierce algorithm: finds elements with direct text content first, falls back to smallest visible element
  • Improved element identification: direct text content checked before class names
  • Visual indicators: dashed highlight border and "⇣ deep select" label when pierce mode is active
  • Demo page: animated deep select demo on the features page

Tests added

  • deep-select.test.tsx — 13 tests for pierce mode (activation, two-pass algorithm, styling, click behavior, edge cases)
  • element-identification.test.ts — 9 tests for direct text content preference
  • react-detection.test.ts — tests for new Remotion/RefForwarding skip patterns
File Statements Branches Functions
element-identification.ts 95.08% 85.32% 100%
react-detection.ts 94.23% 91.71% 100%
index.tsx 91.54% 86.26% 85.52%

Test plan

  • All 825 tests pass
  • Build succeeds
  • 90%+ coverage on changed files

🤖 Generated with Claude Code

alexgorbatchev and others added 4 commits March 10, 2026 12:29
Close the loop on thread conversations in the browser. The MCP server
already supports agentation_reply, but the UI never displayed thread
messages or allowed human replies.

Server-side: fix thread.message SSE event to emit the full Annotation
instead of just the ThreadMessage so the browser can match by id.

Browser-side:
- Add postThreadReply() sync utility
- Annotation popup switches to thread view when messages exist
  (read-only original comment, chronological messages, reply input)
- SSE listener for thread.message updates live state
- Purple badge on markers showing thread message count

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- sync-thread.test.ts: postThreadReply() sends correct request, handles errors
- thread-view.test.tsx: popup thread view rendering, reply behavior, sending state
- thread-sse.test.tsx: SSE listener updates state, thread badges, reply via popup

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ce overlays)

Cherry-pick of benjitaylor#119 by stevysmith.
Adds Cmd+hover to pierce through overlays, empty wrappers, and opacity:0 elements.
@alexgorbatchev alexgorbatchev merged commit 84190dd into main Mar 10, 2026
1 check passed
@alexgorbatchev alexgorbatchev deleted the merge/upstream-pr-119 branch March 10, 2026 20:28
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