Revision Date Author Comments
# ed05f643 17-Aug-2023 Will Schurman <[email protected]>

[expo-updates][android] Bare update manifest non-nullability parity (#23166)


# d6104943 21-Feb-2023 Will Schurman <[email protected]>

[expo-updates][android] Re-add support for v1 of the protocol (#21256)

# Why

This PR re-applies support for v1 of the expo-updates protocol and fixes
versioned code compilation and adds a featur

[expo-updates][android] Re-add support for v1 of the protocol (#21256)

# Why

This PR re-applies support for v1 of the expo-updates protocol and fixes
versioned code compilation and adds a feature to avoid a logical
breaking change for old SDK versions.

# How

This does 3 things (in 3 commits):
1. Reverts https://github.com/expo/expo/pull/21226, which itself was a
revert of the initial feature implementation PRs:
https://github.com/expo/expo/pull/20275 and
https://github.com/expo/expo/pull/21007. These are unchanged.
2. Fixes compilation of versioned code.
3. Adds a compatibility mode flag for Expo Go.

## How the compatibility mode flag works

Expo Updates protocol v1 is a superset of v0. The diff is that v1
supports directives and also allows empty requests. We want to request
v1 of the protocol in all cases, but for Expo Go, we can't do anything
with rollbacks or no-ops (the current new features); put another way,
Expo Go requires a manifest (which happens to be v0 of the protocol).

Therefore, when loading in Expo Go, we require a manifest and ignore
directives.

Here's what the error will look like in Expo Go if a rollback is
fetched:

<img width="250" alt="Screenshot 2023-02-16 at 11 58 30 AM"
src="https://user-images.githubusercontent.com/189568/219480436-d87616dc-ed70-45ed-8831-18d7f18aa6fb.png">

# Test Plan

Run new tests for compatibility mode. Test manually to capture
screenshot.

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

show more ...


# 508d843c 15-Feb-2023 Will Schurman <[email protected]>

Revert: [expo-updates][android] Add support for version 1 of the protocol and directives and rollback to embedded update directive (#21226)

# Why

This reverts https://github.com/expo/expo/pull/20

Revert: [expo-updates][android] Add support for version 1 of the protocol and directives and rollback to embedded update directive (#21226)

# Why

This reverts https://github.com/expo/expo/pull/20275 and
https://github.com/expo/expo/pull/21007.

Reasoning:
https://github.com/expo/expo/pull/20275#discussion_r1106532674

# How

`git revert`

# Test Plan

Wait for CI to ensure this builds.

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

show more ...


# e75c38da 10-Feb-2023 Will Schurman <[email protected]>

[expo-updates][android] Add support for version 1 of the protocol and directives (#20275)


# 20469055 16-Dec-2021 Will Schurman <[email protected]>

[expo-updates][android] Use immutable fields in UpdatesConfiguration (#15558)


# 92c84cd0 09-Nov-2021 Eric Samelson <[email protected]>

[expo-updates] retain embedded asset fields when merging asset entities (#15123)


# 9b3ed7d4 25-Oct-2021 Will Schurman <[email protected]>

[expo-updates][android] Kotlinize expo-updates (#14818)