Files
llink/js/mobile/app.config.ts
T
Claude 6885ca355b mobile: network member management and avatars (parity phase 2)
- New NetworkSettingsScreen (reachable from the stream-list header) lists
  members with admin remove, an invite-by-email sheet, and pending
  invitations with revoke — backed by new use-member-management hooks.
- Avatars: add avatar_object_id to HumanSchema, uploadAvatar/deleteAvatar/
  getAvatarDownloadUrl client methods (raw PUT via expo-file-system), a
  use-avatar-url hook, and image rendering in the shared Avatar component.
  AccountScreen gains a tap-to-change profile picture via expo-image-picker.
- auth-store gains refreshUser to pick up avatar changes.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_01LqGPzXQ1AA9CqYHgCgmbtV
2026-06-21 01:53:31 +00:00

91 lines
2.0 KiB
TypeScript

import type { ExpoConfig } from 'expo/config';
const APP_ENV = (process.env.EXPO_PUBLIC_APP_ENV ?? 'dev') as 'dev' | 'prod';
const config: ExpoConfig = {
name: 'Flowy',
slug: 'flowy',
version: '0.1.0',
orientation: 'portrait',
icon: './assets/icon.png',
scheme: 'flowy',
userInterfaceStyle: 'dark',
newArchEnabled: true,
splash: {
image: './assets/icon.png',
resizeMode: 'contain',
backgroundColor: '#2B2B2B',
},
ios: {
supportsTablet: true,
bundleIdentifier: 'ai.flowylabs.llink',
infoPlist: {
ITSAppUsesNonExemptEncryption: false,
},
},
android: {
adaptiveIcon: {
foregroundImage: './assets/icon.png',
backgroundColor: '#2B2B2B',
},
},
plugins: [
[
'expo-build-properties',
{
ios: {
deploymentTarget: '16.0',
},
},
],
'expo-secure-store',
[
'expo-camera',
{
cameraPermission: 'Flowy uses your camera to record video messages.',
microphonePermission:
'Flowy uses your microphone to record voice and video messages.',
recordAudioAndroid: true,
},
],
[
'expo-audio',
{
microphonePermission:
'Flowy uses your microphone to record voice messages.',
},
],
[
'expo-image-picker',
{
photosPermission:
'Flowy uses your photo library to set your profile picture.',
},
],
[
'expo-notifications',
{
icon: './assets/notification-icon.png',
color: '#000000',
},
],
// LiveKit needs WebRTC native modules. The two plugins below patch the
// iOS/Android prebuild so camera/mic permissions and the webrtc pod are
// wired up correctly for huddles.
'@config-plugins/react-native-webrtc',
'@livekit/react-native-expo-plugin',
],
experiments: {
typedRoutes: false,
},
extra: {
eas: {
projectId: 'e902f7e5-e514-42bd-9591-75738e3494ed',
},
appEnv: APP_ENV,
},
};
export default config;