Repository navigation
Conversation
Discover wrapper references from TypeScript and enumerate callable native properties. Save requested/granted permissions, three presence states and runtime results locally or as CI artifacts, with separate human findings.
Exercise macos-15 and macos-26 and upload observations after success or failure. Keep the pilot outside reusable CI and the release dependency chain.
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.
Follow-up to the Safari API compatibility fix (#42) for #40. This PR contains observation/reporting infrastructure and an independent macOS pilot, with the API fixes supplied by its base branch.
Resolve native wrapper references from the TypeScript source, then enumerate callable properties (including inherited/non-enumerable properties) of exposed namespaces. Save actual system versions, source revision, requested and granted permissions/origins, scenario outcomes and three presence states: namespace unavailable, method unavailable within an exposed namespace, and method present. Presence does not establish runtime correctness or attribute absence to Safari.
Human-reviewed incorrect calls, source-only checks and remaining gaps stay in static sections. Raw JSON/Markdown reports go to the ignored .output/webkit directory and CI artifacts; no generated browser snapshot is committed. The fixture now requests and grants webRequest.
The separate WebKit pilot runs Node 24 on macos-15 and macos-26, uploads observations on success/failure, and is outside reusable CI and the release dependency chain. Hosted versions are recorded by each run rather than assumed to match local macOS 27.2.
Validation: observation state/enumeration tests and source-symbol discovery tests; lint, types, build/tree shaking; all five native scenarios locally on WebKit 22625.2.8.11.9 / macOS 27.2. The API contracts remain version-independent. Main API fixes, this infrastructure, and the unrelated scripting type fix are separate PRs.
Hosted verification completed successfully in the PR pilot run:
Both downloaded report artifacts contain a clean source revision, all scenario results and the actual granted permissions, including webRequest. Runner labels do not pin the macOS patch version: the earlier push run used macOS 26.6.2 with the same WebKit build. The separate push run also passed both jobs; these initial successes establish operation, not long-term flake statistics.
Stack order: #41, then #42, then this PR. Retarget the dependent PRs to develop after their prerequisites land.