History log of /expo/ios/Client/Menu/EXDevMenuViewController.m (Results 1 – 10 of 10)
Revision Date Author Comments
# f1012652 06-Jul-2023 Gabriel Donadel Dall'Agnol <[email protected]>

[go] Fix DevMenu window bounds on macOS (#23318)

# Why

Partially fixes ENG-9201

# How

By not manually setting `bounds` to `[[UIScreen mainScreen] bounds]` the
DevMenu automatically resizes

[go] Fix DevMenu window bounds on macOS (#23318)

# Why

Partially fixes ENG-9201

# How

By not manually setting `bounds` to `[[UIScreen mainScreen] bounds]` the
DevMenu automatically resizes when resizing the Expo Go window on macOS

# Test Plan

Run Expo Go on iOS and macOS

<table>
<tr><th>iOS</th><th>macOS</th></tr>
<tr>
<td>
<video
src="https://github.com/expo/expo/assets/11707729/065d746f-7def-4f9e-ad39-e5cc3e0e1c8c"/>
</td>
<td>
<video
src="https://github.com/expo/expo/assets/11707729/b3f1e6e7-42e3-4def-89f5-78941e6f49ad"
/>
</td>
</tr>
</table>


# 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).

show more ...


# 94af3eda 23-Feb-2023 Will Schurman <[email protected]>

[exmanifests][ios] Convert to swift (#21298)


# 7c3ed0c0 14-Dec-2022 Douglas Lowder <[email protected]>

[Expo Go][iOS] No remote home app loads in release builds (#20416)

# Why

Per ENG-7047, we need to disable remote loading of home app, and
checking for home app updates, for release builds.
Upda

[Expo Go][iOS] No remote home app loads in release builds (#20416)

# Why

Per ENG-7047, we need to disable remote loading of home app, and
checking for home app updates, for release builds.
Updates and loading from the packager will still work in debug builds.

# How

Add `#ifdef DEBUG` in several places in
`Exponent/Kernel/AppLoader/EXAppLoader.m`

# Test Plan

- CI should pass
- Test Expo Go builds locally and verify that updates are not loaded,
and that nothing else is broken

# Checklist

<!--
Please check the appropriate items below if they apply to your diff.
This is required for changes to Expo modules.
-->

- [x] Documentation is up to date to reflect these changes (eg:
https://docs.expo.dev and README.md).
- [x] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
- [x] This diff will work correctly for `expo prebuild` & EAS Build (eg:
updated a module plugin).

show more ...


# 50661f5c 30-Aug-2021 Will Schurman <[email protected]>

[expo-manifests] Rename RawManifest -> Manifest (#14194)


# 706a476d 26-Aug-2021 Will Schurman <[email protected]>

[expo-updates] Factor out raw manifests into their own package (#14183)


# efd75dec 16-Aug-2021 Tomasz Sapeta <[email protected]>

[ios] Migrate all remaining native code


# 9c68ef32 29-Jun-2021 Brent Vatne <[email protected]>

[ios] Fix bug where we attempt to validate manifest instance rather than JSON as a JSON object (#13442)


# 339ad203 04-May-2021 Will Schurman <[email protected]>

[go][ios][android] Fix recent project feature with new manifest wrappers (#12805)


# 5f73f127 21-Jan-2021 Bartłomiej Bukowski <[email protected]>

[Android][fix] Remove JSONBundleConverter usage for passing manifest from Android to JS (#11678)

# Why

`Expo Go` is unable to load any project on Android now.
Recent change in app manifest shape

[Android][fix] Remove JSONBundleConverter usage for passing manifest from Android to JS (#11678)

# Why

`Expo Go` is unable to load any project on Android now.
Recent change in app manifest shape is responsible for that, namely, new `config plugin system` (for `ncl` project this file: https://github.com/expo/expo/blob/master/apps/native-component-list/app.config.js is adding some array with strings/objects alternately).
That is causing https://github.com/expo/expo/blob/fec8b1534e8d27584a685c01a3a12ff432b3fbbd/android/expoview/src/main/java/host/exp/exponent/utils/JSONBundleConverter.java#L72-L81 to throw an error.

# How

There's no way to convert `JSONArray` with different entries to `Bundle` data type as the latter does not allow arrays/lists containing different data types, only homogenous entries are allowed.
I've removed this conversion altogether and replaced all `<someBundle>.putBundle("manifest", JSONBundleConverter.JSONToBundle(manifest))` with `<someBundle>.putString("manifest" manifest.toString())`.
I've tried to find any place in the code that would read the `"manifest"` fields from the bundle, but failed to do so �� cc @lukmccall, as there are changes in the `DevMenu` module.

From now on, `manifest` field in `initialProps` is replaced by `manifestString` that has to be deserialised upon access. Fortunately this field is not used anywhere in our codebase.

# Test Plan

- [x] I've succeeded in launching `ncl` and `test-suite` again on Android and observed no regressions.
- [x] I've checked that DevMenu shows all the things in the header properly.
- [x] I've checked both Android & iOS behaviours.

show more ...


# f67462bc 21-Apr-2020 Tomasz Sapeta <[email protected]>

[ios][home] Add three finger gesture to open the dev menu + some refactoring (#7891)

# Why

Fixes #7644 and brings us closer to the separate `expo-dev-menu` package that can live without kernel.

[ios][home] Add three finger gesture to open the dev menu + some refactoring (#7891)

# Why

Fixes #7644 and brings us closer to the separate `expo-dev-menu` package that can live without kernel.
Also fixed https://twitter.com/bantingGamer/status/1251154340129062917

# How

- Added `EXDevMenuManager` singleton that manages the dev menu. Most parts of it were in kernel or some others classes strongly connected with kernel. Now, kernel is just its delegate.
- Refactored `EXKernelDevMotionHandler` to `EXDevMenuMotionInterceptor` which is much clearer and makes it possible to uninstall the interceptor (these interceptors are kinda hacky, I tried not to do them this way but well, RN does the same ��).
- Added `EXDevMenuGestureRecognizer` for long press gesture, with minimum press duration set to 0.5s and with light impact haptic feedback.
- Added `EXDevMenuGestureInterceptor` that swaps the default implementation of `UIView#gestureRecognizers`, but only for `UIWindow`s. This is needed to make three-finger gesture work everywhere in the app.
- Renamed `EXMenuViewController` to `EXDevMenuViewController` (all dev menu classes should be prefixed by `EXDevMenu`) and again, removed some connections to kernel.
- Added UI in user settings to select dev menu gestures (can select them separately).
- Fixed an issue with dev menu view being below modals in the view hierarchy.

# Test Plan

So far I've tested it only with published experience. I'm gonna do smoke tests on dev apps later.
I mostly focused on testing whether:
- the dev menu works in general (after refactoring)
- three-finger gesture works on the initial screen of the app, on the modals and on the dev menu itself
- all combinations of selected gestures work as expected
- selected gestures persist after killing and relaunching the client

show more ...