Commit Graph

428 Commits

Author SHA1 Message Date
Tommy D. Rossi 2498b523a3 snaps 2026-01-11 22:39:36 +01:00
Tommy D. Rossi 88d0d4d514 debugging internal issues 2026-01-11 22:39:32 +01:00
Tommy D. Rossi 69d2d24815 release: playwriter@0.0.43 2026-01-11 22:24:40 +01:00
Tommy D. Rossi 77a40d3c99 more compact htmlrewrite 2026-01-10 19:55:03 +01:00
Tommy D. Rossi b968af2c4b allow keeping styler. truncate 2026-01-10 19:48:50 +01:00
Tommy D. Rossi 107155d9f2 collapse useless elems 2026-01-10 19:42:47 +01:00
Tommy D. Rossi c3fda63e60 remove use of cache in html rewrite 2026-01-10 19:27:46 +01:00
Tommy D. Rossi eb4d7a0f42 adding htmlrewriter 2026-01-10 19:26:00 +01:00
Tommy D. Rossi 85ff79726d Update README.md 2026-01-07 14:15:59 +01:00
Tommy D. Rossi 9d9e469bff fix: sanitize accessibility snapshot to remove unpaired surrogates
Fixes 'no low surrogate in string' API error when page content contains
malformed Unicode characters. Uses toWellFormed() on Node.js 20+ with
graceful fallback on older versions.
2026-01-06 12:43:50 +01:00
Tommy D. Rossi ab8a3db83a docs: remove security entry from changelog 2026-01-06 12:34:31 +01:00
Tommy D. Rossi f950219db5 release: playwriter@0.0.41 2026-01-06 12:33:29 +01:00
Tommy D. Rossi d7056292cd format 2026-01-06 12:32:32 +01:00
Tommy D. Rossi 9c1eadb536 Update README.md 2026-01-06 12:32:28 +01:00
Tommy D. Rossi e575cc7c65 add reload scripts 2026-01-06 12:16:44 +01:00
Tommy D. Rossi ba96d2fccf show arrows in labels in snapshots 2026-01-06 12:15:52 +01:00
Tommy D. Rossi be723ea193 Update .gitignore 2026-01-06 12:01:06 +01:00
Tommy D. Rossi 402cbcf3b4 better security for /extension 2026-01-06 12:00:46 +01:00
Tommy D. Rossi c3be01e3a5 nn 2026-01-06 11:58:33 +01:00
Tommy D. Rossi c456a5101c docs: mark right-click copy and auto enable env as unreleased 2026-01-06 10:46:40 +01:00
Tommy D. Rossi 8f2285a63c bigger labels. fix screenshots sizes 2026-01-05 11:11:00 +01:00
Tommy D. Rossi e87f801700 release: playwriter@0.0.40, extension@0.0.67 2026-01-05 10:12:42 +01:00
Tommy D. Rossi 09a363d2dc screenshotWithAccessibilityLabels 2026-01-05 10:11:36 +01:00
Tommy D. Rossi da24f0e011 feat: add media elements (img, video, audio) to aria labels
- Added img, video, audio to INTERACTIVE_ROLES for visual tasks
- Light blue color scheme for media element labels
- Agents can now reference images by aria-ref for visual tasks
2026-01-05 10:06:51 +01:00
Tommy D. Rossi 6feb459c1e docs: improve remote agents section with MCP JSON examples 2026-01-04 21:37:28 +01:00
Tommy D. Rossi 8e62b657cc fix: query playwriter tab group by title instead of caching ID
- Remove global playwriterGroupId cache that could become stale
- Query chrome.tabGroups by title on each sync instead
- Use batch chrome.tabs.ungroup() with array of IDs instead of loops
- Fixes issue where group wasn't created after debugger detach/reattach
2026-01-04 16:09:32 +01:00
Tommy D. Rossi b4689f390f fix tests adding more await globalThis.disconnectEverything() 2026-01-04 16:06:32 +01:00
Tommy D. Rossi b06425cbe8 add comparison vs Claude Code browser extension 2026-01-03 19:56:36 +01:00
Tommy D. Rossi 1ad94f3930 release: playwriter@0.0.39, extension@0.0.66
- fix icon not updating on WS disconnect
- increase aria-labels auto-hide timeout to 30s
2026-01-03 17:38:28 +01:00
Tommy D. Rossi f9a2312a58 diconnect tabs on close of ws 2026-01-03 17:36:18 +01:00
Tommy D. Rossi f7e4e90374 bump playwriter to 0.0.38 2026-01-03 16:45:58 +01:00
Tommy D. Rossi 018647aebf bump playwriter to 0.0.37 2026-01-03 16:43:19 +01:00
Tommy D. Rossi f2ee7755a0 bump version to 0.0.36, update changelog with aria ref labels feature 2026-01-03 16:05:51 +01:00
Tommy D. Rossi 71276ee888 fix auto-hide timer: cancel previous timer when showing new labels
- Store timer ID in window global so it can be cancelled
- Cancel pending timer when showAriaRefLabels is called again
- Cancel pending timer when hideAriaRefLabels is called manually
- Existing labels are removed before showing new ones
2026-01-03 16:04:20 +01:00
Tommy D. Rossi 1bb88853ad document showAriaRefLabels/hideAriaRefLabels in prompt.md 2026-01-03 15:57:12 +01:00
Tommy D. Rossi d889cea6b1 add showAriaRefLabels/hideAriaRefLabels to MCP context
- Functions available in execute tool context
- Auto-hide labels after 5 seconds to prevent stale overlays
- Updated README with MCP usage example
- Example saves screenshot to /tmp
2026-01-03 15:56:31 +01:00
Tommy D. Rossi d4072d41b6 document showAriaRefLabels feature in README 2026-01-03 15:52:02 +01:00
Tommy D. Rossi c59dbc0013 use warm color scheme for all label types
Color legend:
- Yellow: links
- Orange: buttons
- Coral/Red: text inputs
- Pink: checkboxes, radios, switches
- Peach: sliders
- Salmon: menu items
- Amber: tabs, options
2026-01-03 15:49:43 +01:00
Tommy D. Rossi 6f508795b4 update label colors: yellow for links, orange for buttons
Color scheme:
- Yellow: links (Vimium-style)
- Orange: buttons
- Blue: text inputs
- Purple: checkboxes, radios, switches
- Teal: sliders
- Pink: menu items
- Green: tabs, options
2026-01-03 15:48:15 +01:00
Tommy D. Rossi 3cd59600e9 filter labels for elements covered by opaque overlays
Uses elementsFromPoint() to check if element is blocked by opaque
overlays (modals, cookie banners, etc.). Skips elements where an
opaque element with pointer-events appears above the target in
the stacking order.

Correctly shows only visible, interactable elements.
2026-01-03 15:45:48 +01:00
Tommy D. Rossi d9783b15be add role-based color coding for aria ref labels
Color legend:
- Blue: links
- Green: buttons
- Orange: text inputs (textbox, combobox, searchbox)
- Purple: checkboxes, radios, switches
- Teal: sliders
- Pink: menu items
- Indigo: tabs, options
- Yellow: default/unknown

Also gitignore png screenshots in assets/
2026-01-03 15:31:00 +01:00
Tommy D. Rossi a31812be8d skip overlapping labels using greedy placement algorithm
Labels are placed in DOM order, skipping any that would overlap
with already-placed labels. Uses AABB intersection test.
2026-01-03 15:28:07 +01:00
Tommy D. Rossi 355053cbf9 filter aria ref labels to only interactive roles
Reduces label clutter by ~66-88% by only showing labels for:
button, link, textbox, combobox, searchbox, checkbox, radio,
slider, spinbutton, switch, menuitem, option, tab, treeitem

Added interactiveOnly option (default: true) to showAriaRefLabels()
2026-01-03 15:25:33 +01:00
Tommy D. Rossi 802e6768e2 add showAriaRefLabels/hideAriaRefLabels for Vimium-style visual labels
- getAriaSnapshot() discovers aria refs and caches ElementHandles
- showAriaRefLabels() overlays yellow badges on interactive elements
- hideAriaRefLabels() removes labels from page
- test captures screenshots from HN, Google, GitHub
2026-01-03 15:17:47 +01:00
Tommy D. Rossi 22a255e1dd refactor extension with ConnectionManager. log memory usage 2026-01-02 14:41:37 +01:00
Tommy D. Rossi a53342f36a add reload packge.json script 2026-01-02 14:41:05 +01:00
Tommy D. Rossi 1392bb8dc6 Update prompt.md 2026-01-02 14:40:57 +01:00
Tommy D. Rossi 5cf7d2756e more logs when url is empty 2026-01-02 14:40:03 +01:00
Tommy D. Rossi 7630ab7538 Update mcp.test.ts 2026-01-02 14:39:50 +01:00
Tommy D. Rossi e3cb7fd1fd add test to find out how to remove sleep after extension connect 2026-01-02 14:24:15 +01:00