Skip to content

[pull] main from expo:main - #1159

Merged
pull[bot] merged 19 commits into
code:mainfrom
expo:main
Aug 18, 2026
Merged

[pull] main from expo:main#1159
pull[bot] merged 19 commits into
code:mainfrom
expo:main

Conversation

@pull

@pull pull Bot commented Aug 18, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

Kudo and others added 19 commits August 18, 2026 13:47
# Why

since we have turbopack now, we could build the devtools webui
on-the-fly

# How

add the `build:webui` turbopack build depedency to build devtools webui

# Test Plan

ci passed and test sqlite inspector on bare-expo

# Checklist

- [x] I added a `changelog.md` entry and rebuilt the package sources
according to [this short
guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting)
- [x] This diff will work correctly for `npx expo prebuild` & EAS Build
(eg: updated a module plugin).
- [x] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
# Why

turso has the official react-native support now
https://turso.tech/blog/react-native-bindings-for-turso

# How

remove libsql related code

# Test Plan

ci passed

# Checklist

- [x] I added a `changelog.md` entry and rebuilt the package sources
according to [this short
guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting)
- [x] This diff will work correctly for `npx expo prebuild` & EAS Build
(eg: updated a module plugin).
- [x] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
# Why

we previously specified only `wght` axis to allow variable fonts to
specify at what weight to render; there are other axes that users may
want to specify and this PR does that

# How

added new `axes` field in the android section of the config plugin that
allow custom `slnt` and other, potentially font-custom axes.

docs in #48776


# Test Plan

- tested manually with defining the following config plugin option and
verifying the slant has an effect

```
              {
                "fontFamily": "FlexSlant10",
                "path": "./assets/fonts/RobotoFlex.ttf",
                "fontDefinitions": [
                  { "weight": 400 },
                  {
                    "weight": 400,
                    "style": "italic",
                    "axes": { "slnt": -10 }
                  }
                ]
              }
```
- green CI

# Checklist

<!--
Please check the appropriate items below if they apply to your diff.
-->

- [x] I added a `changelog.md` entry and rebuilt the package sources
according to [this short
guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting)
- [ ] This diff will work correctly for `npx expo prebuild` & EAS Build
(eg: updated a module plugin).
- [ ] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
# Why

<!--
Please describe the motivation for this PR, and link to relevant GitHub
issues, forums posts, or feature requests.
-->

Fix ENG-26010 ENG-26015

# How

<!--
How did you build this feature or fix this bug and why?
-->

- Fix Markdown export corrupting `...` and doubling periods in table
cells.
- Fix Markdown export lowercases generic type names in Returns lines

# Test Plan

<!--
Please describe how you tested this change and how a reviewer could
reproduce your test, especially if this PR does not include automated
tests! If possible, please also provide terminal output and/or
screenshots demonstrating your test/reproduction.
-->



**Fix for Markdown export corrupting `...`
(https://pr-49041.expo-docs.pages.dev/versions/v56.0.0/sdk/filesystem.md)**


<img width="838" height="258" alt="CleanShot 2026-08-18 at 00 44 05@2x"
src="https://github.com/user-attachments/assets/bda66ced-f997-4b79-8015-8ace632d6db3"
/>


**Fix for Markdown export lowercases generic type names in Returns lines
(https://pr-49041.expo-docs.pages.dev/versions/v56.0.0/sdk/accelerometer.md)**

<img width="950" height="252" alt="CleanShot 2026-08-18 at 00 55 21@2x"
src="https://github.com/user-attachments/assets/8ed0a386-6bf4-467b-8a6b-864b61775d70"
/>


# Checklist

<!--
Please check the appropriate items below if they apply to your diff.
-->

- [ ] I added a `changelog.md` entry and rebuilt the package sources
according to [this short
guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting)
- [ ] This diff will work correctly for `npx expo prebuild` & EAS Build
(eg: updated a module plugin).
- [ ] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
# Why

<!--
Please describe the motivation for this PR, and link to relevant GitHub
issues, forums posts, or feature requests.
-->

Update additional resources with new videos from Expo's YT channel.

# Checklist

<!--
Please check the appropriate items below if they apply to your diff.
-->

- [ ] I added a `changelog.md` entry and rebuilt the package sources
according to [this short
guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting)
- [ ] This diff will work correctly for `npx expo prebuild` & EAS Build
(eg: updated a module plugin).
- [ ] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
# Why

<!--
Please describe the motivation for this PR, and link to relevant GitHub
issues, forums posts, or feature requests.
-->

Fix ENG-26008

# How

<!--
How did you build this feature or fix this bug and why?
-->

Guard null query results in the sqlite examples. Changes applied to
unversioned and SDK 57.

# Test Plan

<!--
Please describe how you tested this change and how a reviewer could
reproduce your test, especially if this PR does not include automated
tests! If possible, please also provide terminal output and/or
screenshots demonstrating your test/reproduction.
-->

Proofread.

# Checklist

<!--
Please check the appropriate items below if they apply to your diff.
-->

- [ ] I added a `changelog.md` entry and rebuilt the package sources
according to [this short
guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting)
- [ ] This diff will work correctly for `npx expo prebuild` & EAS Build
(eg: updated a module plugin).
- [ ] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
…49038)

# Why

fix react-native nightly build:
https://github.com/expo/expo/actions/runs/31990917142/job/95274214849

# How

prevent autolinking overwrites xcconfig react_native_post_install
generated

# Test Plan

ci passed and upstack pr as with patch to upstream should also pass in
nightly build

# Checklist

- [x] I added a `changelog.md` entry and rebuilt the package sources
according to [this short
guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting)
- [x] This diff will work correctly for `npx expo prebuild` & EAS Build
(eg: updated a module plugin).
- [x] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)

