Tags: trycourier/courier-react-native
Tags
feat: Android SDK v6 migration + inbox background color theme props (#53 ) * fix: android build for SDK v6 migration - Update CourierSystemModule and ExampleService for SDK v6 API changes - Fix Android Studio jlink failure on Apple Silicon by setting Corretto 17 as Gradle JDK - Upgrade AGP to 8.1.1 and Gradle to 8.3 for compatibility - Update push notification documentation Co-authored-by: Cursor <cursoragent@cursor.com> * docs(example): clarify FCM service integration in ExampleService Document Courier SDK hooks and demo notification handling in the Android example FirebaseMessagingService. Co-authored-by: Cursor <cursoragent@cursor.com> * chore: bump package and native agent version to 6.0.0 Align npm version and iOS/Android Courier agent strings with the v6 SDK migration. Co-authored-by: Cursor <cursoragent@cursor.com> * Bump courier-android to 6.0.1 * feat: add inbox background color theme props and modernize example app - Add listItemBackgroundColor and tabBackgroundColor to CourierInboxTheme (TS, iOS, Android) - Wire backgroundColor into iOS SDK theme constructor, remove wrapper-view workaround - Bump Courier_iOS to 5.8.3, courier-android to 6.0.1 - Delete legacy example-073 project and scrub all references - Add Branded inbox tab to example-085, separate brand theme from styled theme - Update build_demo_app.sh with gum chooser, build number bumping, and signing Co-authored-by: Cursor <cursoragent@cursor.com> * fix: add missing iPad app icons to example-085 Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: courier-android-automation[bot] <courier-android-automation[bot]@users.noreply.github.com>
fix: android build for SDK v6 migration (#50) * fix: android build for SDK v6 migration - Update CourierSystemModule and ExampleService for SDK v6 API changes - Fix Android Studio jlink failure on Apple Silicon by setting Corretto 17 as Gradle JDK - Upgrade AGP to 8.1.1 and Gradle to 8.3 for compatibility - Update push notification documentation Co-authored-by: Cursor <cursoragent@cursor.com> * docs(example): clarify FCM service integration in ExampleService Document Courier SDK hooks and demo notification handling in the Android example FirebaseMessagingService. Co-authored-by: Cursor <cursoragent@cursor.com> * chore: bump package and native agent version to 6.0.0 Align npm version and iOS/Android Courier agent strings with the v6 SDK migration. Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Cursor <cursoragent@cursor.com>
feat: add React Native New Architecture support (Turbo Modules + Fabr… …ic interop) (#48) * feat: add React Native New Architecture support (Turbo Modules + Fabric interop) Addresses #35: Support for React Native New Architecture (Expo SDK 55 / RN 0.83+) Changes: - Use TurboModuleRegistry with NativeModules fallback for module resolution so native modules are discoverable in both bridgeless and bridge modes - Fix currentActivity null safety: avoid casting to ReactActivity which may not exist in bridgeless mode; use Activity directly - Fix CourierClientModule: use reactApplicationContext for CourierDevice.current() instead of force-unwrapping reactActivity - Fix CourierPreferencesViewManager: safe-cast currentActivity to FragmentActivity with fallback to ThemedReactContext - Update react-android dependency to use dynamic version (+) so the consuming app's RN version is resolved automatically - Update default SDK versions (compileSdk/targetSdk 34, minSdk 24, Kotlin 1.9.24) - Add safeExtGet helper for SDK version resolution from consuming project iOS side already supports New Architecture through the interop layer: - install_modules_dependencies in podspec handles both architectures - RCTEventEmitter/RCTViewManager work through Fabric/TurboModule interop * Add RN 0.85 example app with New Architecture support - Rename example/ to example-073/ to preserve RN 0.73 reference - Scaffold example-085/ with React Native 0.85.3 (New Architecture mandatory) - Fix Courier SDK Android init: MainActivity extends CourierReactNativeActivity - Fix Metro config: replace removed exclusionList/blacklistRE with blockList - Fix Android theme: use Theme.MaterialComponents for Courier native views - Bundle vector icon fonts via fonts.gradle for Android - Migrate AsyncStorage v3 API (multiGet/multiSet -> getMany/setMany) - Add resilient AsyncStorage error handling in AuthPreferences - Use standard React Navigation headers across all tabs - Update CI, scripts, docs, and launch.json for dual-example layout Co-authored-by: Cursor <cursoragent@cursor.com> * Add Expo SDK 55 example app and UI consistency fixes - Scaffold example-expo-55 as an Expo dev-client (prebuild) app with the full 5-tab Courier UI ported from example-085 - Configure native Courier integration (CourierReactNativeActivity on Android, CourierExpoDelegate on iOS, MaterialComponents theme) - Add metro.config.js for monorepo linking via extraNodeModules - Unify header bar color (#2196F3) across all tabs in example-073 - Add UIAppFonts to example-085 Info.plist for vector icon support on iOS - Update .gitignore, launch.json, and jest config for the new example Co-authored-by: Cursor <cursoragent@cursor.com> * Bump version to 5.8.0 and update Xcode project settings Co-authored-by: Cursor <cursoragent@cursor.com> * Cleanup to the delegate for requesting notifications * fix: update .nvmrc to Node 22 to fix CI builds example-085 requires Node >= 22.11.0 (React Native 0.85), but CI was using Node 18 from .nvmrc, causing all jobs to fail during yarn install with an engine incompatibility error. Co-authored-by: Cursor <cursoragent@cursor.com> * fix: resolve lint and build CI failures - Exclude example-expo-55 from tsconfig.build.json so tsc doesn't try to type-check it during `bob build` (its deps aren't installed in CI) - Exclude all example dirs from root tsconfig.json so `tsc --noEmit` only type-checks the library source code - Add example-expo-55 to eslintIgnore since it uses Expo conventions that differ from the root prettier/eslint config - Downgrade react-hooks/exhaustive-deps to "warn" in example-085's eslintrc to match the project-wide convention Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Merge dependency bumps and add theme backgroundColor support (#47) * Bump Courier_iOS to 5.8.1 * Bump courier-android to 5.3.1 * feat: add backgroundColor support to inbox and preferences themes - Add backgroundColor property to CourierInboxTheme and CourierPreferencesTheme TypeScript interfaces - Pass backgroundColor to native Android CourierInboxTheme and CourierPreferencesTheme constructors - Apply backgroundColor on iOS views based on current user interface style (light/dark) - Update example app to demonstrate backgroundColor usage in styled inbox and preferences Co-authored-by: Mike Miller <mike@mikemiller.design> * fix: use multiGet/multiSet instead of non-existent getMany/setMany on AsyncStorage * chore: bump version to 5.7.1 --------- Co-authored-by: courier-ios-automation[bot] <courier-ios-automation[bot]@users.noreply.github.com> Co-authored-by: courier-android-automation[bot] <courier-android-automation[bot]@users.noreply.github.com> Co-authored-by: Cursor Agent <cursoragent@cursor.com>
PreviousNext