From c5fb85fb771110b8fd3c22ac58ab14ad80765900 Mon Sep 17 00:00:00 2001 From: Jonas Braathen Date: Thu, 29 Oct 2026 21:09:47 +0100 Subject: [PATCH] docs: move the TODO list from README to TODO.md --- README.md | 29 ----------------------------- TODO.md | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 29 deletions(-) create mode 100644 TODO.md diff --git a/README.md b/README.md index 5607ab7..41ba63b 100644 --- a/README.md +++ b/README.md @@ -104,32 +104,3 @@ hooks against the whole repo with: This is a fork of [dusken-client](https://git.neuf.no/edb/dusken-client) with some history, code and binary blobs related to React Native functionality filtered out before [commit 7f6b2c21](https://git.neuf.no/edb/cnapp/commit/7f6b2c2129068d2fe8623172582bffd31eb4a131). - -## TODO - -- 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_TOKEN` as an - [EAS secret](https://docs.expo.dev/eas/environment-variables/) — the Sentry plugin config - in `app.json` (url/organization/project) is already set up for the upload. Needs - [Bugsink ≥ 2.0.14](https://www.bugsink.com/docs/sourcemaps/); verify the project slug in - Bugsink matches `cnapp` -- test in ios emulator? (`npm run ios`, requires macOS) -- use [Expo Application Services](https://expo.dev/eas) to build and submit app to stores -- explore Expo features: - - add an iOS 26 liquid glass icon: a `.icon` file made with Apple's Icon Composer, - referenced from `ios.icon` (old icon remains as fallback for older iOS); optionally - play with [`expo-glass-effect`](https://docs.expo.dev/versions/latest/sdk/glass-effect/) - - try [`@expo/ui`](https://docs.expo.dev/versions/latest/sdk/ui/), production-ready as of SDK 56: - real SwiftUI / Jetpack Compose components that could back the homegrown ones in - `src/components/` -- add [Apple Pay](https://docs.stripe.com/apple-pay?platform=react-native) for membership - payments: either natively in the payment sheet (register the merchant ID - `merchant.no.neuf.chateau` + Apple Pay certificate, set `merchantIdentifier` in the - `@stripe/stripe-react-native` plugin config, pass `applePay` to `initPaymentSheet`, - 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](https://docs.stripe.com/google-pay?platform=react-native) for - membership payments: either natively in the payment sheet (`enableGooglePay: true` in - the plugin config, pass `googlePay` to `initPaymentSheet`, 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 diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..838a07d --- /dev/null +++ b/TODO.md @@ -0,0 +1,35 @@ +# 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_TOKEN` as an + [EAS secret](https://docs.expo.dev/eas/environment-variables/) — the Sentry plugin config + in `app.json` (url/organization/project) is already set up for the upload. Needs + [Bugsink ≥ 2.0.14](https://www.bugsink.com/docs/sourcemaps/); verify the project slug in + Bugsink matches `cnapp` +- 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](https://expo.dev/eas) to build and submit app to stores +- explore Expo features: + - add an iOS 26 liquid glass icon: a `.icon` file made with Apple's Icon Composer, + referenced from `ios.icon` (old icon remains as fallback for older iOS); optionally + play with [`expo-glass-effect`](https://docs.expo.dev/versions/latest/sdk/glass-effect/) + - try [`@expo/ui`](https://docs.expo.dev/versions/latest/sdk/ui/), production-ready as of SDK 56: + real SwiftUI / Jetpack Compose components that could back the homegrown ones in + `src/components/` +- add [Apple Pay](https://docs.stripe.com/apple-pay?platform=react-native) for membership + payments: either natively in the payment sheet (register the merchant ID + `merchant.no.neuf.chateau` + Apple Pay certificate, set `merchantIdentifier` in the + `@stripe/stripe-react-native` plugin config, pass `applePay` to `initPaymentSheet`, + 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](https://docs.stripe.com/google-pay?platform=react-native) for + membership payments: either natively in the payment sheet (`enableGooglePay: true` in + the plugin config, pass `googlePay` to `initPaymentSheet`, 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