1.5 KiB
1.5 KiB
ADR-002: Capacitor coexistence & Play application id
- Status: Accepted (initial)
- Date: 2026-08-05
- Context: Epic chat_web_app#111 — package-name continuity matters for IAP + reviews.
Decision
- Native app
applicationId=ai.hesychia.chat(same as Capacitor /llm-fe/android). - Until native internal testing replaces Capacitor on Play:
- Capacitor remains interim Play track.
- Do not upload both Capacitor and native AABs under the same listing as competing “current” production binaries without a freeze plan.
- When native auth → chat → IAP path is green on internal testing:
- Freeze Capacitor Play uploads.
- Promote native AAB on the same listing (versionCode continues upward from Capacitor’s last upload).
betaflavor usesapplicationIdSuffix = ".beta"→ai.hesychia.chat.betafor side-by-side installs during development only (not the production listing).
Rationale
Same application id preserves Play listing, reviews, and RevenueCat / Play Billing product bindings already tied to ai.hesychia.chat.
Rejected
- New id (
ai.hesychia.chat.native) then migrate users — splits listings, breaks IAP continuity, worse for reviews.
Open ops
- Confirm last Capacitor
versionCodebefore first native Play upload. - RevenueCat dashboard already includes package id
ai.hesychia.chat(Capacitor path). - Capacitor shell in
llm-fe/androidstays for web mobile wrap until product sunsets it; document deprecation inchat_web_appwhen freeze date set.