Add 14-day trial and choose-your-price lifetime access - #14
Draft
bbishdotdev wants to merge 6 commits into
Draft
bbishdotdev wants to merge 6 commits into
bbishdotdev wants to merge 6 commits into
Conversation
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.
Braver Search currently supports optional tips but has no verified access policy for a trial or one-time unlock. This adds a free 14-day trial and a choose-your-price lifetime screen for iOS and macOS, while preserving free access and optional donations for qualifying legacy users.
The shared native policy gates ordinary Safari redirects, restores verified purchase evidence, handles refunds, and restricts the setup-test exception to the current diagnostic. All five lifetime prices grant identical access. The purchase screen reuses the existing lion artwork and gold/dark styling.
Production enforcement remains disabled (
launchDate = nil). Six draft non-consumables are configured in App Store Connect. Approval, the announced grandfathering cutoff, genuine legacy upgrades, real sandbox cross-device restoration, and the no-payment-method account check remain release prerequisites. The DEBUG-only local purchase mode uses yesterday's cutoff and an isolated record, requires verified Sandbox/Xcode acquisition, and changes cohort/time without manufacturing purchase ownership. TestFlight/review-safe new-user handling remains outstanding.Validation: 79 JavaScript tests; 20 production policy checks plus clock checks and 8 local-cohort checks; shared telemetry/setup regressions; iOS and macOS XCTest/StoreKit tests covering trial, restoration, refund, expiry, and storage isolation. Both Release builds compile, and all four app/extension executables pass fixture-exclusion audits. Mac tests pass with ad-hoc signing; developer-signed Mac Safari and physical-iPhone runtime checks still require local signing-key access. CI runs each platform independently with bounded tests and preserved diagnostics.
The app authorizes no automatic payment or hold for the trial. Apple controls account authentication and verification prompts; a real no-payment-method account check is still required before promising no billing-information prompt.