[android][screen-capture] Migrate to Expo Modules API (#22208)
[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
show more ...
[docs] detect broken internal links in generated doc comments, fix links (#16771)Co-authored-by: Tomasz Sapeta <[email protected]>
Rename unimodules imports to expo-modules-core
[screen-capture] Add doc comments in source, export missing type (#13352)
[screen-capture] Add is available async for availability check (#12121)* [screen-capture] Add is available async for availability check * [screen-capture] Update pr reference in changelog * [
[screen-capture] Add is available async for availability check (#12121)* [screen-capture] Add is available async for availability check * [screen-capture] Update pr reference in changelog * [screen-capture] Update link to pr Co-authored-by: Charlie Cruzan <[email protected]> Co-authored-by: Charlie Cruzan <[email protected]>
[screen-capture] feat: add ability to listen for screenshots (#9747)* add typescript interface * ios implementation * rename event * android implementation * tests, changelog, readme
[screen-capture] feat: add ability to listen for screenshots (#9747)* add typescript interface * ios implementation * rename event * android implementation * tests, changelog, readme * docs * fix multiple events being sent on some android devices (pixel) * Update screen-capture.md * feedbac: rename ScreenShot -> Screenshot * feedback: remove old snack code
[expo-screen-capture] Create ScreenCapture module (#8326)* android implementation * rename to screen-capture * yarn build * add to ExperiencePackagePicker * typo * no-op on ios *
[expo-screen-capture] Create ScreenCapture module (#8326)* android implementation * rename to screen-capture * yarn build * add to ExperiencePackagePicker * typo * no-op on ios * no-op on web, remove async functions * fix expo_sdk test * error tag, remove semicolons * enable in client * fix some errors, update tsconfig, add android/.gitignore * prevent screen recording on iOS * add preventScreenshot module to iOS client * block recording if started before activatePreventScreenCapture was called * add docs * update readme * PR feedback part 1 * cover screen even when device is reoriented * rename to expo-screenshot * rename package directory * render black screen on iOS to match android behavior * fix podfile * podfile * use rootProject.ext in build.gradle * fix lint warning * downgrade to cocoapods 1.8.4, run pod install * address android-specific feedback * ios feedback and improvements * update docs and readme * rename methods to preventScreenCapture and allowScreenCapture * resolve null for iOS (match android) * declare functions as async, rebuild * rebase, pod install * suffix JS methods with Async, add return type, await ExpoScreenCapture calls * add 'tag' param to handle more complex use cases * docs and typescript doc blocks * final PR feedback (except hooks test) * add test coverage for hooks