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