3.3 KiB
3.3 KiB
TODO
Remove items from this list once they are done.
- upload source maps to Bugsink so release-build stack traces are symbolicated (until then
they're minified): create an auth token in Bugsink and set
SENTRY_AUTH_TOKENas an EAS secret — the Sentry plugin config inapp.json(url/organization/project) is already set up for the upload. Needs Bugsink ≥ 2.0.14; verify the project slug in Bugsink matchescnapp - consider turning on R8 for Android release builds (SDK 58 default, disabled via
android.enableMinifyInReleaseBuilds: falsein theexpo-build-propertiesplugin config inapp.json): smaller APK, but native Android stack traces get obfuscated unless the R8 mapping file reaches Bugsink, which doesn't document ProGuard/R8 mapping support. Also check whether Stripe or Sentry need ProGuard keep rules - verify the SDK 58 upgrade on devices:
useFrameworks: "dynamic"(needed since@stripe/stripe-react-native0.78 pulls the Stripe iOS SDK through Swift Package Manager) is untested with Skia, Reanimated and Sentry, so do an iOS EAS build first; then a test-mode purchase on Android and iOS including a card that requires authentication (exercises thehandleURLCallbackdeep link), an expiry reminder notification, and an error that lands in Bugsink - test in ios emulator? (
npm run ios, requires macOS) - characters in the password input field are invisible
- ask for date of birth and place of study when registering: galtinn now requires them on its web
sign-up and profile forms, but
/api/user/register/still treats them as read-only, so users registered in the app must fill them in before they can save their profile on the web. Needs galtinn's register serializer to accept them first - use Expo Application Services to build and submit app to stores
- explore Expo features:
- add an iOS 26 liquid glass icon: a
.iconfile made with Apple's Icon Composer, referenced fromios.icon(old icon remains as fallback for older iOS); optionally play withexpo-glass-effect - try
@expo/ui, production-ready as of SDK 56: real SwiftUI / Jetpack Compose components that could back the homegrown ones insrc/components/
- add an iOS 26 liquid glass icon: a
- add Apple Pay for membership
payments: either natively in the payment sheet (register the merchant ID
merchant.no.neuf.chateau+ Apple Pay certificate, setmerchantIdentifierin the@stripe/stripe-react-nativeplugin config, passapplePaytoinitPaymentSheet, new iOS build), or for free by moving payment to a Stripe-hosted Checkout page in the browser (needs a backend Checkout Session endpoint and a return deep link) - add Google Pay for
membership payments: either natively in the payment sheet (
enableGooglePay: truein the plugin config, passgooglePaytoinitPaymentSheet, request production access in the Google Pay & Wallet Console, new Android build), or for free via the same Stripe-hosted Checkout page as for Apple Pay