Skip to content

Comments

[pull] main from expo:main#610

Merged
pull[bot] merged 8 commits intocode:mainfrom
expo:main
Feb 20, 2026
Merged

[pull] main from expo:main#610
pull[bot] merged 8 commits intocode:mainfrom
expo:main

Conversation

@pull
Copy link

@pull pull bot commented Feb 20, 2026

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 : )

aswinsanakan and others added 8 commits February 20, 2026 12:34
Corrected a grammatical error in the tutorial regarding the pan
gesture's onChange callback description.

# Why

Fixes unclear sentence structure.

# How

Updated wording in the MDX file.

# Test Plan

N/A (documentation change)

# 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)
`scaleEffect` now takes `number | { x: number; y: number }`. When passed
a number, TS normalizes it to `{ x, y }` before hitting native. Swift
side is a straight pass-through to `content.scaleEffect(x: x, y: y)`.
Same structure as `OffsetModifier` (non-optional `@Field` vars with
identity defaults, single-line body).

## Usage: Inverted List

Flip the `List` vertically, flip each row back, reverse the data —
messages anchor to the bottom and new content pushes up naturally:

```tsx
import { Group, HStack, List, Spacer, Text } from "@expo/ui/swift-ui";
import { listStyle, scaleEffect, scrollContentBackground } from "@expo/ui/swift-ui/modifiers";

function MessageList({ messages }: { messages: { id: string; text: string }[] }) {
  return (
    <List
      modifiers={[
        listStyle("plain"),
        scrollContentBackground("hidden"),
        scaleEffect({ x: 1, y: -1 }),
      ]}
    >
      {[...messages].reverse().map((msg) => (
        <Group key={msg.id} modifiers={[scaleEffect({ x: 1, y: -1 })]}>
          <HStack>
            <Text>{msg.text}</Text>
            <Spacer />
          </HStack>
        </Group>
      ))}
    </List>
  );
}
```

Existing `scaleEffect(number)` calls still work — `scaleEffect(0.5)`
normalizes to `{ x: 0.5, y: 0.5 }`.

## Changes

Only touches modifiers:
- `src/swift-ui/modifiers/index.ts`: union type, typeof dispatch (+2/-1)
- `ios/Modifiers/ViewModifierRegistry.swift`: `@Field var x/y` with 1.0
defaults (+2/-2)
- `CHANGELOG.md`: single entry
- `build/` type declarations rebuilt

## Test Plan

`yarn clean`, `yarn lint --fix`, `yarn lint`, `yarn build` all pass.
`yarn test` has no test suites in expo-ui (exits with "No tests found").
Rebased on upstream/main.

Existing `scaleEffect(number)` calls still work since the TS layer
normalizes `scaleEffect(0.5)` to `{ x: 0.5, y: 0.5 }`. Per-axis usage:
`scaleEffect({ x: 1, y: -1 })` passes `x` and `y` directly to native.
# Why

Update `ignoreSafeArea` prop in `Host` in SDK 55 docs.

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

# How

Update docs and add example.

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

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

# 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)
- [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: Aman Mittal <amandeepmittal@live.com>
#42931)

## Summary

Exposes `CLAccuracyAuthorization` (iOS 14+) in
`PermissionDetailsLocationIOS` so apps can detect when a user has
disabled "Precise Location" in Settings.

Reads `CLLocationManager.accuracyAuthorization` in the three iOS
permission requesters and returns `"accuracy": "full" | "reduced"`
alongside the existing `scope` field. This brings iOS to parity with
`PermissionDetailsLocationAndroid`, which already exposes `accuracy`.

Closes #42930

## Changes

- **`src/Location.types.ts`** / **`build/Location.types.d.ts`** — Add
`accuracy: 'full' | 'reduced'` to `PermissionDetailsLocationIOS`
- **`ios/Requesters/EXForegroundPermissionRequester.m`** — Read
`CLAccuracyAuthorization`, include in return dict
- **`ios/Requesters/EXBackgroundLocationPermissionRequester.m`** — Same
- **`ios/Requesters/EXLocationPermissionRequester.m`** — Same
- **`CHANGELOG.md`** — Entry under Unpublished > New features

## Test Plan

- Verified on iPhone simulator (iOS 18/26): toggling Precise Location
off returns `accuracy: 'reduced'`, toggling back on returns `accuracy:
'full'`
- Running in production for 3+ months via `patch-package` in a
navigation app
@pull pull bot locked and limited conversation to collaborators Feb 20, 2026
@pull pull bot added the ⤵️ pull label Feb 20, 2026
@pull pull bot merged commit 25ee2d8 into code:main Feb 20, 2026
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.

6 participants