Conversation
# Why The authentication guide currently describes biometric prompts as a local gate. That is accurate for a biometric prompt by itself, but an authentication provider can pair the prompt with a device-bound credential to authenticate with a server and establish a new session. Clerk recently added this trusted-device flow for Expo, iOS, and Android. Documenting the distinction helps readers understand the difference between local biometric checks, server-verified trusted-device sign-in, and passkeys. Related documentation: - https://clerk.com/changelog/2026-08-17-biometric-sign-in-mobile-sdks - https://clerk.com/docs/expo/guides/development/custom-flows/authentication/biometric-sign-in # How - Clarify that a biometric prompt alone does not authenticate with a server. - Explain how an authentication provider can combine the prompt with a device-bound credential to create a session. - Use Clerk biometric sign-in as a concrete example. - Distinguish app-installation-scoped trusted-device credentials from WebAuthn passkeys. # Test Plan - Ran `npx -y oxfmt@0.47.0 --check docs/pages/develop/authentication.mdx`. - Ran `git diff --check`. - Confirmed the Clerk biometric sign-in and W3C WebAuthn links return HTTP 200. # 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)
# Why File.size is typed as number, but native Android and iOS bridges returned null when the file was missing or unreadable. For instance here on android (https://github.com/expo/expo/blob/main/packages/expo-file-system/android/src/main/java/expo/modules/filesystem/FileSystemFile.kt#L205-L211). But TS type it as `number` https://github.com/ACHP/expo/blob/5ff5560a425024bfc2f7bba3c67e83498cca1eaf/packages/expo-file-system/src/internal/NativeFileSystem.types.ts#L323 <img width="764" height="139" alt="image" src="https://github.com/user-attachments/assets/351828ea-6115-4c1c-ad4b-1aff388f1e18" /> # How Return 0 from both native bridges for those cases. File implements Blob, whose size must be a number, so number | null is not possible. # Test Plan Ran pnpm exec et check-packages expo-file-system. # 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: Bartłomiej Klocek <barthap10@gmail.com>
Automated upstream sync of generated reference content. | Generator | Status | | --- | --- | | App config schema | ➖ No changes | | Expo Skills | ✅ Synced | | EAS CLI reference | ➖ No changes | | Android permissions | ➖ No changes | ## Files - `docs/ui/components/ExpoSkillsTable/data/expo-skills.json` Co-authored-by: Expo Bot <expo-bot@users.noreply.github.com>
# Why The `NAVIGATION_DEPRECATED` action was deprecated and we can remove it. # How 1. Remove the action 2. Remove `DeprecatedNavigationInChildContext` 3. Remove all the usages # Test Plan 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: Expo Bot <34669131+expo-bot@users.noreply.github.com>
# Why Linking is always enabled in expo-router, so we can remove the checks and logic for when it is not enabled # How <!-- How did you build this feature or fix this bug and why? --> # Test Plan 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: Expo Bot <34669131+expo-bot@users.noreply.github.com>
… `expo-router/react-navigation` (#48895) # Why Remove the deprecated `Link` and `useLinkProps` exports from expo-router/react-navigation # How <!-- How did you build this feature or fix this bug and why? --> # Test Plan CI # 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) --- <sub>Stack created with <a href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a href="https://gh.io/stacks-feedback">Give Feedback 💬</a></sub>
# Why Fixes - #48982 Toggle currently sets state in `onAppear` which creates a small lag when it shows up the Checkmark. See before and after videos. The checkmark should appear on the first view render. ## Before https://github.com/user-attachments/assets/b912d6e8-3be0-4c15-95b1-ea70380a28cb ## After https://github.com/user-attachments/assets/2c246e7b-975b-40dc-99e5-5b9585b25589 <!-- Please describe the motivation for this PR, and link to relevant GitHub issues, forums posts, or feature requests. --> # How Set checked state in binding instead of onAppear. <!-- How did you build this feature or fix this bug and why? --> # Test Plan Tested the user shared repro <!-- 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) --------- Co-authored-by: Kudo Chien <kudo@expo.dev>
# Why Fixes - #49075 #43797 added `isEditing` flag but it never set to `false` after the manual drag is finished. So post manual drag, JS value prop update was getting dropped. <!-- Please describe the motivation for this PR, and link to relevant GitHub issues, forums posts, or feature requests. --> # How Use event count mechanism to keep the slider always accept new values and ignore if JS sends any old values due to async event. <!-- How did you build this feature or fix this bug and why? --> # Test Plan Tested user shared repro <!-- 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)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 : )