docs(manual): batch 3 - flip per-module bullet for billing webhook to exported
This commit is contained in:
parent
0b92632973
commit
dc624ebb21
|
|
@ -67,7 +67,7 @@ catalog start).
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| 1 | Repository layout: dead-file sweep + server/ removal | None — 4103c433 already covered all the dead-file references; the `core/notifications/`, `core/navigation/`, `core/analytics/`, `core/billing/` directories still exist and hold live code (TokenRegistrar, AppMessagingService, AppNavigation, etc.) so the line-963 and line-1021 references are still accurate. No stale `server/` references remain. | (no-op) |
|
| 1 | Repository layout: dead-file sweep + server/ removal | None — 4103c433 already covered all the dead-file references; the `core/notifications/`, `core/navigation/`, `core/analytics/`, `core/billing/` directories still exist and hold live code (TokenRegistrar, AppMessagingService, AppNavigation, etc.) so the line-963 and line-1021 references are still accurate. No stale `server/` references remain. | (no-op) |
|
||||||
| 2 | Billing: RevenueCat SDK + webhook + secret key | (1) Cloud Functions tree (line 203) still said "Ed25519 signature verify (NOT exported / not deployed)" — fixed to "HMAC-SHA256 signature verify (exported, deploy gated on REVENUECAT_WEBHOOK_SECRET)". (2) `purchases:10.12.0` on Android (line 869) → `purchases:10.13.0`. (3) `RevenueCat 10.12.0` in Gradle dep list (line 1134) → `RevenueCat 10.13.0`. (4) `revenucat_secret_api.md` added to the "Files that must never be committed" representative list (it was added to .gitignore in 48217dd7 but the manual didn't list it). | (this commit) |
|
| 2 | Billing: RevenueCat SDK + webhook + secret key | (1) Cloud Functions tree (line 203) still said "Ed25519 signature verify (NOT exported / not deployed)" — fixed to "HMAC-SHA256 signature verify (exported, deploy gated on REVENUECAT_WEBHOOK_SECRET)". (2) `purchases:10.12.0` on Android (line 869) → `purchases:10.13.0`. (3) `RevenueCat 10.12.0` in Gradle dep list (line 1134) → `RevenueCat 10.13.0`. (4) `revenucat_secret_api.md` added to the "Files that must never be committed" representative list (it was added to .gitignore in 48217dd7 but the manual didn't list it). | (this commit) |
|
||||||
| 3 | Cloud Functions: webhook handler | TBD | TBD |
|
| 3 | Cloud Functions: webhook handler | Line 831 (per-module responsibilities) said "RevenueCat webhook (source-only; not exported/deployed)" — fixed to "exported; deploy gated on `REVENUECAT_WEBHOOK_SECRET`". All other webhook-related lines (843-844, 905-908, 910) were already updated by 89d06eeb itself. | (this commit) |
|
||||||
| 4 | Engineering conventions: copy catalog + string resource cleanup | TBD | TBD |
|
| 4 | Engineering conventions: copy catalog + string resource cleanup | TBD | TBD |
|
||||||
| 5 | Notifications / FCM: qa_push.js | TBD | TBD |
|
| 5 | Notifications / FCM: qa_push.js | TBD | TBD |
|
||||||
| 6 | TOC + anchor integrity | TBD | TBD |
|
| 6 | TOC + anchor integrity | TBD | TBD |
|
||||||
|
|
|
||||||
|
|
@ -828,7 +828,7 @@ Every function module follows the same shape:
|
||||||
|
|
||||||
### Per-module responsibilities
|
### Per-module responsibilities
|
||||||
|
|
||||||
- **billing** - RevenueCat webhook (source-only; not exported/deployed), entitlement event handlers (`onEntitlementChanged`), forced re-sync callable (`syncEntitlement`). Entitlement writes are idempotent (write the same Firestore doc and use `entitlement_events/` as a dedup marker).
|
- **billing** - RevenueCat webhook (exported; deploy gated on `REVENUECAT_WEBHOOK_SECRET`), entitlement event handlers (`onEntitlementChanged`), forced re-sync callable (`syncEntitlement`). Entitlement writes are idempotent (write the same Firestore doc and use `entitlement_events/` as a dedup marker).
|
||||||
- **couples** - invite create/accept/leave (`createInviteCallable`, `acceptInviteCallable`, `leaveCoupleCallable`, `onCoupleLeave`), outcome submission (`submitOutcomeCallable`), scheduled 30/60/90 reminders (`scheduledOutcomesReminder`), privacy-safe aggregate rollup (`aggregateOutcomeStats`).
|
- **couples** - invite create/accept/leave (`createInviteCallable`, `acceptInviteCallable`, `leaveCoupleCallable`, `onCoupleLeave`), outcome submission (`submitOutcomeCallable`), scheduled 30/60/90 reminders (`scheduledOutcomesReminder`), privacy-safe aggregate rollup (`aggregateOutcomeStats`).
|
||||||
- **dates** - mutual-love trigger creates a date match document and notifies the couple (`notifyOnDateMatch` under `createDateMatch.ts`); date reflection write/reveal triggers and a history-aggregation trigger.
|
- **dates** - mutual-love trigger creates a date match document and notifies the couple (`notifyOnDateMatch` under `createDateMatch.ts`); date reflection write/reveal triggers and a history-aggregation trigger.
|
||||||
- **games** - game session updates notify the partner and append to `notification_queue` (`onGameSessionUpdate`); per-game part-finished triggers fire when one partner finishes an async game (`onThisOrThatPartFinished` / `onWheelPartFinished` / `onHowWellPartFinished` / `onDesireSyncPartFinished`).
|
- **games** - game session updates notify the partner and append to `notification_queue` (`onGameSessionUpdate`); per-game part-finished triggers fire when one partner finishes an async game (`onThisOrThatPartFinished` / `onWheelPartFinished` / `onHowWellPartFinished` / `onDesireSyncPartFinished`).
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue