3.2 KiB
3.2 KiB
TODO
Remove items from this list once they are done.
- check that Android release builds now fit on EAS's default worker (4 vCPUs, 15.6 GB). Three
builds failed on the Skia step: one stalled in
:shopify_react-native-skia:buildCMakeRelWithDebInfo [arm64-v8a]until EAS's 45-minute limit, two failed with "Gradle build daemon disappeared unexpectedly", the last even with Gradle limited to two workers. Cause: a memory regression in@shopify/react-native-skia2.14.0 (Expo SDK 58's pin), whoseViewProperty.cppandRNSkPictureView.cppinclude the whole JSI API, so three translation units of ~2.5, 2.6 and 4.5 GB compile in parallel inside Skia's own ninja build (wcandillon/react-native-skia#4284). Locally under the same limits (taskset -c 0-3, a 15 GB no-swap systemd scope) the build peaked at 13.3 GB of anonymous memory. Fixed in 2.15.2, which the moved project publishes asreact-native-skia, sopackage.jsonaliases@shopify/react-native-skiatonpm:react-native-skia@2.15.2and lists it inexpo.install.exclude. Drop the alias and the exclusion once Expo pins a Skia with the fix - check that release builds' source maps make Bugsink's stack traces readable: the upload works
(build 31's log shows
Uploaded files to SentryonceSENTRY_URLwas set ineas.json), so throw an error in a release build and check for symbolicated frames in Bugsink'scnappproject - 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 Sentry needs ProGuard keep rules - verify the SDK 58 upgrade on Android: an expiry reminder notification and an error that lands in Bugsink
- check on iOS, with an EAS build or
npm run ioson macOS: the SDK 58 upgrade (an expiry reminder notification, an error that lands in Bugsink), the registration form's birth date wheel (src/components/DateField.tsx), and a Stripe Checkout purchase, renewal and cancel. Check Apple Pay shows inside the auth session (ASWebAuthenticationSession); if not, switch toWebBrowser.openBrowserAsyncplus aLinkinglistener - confirm Google Pay on Checkout with a real card in Google Wallet, and that Apple Pay, Google Pay and Link are enabled in the Stripe Dashboard's Checkout settings
- once app versions using the Payment Sheet are gone, drop galtinn's
/api/stripe/payment-sheet/endpoint and itspayment_intent.succeededhandling - 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