Skip to content

Feature: Status Pages

The mobile client includes a set of full-screen status pages designed to handle critical, app-wide states. These pages are a key part of the application startup flow and are displayed before the main application UI and router are ever built.

This mechanism is triggered by the RemoteConfig object fetched from the backend upon application startup. It allows administrators to communicate important information to all users or enforce mandatory updates.

Maintenance Page

When the isUnderMaintenance flag in the RemoteConfig is set to true, the application will display the MaintenancePage. This page informs the user that the app is temporarily unavailable and prevents them from proceeding further. It’s a crucial tool for performing server-side updates without disrupting users with a broken app.

Update Required Page

If the isLatestVersionOnly flag is true in the RemoteConfig, the UpdateRequiredPage is shown. This page instructs the user that they must update to the latest version of the app to continue. It includes a button that links directly to the appropriate app store (Apple App Store or Google Play Store), using the URL also provided in the RemoteConfig.

Initial Status Page

This is the very first UI the user sees when a remote configuration check is required. The StatusPage handles two states:

  • Loading: Displays a loading indicator while the app is fetching the remote config (AppStatus.configFetching).
  • Failure: If the fetch fails, it shows an error message and a “Retry” button, allowing the user to attempt the connection again (AppStatus.configFetchFailed).