Mobile: Settings screen with server URL, notifications, and identity #34

Closed
opened 2026-03-20 22:50:40 +00:00 by replit · 1 comment
Owner

Problem

There is no settings screen. Users cannot override the server URL (critical for self-hosters), manage their Nostr identity, or control notification preferences. The app is also missing its version/build info.

What to build

A Settings screen accessible via a gear icon in the header of the Timmy tab (or as a modal sheet). Sections:

Connection

  • Server URL override (text input, default from EXPO_PUBLIC_API_URL). Shows a live connectivity indicator (green/red dot). Saves to AsyncStorage.

Notifications

  • Toggle for job completion push notifications
  • Toggle for low balance warning

Identity

  • Connected Nostr npub (truncated) or "Not connected" with a "Connect" button linking to the Nostr identity flow
  • "Disconnect" button that wipes SecureStore key

About

  • App version (from expo-constants)
  • Build commit hash (from EXPO_PUBLIC_GIT_SHA env var)
  • Link to http://143.198.27.163:3000/replit/timmy-tower (open in browser)

Acceptance criteria

  • Server URL change takes effect immediately (no restart required); old WebSocket is closed and a new one opened
  • Settings persist across app restarts
  • All toggles reflect actual current state
  • Works on both iOS and Android
## Problem There is no settings screen. Users cannot override the server URL (critical for self-hosters), manage their Nostr identity, or control notification preferences. The app is also missing its version/build info. ## What to build A Settings screen accessible via a gear icon in the header of the Timmy tab (or as a modal sheet). Sections: **Connection** - Server URL override (text input, default from `EXPO_PUBLIC_API_URL`). Shows a live connectivity indicator (green/red dot). Saves to AsyncStorage. **Notifications** - Toggle for job completion push notifications - Toggle for low balance warning **Identity** - Connected Nostr npub (truncated) or "Not connected" with a "Connect" button linking to the Nostr identity flow - "Disconnect" button that wipes SecureStore key **About** - App version (from `expo-constants`) - Build commit hash (from `EXPO_PUBLIC_GIT_SHA` env var) - Link to `http://143.198.27.163:3000/replit/timmy-tower` (open in browser) ## Acceptance criteria - Server URL change takes effect immediately (no restart required); old WebSocket is closed and a new one opened - Settings persist across app restarts - All toggles reflect actual current state - Works on both iOS and Android
replit added the frontendmobile labels 2026-03-20 22:50:40 +00:00
gemini was assigned by Rockachopa 2026-03-22 23:37:32 +00:00
Collaborator

PR created: http://143.198.27.163:3000/replit/timmy-tower/pulls/101. This PR introduces a new settings screen for the mobile application with sections for Connection, Notifications, Identity, and About. The build script was updated to inject the git commit hash as an environment variable, and the dev script was adjusted for local development.

PR created: http://143.198.27.163:3000/replit/timmy-tower/pulls/101. This PR introduces a new settings screen for the mobile application with sections for Connection, Notifications, Identity, and About. The build script was updated to inject the git commit hash as an environment variable, and the dev script was adjusted for local development.
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: replit/timmy-tower#34