Skip to content

feat(paywalls): fall back to the offerings paywall when the workflow fetch fails#3709

Draft
vegaro wants to merge 1 commit into
cesar/workflows-config-endpoint-rewritefrom
cesar/workflows-offerings-fallback
Draft

feat(paywalls): fall back to the offerings paywall when the workflow fetch fails#3709
vegaro wants to merge 1 commit into
cesar/workflows-config-endpoint-rewritefrom
cesar/workflows-offerings-fallback

Conversation

@vegaro

@vegaro vegaro commented Jul 3, 2026

Copy link
Copy Markdown
Member

Summary

  • The config endpoint can be disabled for the session after a 4xx, be unreachable, or simply have no workflow for the offering yet. In all of those cases the offering still carries the paywall /offerings delivered, so render that through the regular components path instead of surfacing PaywallState.Error.
  • The error state remains for offerings with nothing to fall back to.

Stacked on #3716.

Test plan

  • :ui:revenuecatui:testDefaultsBc8DebugUnitTest

vegaro commented Jul 3, 2026

Copy link
Copy Markdown
Member Author

@vegaro vegaro force-pushed the cesar/workflows-offerings-fallback branch from 7ec5612 to 2db6417 Compare July 6, 2026 08:13
@vegaro vegaro changed the base branch from cesar/workflows-config-endpoint-foundation to cesar/workflows-config-endpoint-rewrite July 6, 2026 08:13
@vegaro vegaro force-pushed the cesar/workflows-config-endpoint-rewrite branch from 862b192 to a9d8b65 Compare July 6, 2026 08:21
@vegaro vegaro force-pushed the cesar/workflows-offerings-fallback branch from 2db6417 to a0633cb Compare July 6, 2026 08:22
@codecov

codecov Bot commented Jul 6, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 80.32%. Comparing base (8836042) to head (d41a4f2).

Additional details and impacted files
@@                           Coverage Diff                            @@
##           cesar/workflows-config-endpoint-rewrite    #3709   +/-   ##
========================================================================
  Coverage                                    80.32%   80.32%           
========================================================================
  Files                                          405      405           
  Lines                                        16576    16576           
  Branches                                      2377     2377           
========================================================================
  Hits                                         13314    13314           
  Misses                                        2315     2315           
  Partials                                       947      947           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@vegaro vegaro force-pushed the cesar/workflows-config-endpoint-rewrite branch from a9d8b65 to 76c654f Compare July 6, 2026 09:31
@vegaro vegaro force-pushed the cesar/workflows-offerings-fallback branch from a0633cb to f45cbe3 Compare July 6, 2026 09:31
@vegaro vegaro force-pushed the cesar/workflows-config-endpoint-rewrite branch from 76c654f to 321280b Compare July 6, 2026 10:10
@vegaro vegaro force-pushed the cesar/workflows-offerings-fallback branch from f45cbe3 to 78f1020 Compare July 6, 2026 10:11
@vegaro vegaro force-pushed the cesar/workflows-config-endpoint-rewrite branch from 321280b to 014ac68 Compare July 6, 2026 10:31
@vegaro vegaro force-pushed the cesar/workflows-offerings-fallback branch from 78f1020 to 2398df9 Compare July 6, 2026 10:32
@vegaro vegaro force-pushed the cesar/workflows-config-endpoint-rewrite branch from 014ac68 to 162b48a Compare July 6, 2026 11:28
@vegaro vegaro force-pushed the cesar/workflows-offerings-fallback branch from 2398df9 to 2874393 Compare July 6, 2026 11:29
@vegaro vegaro force-pushed the cesar/workflows-config-endpoint-rewrite branch from 162b48a to 9503ffc Compare July 6, 2026 11:43
@vegaro vegaro force-pushed the cesar/workflows-offerings-fallback branch from 2874393 to 55ec8a7 Compare July 6, 2026 11:43
@vegaro vegaro force-pushed the cesar/workflows-offerings-fallback branch from 55ec8a7 to ebbd507 Compare July 6, 2026 13:16
@vegaro vegaro force-pushed the cesar/workflows-config-endpoint-rewrite branch from 9503ffc to 516b530 Compare July 6, 2026 13:16
@vegaro vegaro force-pushed the cesar/workflows-config-endpoint-rewrite branch 2 times, most recently from 0087da7 to 9ac153f Compare July 6, 2026 14:42
@vegaro vegaro force-pushed the cesar/workflows-offerings-fallback branch from ebbd507 to 526f90c Compare July 6, 2026 14:42
@vegaro vegaro changed the base branch from cesar/workflows-config-endpoint-rewrite to graphite-base/3709 July 6, 2026 14:54
…fetch fails

The /v1/config endpoint can be disabled for the session after a 4xx (the
kill switch), be unreachable, or simply have no workflow for the offering
yet. In all of those cases the offering still carries the paywall that
/offerings delivered, so render that through the regular components path
instead of surfacing PaywallState.Error — apps keep showing a paywall
when the config layer can't serve one. The error state remains for
offerings with nothing to fall back to.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vegaro vegaro force-pushed the cesar/workflows-offerings-fallback branch from 526f90c to d41a4f2 Compare July 6, 2026 15:06
@vegaro vegaro changed the base branch from graphite-base/3709 to cesar/workflows-config-endpoint-rewrite July 6, 2026 15:06
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.

1 participant