Integrate `expo-callkit-telecom` to support native system call handling (answering, ending, and muting via system UI). This includes a new `callKeepService` and a `CallKeepBootstrap` component to manage the lifecycle of system call events. Additionally, improves the calling experience by: - Adding support for group calls with participant tracking and UI indicators. - Enhancing LiveKit integration by replacing polling with event-driven video track synchronization. - Updating `WebSocketService` to prevent disconnection when the app enters the background during an active call. - Adding new WebSocket message types for participant join/leave events and group invites. - Refining call UI components (`CallScreen`, `FloatingCallWindow`, `IncomingCallModal`) for better visual feedback and safe area handling. Refactor LiveKit service to use event-driven updates for local and remote tracks, improving performance and reliability.
88 lines
2.7 KiB
JSON
88 lines
2.7 KiB
JSON
{
|
|
"name": "with_you",
|
|
"version": "0.0.2",
|
|
"main": "expo-router/entry",
|
|
"scripts": {
|
|
"start": "expo start",
|
|
"android": "expo run:android",
|
|
"ios": "expo run:ios",
|
|
"web": "expo start --web",
|
|
"ios:dev": "eas build --platform ios --profile development",
|
|
"ios:simulator": "eas build --platform ios --profile ios-simulator",
|
|
"ios:preview": "eas build --platform ios --profile preview",
|
|
"ios:prod": "eas build --platform ios --profile production",
|
|
"ios:submit": "eas submit --platform ios --profile production"
|
|
},
|
|
"dependencies": {
|
|
"@expo/vector-icons": "^15.1.1",
|
|
"@livekit/react-native": "^2.11.0",
|
|
"@livekit/react-native-webrtc": "^144.1.0",
|
|
"@react-native-async-storage/async-storage": "^3.1.1",
|
|
"@shopify/flash-list": "^2.3.1",
|
|
"@tanstack/react-query": "^5.100.14",
|
|
"axios": "^1.16.1",
|
|
"date-fns": "^4.4.0",
|
|
"expo": "^56.0.8",
|
|
"expo-background-task": "~56.0.16",
|
|
"expo-callkit-telecom": "^0.3.8",
|
|
"expo-camera": "~56.0.7",
|
|
"expo-constants": "~56.0.16",
|
|
"expo-dev-client": "~56.0.18",
|
|
"expo-file-system": "~56.0.7",
|
|
"expo-font": "~56.0.5",
|
|
"expo-haptics": "~56.0.3",
|
|
"expo-image": "~56.0.6",
|
|
"expo-image-picker": "~56.0.15",
|
|
"expo-intent-launcher": "~56.0.4",
|
|
"expo-linear-gradient": "~56.0.4",
|
|
"expo-linking": "~56.0.13",
|
|
"expo-media-library": "~56.0.6",
|
|
"expo-notifications": "~56.0.15",
|
|
"expo-router": "~56.2.8",
|
|
"expo-sqlite": "~56.0.4",
|
|
"expo-status-bar": "~56.0.4",
|
|
"expo-system-ui": "~56.0.5",
|
|
"expo-task-manager": "~56.0.16",
|
|
"expo-updates": "~56.0.17",
|
|
"expo-video": "~56.1.2",
|
|
"jcore-react-native": "^2.3.6",
|
|
"jpush-react-native": "^3.2.7",
|
|
"katex": "^0.17.0",
|
|
"livekit-client": "^2.19.0",
|
|
"markdown-it": "^14.2.0",
|
|
"pako": "^2.1.0",
|
|
"prismjs": "^1.30.0",
|
|
"react": "19.2.3",
|
|
"react-dom": "19.2.3",
|
|
"react-native": "0.85.3",
|
|
"react-native-gesture-handler": "^3.0.0",
|
|
"react-native-pager-view": "^8.0.2",
|
|
"react-native-paper": "^5.15.3",
|
|
"react-native-reanimated": "^4.4.0",
|
|
"react-native-safe-area-context": "~5.8.0",
|
|
"react-native-screens": "4.25.2",
|
|
"react-native-share": "^12.3.1",
|
|
"react-native-sse": "^1.2.1",
|
|
"react-native-web": "^0.21.0",
|
|
"react-native-webview": "13.16.1",
|
|
"react-native-worklets": "^0.9.1",
|
|
"zod": "^4.4.3",
|
|
"zustand": "^5.0.14"
|
|
},
|
|
"devDependencies": {
|
|
"@react-native-community/cli": "^20.1.3",
|
|
"@types/pako": "^2.0.4",
|
|
"@types/react": "~19.2.16",
|
|
"@types/react-native-vector-icons": "^6.4.18",
|
|
"typescript": "~6.0.3"
|
|
},
|
|
"private": true,
|
|
"expo": {
|
|
"install": {
|
|
"exclude": [
|
|
"expo-image"
|
|
]
|
|
}
|
|
}
|
|
}
|