chore: wk webview experiment#40812
Open
pavelfeldman wants to merge 4 commits into
Open
Conversation
yury-s
approved these changes
May 13, 2026
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Boots an iOS Simulator, launches Mobile Safari, exposes its Web Inspector through ios-webkit-debug-proxy on TCP, discovers the per-tab WebSocket URL, and runs tests/webview against it. DEBUG=pw:protocol surfaces every wvConnection send/receive; the protocol log is tailed inline and uploaded as an artifact. Temporarily disables pull_request triggers on the other workflows so this branch doesn't churn CI on every push. Markers note "restore before merge".
Contributor
Test results for "MCP"7181 passed, 1113 skipped Merge workflow run. |
iOS Mobile Safari's per-page inspector channel speaks the wrapped form of the WebKit Inspector protocol: outgoing commands must come through Target.sendMessageToTarget, and responses arrive in Target.dispatchMessageFromTarget. ios-webkit-debug-proxy forwards the WebSocket bytes transparently, so wk_wv has to do the wrapping itself. WVConnection now exposes an outerSession that speaks the raw transport (and handles Target.* lifecycle events) plus a lazily-created browserSession whose _rawSend wraps every message into Target.sendMessageToTarget. WVBrowser.connectOverCDP awaits the first Target.targetCreated before constructing WVPage so that Page.* and Runtime.* commands flow on the wrapping session.
Runs only tests/page/page-check.spec.ts (~17 tests) so the first CI run focuses on validating the protocol wrapping against Mobile Safari rather than chasing mobile-vs-desktop test expectation drift. Widen once the spike proves the connection path.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.