FoxTalk
Docs/Configuration

Configuration

FoxTalk gathers all runtime config in two places: backend URLs live in AppConfig (Dart side), and branding lives in branding/app_brand.json (generates native project config).

lib/src/config/app_config.dart is the client-side runtime config entry, holding three URLs:

serverBaseUrl
Backend origin (e.g. https://your-server.example), used for image / upload / business URLs.
apiBaseUrl
API v1 root (e.g. https://your-server.example/v1/), default base for api_client.dart.
webBaseUrl
Web asset root (e.g. https://your-server.example/web/), reused by upstream web views.

Switch backend with --dart-define

The default https://your-server.example is production — so a TF / App Store Archive without --dart-define still hits prod. To target a local backend, override with --dart-define:

flutter run --dart-define=CHATIM_SERVER_BASE_URL=http://<LAN_IP>:8090

Branding & display name

branding/app_brand.json is the single source of truth for branding. The tool regenerates ios/Flutter/AppBrand.xcconfig and Android string resources from this file, keeping display name and bundle name in sync.

{
  "displayName": "FoxTalk",
  "bundleName": "foxtalk",
  "idLabel": "FoxTalk ID"
}

The directory name repo/TangSengDaoDaoFlutter/ is kept for easier upstream sync; user-visible branding goes through this file.

iOS aps-environment

Runner.entitlements declares aps-environment for APNs — development for dev, production for prod. With Xcode automatic signing, Archive uploads to App Store / TF pick up production automatically, while debug runs on a real device pick up development.

last updated · 2026-06