All notable changes to this project will be documented in this file.
- Changed
PlaywrightRequest.frameandPlaywrightResponse.frameto correctly returnEffect.Effect<PlaywrightFrameService, PlaywrightError>and safely catch synchronous errors (e.g., for Service Worker requests). - Changed
BrowserContext.pagesfrom anEffectproperty to a synchronous method (pages()) returning an array, since it does not throw errors. - Changed
PlaywrightPage.setDefaultNavigationTimeoutandPlaywrightPage.setDefaultTimeoutfromEffectmethods to synchronous methods, since they do not throw errors.
Minor bump because these are technically breaking changes.
- Synchronous Safe Methods (Unwrapped Effects): To improve developer experience and align with Playwright, simple Playwright getters and safe methods that cannot fail have been unwrapped from
Effectand are now completely synchronous.- Impact: Any previous code that used
yield*orEffect.run*on these methods will now result in type errors. You should now call them as regular synchronous methods withoutyield*. - Affected Models and Methods:
PlaywrightBrowser:browserType(),contexts(),isConnected(),version()PlaywrightDialog:defaultValue(),message(),type()PlaywrightDownload:suggestedFilename(),url()PlaywrightFileChooser:isMultiple()PlaywrightFrame:name(),url()PlaywrightPage:url()PlaywrightRequest:headers(),isNavigationRequest(),method(),resourceType(),timing(),url()PlaywrightResponse:fromServiceWorker(),headers(),ok(),status(),statusText(),url()PlaywrightWorker:url()
- Impact: Any previous code that used
- Page Methods Implementation: Implemented a significant portion of the
PlaywrightPageAPI, including:addInitScriptaddScriptTagaddStyleTagbringToFrontconsoleMessagescontentcontextdragAndDropemulateMediaexposeFunctionframe,mainFrame, andopenergetBy*locatorsgoBackandgoForwardisClosedpageErrorspausepdfrequestGCscreenshotsetContentset*settersviewportSizeworkers
- Input & Device Capabilities: Added
keyboard,mouse,touchscreen, andclockfunctionality toPage.
- Fixed
@sincedocstrings across the codebase. - Assorted linting fixes.
- Updated dependencies (
pnpm update). - Added internal coverage scripts utilizing
Effectto categorize methods. - Expanded agent documentation (
agents.md) and instructions.