| #
86fe77d4 |
| 22-Sep-2023 |
Łukasz Kosmaty <[email protected]> |
[permissions] Remove permissions package (#24081)
# Why
Removes `expo-permissions` package. That package was deprecated for a long time but never removed. I think we can do it now.
# ToDo
[permissions] Remove permissions package (#24081)
# Why
Removes `expo-permissions` package. That package was deprecated for a long time but never removed. I think we can do it now.
# ToDo
- [ ] publish new home app - will be done in a separate PR
# Test Plan
- bare-expo ✅
- expo-go ✅
show more ...
|
| #
a9552a46 |
| 14-Nov-2022 |
Kudo Chien <[email protected]> |
[apps] fix ci test-suites failures (#19993)
# Why
fix test suite ios ci failures: https://github.com/expo/expo/actions/runs/3441432170/jobs/5740961892#step:15:592
# How
- fix invalid simula
[apps] fix ci test-suites failures (#19993)
# Why
fix test suite ios ci failures: https://github.com/expo/expo/actions/runs/3441432170/jobs/5740961892#step:15:592
# How
- fix invalid simulator name after upgrading to xcode 14
- increase timeout for stability
- remove deprecated expo-firebase-* test cases
- upgrade detox to v20
- use jest v29 in apps/bare-expo where detox requires at least jest 27
# Test Plan
- test suite ci passed
- android client is also breaking on main.
show more ...
|
| #
3e3d04c8 |
| 12-Jul-2022 |
Brent Vatne <[email protected]> |
[ncl][docs][tools][expo] Remove admob, amplitude, branch, facebook-ads, facebook, google-sign-in, segment (#18168)
|
| #
6b52f6c2 |
| 08-May-2022 |
Giau. Tran Minh <[email protected]> |
[google-sign-in] Remove deprecated package (#17388)
|
| #
67e936ed |
| 04-Apr-2022 |
Will Schurman <[email protected]> |
[expo-eas-client] Rename package (#16884)
|
| #
759bc694 |
| 27-Mar-2022 |
Tomasz Sapeta <[email protected]> |
Remove unimodules-task-manager-interface on Android (#16683)
|
| #
98ecfc87 |
| 24-Mar-2022 |
James Ide <[email protected]> |
[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.
show more ...
|
| #
61457939 |
| 23-Mar-2022 |
Will Schurman <[email protected]> |
[expo-eas-client-id] Add EAS client ID library (#16680)
|
| #
f4c7ac48 |
| 08-Mar-2022 |
Bartłomiej Klocek <[email protected]> |
[clipboard][Android] Add support for images (#16413)
* Native Android implementation
* Add native unit tests
* Update test suite
* Update docs
* Update CHANGELOG
* Apply suggestions
[clipboard][Android] Add support for images (#16413)
* Native Android implementation
* Add native unit tests
* Update test suite
* Update docs
* Update CHANGELOG
* Apply suggestions
* Fix rebase
show more ...
|
| #
7415e3b2 |
| 22-Feb-2022 |
Bartłomiej Klocek <[email protected]> |
[clipboard][ios] Add support for images and URLs (#16391)
* [ios][clipboard] Add url and image clipboard
* Docs changes
* Rename getJpgImageAsync -> getJpegImageAsync
* Refactor exceptions
[clipboard][ios] Add support for images and URLs (#16391)
* [ios][clipboard] Add url and image clipboard
* Docs changes
* Rename getJpgImageAsync -> getJpegImageAsync
* Refactor exceptions
* Apply suggestions from previous PR
* Rebase & Fix test-suite
* Merge PNG and JPEG to one `getImageAsync`
* Update CHANGELOG
* Apply suggestions from code review
* Use built-in URL converter
Co-authored-by: Angelika Serwa <[email protected]>
show more ...
|
| #
22d1e005 |
| 05-Jan-2022 |
Bartosz Kaszubowski <[email protected]> |
[test-suite] lint files, add lint check to CI (#15772)
|
| #
13c5c8bd |
| 05-Nov-2021 |
Evan Bacon <[email protected]> |
Created expo-system-ui module (#14952)
* Created expo-system-ui
* Added iOS support
* Delete withNavigationBar-test.ts
* Update package.json
* Update package.json
* Remove reflection
Created expo-system-ui module (#14952)
* Created expo-system-ui
* Added iOS support
* Delete withNavigationBar-test.ts
* Update package.json
* Update package.json
* Remove reflection code
* Added docs
* Create system-ui.md
* Added ios plugin
* Added e2e tests
* Drop setUserInterfaceStyleAsync method
* Convert to new format
* android lint
* Update SystemUIScreen.tsx
* updated docs and naming
* Remove unused android code
* Update apps/native-component-list/src/screens/SystemUIScreen.tsx
* Normalize web color
show more ...
|
| #
4281e48e |
| 20-Oct-2021 |
Evan Bacon <[email protected]> |
Create navigation bar module (#14689)
- `et cu --name expo-system-navigation-bar`
- Added plugin
- Improved navigation bar module
- Refactor system-navigation-bar -> navigation-bar
- Created NCL
Create navigation bar module (#14689)
- `et cu --name expo-system-navigation-bar`
- Added plugin
- Improved navigation bar module
- Refactor system-navigation-bar -> navigation-bar
- Created NCL example
- Added docs
- Added unit tests for plugin
- Added E2E tests
- Suppress deprecated warnings
- Appearance -> ButtonStyle
- getPositionAsync -> unstable_getPositionAsync
show more ...
|
| #
85ce611f |
| 01-Oct-2021 |
Cedric van Putten <[email protected]> |
[firebase] Upgrade to firebase js sdk 9.1.0 (#14616)
Co-authored-by: Sebastian Wilczek <[email protected]>
|
| #
8565608c |
| 16-Sep-2021 |
Kudo Chien <[email protected]> |
[NCL][test-suite] sort test cases by name (#14431)
# Why
1. test-suites are not sorted in hermes runtime:
returning boolean in sort compareFunction is undefined result in hermes whereas jsc can
[NCL][test-suite] sort test cases by name (#14431)
# Why
1. test-suites are not sorted in hermes runtime:
returning boolean in sort compareFunction is undefined result in hermes whereas jsc can sort still.
```
# hermes repl
>> ['apple', 'banana', 'orange', 'mango', 'lemon', 'cherry', 'papaya'].sort((a, b) => a.toLowerCase() > b.toLowerCase())
[ "apple", "lemon", "papaya", "cherry", "mango", "banana", "orange", [length]: 7 ]
# jsc repl
>>> ['apple', 'banana', 'orange', 'mango', 'lemon', 'cherry', 'papaya'].sort((a, b) => a.toLowerCase() > b.toLowerCase())
apple,banana,cherry,lemon,mango,orange,papaya
```
2. NCL test cases are not sorted in hermes runtime:
returning 0 in sort compareFunction, hermes will be unstable order whereas jsc will keep original order
```
# hermes repl
>> ['apple', 'banana', 'orange', 'mango', 'lemon', 'cherry', 'papaya'].sort((a, b) => 0)
[ "apple", "lemon", "papaya", "cherry", "mango", "banana", "orange", [length]: 7 ]
# jsc repl
>>> ['apple', 'banana', 'orange', 'mango', 'lemon', 'cherry', 'papaya'].sort((a, b) => 0)
apple,banana,orange,mango,lemon,cherry,papaya
```
# How
1. [test-suite] return integer in sort compareFunction
2. [NCL] explicit sort by name and returns integer
# Test Plan
test cases in bare-expo should be in sorted order.
show more ...
|
| #
12db4111 |
| 10-Sep-2021 |
Charlie Cruzan <[email protected]> |
Remove expo-payments-stripe (#14382)
* rm -rf packages/expo-payments-stripe
* delete ABI code for expo-payments-stripe
* docs, changelog, and codeowner
* remove from ios, android, NCL, bare
Remove expo-payments-stripe (#14382)
* rm -rf packages/expo-payments-stripe
* delete ABI code for expo-payments-stripe
* docs, changelog, and codeowner
* remove from ios, android, NCL, bare-expo, and test-suite
* remove stripe-specific things from template-files
* remove EXPaymentsStripe-specific handling from versioning scripts
* remove last reference on android
* docs feedback
* Update CHANGELOG.md
Co-authored-by: Expo CI <[email protected]>
Co-authored-by: Expo CI <[email protected]>
show more ...
|
| #
19cbf4dc |
| 18-Aug-2021 |
Bartłomiej Bukowski <[email protected]> |
[apps] Replace `@unimodules/*` imports with `expo-modules-core` (#14079)
|
| #
61c2143a |
| 23-Jul-2021 |
mnightingale <[email protected]> |
[android][image-manipulator] Fix Android regressions (#13726)
|
| #
dc7b526e |
| 02-Jul-2021 |
Warren Bickley <[email protected]> |
[web][expo-av] Added recording web support via MediaRecorder (#8791)
Co-authored-by: Michael Nightingale <[email protected]>
Co-authored-by: James EdJo <[email protected]
[web][expo-av] Added recording web support via MediaRecorder (#8791)
Co-authored-by: Michael Nightingale <[email protected]>
Co-authored-by: James EdJo <[email protected]>
# Why
See issue #8721, expo-av currently doesn't support web audio recording.
# How
Added MediaRecorder to `ExponentAV.web.ts`,
# Test Plan
I have ensured the existing tests now run on web also, so run `yarn web` within `packages/expo-av`.
# Further Notes
This is really just an initial outline of what usage might look like with the MediaRecorder API, some thoughts:
**Chrome issues preventing us from getting duration/milliseconds** - what is the consensus on adding a polyfill to the MediaRecorder to allow more options and wider browser support? Only Firefox and Chrome currently include a working MediaRecorder implementation.
* I have modified tests to exclude duration assertions on web only.
[Please see this Chromium issue](https://bugs.chromium.org/p/chromium/issues/detail?id=642012)
Polyfill library options are:
- [ai/audio-recorder-polyfill](https://github.com/ai/audio-recorder-polyfill): This looks great and is lightweight, but only supports wav encoding out of the box. We could however allow users to pass their own encoder in via the `web` key in the recording options.
- [kbumsik/opus-media-recorder](https://github.com/kbumsik/opus-media-recorder): More recently developed, built in support for 3 codecs. However, its use of workers and WASM may make it more difficult to integrate.
As the web side of this uses window.MediaRecorder and passes the options directly in, there is no reason why we couldn't leave it down to the implementer to polyfill on a per project basis.
My understanding is that the current android and iOS implementations return a file URI on preparation, this file is then actively written to for recording? **This doesn't seem possible on web and in order to pass tests currently returns `{ uri: 'file:///unsupported' ...}**`, I felt this was better than risk breaking current iOS and Android implementations/tests. **A uri/resource generated from the recording blob is returned on stop.**
(See packages/expo-av/src/ExponentAV.web.ts:185)
I wasn't able to add the recording tests to `apps/bare-expo/e2e/TestSuite-test.web.js` as I received a `Not supported` error, the tests do run and pass under `yarn web` however.
Final note: the type definitions probably need vast improvement, I am still fairly new to TS and getting my head around it. You'll notice
show more ...
|
| #
05f47bb5 |
| 26-May-2021 |
Kudo Chien <[email protected]> |
[bare-expo] Use hermes runtime (#13052)
# Why
Use hermes as default engine for Expo apps
# How
Set JS runtime configuration in `gradle.properties` as @EvanBacon recommended
Will further re
[bare-expo] Use hermes runtime (#13052)
# Why
Use hermes as default engine for Expo apps
# How
Set JS runtime configuration in `gradle.properties` as @EvanBacon recommended
Will further rely on this configuration to determine if we need to compile hbc during expo export/publish
# Test Plan
Added `apps/test-suite/tests/Hermes.js` and make sure the test passing.
show more ...
|
| #
bd6ca857 |
| 07-May-2021 |
andy <[email protected]> |
[camera][ios] add video codec option to expo camera (#12772)
|
| #
47b314f0 |
| 04-Mar-2021 |
Charlie Cruzan <[email protected]> |
[expo] stop exporting LegacyNotifications in SDK 41 (#11807)
|
| #
626595cb |
| 20-Jan-2021 |
Hein Rutjes <[email protected]> |
[test-suite] Add Firebase JS SDK tests (#11568)
Adds tests for the Firebase JS SDK to verify that they run within the Expo/RN environment. This adds the validations to upgrade safely to newer Fireba
[test-suite] Add Firebase JS SDK tests (#11568)
Adds tests for the Firebase JS SDK to verify that they run within the Expo/RN environment. This adds the validations to upgrade safely to newer Firebase versions.
show more ...
|
| #
c1932404 |
| 28-Nov-2020 |
Brent Vatne <[email protected]> |
[test-suite] Sort tests alphabetically
|
| #
731f34a7 |
| 23-Jul-2020 |
Tomasz Sapeta <[email protected]> |
[location] expo-location audit and refactor (#9251)
# Why
`expo-location` wins the challenge for the number of issues being opened
Fixes #4015
Fixes #4304
Fixes #5249
# How
I've de
[location] expo-location audit and refactor (#9251)
# Why
`expo-location` wins the challenge for the number of issues being opened
Fixes #4015
Fixes #4304
Fixes #5249
# How
I've decided to do an audit over it which should result in fixing some of those reported bugs and generally improve its reliability and make API more consistent across platforms.
- `getLastKnownPositionAsync`
- Now doesn't request for the new location on iOS
- No longer rejects when the last known location is not available, returns `null` instead
- Removed deprecated `enableHighAccuracy`
- Removed `maximumAge` and `timeout` options from `getCurrentPositionAsync` — they were Android only and honestly the same behavior can be implemented on the JS side for all platforms so I see no reason to maintain this code on the native side
- Some of TypeScript types have changed their names — it might be considered breaking, but this is a change for the better
- `LocationData` -> `LocationObject`
- `Accuracy` -> `LocationAccuracy`
- `ProviderStatus` -> `LocationProviderStatus`
- `HeadingData` -> `LocationHeadingObject`
- ... and more like this ...
- Added some new tests
- Improved Web support
- Added missing methods (for permissions and last known location)
- Make types consistent with other platforms
- Enabled web-compatible tests in test-suite
- Better handling of `watchPositionAsync` and `watchHeadingAsync` subscriptions
- `altitudeAccuracy` now available on Android as well (at least Android 8.0)
# Test Plan
- Ran through `test-suite` tests on Android, iOS and Web – all is green ✅
# To do later
- I'm wondering whether it's a good chance to rename enums to be all UPPER_CASED as we use this convention right now
show more ...
|