Mobile
Expo API client architecture
The Expo starter sends the session token as a bearer token on a small typed client. The screen still renders if the API is down.
The Mobile App Starter (Expo) keeps networking in one client. Screens call that client. They do not build fetch URLs inline.
The session token from SecureStore is attached as a bearer token. How it gets into SecureStore is Expo authentication architecture. The storage key is session, covered again in secure token storage with Expo.
When the request fails, the home screen still renders and can show that the API is unavailable. The starter does not queue offline mutations or retry forever. A failed load is a visible state, not a crash.
Notifications are separate from this client. The app requests permission and sets a notification handler. It does not call getExpoPushTokenAsync. That limit is Expo push notifications.
Treat the client as the only place that reads the token. A screen that copies the token into its own fetch will drift the moment the header changes.