[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 ...
[home] Fix apollo auth link spread ordering (#24435)
[home] Make apollo client setup on login consistent with website (#23946)
[lint] Upgrade to Prettier v3, typescript-eslint to v6 (#23544)Why --- Prettier 3 is out. Add support for it with this linter config. **Note for reviewer:** the first commit is the one with th
[lint] Upgrade to Prettier v3, typescript-eslint to v6 (#23544)Why --- Prettier 3 is out. Add support for it with this linter config. **Note for reviewer:** the first commit is the one with the actual changes. The rest of this PR are changes to get the linter passing (mostly autofix). How --- Update eslint-config-prettier and eslint-plugin-prettier. To address deprecation warnings, also update typescript-eslint/parser and typescript-eslint/eslint-plugin. Because of an update to typescript-eslint/parser, we need to suppress deprecation warnings (documented in a comment). Regenerated test snapshots. Due to the upgraded dependencies, typecasts and optional chaining are now auto-fixable by lint. This converts warnings into autofixes. Test Plan --- `yarn test` in the linter config. Run `expotools check --all --fix-lint --no-build --no-test --no-uniformity-check` to try this config on the whole repo. --------- Co-authored-by: Expo Bot <[email protected]>
[core] Add uuid to expo-modules-core (#23249)
[home] Add support for SSO users (#22863)
[home] remove InfiniteScrollView and use FlatList-native infinite scroll props (#20914)# Why `InfiniteScrollView` is a legacy module from when Expo Go used `ListView`, which didn't have props f
[home] remove InfiniteScrollView and use FlatList-native infinite scroll props (#20914)# Why `InfiniteScrollView` is a legacy module from when Expo Go used `ListView`, which didn't have props for detecting end-of-list position for infinite scrolling purposes. We want to remove that module in this SDK release. # How Since we were already using `FlatList`, it was easy to simply remove `InfiniteScrollView` and use the `FlatList` props that serve our purposes. On top of replacing `InfiniteScrollView` prop usage, I followed the warnings in Apollo Client telling me that `updateQuery` is deprecated in favor of `typePolicies`, so I used their pagination helpers to achieve the same effect cache updating effect we had before. # Test Plan I opened the projects and snacks lists in Expo Go with this code running locally to make sure lists updated correctly and there were no more Apollo client warnings: https://user-images.githubusercontent.com/12488826/213896603-09b11640-c417-4f3b-9078-1af50da54979.mov I don't have any projects with enough branches to paginate, but it should behave the same as the other two lists.
[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
[home] Remove expo-analytics-amplitude (#18217)
[expo-constants] Fix type export for new expoConfig field and home tsc error (#18061)
[home] port over account deletion flow from website (#17620)* save: port over account deletion logic from website TODO: redesign for mobile, get dialogs working * update design, remove dialog,
[home] port over account deletion flow from website (#17620)* save: port over account deletion logic from website TODO: redesign for mobile, get dialogs working * update design, remove dialog, wire up flows * improve design for view where you can't delete account yet * typography improvement * prevent layout jump in sms button * notify when user sends too many SMS * refetch all queries after new sessionSecret is populated * port over website's APIv2 client because it handles responses better (responseType: 'void' in particular) * remove old snapshot * add note to sync code with website
[home] remove dead code (#16839)* [home] remove dead code * expotools publish-dev-home
[home] add account switcher modal (#16716)* [home] add modal for account screen * use normal navigation pattern for android * move to rootstack to get proper modals on iOS * save - todo: r
[home] add account switcher modal (#16716)* [home] add modal for account screen * use normal navigation pattern for android * move to rootstack to get proper modals on iOS * save - todo: redesign logged out view * get auth working * update log out button to match designs * move account name logic into custom provider * address refactoring feedback * set initial data before splash screen hides and dismiss account modal after logging in * lint
[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.
[home] fix lint issues (#14260)
[eslint-config] bump dependencies and minimum required lint tools versions (#13858)Co-authored-by: James Ide <[email protected]>
[home] Update expo.io -> expo.dev for login auth session (#14072)
[home] Use async functions from Amplitude
Refactor uuid imports to v7 style (#13037)
[home] Generate graphql using graphql-codegen (#12898)
[home] Fix references to @react-native-community/async-storage
[ios][android] Update NetInfo to 6.0.0 (#12112)
[home] Change authentication flows to use expo-web-browser (#11753)
[home] Fix tsc and enforce typechecking in CI (#11766)
[home] Support staging environment (#10689)* [home] Support staging environment * keep exp.host * rename api.url to api.origin
123