93fdcb6b35
- Server rejects new extension (code 4002) if existing has active tabs - Idle extensions (no tabs) can still be replaced - Extension properly enters polling mode when rejected during handshake - /extension/status now returns activeTargets count for smarter reconnection
1.3 KiB
1.3 KiB
Changelog
0.0.69
Features
- First extension keeps connection: When multiple Playwriter extensions are installed, the actively-used one (with tabs) now keeps the connection. New extensions are rejected with code 4002 instead of taking over.
- Smarter reconnection: Extension now polls
/extension/statusforactiveTargetscount and only attempts reconnection when the other extension has no active tabs.
Bug Fixes
- Proper state handling for 4002 rejection: Fixed issue where extension would keep retrying forever when rejected during WebSocket handshake. Now correctly enters
extension-replacedpolling state.
0.0.68
Bug Fixes
- Improved connection reliability: Use
127.0.0.1instead oflocalhostto avoid DNS/IPv6 resolution issues - Global connection timeout: Added 15-second global timeout wrapper around
connect()to prevent hanging forever when individual timeouts fail - Better WebSocket handling: Added
settledflag to properly handle timeout/open/error/close race conditions
Changes
- Faster retry loop: Reduced retry attempts from 30 to 5 since
maintainLoopretries every 3 seconds anyway - Allow own extension pages: Added
OUR_EXTENSION_IDSto allow attaching to our own extension pages while blocking other extensions
0.0.67
- Initial changelog