[notifications] Use `requireNativeModule` instead of `NativeModulesProxy` (#24495)# Why Uses `requireNativeModule` instead of the `NativeModulesProxy`. # Test Plan - bare-expo ✅
[core] Add native functions for UUIDv4 generation (#24199)# Why For Android and iOS we want to use native UUIDv4 generation methods. # How Exposed the common methods using the `CoreModule`
[core] Add native functions for UUIDv4 generation (#24199)# Why For Android and iOS we want to use native UUIDv4 generation methods. # How Exposed the common methods using the `CoreModule` file. Changed the way uuids are exported. Now `expo-modules-core` exports a `uuid` object which contains `v4` function. # Test Plan Tested in BareExpo on Android, ios and web
show more ...
[notifications][docs]: Fix broken internal links (#24401)
fix(expo-notifications): fix rendering with Node.js (ssg) (#24195)# Why - fix https://github.com/expo/expo/issues/23895 --------- Co-authored-by: Expo Bot <[email protected].
fix(expo-notifications): fix rendering with Node.js (ssg) (#24195)# Why - fix https://github.com/expo/expo/issues/23895 --------- Co-authored-by: Expo Bot <[email protected]>
[core] Add uuid to expo-modules-core (#23249)
[notifications] Remove deprecated experienceId from getExpoPushTokenAsync options (#22303)# Why This option was deprecated on SDK 48 and should now be completely removed on SDK 49. From now on
[notifications] Remove deprecated experienceId from getExpoPushTokenAsync options (#22303)# Why This option was deprecated on SDK 48 and should now be completely removed on SDK 49. From now on users must specify a `projectId` either through `ExpoTokenOptions` or via the app manifest Closes ENG-7254 Follow up PR updating docs -> #22305 # How This PR removes the deprecated `experienceId` field from the `getExpoPushTokenAsync` function options. # Test Plan Run NCL # Checklist <!-- Please check the appropriate items below if they apply to your diff. This is required for changes to Expo modules. --> - [ ] Documentation is up to date to reflect these changes (eg: https://docs.expo.dev and README.md). - [ ] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md) - [ ] This diff will work correctly for `npx expo prebuild` & EAS Build (eg: updated a module plugin).
[expo-constants] Warn on use of Constants.manifest (#22247)
[docs][expo-notifications] Fix broken links in JSDoc definitions (#22242)
[constants] Remove references to Constants.manifest (#22070)
[notifications][docs] rename and export `getExpoPushTokenAsync` parameter type (#21104)Co-authored-by: Aman Mittal <[email protected]>
[notifications] autogenerate package documentation (#21002)
[2/3] upgrade react native 0.71 (#20832)# Why follow up #20799 for react-native 0.71 upgrade. this pr aims for jest upgrade and fix all broken tests. close ENG-7192 # How - upgrade packag
[2/3] upgrade react native 0.71 (#20832)# Why follow up #20799 for react-native 0.71 upgrade. this pr aims for jest upgrade and fix all broken tests. close ENG-7192 # How - upgrade packages - `jest: ^26.0.24 -> ^29.2.1` - `jest-watch-typeahead: 0.6.4 -> 2.2.1` - `@types/jest: ^26.0.24 -> ^29.2.1` - `babel-jest: ^26.6.3 -> ^29.2.1` - `@jest/create-cache-key-function: ^27.0.1 -> ^29.2.1` - `@babel/preset-env: ^7.12.9 -> ^7.14.0` - `eslint: ^8.20.0 -> ^8.29.0` - add `jest-environment-jsdom` because new jest does not include it by default - [core] fix `SyntheticPlatformEmitter` type error. originally it refers to `react-native/Libraries/EventEmitter/RCTDeviceEventEmitter` internal file which has incorrect type setup in 0.71. we could use the `react-native.DeviceEventEmitter` instead. - [expo-linking]: remove the deprecated `Linking.removeEventListener` (which is also removed from upstream) - [firebase-recaptcha] remove broken web test because firebase ESM which is not supported by jest. this pr simply remove the test case because the package is deprecated. - [jest-expo-enzyme] remove this package and move to [the archived repo](https://github.com/expo/jest-expo-enzyme). enzyme cannot upgrade to jest 29. - remove `@types/react-native` and the versioned cli package check. because 0.71 ships the types directly. - [ncl] workaround `@react-native-community/slider`, `@react-native-segmented-control/segmented-control`, and `@react-native-masked-view/masked-view` type errors in the `react-native-71-fix.d.ts`. - for other details, please check the commit histories one by one. # Test Plan - ci passed - for test-suite ios ci error, i've mentioned in #20799
[notifications] Update getExpoPushTokenAsync to make projectId required (#20833)# Why As the difference in behavior between classic and modern manifest is causing some confusion we're making `p
[notifications] Update getExpoPushTokenAsync to make projectId required (#20833)# Why As the difference in behavior between classic and modern manifest is causing some confusion we're making `projectId` required when calling `Notifications.getExpoPushTokenAsync()`. That can be specified either through`ExpoTokenOptions` or via the app manifest Closes ENG-5904 Follow up PR updating docs -> https://github.com/expo/expo/pull/20859 # How This PR updates `getExpoPushTokenAsync` to make `projectId` required, deprecating the `experienceId` param in favor of `projectId`. In case `projectId` was not included on `ExpoTokenOptions` we fallback to reading data from the manifest. # Test Plan Tested `getExpoPushTokenAsync` through NCL https://user-images.githubusercontent.com/11707729/212720316-a00eab84-3d1b-4142-adf7-59d547a0e471.mov # Checklist <!-- Please check the appropriate items below if they apply to your diff. This is required for changes to Expo modules. --> - [ ] Documentation is up to date to reflect these changes (eg: https://docs.expo.dev and README.md). - [ ] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md) - [ ] This diff will work correctly for `expo prebuild` & EAS Build (eg: updated a module plugin).
[notifications] Fixed `projectId` not found error when using with development builds (#20276)Co-authored-by: Expo Bot <[email protected]>
[packages][docs] fix few issues in code comments, regenerate docs data (#19366)
[expo-constants] Use new expoConfig field in various packages (#18188)
[Android][iOS][notifications] Support unregistering from push notifications (#17812)Co-authored-by: Tomasz Sapeta <[email protected]>
Change several expo.io references to expo.dev or exp.host (#16803)Docs: - Replaced docs.expo.io links in READMEs with docs.expo.dev - Updated references to docs.expo.io throughout docblocks in so
Change several expo.io references to expo.dev or exp.host (#16803)Docs: - Replaced docs.expo.io links in READMEs with docs.expo.dev - Updated references to docs.expo.io throughout docblocks in source code - Updated package.json files that linked to docs.expo.io Emails: - Changed some support and test emails to use `@expo.dev` Classic update hosts: - Changed `exp://expo.io` links to `exp://exp.host` links. This change is consistent with the URLs that Expo CLI generates.
[lint] Add "caughtErrors: 'all'" to linter config (#16591)Why --- ES2019 added "optional catch bindings" so that `e`/`error`/etc. don't need to be specified in catch clauses if the thrown value i
[lint] Add "caughtErrors: 'all'" to linter config (#16591)Why --- ES2019 added "optional catch bindings" so that `e`/`error`/etc. don't need to be specified in catch clauses if the thrown value isn't used. This changes our lint rules to warn if unnecessary error variables are declared. https://2ality.com/2017/08/optional-catch-binding.html. In JS, as opposed to TS, we allow unused catch bindings if the variable names are prefixed with an underscore. This is so that JS targeting older JS interpreters can write `catch (_) {}` if needed. With TS we disallow unused catch bindings since tsc can compile code to its target JS version. How --- Added `caughtErrors: 'all'` to the no-unused-vars rule's configuration. As part of this change, I made the TypeScript linting rules apply only to .ts/.tsx/.ts.d files and updated the unit test snapshots. Test Plan --- Added unit tests to the linter. Ran linter over all modules in this repo with expotools.
[expo-notifications] Fix DevicePushTokenAutoRegistration-test (#14547)
[expo-manifests] Remove reliance upon stableLegacyId/originalFullName (#14265)
[eslint-config] remove `arrowParens` overwrite, reformat files (#14232)
[eslint-config] bump dependencies and minimum required lint tools versions (#13858)Co-authored-by: James Ide <[email protected]>
[notifications] Add permission hooks from modules factory (#13863)* [notifications] Add permission hooks from modules factory * [notifications] Add changelog entry * [modules-core] Add generi
[notifications] Add permission hooks from modules factory (#13863)* [notifications] Add permission hooks from modules factory * [notifications] Add changelog entry * [modules-core] Add generic options to permission hook * [notifications] Use proper permission requesters with options * [notifications] Add the changelog line breaks back
Rename unimodules imports to expo-modules-core
1234