- Web Push: push_sw.js service worker + VAPID subscription registered on login; Matrix pusher registered pointing to Sygnal on https://matrix.m8chat.au/_matrix/push/v1/notify - Chat: tap image -> fullscreen InteractiveViewer (pinch/zoom) - Rooms: public room browser via Matrix room directory (FAB + empty state) Build fixes applied to web_push_service.dart: - dart:js_interop_unsafe import added for getProperty on JSObject - client.setPusher -> client.postPusher (matrix 0.33.0 API) - keyBytes.toJS removed (JSUint8Array already a JS type) - register() script URL coerced with .toJS (String -> JSAny) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
71 lines
1.2 KiB
YAML
71 lines
1.2 KiB
YAML
name: m8chat_app
|
|
description: "M8Chat — Matrix chat client for Android, iOS, and Web."
|
|
publish_to: 'none'
|
|
version: 1.5.0+7
|
|
|
|
environment:
|
|
sdk: '>=3.11.0 <4.0.0'
|
|
|
|
dependencies:
|
|
flutter:
|
|
sdk: flutter
|
|
|
|
# Matrix SDK
|
|
matrix: ^0.33.0
|
|
olm: ^2.0.4
|
|
|
|
# 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
|
|
|
|
# Web platform (required for dart:js_interop DOM access)
|
|
web: ^1.1.0
|
|
|
|
# UI
|
|
cached_network_image: ^3.4.0
|
|
timeago: ^3.7.0
|
|
intl: ^0.20.0
|
|
flutter_svg: ^2.2.4
|
|
|
|
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/
|