feat(paywalls): add web_view component schema (PWENG-98)#3650
Draft
alexrepty wants to merge 1 commit into
Draft
Conversation
Contributor
Author
2 tasks
This was referenced Jun 25, 2026
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #3650 +/- ##
=======================================
Coverage 80.48% 80.48%
=======================================
Files 403 404 +1
Lines 16717 16728 +11
Branches 2386 2389 +3
=======================================
+ Hits 13455 13464 +9
Misses 2322 2322
- Partials 940 942 +2 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This was referenced Jun 25, 2026
6b4ecb1 to
9e93b6c
Compare
This was referenced Jun 26, 2026
9e93b6c to
b911095
Compare
alexrepty
commented
Jun 29, 2026
Comment on lines
+53
to
+60
| "capabilities": { | ||
| "network_access": { "allowed_domains": ["api.segment.io"] }, | ||
| "camera": true, | ||
| "microphone": true, | ||
| "clipboard_write": true, | ||
| "clipboard_read": true, | ||
| "geolocation": true | ||
| } |
Contributor
Author
There was a problem hiding this comment.
These are v2 capabilities which we deliberately omitted from the initial release.
dc40011 to
003b8ee
Compare
003b8ee to
fa1fcdf
Compare
fa1fcdf to
a46325f
Compare
📸 Snapshot Test593 unchanged
🛸 Powered by Emerge Tools |
Introduces the Paywalls V2 `web_view` component (`WebViewComponent`) and registers it in the `PaywallComponent` sealed hierarchy / serializer. Adds the minimal cross-module `when` branches required for the project to compile now that the sealed type has a new member (StyleFactory returns no style yet; image pre-download and unsupported-condition checks treat it as a leaf / traverse its fallback). No rendering, CSP, messaging, or pre-warming yet — those land in later PRs in the stack. Recommended labels: pr:other
a46325f to
40615bf
Compare
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.

Checklist
purchases-iosand hybridsMotivation
Paywalls V2 needs a
web_viewcomponent so a paywall can render hosted web content inside aWebView. This is the schema/model layer — the base of a reviewable stack that builds up the full feature.Part of PWENG-98.
Description
WebViewComponentto the sealedPaywallComponenthierarchy and registers"web_view"in the serializer, withurl,id,name,visible,protocol_version, andsize.whenbranches the new sealed subtype forces across:purchasesand:ui:revenuecatuiso everything still compiles (no rendering yet — aweb_viewdecodes but produces no UI).WebViewComponentTests(serialization, defaults, unknown-key tolerance).iOS parity: mirrors
purchases-ios(web-view-bridge-wiring).Stack (merge bottom-up): schema → rendering → CSP → value types → message model → variables provider → JS bridge → wiring.
Note
Low Risk
Schema and compile-time wiring only; no WebView rendering or network surface in this PR.
Overview
Adds Paywalls V2
web_viewas a newPaywallComponentsubtype so configs can reference hosted web bundle URLs (url, optionalprotocol_version,size, etc.).Registers
"web_view"in JSON deserialization and threads the type through tree walks (filter, image pre-download, unsupported-condition checks). UI styling mapsWebViewComponentto no style yet—nested instances are skipped like other placeholder types; rendering/CSP come in follow-ups.WebViewComponentTestscover full-schema decode, defaults, template URLs, and ignoring unknowncapabilitieskeys.Reviewed by Cursor Bugbot for commit 40615bf. Bugbot is set up for automated code reviews on this repo. Configure here.