Files
m8chat-app2/lib/features/calls/domain/incoming_call.dart
help4bis f12a7ac1fd feat: Phase 2 complete — calls, media, spaces, persistence, chat improvements
- LiveKit/MatrixRTC voice+video calls with full call screen UI
- Incoming call overlay (accept/decline)
- Media upload/download — file picker, image rendering, file download
- Spaces navigation — space list + expandable child rooms
- Drift persistence — rooms + messages written on every sync
- Sync persistence auto-starts on login and session restore
- Chat: typing indicators, long-press menu, reply, emoji reactions
- User search dialog + start DM from rooms screen
- Android: INTERNET + CAMERA + RECORD_AUDIO permissions in main manifest
- Emoji picker for reactions

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 06:48:03 +10:00

19 lines
516 B
Dart

// Version: 1.1.0 | Created: 2026-04-01
// IncomingCall — immutable model representing a received m.call.invite.
import 'package:freezed_annotation/freezed_annotation.dart';
part 'incoming_call.freezed.dart';
@freezed
abstract class IncomingCall with _$IncomingCall {
const factory IncomingCall({
required String callId,
required String roomId,
required String callerId,
required String callerDisplayName,
String? callerAvatarUrl,
@Default(false) bool isVideo,
}) = _IncomingCall;
}