Co-authored-by: expo-tuft[bot] <288127324+expo-tuft[bot]@users.noreply.github.com>
Co-authored-by: kudo <46429+kudo@users.noreply.github.com>
# Why

Users should know how to disable Observe in the dashboard.

<!--
Please describe the motivation for this PR, and link to relevant GitHub
issues, forums posts, or feature requests.
-->

# How

Document the ingestion toggle.

<!--
How did you build this feature or fix this bug and why?
-->

# Test Plan

<img width="1152" height="453" alt="Screenshot 2026-08-18 at 08 17 18"
src="https://github.com/user-attachments/assets/3ae2f8d2-2e64-4dee-a762-f850f910e4e7"
/>

<!--
Please describe how you tested this change and how a reviewer could
reproduce your test, especially if this PR does not include automated
tests! If possible, please also provide terminal output and/or
screenshots demonstrating your test/reproduction.
-->

# Checklist

<!--
Please check the appropriate items below if they apply to your diff.
-->

- [ ] I added a `changelog.md` entry and rebuilt the package sources
according to [this short
guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting)
- [ ] This diff will work correctly for `npx expo prebuild` & EAS Build
(eg: updated a module plugin).
- [ ] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
# Why

When reading asset files on a local (non-dev) build from Xcode, I ran
into permission issues as `text()` and `bytes()` require write access in
order to read the files, which is not allowed.

# How

Changed from `.write` to `.read` for those two functions on iOS.

# Test Plan

If you make a production build from Xcode and run it on the Simulator,
and then try to read any asset file from the `/assets` in the app like
```new File(`${Paths.bundle.uri}/assets`, 'example.txt').text();```
you'll get a permission error

---------

Co-authored-by: Bartłomiej Klocek <bartlomiej.klocek@swmansion.com>
…mples (#49061)

# Why

<!--
Please describe the motivation for this PR, and link to relevant GitHub
issues, forums posts, or feature requests.
-->

Fix ENG-26007 ENG-25940

# How

<!--
How did you build this feature or fix this bug and why?
-->

Fix type errors in host, notifications, age-range, and svg examples.
Changes applied to unversioned and SDK 57.

# Test Plan

<!--
Please describe how you tested this change and how a reviewer could
reproduce your test, especially if this PR does not include automated
tests! If possible, please also provide terminal output and/or
screenshots demonstrating your test/reproduction.
-->

See diff.

# Checklist

<!--
Please check the appropriate items below if they apply to your diff.
-->

- [ ] I added a `changelog.md` entry and rebuilt the package sources
according to [this short
guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting)
- [ ] This diff will work correctly for `npx expo prebuild` & EAS Build
(eg: updated a module plugin).
- [ ] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
…8908)

# Why

<!--
Please describe the motivation for this PR, and link to relevant GitHub
issues, forums posts, or feature requests.
-->

Fix ENG-25784 ENG-25947 ENG-25948

# How

<!--
How did you build this feature or fix this bug and why?
-->

- Create a component to show example code snippet and screenshot
side-by-side.
- Add screenshots for multiple component examples in Expo UI SwiftUI.

# Test Plan

<!--
Please describe how you tested this change and how a reviewer could
reproduce your test, especially if this PR does not include automated
tests! If possible, please also provide terminal output and/or
screenshots demonstrating your test/reproduction.
-->

See preview.

# Checklist

<!--
Please check the appropriate items below if they apply to your diff.
-->

- [ ] I added a `changelog.md` entry and rebuilt the package sources
according to [this short
guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting)
- [ ] This diff will work correctly for `npx expo prebuild` & EAS Build
(eg: updated a module plugin).
- [ ] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
…48737)

