Skip to content

feat(ahbg): Galaxy-first shipping — RevenueCat 10.19.1 + Galaxy backend - #25

Merged
erinepshovel-code merged 1 commit into
mainfrom
feat/ahbg-galaxy
Sep 2, 2026
Merged

erinepshovel-code merged 1 commit into
mainfrom
feat/ahbg-galaxy

Conversation

@erinepshovel-code

Copy link
Copy Markdown
Contributor

Galaxy Store pivot (contained repair)

The Galaxy path is shorter than Play for Shipaton (no publishing fee, no
12-tester/14-day gate, no API-36 requirement). This PR makes the one code
change the pivot requires and updates the shipping runbook.

Code

  • ahbg/android/app/build.gradle.kts: RevenueCat 8.10.1 → 10.19.1 and add
    com.revenuecat.purchases:purchases-store-galaxy:10.19.1. Native Galaxy IAP
    requires RevenueCat >= 10.7.0 plus that store module; coordinates and the
    v10 PurchasesConfiguration/EntitlementInfos.active/Store.GALAXY APIs
    were verified against the published AARs.
  • Entitlements.kt keeps the single benchmark_lab entitlement; store is
    auto-detected at runtime, so no store is hard-coded.

Runbook + docs

  • ahbg/submission/GALAXY_STORE_RUNBOOK.md: Seller Portal → Commercial Seller
    Status (start first; PayPal/D-U-N-S timing) → register AHBG → Samsung IAP
    ahbg_benchmark_lab → RevenueCat Galaxy app + Seller Portal service account
    → closed-beta purchase verification → review → publish → Devpost URL.
  • RevenueCat provisioning doc updated for the Galaxy app/service account;
    submission blockers re-scoped to the Galaxy-first path.

Gates

  • Local: runtime 12 OK, presentation 11 OK.
  • CI android-build will verify the upgraded dependency graph compiles.

hmmm

  • Commercial Seller Status approval is the schedule risk and is external.
  • Live Galaxy listing URL, Seller Portal service-account credentials, and the
    RevenueCat Galaxy app id cannot be produced from this repository.

- Upgrade RevenueCat Android SDK 8.10.1 -> 10.19.1 and add the
  purchases-store-galaxy billing backend (native Galaxy IAP needs
  RevenueCat >= 10.7.0 plus that module). Store auto-detected at runtime;
  Entitlements.kt keeps the single benchmark_lab entitlement boundary.
- Add Galaxy Store publication runbook (Seller Portal/commercial status,
  app registration, Samsung IAP, RevenueCat service-account connection,
  closed-beta purchase verification, review, publish, Devpost URL).
- Update RevenueCat provisioning doc for the Galaxy app + Seller Portal
  service account, and re-scope submission blockers to the Galaxy-first path.
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 2, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-02T02:03:04.581902Z 850ef0f PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@erinepshovel-code
erinepshovel-code merged commit 9d53a9c into main Sep 2, 2026
7 checks passed
@erinepshovel-code
erinepshovel-code deleted the feat/ahbg-galaxy branch September 2, 2026 02:01

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 850ef0f27e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +18 to +20
* RevenueCat 10.x with the `purchases-store-galaxy` billing backend: the
* store (Galaxy, or a later Play build with its module added) is auto-detected
* at runtime, so this file never hard-codes a store.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Configure RevenueCat for the Galaxy store

When the APK is installed from Galaxy, adding purchases-store-galaxy does not select that backend: PurchasesConfiguration.Builder(...).build() in Entitlements.kt retains the SDK's default Play store. The primary Galaxy build will therefore initialize Google Play billing instead of Samsung IAP and cannot complete Galaxy purchases; configure .store(Store.GALAXY) or use explicit per-store build variants.

Useful? React with 👍 / 👎.

Comment on lines +11 to +12
2. Add the Android app (`org.interdependency.ahbg`). For the Galaxy-first
path add a **Galaxy Store** app; add the Play app later if shipping Play.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Remove the Play-only sandbox prerequisite

When an operator follows this Galaxy-first path without creating a Play app, the unchanged note at the end of this document still says that store sandbox purchases require a Play Console upload. Galaxy closed-beta verification instead depends on the Seller Portal upload described by the new runbook, so the provisioning instructions are contradictory and can send the release through an unnecessary Play blocker; scope that note to Play or replace it with the Galaxy requirement.

Useful? React with 👍 / 👎.

Comment on lines +61 to +63
2. Verify the full path on-device:
install → observe/plan/act/build → persist/reload →
purchase `benchmark_lab` → entitlement unlocks → restore → repeat.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Add an in-app purchase and restore entry point

This closed-beta gate cannot be performed by a fresh user because the Android client has no purchase or restore entry point: PremiumStore only exposes isBenchmarkLabUnlocked(), MainActivity only bridges that query, and there are no offering, purchase, or restorePurchases calls anywhere under the Android app. Even after the Galaxy backend is selected, users can only observe an entitlement acquired elsewhere and cannot buy ahbg_benchmark_lab in this app, so wire the purchase and restore flows before treating this verification step as runnable.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant