- Wire VIDEO_CALL_REQUEST/CANCEL/REFUSE/ROOM_COUNT commands via CommandsRepository - Add VideocallChatType enum (single/multi) with chatType stored in state - Implement auto-login to Juphoon SDK using sanitized email + user UUID - Add runtime camera/microphone permissions before call start - Add RetryInterceptor for transient TLS/socket errors in Dio - Migrate VideocallItem to Freezed with isTalking extension - Implement startGroupCall/leaveGroupCall using ChannelService with participant grid - Add PopScope to intercept back navigation during active calls - Redesign idle screen with device option cards and group call button - Redesign active call UI with video overlay, PiP local view, and new controls layout - Clean up SDK wrapper: remove unused streams, merge destroy+dispose into shutdown - Add i18n keys for videocall UI across 6 locales
videocall_sdk
Wrapper around Juphoon jc_sdk for video calling in SaveFamily.
Provides a clean Dart API over the native Juphoon SDK, isolating the dependency from the rest of the app.