Uh oh!
There was an error while loading. Please reload this page.
Conversation
There was a problem hiding this comment.
Pull request overview
Adds a new VoIP call React Native example under mobile-react-native/voip-call/, consisting of an Expo client app and a small Deno push + signaling server to demonstrate ringing via native call UI (CallKit/Telecom) and connecting via a Fishjam room.
Changes:
- Introduces an Expo React Native VoIP calling client with login, user list, call screens (audio/video), and call lifecycle hooks.
- Adds a Deno server providing user registration, push routing (APNs/FCM), WebSocket signaling relay, and avatar serving.
- Adds setup/run documentation plus per-project tooling/config (Deno tasks/lockfile, Expo config, ESLint/Prettier, env examples).
Reviewed changes
Copilot reviewed 35 out of 47 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| mobile-react-native/voip-call/server/README.md | Documents server run, credentials setup, signaling, and push payload formats. |
| mobile-react-native/voip-call/server/main.ts | Implements Deno push + signaling server with SQLite registry and avatar hosting. |
| mobile-react-native/voip-call/server/deno.lock | Pins Deno dependencies for the server. |
| mobile-react-native/voip-call/server/deno.json | Defines server task and import map for Deno. |
| mobile-react-native/voip-call/server/.gitignore | Ignores local DB and credential artifacts. |
| mobile-react-native/voip-call/server/.env.example | Placeholder for server environment configuration examples. |
| mobile-react-native/voip-call/README.md | Top-level example instructions (credentials, env, running on devices). |
| mobile-react-native/voip-call/app/tsconfig.json | App TypeScript configuration (strict mode). |
| mobile-react-native/voip-call/app/src/user/UserProvider.tsx | Manages persisted username session and user list retrieval. |
| mobile-react-native/voip-call/app/src/user/UserContext.ts | Defines user context types and hook. |
| mobile-react-native/voip-call/app/src/theme/colors.ts | Adds theme color tokens used across the UI. |
| mobile-react-native/voip-call/app/src/screens/UsersScreen.tsx | Renders user list, refresh, and call initiation UI. |
| mobile-react-native/voip-call/app/src/screens/OutgoingCallView.tsx | Outgoing “ringing” UI while waiting for connection. |
| mobile-react-native/voip-call/app/src/screens/LoginScreen.tsx | Simple username login screen. |
| mobile-react-native/voip-call/app/src/screens/InCallView.tsx | Active call UI (audio/video), including mute/hold/audio route controls. |
| mobile-react-native/voip-call/app/src/screens/CallScreen.tsx | Owns room join/leave lifecycle and connection detection. |
| mobile-react-native/voip-call/app/src/hooks/useRequestPermissions.ts | Requests mic/camera (+ Android notifications) permissions. |
| mobile-react-native/voip-call/app/src/hooks/useRecentsRedial.ts | Handles iOS Recents redial intents via SDK pending intent. |
| mobile-react-native/voip-call/app/src/hooks/usePlaceCall.ts | Initiates calls via server push then starts native call UI. |
| mobile-react-native/voip-call/app/src/hooks/useDeviceRegistration.ts | Registers device VoIP token + platform with the server. |
| mobile-react-native/voip-call/app/src/hooks/useCallSignaling.ts | WebSocket signaling for call cancel/reject flows. |
| mobile-react-native/voip-call/app/src/hooks/useCallRoom.ts | Serializes room join/leave and media start/stop during calls. |
| mobile-react-native/voip-call/app/src/components/VideoCallView.tsx | FaceTime-style video layout with PiP local preview. |
| mobile-react-native/voip-call/app/src/components/index.ts | Barrel exports for shared components. |
| mobile-react-native/voip-call/app/src/components/InCallButton.tsx | Reusable in-call control button component. |
| mobile-react-native/voip-call/app/src/components/Avatar.tsx | Avatar rendering with image fallback to initials and speaking highlight. |
| mobile-react-native/voip-call/app/README.md | App-specific run notes and iOS native registration explanation. |
| mobile-react-native/voip-call/app/prettier.config.js | App formatting configuration. |
| mobile-react-native/voip-call/app/package.json | App dependencies and scripts. |
| mobile-react-native/voip-call/app/index.js | Expo entrypoint registering the root component. |
| mobile-react-native/voip-call/app/babel.config.js | Babel configuration for Expo. |
| mobile-react-native/voip-call/app/App.tsx | Composes providers, routes screens by session/call state, wires signaling. |
| mobile-react-native/voip-call/app/app.json | Expo app configuration (bundle/package IDs, plugins, permissions). |
| mobile-react-native/voip-call/app/.gitignore | Ignores native folders, build output, and local Google services file. |
| mobile-react-native/voip-call/app/.eslintrc.js | ESLint configuration for the app. |
| mobile-react-native/voip-call/app/.env.example | Documents required Expo public env vars. |
| mobile-react-native/README.md | Adds the VoIP Call example to the mobile RN examples index. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Uh oh!
There was an error while loading. Please reload this page.
czerwiukk
left a comment
There was a problem hiding this comment.
Readmes are OK and straight to the point. The code quality could be overall improved, there are some components that feel a bit clustered and the backend file would benefit from breaking it down.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
No description provided.