PR 2/2 in a stack. Stacked on #48621, which adds the syntax this PR
teaches the fingerprint to read.

# Why

`expo-font` lets an Android family name its font file once instead of
each definition repeating it, the shape one variable font takes when it
backs several definitions:

```json
{
  "fontFamily": "Roboto Flex",
  "path": "./assets/fonts/RobotoFlex.ttf",
  "fontDefinitions": [{ "weight": 400 }, { "weight": 700, "axes": { "wght": 650 } }]
}
```

The Expo config sourcer previously read the file path from the
definition only.

# How

`getExpoConfigSourcesAsync` now falls back to the family's `path` when a
definition declares none: `(f.fontDefinitions ?? []).map((d) => d.path
?? f.path)`.

# Test Plan

expanded unit test in `src/sourcer/__tests__/Expo-test.ts`


# Checklist

- [x] I added a `changelog.md` entry and rebuilt the package sources
according to [this short
guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting)
- [x] This diff will work correctly for `npx expo prebuild` & EAS Build
(eg: updated a module plugin).
- [ ] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
updates agent-cli-detector to 0.1.6 to detect opencode and muse code in
telemetry context
…#48966)

# Why

when ai code review offers a pr to fix an issue. it's useful to show the
solution options and why the agent pick the final one into the pr. that
allows developers to make decision with differen options

# How

- in prompt, ask agents to save options and why it's the pick
- also have hidden `<!-- expo-bot:fix-options v1 -->` comment to save
options in structure way. later developers can simply reply `@expo-bot
/use-fix-option 3` to pick different option

# Test Plan

maybe we need to merge the test it for real?

---------

Co-authored-by: expo-tuft[bot] <288127324+expo-tuft[bot]@users.noreply.github.com>
Co-authored-by: kudo <46429+kudo@users.noreply.github.com>
Co-authored-by: Kudo Chien <kudo@expo.dev>
# Why

update sqlite version for new sdk

# How

- bump sqlite to 3.53.3
- bump sqlcipher to 4.17.0 (sqlite 3.53.3 based)
- bump wa-sqlite to 3.53.3. also merge changes from upstream

# Test Plan

- ci passed
- use sqlcipher and run sqlite test-suite
- test sqlite test-suite on web
…48776)

# Why

SDK 58 adds variable font support to `expo-font`: #48129 and #48621
(config plugin on Android), #48432 (`useFonts` on iOS). The API
reference does not mention that yet.

First PR of a stack of 3. This one updates the versioned reference for
SDK 58 and can merge right away.

# How

Adds an example of configuring the config plugin with variable fonts on
Android, along with a short paragraph linking to an existing paragraph
in the Fonts guide.

# Test Plan

- docs preview

# Checklist

- [ ] I added a `changelog.md` entry and rebuilt the package sources
according to [this short
guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting)
- [ ] This diff will work correctly for `npx expo prebuild` & EAS Build
(eg: updated a module plugin).
- [x] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
…droid (#48987)

## Summary

Adds dismissOnBackPress prop to the universal BottomSheet component on
Android.

## Problem

On Android, the universal BottomSheet wraps Jetpack Compose's
ModalBottomSheet. Because Compose places the modal sheet into its own
window, the hardware back button / back gesture is intercepted and
handled directly by Compose to dismiss the sheet.

By default, the sheet dismisses itself on back press. Developers may
want to disable this automatic dismissal.

## Solution

Jetpack Compose's ModalBottomSheet supports opting out of this behavior
via ModalBottomSheetProperties(shouldDismissOnBackPress = false).

This PR:
1. Adds dismissOnBackPress?: boolean (default rue) to BottomSheetProps
in packages/expo-ui/src/universal/BottomSheet/types.ts.
2. Forwards properties={{ shouldDismissOnBackPress: dismissOnBackPress
}} to ModalBottomSheet in
packages/expo-ui/src/universal/BottomSheet/index.android.tsx.

When dismissOnBackPress={false} is set, pressing back will not dismiss
the sheet natively. Note: as identified in testing, the press still does
not reach React Native BackHandler listeners because the modal dialog
window does not dispatch events to the Activity. This fulfills part of
the requirement to control back press behavior natively.

## Backward Compatibility

dismissOnBackPress defaults to rue, maintaining exact backwards
compatibility with existing behavior.

Part of #48867

---------

Co-authored-by: webdevsamran <webdevsamran@users.noreply.github.com>
@pull pull Bot locked and limited conversation to collaborators Aug 18, 2026
@pull pull Bot added the ⤵️ pull label Aug 18, 2026
@pull
pull Bot merged commit 2c8f48c into code:main Aug 18, 2026
2 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants