Commit Graph

468 Commits

Author SHA1 Message Date
Tommy D. Rossi d2925832aa serve: add --replace flag, make --token optional for localhost 2026-01-16 19:43:39 +01:00
Tommy D. Rossi 868d339a09 exit serve if already connected 2026-01-16 19:36:12 +01:00
Tommy D. Rossi 69ac4db338 release: playwriter@0.0.49 2026-01-16 16:25:24 +01:00
Tommy D. Rossi 11d0612736 Merge branch 'main' of https://github.com/remorses/playwriter 2026-01-16 16:24:16 +01:00
FiftyX 5631fc3d19 add CORS support to relay server for local extension development (#25)
* fix: add CORS middleware to allow extension connection

* fix(cors): validate extension ID to prevent other extensions from accessing endpoints

---------

Co-authored-by: Tommy D. Rossi <beats.by.morse@gmail.com>
2026-01-16 16:24:06 +01:00
Tommy D. Rossi cc699670b4 fix: clarify error messages when another Playwriter extension connects 2026-01-16 13:07:24 +01:00
Tommy D. Rossi 7ebd3c190e chore: release playwriter@0.0.48 2026-01-15 16:51:18 +01:00
Tommy D. Rossi 68f5896ab6 Update README.md 2026-01-15 16:50:11 +01:00
Tommy D. Rossi 0ba4acfbce fix: disable Network buffering by default to fix SSE streaming
Fixes #22

CDP's Network.enable buffers response bodies by default, which breaks
SSE/streaming - data arrives at Chrome but ReadableStream never receives it.

Changes:
- Intercept Network.enable in relay, default maxTotalBufferSize: 0
- Agents can re-enable buffering via Network.disable + Network.enable
  with explicit buffer sizes when they need response.body()
- Added test and documentation for reading response bodies
2026-01-15 15:55:18 +01:00
Tommy D. Rossi 171317f8cb fix: auto-switch to another page when default page is closed 2026-01-15 13:43:45 +01:00
Tommy D. Rossi cda69383f0 clean up deps: remove unused, update zod v4, replace chalk with picocolors 2026-01-15 13:32:54 +01:00
Tommy D. Rossi 423365caae resize screenshots with sharp to optimize Claude token usage 2026-01-15 13:26:33 +01:00
Tommy D. Rossi b7738ffdd5 tell about using css scale for screenshots 2026-01-15 13:23:28 +01:00
Tommy D. Rossi b86e215570 Create CHANGELOG.md 2026-01-15 12:51:23 +01:00
Tommy D. Rossi 59583703fb Update package.json 2026-01-15 12:51:02 +01:00
Tommy D. Rossi 415c9f839f Update PLAYWRITER_AGENTS.md 2026-01-14 17:56:37 +01:00
Tommy D. Rossi d6d7a63acd Update .gitignore 2026-01-14 17:43:22 +01:00
Tommy D. Rossi 939bc4ad75 release: playwriter@0.0.47 2026-01-14 17:41:28 +01:00
Tommy D. Rossi 9a15af8b42 Update package.json 2026-01-14 17:40:41 +01:00
Tommy D. Rossi 330d65e8f9 refactor: consolidate extension ID arrays and centralize target filtering 2026-01-14 17:36:46 +01:00
Tommy D. Rossi 17a15f6c49 framer html not fetched 2026-01-14 17:33:25 +01:00
Tommy D. Rossi 8b9fe157b4 fix: improve connection reliability with global timeout and IPv4
- Use 127.0.0.1 instead of localhost to avoid DNS/IPv6 resolution issues
- Add 15s global timeout wrapper around connect() to prevent hanging forever
- Reduce HTTP retry attempts from 30 to 5 (maintainLoop retries anyway)
- Fix WebSocket cleanup: close socket on timeout to prevent orphaned connections
- Improve settled state tracking in WebSocket connection promise
2026-01-14 12:13:25 +01:00
Tommy D. Rossi 0f980f2fa5 Update htmlrewrite test snapshots 2026-01-14 12:09:35 +01:00
Tommy D. Rossi dcaaf68f1a Make wsUrl optional in getCDPSessionForPage, default to getCdpUrl() 2026-01-14 12:09:34 +01:00
Tommy D. Rossi e6d9cfe5e4 docs: clarify WebSocket security uses Origin validation, not CORS 2026-01-14 12:09:32 +01:00
Tommy D. Rossi 1fd0242277 Allow attaching to our own extension pages while blocking other extensions 2026-01-14 12:07:28 +01:00
Tommy D. Rossi cfe3059fee Merge pull request #17 from Pipboyguy/main
fix: recommend domcontentloaded for page.goto()
2026-01-13 17:28:33 +01:00
Marcel Coetzee a6b90ba9e5 fix: use domcontentloaded instead of load everywhere
- getCurrentPage() waitForLoadState: 'load' -> 'domcontentloaded'
- prompt.md: consistent guidance for domcontentloaded
2026-01-13 17:14:13 +02:00
Tommy D. Rossi cbe62bc1a4 release: playwriter@0.0.46 2026-01-13 00:14:58 +01:00
Tommy D. Rossi 3ae65a2dd6 update agents 2026-01-13 00:13:19 +01:00
Tommy D. Rossi 1dcfee7eab fix: limit screenshot dimensions to 2000px for Claude API compatibility 2026-01-13 00:10:51 +01:00
Tommy D. Rossi b1e7852c57 Add MIT license 2026-01-12 23:50:51 +01:00
Tommy D. Rossi 9849afad16 fix: clean up typos and improve phrasing in AGENTS.md 2026-01-12 23:50:25 +01:00
Tommy D. Rossi f27486c80e release: playwriter@0.0.45 2026-01-12 19:02:23 +01:00
Tommy D. Rossi 3ac560792a feat: add CDP discovery endpoints (/json/version, /json/list)
Standard Chrome DevTools Protocol HTTP discovery endpoints that allow
tools like Playwright to connect using just the HTTP URL.

- /json/version returns browser info and webSocketDebuggerUrl
- /json/list returns array of connected targets
- Supports GET/PUT methods and trailing slashes for compatibility
2026-01-12 18:46:21 +01:00
Tommy D. Rossi f1b14f5ae1 chore: untrack snapshot files (already in gitignore) 2026-01-12 18:14:44 +01:00
Tommy D. Rossi 32dca5743b fix: filter non-page targets from Playwright (issue #14)
Service workers, web workers, and iframes are now filtered out at the
server level, preventing Playwright from trying to initialize these
targets which caused timeouts and errors.
2026-01-12 18:10:54 +01:00
Tommy D. Rossi 481cb4ddc8 feat: add CDP discovery endpoints (/json/version, /json/list)
Standard Chrome DevTools Protocol HTTP discovery endpoints that allow
tools like Playwright to connect using just the HTTP URL without needing
to call getCdpUrl() first.

- /json/version returns browser info and webSocketDebuggerUrl
- /json/list returns array of connected targets
- Supports GET/PUT methods and trailing slashes for compatibility
2026-01-12 17:16:20 +01:00
Tommy D. Rossi 9c323c5940 release: playwriter@0.0.44 2026-01-12 15:38:19 +01:00
Tommy D. Rossi 7e7edac856 feat: add 5 lines context around search matches in accessibilitySnapshot, getCleanHTML, getLatestLogs 2026-01-12 15:36:51 +01:00
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