fix(mobile): remove links to web billing for App Review 3.1.1

KI
2d ago
+56-189

Why

App Review rejected iOS 1.2.1 (build 140) on 2026-11-06 under 3.1.1 (and 2.5.4, see below). Reviewers sign in with Sign in with Apple, which creates a new Free "John Apple" org every time, so they always land on the Pro paywall. Its "Upgrade on superset.sh" button links to a page where a plan is bought. Outside the US storefront that is not allowed (this reviewer was on GB), and we ship one build worldwide.

apps/mobile/RELEASE.md already said "no links to where a plan can be bought". Three PRs added such links after that line was written: #7375 (plan alert), #7502 (paywall button), #8318 (share-sheet invite alert).

What

  • Remove all three links and the billingSettingsUrl helper. The screens still explain that the plan is managed on the web; they just don't link to it.
  • Add apps/mobile/no-purchase-links.test.ts: it fails when mobile source contains a /settings/billing, /pricing, /checkout or /upgrade path. I checked that it fails on main's web-links.ts.
  • Review notes (store.config.js): open with "sign in with the demo account", say there are no purchase links or calls to action, and add a 2.5.4 background audio entry for voice mode, with an optional APP_REVIEW_VOICE_VIDEO_URL for the device recording. 3,749 of 4,000 characters.
  • RELEASE.md pre-flight: mention the test and the Sign in with Apple behavior, and add a check that every UIBackgroundModes entry is reachable or recorded.
  • UIBackgroundModes: ["audio"] stays: voice mode needs it while the phone is locked. 2.5.4 gets a device recording, not a removal.
  • Lingui catalogs: only the two removed messages ("Upgrade on {0}", "Manage on {0}") are dropped. No new strings.

JS-only (no native change), so after merge it can also reach the approved build over the air.

Not in this PR

  • Pro as an in-app purchase, the long-term 3.1.1 answer: SUPER-3197.
  • Reply to App Review asking to approve 1.2.1 as a bug-fix submission: sent separately from App Store Connect.

Testing

  • bun test in apps/mobile: 257 pass, 0 fail.
  • bun run check:i18n: passes; catalogs stable after rebase.
  • biome check on changed files: clean.
  • bun run typecheck in apps/mobile: 187 errors in this worktree, none in the changed files. They come from @superset/host-service not being built here.
  • Not run in the simulator.

Summary by cubic

Removes all in-app links to web pages where a plan can be purchased, fixing the App Review 3.1.1 rejection. The paywall "Upgrade on superset.sh" button, the share-invite alert, and the settings screen no longer link to /settings/billing; the screens still say plans are managed on the web.

  • Adds no-purchase-links.test.ts, which fails CI when mobile source references billing, pricing, checkout, or upgrade paths.
  • Updates App Store review notes to lead with the demo account (reviewers using Sign in with Apple always see the paywall as a fresh free org) and adds a 2.5.4 background audio entry for voice mode.
  • Keeps UIBackgroundModes: ["audio"] since voice mode needs it while the phone is locked; review notes expect a physical-device recording instead.
  • Adds a RELEASE.md pre-flight check that every UIBackgroundModes entry is reachable or recorded.
  • No new i18n strings; only the two removed messages drop from the catalogs.

Summary by CodeRabbit

  • App Updates
    • Removed links and buttons for managing or upgrading a plan on the company website from the mobile app.
    • Paid-plan notices now offer a Dismiss action instead of a link to plan management.
    • Updated app review guidance with sign-in, background audio, and microphone-use details.