- 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>
66 lines
1.1 KiB
YAML
66 lines
1.1 KiB
YAML
name: m8chat_app
|
|
description: "M8Chat — Matrix chat client for Android, iOS, and Web."
|
|
publish_to: 'none'
|
|
version: 1.1.0+2
|
|
|
|
environment:
|
|
sdk: '>=3.11.0 <4.0.0'
|
|
|
|
dependencies:
|
|
flutter:
|
|
sdk: flutter
|
|
|
|
# Matrix SDK
|
|
matrix: ^0.33.0
|
|
|
|
# State management
|
|
flutter_riverpod: ^3.0.0
|
|
riverpod_annotation: ^3.0.0
|
|
|
|
# Navigation
|
|
go_router: ^15.0.0
|
|
|
|
# Storage
|
|
drift: ^2.22.0
|
|
drift_flutter: ^0.2.0
|
|
flutter_secure_storage: ^9.0.0
|
|
|
|
# Serialisation
|
|
freezed_annotation: ^3.0.0
|
|
json_annotation: ^4.9.0
|
|
|
|
# Video/Voice (MatrixRTC + LiveKit) — Phase 2 active use; wired in Phase 1
|
|
livekit_client: ^2.4.0
|
|
flutter_webrtc: ^0.12.0
|
|
|
|
# HTTP client (used directly in LiveKit JWT fetch)
|
|
http: ^1.0.0
|
|
|
|
# Media upload
|
|
file_picker: ^8.0.0
|
|
|
|
# Emoji reactions
|
|
emoji_picker_flutter: ^4.0.0
|
|
|
|
# UI
|
|
cached_network_image: ^3.4.0
|
|
timeago: ^3.7.0
|
|
intl: ^0.20.0
|
|
|
|
dev_dependencies:
|
|
flutter_test:
|
|
sdk: flutter
|
|
flutter_lints: ^5.0.0
|
|
build_runner: ^2.4.0
|
|
riverpod_generator: ^3.0.0
|
|
freezed: ^3.0.0
|
|
json_serializable: ^6.9.0
|
|
drift_dev: ^2.22.0
|
|
|
|
flutter:
|
|
uses-material-design: true
|
|
|
|
assets:
|
|
- assets/images/
|
|
- assets/icons/
|