|
|
|
|
|
by HamounKarami
195 days ago
|
|
thanks! windowing: using a transparent nswindow hosting swiftui views for the floating call ui, and nspopover for the menu bar dropdown. we also toggle nsapp.activationpolicy to hide the dock icon when it's just running in the background networking: livekit handles the webrtc video/audio (it’s been rock solid), with firebase cloud functions generating the tokens and firestore handling the signaling and presence state security: standard firebase auth for user management, and we use the native macos keychain (ksecclassgenericpassword) to securely store credentials so you don't have to login every time mac apis: lots of avfoundation for camera/mic permissions, nsstatusitem for the menu bar integration, and unusernotificationcenter to make sure you actually see incoming calls |
|