Files
BizGaze_Remote/mobile
Sravan 36edc6de12 Native calls: CallKit audio-session coordination, no re-ring blip, mute sync, WS ring path
Plugin (rides next build):
- Audio: disable LiveKit auto audio-session config + keep the engine OFF, then
  configure the session and start the engine ONLY in CXProvider didActivate
  (stop in didDeactivate). Fixes intermittent dead mic / no audio and the "speaker
  turns on late" routing. Request mic permission on connect so enabling the engine
  in didActivate can't block on undetermined permission (SDK #815).
- Re-ring blip: a cancel push for a call we already ended/known no longer reports
  a NEW incoming call (that was the phantom "rings back for a second"); it ends
  the known call cleanly, and only reports+ends for a truly unknown (cold) call.
- Mute display: answer/outgoing reflect muted-by-default on the CallKit screen;
  setMuted now drives mute THROUGH CallKit so the system screen and the in-app
  meeting UI stay in sync.
- reportIncomingCall: new method to ring CallKit from a WebSocket call event — a
  2nd path alongside the VoIP push for when the app is open (push can be delayed);
  deduped by UUID.

Web (deploys now; the WS ring path activates once the build has the new method):
- onDmCall/onGroupCall call nativeReportIncoming for native incoming calls.
- audioActivated telemetry.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-31 18:09:32 +05:30
..

Biz Connect — Mobile app (Capacitor)

A Capacitor shell that loads the live Connect web UI (server.url in capacitor.config.json) and adds native push, camera/mic, and store distribution. See the overall plan in ../CLIENTS.md.

Android: follow the step-by-step in ANDROID_SETUP.md (project generation, icons/splash, permissions, Firebase/FCM, run, and Play Store build).

Prerequisites

  • Node + npm install here.
  • Android: Android Studio + SDK.
  • iOS: macOS + Xcode (+ an Apple Developer account to run on device / ship).

Setup

npm install
npm run assets           # generate app icons + splash from resources/
npx cap add android
npx cap add ios          # macOS only
npx cap sync

Run / build

npx cap open android     # build & run from Android Studio
npx cap open ios         # build & run from Xcode

Server origin

The app loads server.url from capacitor.config.json (default https://remote.bizgaze.com). For a local device test against a dev server, set it to your machine's LAN URL (and allow cleartext for plain http).

Native push (next step)

Native push uses the Capacitor Push Notifications plugin (FCM on Android, APNs on iOS) and a server endpoint to register device tokens — tracked in ../CLIENTS.md Phase B. This is separate from the existing Web Push (VAPID) the PWA already uses. Needs Google/Apple credentials to test end-to-end.

Shipping (gated on accounts)

  • Google Play: one-time $25; upload an AAB; signing key.
  • App Store: Apple Developer $99/yr; archive via Xcode; App Store Connect listing.