# Troubleshoot the preview

> This page is about FlutterFlow (the app builder you use by describing your app), not FlutterFlow Studio.

URL: https://docs.flutterflow.io/ffx/troubleshoot-preview

Fix problems with the preview: what each status and message on it means, Screens pictures that aren't drawn, and live data changed from Overview.

Use this page when the preview beside **Overview** or a [thread](https://docs.flutterflow.io/ffx/glossary#thread) shows a status or message, when pictures on **Screens** aren't drawn, or when using the preview changes your live data. For more about the preview, see [Preview](https://docs.flutterflow.io/ffx/preview).

## What the status above the phone means {#status-above-the-phone}

The status above the phone shows what the preview is doing, one status at a time. When the thread's app is asleep, the thread was stopped, there's no app yet, or the preview fails before anything appears, a message on the phone replaces the status. See [Messages on the phone](#messages-on-the-phone).

The statuses in the following table require no action:

| Status | What it means |
| --- | --- |
| **Starting** | The preview is opening your app. |
| **Reconnecting** | The preview lost its connection and is reconnecting. The last screen stays on the phone. |
| **Building** | The agent is building the first version or the screen currently shown. |
| **Updating preview** | A newer version is on its way to the phone: from the agent's latest turn in a thread, or from a push on **Overview**. |
| **Still updating preview** | The newer version is taking longer than usual to arrive. |
| **Preview updated** | The newer version is on the phone. The status clears after a moment. |
| **Building your answer into your app**, or **Building** followed by the name of a design you chose and **into your app** | The agent is building your choice into the app. See [Design directions](https://docs.flutterflow.io/ffx/compare-directions). |
| **Your answer is in your app**, or the name of a design followed by **is in your app** | The agent built your choice into the app. |
| **Copy of your app** | The thread's preview is idle. It runs the thread's [**Copy of your app**](https://docs.flutterflow.io/ffx/glossary#copy-of-your-app), and changes stay in the thread until you push them. |

Later sections on this page cover the statuses that you can fix: **Preview failed**, **App crashed**, **Latest version failed**, **Preview not updated**, **Newer version**, **Asleep**, and **Stopped**. When a status has an action, it acts as a button that shows that action, such as **Retry**. To see more details, point to a status.

<Mock name="preview-crashed" alt="A thread's preview with the status App crashed and a Restart button above the phone, which still shows the app's last screen." />

## Messages on the phone {#messages-on-the-phone}

When the preview has no screen to show, a message on the phone explains why. The following messages require no action:

- On **Overview**, before the first version is built, the phone states that your app appears after the agent builds the first version.
- While the agent builds the first version, the phone says "The agent is building the first version. Your app runs here once it's built."
- While the first version is building, the phone can also say "Your app runs here once it's built. Its pages appear in Screens as each one is ready."

Later sections on this page cover the remaining messages on the phone.

<Mock name="preview-asleep" alt="A thread's preview with the phone saying This thread's app is asleep. Sending a message wakes it too, and a Wake button under it." />

## "Preview failed" above the phone {#preview-failed}

**What it means:** The preview encountered a problem, and the last screen shown stays on the phone.

**Fix it:**

1. To see what went wrong, point to the status.
2. If the status shows **Retry** or **Reload**, click it.

## "App crashed" above the phone {#app-crashed}

**What it means:** Your app started on the phone and then encountered an error. The last screen shown stays on the phone.

**Fix it:**

1. To start a fresh copy of the same version, click **Restart** in the status.
2. If your app crashes again, point to the status and read the error. In a thread that you started, tell the agent what you did before the crash and ask it to fix the error. If the preview belongs to a teammate's thread, ask that teammate instead. Only owners and developers can start a thread.

## "Latest version failed" above the phone {#latest-version-failed}

**What it means:** The preview couldn't show the newest version of your app, so the phone shows the previous version. To see the reason, point to the status. The reason starts with "The newest version could not be shown".

**Fix it:**

- Click **Retry** in the status.

## "Preview not updated" above the phone {#preview-not-updated}

**What it means:** The status shows **Preview not updated** and "showing the version before". When you point to the status, it says "This turn's changes didn't reach the preview. They're saved in the thread, and the next turn tries again."

**Fix it:**

- If you started the thread, send your next message. The next turn tries to update the preview again. Until then, the phone shows the version from before the turn.

## "Newer version" above the phone {#newer-version}

**What it means:** A newer version of your app is ready. When you point to the status, it says "A newer version is ready. Reload the page to see it."

**Fix it:**

- Click **Reload** in the status, or reload the page in your browser.

## The preview says the thread's app is asleep {#asleep}

**What it means:** The thread's copy of your app isn't running. When the phone has no screen to show, it says "This thread's app is asleep. Sending a message wakes it too." When the last screen remains on the phone, the status shows **Asleep**.

**Fix it:**

- If you started the thread, click **Wake** on the phone or in the status, or send a message in the thread. Only the thread's creator sees **Wake**.
- If a teammate started the thread, ask them to wake it, or start your own thread (requires the owner or developer role).

## The preview says the thread was stopped {#preview-thread-stopped}

**What it means:** The thread stopped, so its preview no longer runs. The phone says "This thread was stopped. Start a new thread to continue." When the last screen remains on the phone, the status shows **Stopped**.

**Fix it:**

- To continue, start a new thread. If you don't have the owner or developer role, ask an owner or developer. See [Start a thread](https://docs.flutterflow.io/ffx/start-a-thread).

## "The preview could not be loaded" on the phone {#preview-could-not-be-loaded}

**What it means:** The preview failed before any screen of your app appeared. The card on the phone states the reason under its title.

**Fix it:**

- Click **Retry** or **Reload** on the card.

## "The preview took too long to load. Retry to try again." {#took-too-long}

**What it means:** Your app didn't load in the preview in time. This message appears on the phone under "The preview could not be loaded", or when you point to the **Preview failed** or **Latest version failed** status.

**Fix it:**

- Click **Retry**.

## "This screen did not run" on the phone {#screen-did-not-run}

**What it means:** The current screen has an error, so the preview can't run it. The card on the phone shows the error under its title and has no button.

**Fix it:**

- In a thread that you started, ask the agent to fix the error. If the preview belongs to a teammate's thread, ask that teammate instead. Only owners and developers can start a thread.

## "No full app to show" on the phone {#no-full-app}

**What it means:** This version of your app has individual screens but no full-app screen for the preview to run. The card says "This version of your app has no full-app screen to show. Ask the agent to add one." Because retrying won't help, the card has no button.

**Fix it:**

- In a thread that you started, ask the agent to add a full-app screen. If the preview belongs to a teammate's thread, ask that teammate instead. Only owners and developers can start a thread.

## "No app yet." on the phone {#no-app-yet}

**What it means:** The first version didn't finish building, so the preview has no app to show. The phone says "The first version didn't finish, so there's no app to show yet."

**Fix it:**

- Check the **First version** card in the thread. See [Troubleshoot getting started](https://docs.flutterflow.io/ffx/troubleshoot-getting-started).

## "Couldn't read this thread's screens." {#couldnt-read-screens}

**What it means:** The **Screens** tab couldn't load the thread's screens. In place of this message, the error can show the reason from the preview.

**Fix it:**

- Click **Retry** in the error.

## Screens shows pictures that aren't drawn {#pictures-not-drawn}

**What it means:** On the **Screens** tab, a screen's tile shows a status in place of its picture:

- **Drawing:** FlutterFlow is drawing the picture. The header beside the first section tracks progress, such as "Drawing 3 of 12".
- **Not drawn yet:** FlutterFlow draws the picture the next time the thread runs.
- **No picture:** Drawing the screen failed, so no picture will appear.

**Fix it:**

- For **Drawing**, wait for the picture to finish drawing.

See [Screens](https://docs.flutterflow.io/ffx/screens).

## Using the preview on Overview changed your live data {#overview-changed-live-data}

**What it means:**

Your app's share links, test builds, and **Overview** preview all use live data. Adding, editing, or deleting data in the **Overview** preview changes your live data directly.

**Fix it:**

1. To undo a change, edit the record in **Backend**, or add a deleted record again. If you don't have the owner or developer role, ask an owner or developer. See [Records](https://docs.flutterflow.io/ffx/records).
2. To test your app without changing [live data](https://docs.flutterflow.io/ffx/glossary#live-data), use a thread's preview instead. A thread's preview runs the thread's **Copy of your app**. When your app stores data and you point to **Copy of your app**, the status states that the preview uses a copy of your starter data. See [Live, thread and starter data](https://docs.flutterflow.io/ffx/data-copies).

## On a phone {#on-a-phone}

On a phone, the preview fills the screen and uses shorter statuses:

- On **Overview**, while a build is on its way, the preview shows **Building…** or **Updating…** over your app. If a problem occurs, it shows **Your app didn’t load**, **Your app crashed**, or **The latest version didn’t load**, along with **Retry**, **Reload**, or **Restart** when applicable. Before any push, the preview says **Nothing pushed yet**.
- On a thread, the top bar shows **Starting…**, **Reconnecting…**, or **Building…** while the preview loads. When the preview fails, the bar shows **Failed**, or **Failed** with an action such as **Failed · Retry**. Tap **Failed** to open **The preview didn’t load**, which confirms that your changes are safe in the thread and shows any **Error details**. When the preview can try again, a button at the bottom shows the action, such as **Retry** or **Restart**.
- The asleep and stopped messages appear on the phone preview as they do on a computer. See [The preview says the thread's app is asleep](#asleep) and [The preview says the thread was stopped](#preview-thread-stopped).
