Skip to content

feat(paywalls): internal web_view JSON value type#7227

Merged
ajpallares merged 7 commits into
mainfrom
webview/1-public-api
Jul 20, 2026
Merged

feat(paywalls): internal web_view JSON value type#7227
ajpallares merged 7 commits into
mainfrom
webview/1-public-api

Conversation

@JZDesign

@JZDesign JZDesign commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Checklist

  • If applicable, unit tests
  • If applicable, create follow-up issues for purchases-android and hybrids

Motivation

Part 1 of 7 splitting #7183; inert until Part 7. The web view message bridge is an implementation detail and must not expand RevenueCatUI's public API.

Description

Adds the internal PaywallWebViewValue JSON value type consumed by later stack entries. The message-handler concept (message, action, controller, and SwiftUI environment types) has been removed from the stack; the RevenueCatUI API baselines and API tester remain unchanged.

PWENG-99

PR Plan

Part PR Branch Base
1/7 #7227 webview/1-public-api main
2/7 #7228 webview/2-envelope webview/1-public-api
3/7 #7229 webview/3-isolation-navigation main
4/7 #7230 webview/4-schema main
5/7 #7231 webview/5-session webview/deps-123
6/7 #7232 webview/6-view webview/deps-45
7/7 #7233 webview/7-activate webview/deps-6

Add PaywallWebViewMessage/Value/Controller/Action types and API baselines.
Controller post APIs are no-ops until the session PR wires WebKit.

Co-authored-by: Jacob Rakidzich <Jacob@JacobZivanDesign.com>
Comment thread RevenueCatUI/Templates/V2/Components/WebView/PaywallWebViewAPI.swift Outdated
Co-authored-by: Jacob Rakidzich <Jacob@JacobZivanDesign.com>
@cursor cursor Bot changed the title feat(paywalls): public API surface for web_view messages (1/7) feat(paywalls): internal web_view message bridge types (1/7) Jul 16, 2026
Comment thread RevenueCatUI/Templates/V2/Components/WebView/PaywallWebViewAPI.swift Outdated
Comment thread RevenueCatUI/Templates/V2/Components/WebView/PaywallWebViewAPI.swift Outdated
Co-authored-by: Jacob Rakidzich <Jacob@JacobZivanDesign.com>
@cursor cursor Bot changed the title feat(paywalls): internal web_view message bridge types (1/7) feat(paywalls): add internal web_view JSON value (1/7) Jul 17, 2026
Co-authored-by: Jacob Rakidzich <Jacob@JacobZivanDesign.com>
@cursor cursor Bot changed the title feat(paywalls): add internal web_view JSON value (1/7) feat(paywalls): internal web_view message bridge types (1/7) Jul 17, 2026
JZDesign and others added 2 commits July 17, 2026 11:09
The bridge no longer forwards messages to an app-provided handler, so the
message, action, controller, and environment types are removed. Only the
JSON value type remains.

Co-authored-by: Cursor <cursoragent@cursor.com>
@ajpallares ajpallares changed the title feat(paywalls): internal web_view message bridge types (1/7) feat(paywalls): internal web_view JSON value type (1/7) Jul 20, 2026
@ajpallares
ajpallares merged commit 26b76b0 into main Jul 20, 2026
19 of 20 checks passed
@ajpallares
ajpallares deleted the webview/1-public-api branch July 20, 2026 09:27
@ajpallares ajpallares added pr:other and removed pr:feat A new feature labels Jul 20, 2026
@ajpallares ajpallares changed the title feat(paywalls): internal web_view JSON value type (1/7) feat(paywalls): internal web_view JSON value type Jul 20, 2026
ajpallares added a commit that referenced this pull request Jul 21, 2026
Retarget Part 5 onto main now that Parts 1-3 (#7227, #7228, #7229) are merged.

Resolve conflicts by keeping main's canonical Part 1-3 files (PaywallWebViewValue,
WebViewEnvelope, WebViewOriginPolicy and their tests) and dropping stale
deps-123 artifacts (PaywallWebViewAPI.swift, WebViewIsolation.swift and its test,
plus the now-unused content_rules_failed log string). Part 5's own additions
(WebViewSession + tests, log strings) are preserved.

Co-authored-by: Cursor <cursoragent@cursor.com>
This was referenced Jul 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants