[go] Improve the incompatible SDK version error screen (#24310)# Why We want to improve the incompatible SDK error screen in Expo Go, because we will be supporting only two SDK versions, so mor
[go] Improve the incompatible SDK version error screen (#24310)# Why We want to improve the incompatible SDK error screen in Expo Go, because we will be supporting only two SDK versions, so more people will see it. # How - The header is now descriptive instead of generic "Something went wrong" - Updated the message to provide more information - The message now contains a link to a docs page - On iOS it was created with attributed string and replacing the UILabel with UITextView - On Android we embed html hyperlink into the message and then render the text as HTML - Added update instructions into the docs page. Also added instructions on how to install an older version of Expo Go. # Test Plan Tested in Go on iOS 16 and Android SDK 33, 34 <img width="190" alt="image" src="https://github.com/expo/expo/assets/31368152/c79ec613-8f19-4aef-91d0-99c682124f31"> <img width="190" alt="image" src="https://github.com/expo/expo/assets/31368152/292d8fcd-5532-4ac9-828a-6d870c396040"> <img width="190" alt="image" src="https://github.com/expo/expo/assets/31368152/d94eff4e-0113-4cea-a5ee-64a9284fb254"> <img width="190" alt="image" src="https://github.com/expo/expo/assets/31368152/6c819e52-2cc5-4e6f-9614-0bb22427e61c"> --------- Co-authored-by: Brent Vatne <[email protected]>
show more ...
[ios] Remove dead code (#24316)
Remove Amplitude from Expo Go (#22523)
[expo-updates][expo-go] Support new SDK version field in new manifests (#22356)
[exupdates][ios] Start converting to swift (#21320)# Why Start the conversion process of the expo-updates library by converting EXUpdatesUpdate and subclasses. # How Convert manually... l
[exupdates][ios] Start converting to swift (#21320)# Why Start the conversion process of the expo-updates library by converting EXUpdatesUpdate and subclasses. # How Convert manually... lol. The main note is that we can't use swift nullability/type forcing operators (`!`, `as!`, `as?`) etc since the previous implementation was relying upon NSAssert to raise an NSException which is caught in the calling code, so I added new extension functions to replicate the behavior (similar to EXManifests util functions). # Test Plan Build and run all tests. # 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).
[exmanifests][ios] Convert to swift (#21298)
[ios][android][docs] "custom development build" -> "development build" (#19828)
[expo-go][ios] Show better error message when SDK version is missing or incompatible (#17791)
[Expo Go] Improve UX when trying to load an incompatible project (#14284)* more descriptive error message on android * more descriptive msg on iOS + new error domain for runtime * better form
[Expo Go] Improve UX when trying to load an incompatible project (#14284)* more descriptive error message on android * more descriptive msg on iOS + new error domain for runtime * better formatted error * error message feedback * Update android/expoview/src/main/java/host/exp/exponent/exceptions/ManifestException.kt Co-authored-by: Brent Vatne <[email protected]> * update msg on ios * reformat file Co-authored-by: Brent Vatne <[email protected]>
[expo-manifests][android] Move factory into package (#14273)
[expo-manifests] Rename RawManifest -> Manifest (#14194)
[expo-updates] Factor out raw manifests into their own package (#14183)
[updates] Factor out raw manifest into wrapper class (#12631)
[ios] Expo Client -> Expo Go (#10847)The name "Expo Client" implies that it's the single way to develop Expo app. In the future, it will no longer be as ubiquitous nor the main way to develop. To h
[ios] Expo Client -> Expo Go (#10847)The name "Expo Client" implies that it's the single way to develop Expo app. In the future, it will no longer be as ubiquitous nor the main way to develop. To head off confusion with default development clients, this commit renames the app store development client known as "Expo Client" to "Expo Go". "Expo Go" is the name for the App Store and Play Store development clients that are published under the Expo team's accounts and currently have support for multiple SDK versions. Expo Go is the fastest way to get started. But we've seen billion-dollar companies use the managed workflow for production apps, so names like "Expo Lite" or "Expo Start" wrongly communicate that the app is just for demos or getting started. "Expo Go" implies it's a good way to get started and also not the entire workflow, but also a workflow that can hold its own. In this commit I focused just on iOS (native). Android (native) and Home need to come later. I also changed "experience" to "project" in a few places to start cleaning up our terminology. Tested by running the app and verifying it shows up as "Expo Go" on the home screen in a simulator.
[ios] show helpful error message when expo-cli responds with an incompatible project (#10508)
[android][ios] fix regression in error formatting (#9888)# Why Currently, errors from www (e.g. the experience does not exist, is not published with a compatible SDK version, etc.) are formatted
[android][ios] fix regression in error formatting (#9888)# Why Currently, errors from www (e.g. the experience does not exist, is not published with a compatible SDK version, etc.) are formatted as JSON blob in user-facing UI (or in the case of iOS, unintentionally obscured), rather than plain text. # How - Pass network error object all the way through AppLoaderTask on iOS. - Upon receiving an error object in AppLoader, try to parse the error message as a stringified JSON object. If it successfully parses, we pass it through existing methods that reformat the object slightly into that format that the error screen UI expects. # Test Plan Tested three scenarios on each platform and ensured the error screen UI matched what was displayed in an older client without expo-updates integrated. - Turning off network connection and loading a remote app (generic network error) - Loading an app from exp.host that does not exist - Loading an app from exp.host that is not published for any of the supported SDK versions
[ios] Fix kernel bundles not being versioned
[ios] Never use embedded bundle when running client in debug
[ios] store OTA updates in Application Support directory (#5336)
[android][ios][home] persist session info in one location on clients (#2521)[android][ios][home][jest-expo] persist session info in one location on clients
[android][ios][home] send the sessionSecret along with manifest requests in the expo client (#2503)
[ios] fix ota update caching in expo client
[ios] fix _chooseManifest method returning unhandled error
[ios] remove legacy naming in EXManifestResource and EXCachedResource
[ios] Allow apps without versioned code run if versions match (#2318)
12