Error screen

When the app fails to load a page it shows a native screen with an icon, a short message, and a retry button.

You can customize the icon and copy and translate the copy into any language your app supports. Customize only what you want to change to override the English defaults.

#The two types of errors

Type When it shows
offline The device has no network connection: airplane mode or no signal
generic Any other failure to load: a 500 response, an unreachable server, or a request time out

#Error messages

Title and message copy lives in your app's own locale files, under the ruby_native namespace. This reuses the I18n setup you already have, so error copy sits alongside the rest of your app's strings.

# config/locales/en.yml
en:
  ruby_native:
    errors:
      retry: "Retry"
      offline:
        title: "You're offline"
        message: "Check your connection and try again."
      generic:
        title: "Something went wrong"
        message: "Please try again in a moment."

The retry label is shared by both states.

#Icons

Set per-state icons in config/ruby_native.yml.

errors:
  offline:
    icons:
      ios: wifi.slash
      android: wifi_off
  generic:
    icons:
      ios: exclamationmark.triangle
      android: error_outline

#Testing your changes

Custom icons and copy are for your users, so they only appear in your built app. The Ruby Native app used for previews always shows the developer error screen with the real failure details instead; that's expected, not a sign your config is being ignored. To see what users see, trigger an error in a TestFlight or internal testing build, for example by turning on airplane mode.