f64398d3c6
- AppDatabase.open()/openForPush() kapseln Factory, Schluessel (Keystore), Klartext->SQLCipher-Migration (Backup/Verify/atomarer Tausch) und PRAGMAs - Android/Windows/Linux verschluesselt, iOS/macOS bewusst Klartext - 5 neue Tests mit echter SQLCipher-DLL; Windows-Praxistest mit echter DB erfolgreich (23 Tabellen verifiziert, E2EE intakt); Android UNGETESTET
123 lines
2.9 KiB
YAML
123 lines
2.9 KiB
YAML
name: pyramid
|
|
description: A flexible Matrix client with resizable panel layout.
|
|
publish_to: none
|
|
version: 0.1.35+36
|
|
|
|
environment:
|
|
sdk: ">=3.11.1 <4.0.0"
|
|
|
|
dependencies:
|
|
flutter:
|
|
sdk: flutter
|
|
flutter_localizations:
|
|
sdk: flutter
|
|
|
|
# Matrix protocol & E2EE
|
|
matrix: ^6.2.0
|
|
flutter_vodozemac: ^0.5.0
|
|
flutter_secure_storage: ^10.0.0
|
|
sqflite: ^2.4.2
|
|
sqflite_common_ffi: ^2.3.7+1
|
|
sqlcipher_flutter_libs: ^0.6.8
|
|
# Direkt (statt nur transitiv) für open.overrideFor in app_database.dart —
|
|
# so lädt Android libsqlcipher.so statt des System-sqlite3.
|
|
sqlite3: ^2.4.0
|
|
|
|
# LiveKit video/audio/screen
|
|
livekit_client: ^2.4.0
|
|
flutter_webrtc: ^1.4.1
|
|
webrtc_interface: ^1.5.1
|
|
dart_jsonwebtoken: ^3.3.1
|
|
|
|
# State management & routing
|
|
flutter_riverpod: ^2.6.1
|
|
riverpod_annotation: ^2.6.1
|
|
go_router: ^17.2.0
|
|
|
|
# UI
|
|
flutter_svg: ^2.0.17
|
|
lottie: ^3.3.2
|
|
pretty_qr_code: ^3.6.0
|
|
qr: ^3.0.2
|
|
|
|
# Cryptography (for E2EE key export/import)
|
|
crypto: ^3.0.3
|
|
pointycastle: ^4.0.0
|
|
|
|
# Utilities
|
|
shared_preferences: ^2.5.5
|
|
path_provider: ^2.1.2
|
|
path: ^1.9.0
|
|
intl: any
|
|
http: ^1.6.0
|
|
mime: ^2.0.0
|
|
collection: ^1.18.0
|
|
url_launcher: ^6.3.0
|
|
package_info_plus: ^8.1.0
|
|
|
|
# Notifications
|
|
flutter_local_notifications: ^18.0.0 # Android
|
|
local_notifier: ^0.1.5 # Windows/desktop toasts
|
|
windows_taskbar: ^1.0.2 # Windows taskbar flash
|
|
firebase_core: ^3.6.0
|
|
firebase_messaging: ^15.1.3
|
|
|
|
# File handling
|
|
file_picker: ^8.1.7
|
|
desktop_drop: ^0.4.4
|
|
|
|
# Document viewer
|
|
pdfx: ^2.7.0
|
|
archive: ^4.0.0
|
|
flutter_markdown: ^0.7.7
|
|
|
|
# Clipboard image paste (Windows FFI) & image decoding
|
|
ffi: ^2.1.0
|
|
image: ^4.0.0
|
|
|
|
# Media playback
|
|
media_kit: ^1.1.11
|
|
media_kit_video: ^1.2.5
|
|
media_kit_libs_video: ^1.0.5
|
|
|
|
dev_dependencies:
|
|
flutter_test:
|
|
sdk: flutter
|
|
flutter_lints: ^6.0.0
|
|
flutter_launcher_icons: ^0.13.1
|
|
# Nur für Tests: offizieller Weg, path_provider ohne echte Plattform zu
|
|
# mocken (PathProviderPlatform.instance überschreiben). War schon transitiv
|
|
# im Lockfile, kein neues externes Paket.
|
|
path_provider_platform_interface: ^2.1.2
|
|
|
|
dependency_overrides:
|
|
webcrypto:
|
|
git:
|
|
url: https://github.com/google/webcrypto.dart.git
|
|
ref: master
|
|
flutter_webrtc: ^1.4.0
|
|
|
|
flutter:
|
|
generate: true
|
|
uses-material-design: true
|
|
assets:
|
|
- assets/
|
|
# Inter wird gebündelt statt zur Laufzeit über google_fonts geladen —
|
|
# funktioniert offline und beschleunigt den ersten Start.
|
|
fonts:
|
|
- family: Inter
|
|
fonts:
|
|
- asset: assets/fonts/Inter-Regular.ttf
|
|
weight: 400
|
|
- asset: assets/fonts/Inter-Italic.ttf
|
|
weight: 400
|
|
style: italic
|
|
- asset: assets/fonts/Inter-Medium.ttf
|
|
weight: 500
|
|
- asset: assets/fonts/Inter-SemiBold.ttf
|
|
weight: 600
|
|
- asset: assets/fonts/Inter-Bold.ttf
|
|
weight: 700
|
|
- asset: assets/fonts/Inter-ExtraBold.ttf
|
|
weight: 800
|