# Platform support

> What has been tested where, and known limitations.

## Tested

| Platform | Surface | Status |
|---|---|---|
| iOS 26 | Liquid Glass | The example app runs on an iOS 26.5 simulator in CI, driven by Maestro |
| Android | Material 3 snackbar, opaque | The example app runs on an Android 15 (API 35) emulator in CI, driven by Maestro |
| iOS before 26 | Opaque | Not yet run |
| Web (React DOM, `expo-hot-toast/web`) | Frosted glass | Driven in Chromium through a Vite app, and tested in jsdom in CI; not yet tried inside a Next.js app |
| Web (React Native Web, as in Expo web) | Frosted glass | The example app is built for the web in CI, and every toast on the [home page](https://vanitascaesar1.github.io/expo-hot-toast/) runs on that build |

"Driven by Maestro" means a script taps every row of the example app in light
mode and checks what appears, then repeats a shorter pass in dark mode. The recordings on the
[home page](https://vanitascaesar1.github.io/expo-hot-toast/) come from those runs.

Tested with the versions Expo SDK 57 installs: React Native 0.86,
Reanimated 4.5, Worklets 0.10, Gesture Handler 2.32 and
safe-area-context 5.7.

## Known limitations

- **Native modals cover toasts**, unless you render the Toaster in
  `FullWindowOverlay` on iOS; see [Positions](https://vanitascaesar1.github.io/expo-hot-toast/docs/md/positions.md#above-modals-and-sheets).
- **No morphing between toasts.** iOS 26 can morph one glass shape into
  another, but React Native has no way to drive that with glass yet, so toasts
  enter and leave separately.
- **Android draws an opaque surface.** It does not imitate glass. By default it is a Material 3 snackbar; `preset="glass"` gives the opaque pill instead. You can [pass a blur view](https://vanitascaesar1.github.io/expo-hot-toast/docs/md/customizing.md#blur-on-android) to draw toasts on a blur.
- **The web draws frosted glass, not Liquid Glass.** Browsers have no
  equivalent of Apple's material, so the web gets a CSS backdrop blur. Browsers
  without `backdrop-filter` get the opaque surface.
- **`toast.custom` toasts do not collapse** in a `stacked` Toaster.
