933a74c900
End-to-end encrypted calls between two contacts over WebRTC. Call signalling (offer, answer, hang-up) travels as ordinary Signal-encrypted messages through the relay; media is DTLS-SRTP, peer to peer when possible and through the operator's TURN server otherwise. - Non-trickle ICE (candidates gathered for up to 3 s), 45 s ring timeout, busy handling, and a call log entry in the conversation. - The system call UI rings even when the app is closed: CallKit from a PushKit VoIP push on iOS, a full-screen incoming call from an FCM wake-up on Android. The wake-up carries no caller; the app learns who is calling from the queued offer once it is unlocked. - New permissions: camera for video, audio routing and Bluetooth headsets, network state; iOS background modes audio and voip. Push on Android: a fresh install now picks UnifiedPush when a distributor is installed and FCM otherwise, instead of leaving wake-ups off. Without a wake-up Android puts the app to sleep and messages wait until it is opened. Users can switch at any time in Settings.
95 lines
2.6 KiB
YAML
95 lines
2.6 KiB
YAML
name: sepot
|
|
description: "Šepot — Soukromý messenger s E2E šifrováním"
|
|
publish_to: 'none'
|
|
version: 1.1.2+22
|
|
|
|
environment:
|
|
sdk: ^3.10.8
|
|
|
|
dependencies:
|
|
flutter:
|
|
sdk: flutter
|
|
flutter_localizations:
|
|
sdk: flutter
|
|
flutter_riverpod: ^2.6.1
|
|
go_router: ^14.8.1
|
|
cryptography: ^2.7.0
|
|
uuid: ^4.5.1
|
|
qr_flutter: ^4.1.0
|
|
mobile_scanner: ^7.1.4
|
|
flutter_secure_storage: ^9.2.4
|
|
json_annotation: ^4.9.0
|
|
intl: ^0.20.2
|
|
lucide_icons: ^0.257.0
|
|
shimmer: ^3.0.0
|
|
url_launcher: ^6.3.1
|
|
share_plus: ^10.1.4
|
|
local_auth: ^2.3.0
|
|
flutter_local_notifications: ^18.0.1
|
|
web_socket_channel: ^3.0.2
|
|
http: ^1.2.2
|
|
socks5_proxy: ^2.1.1
|
|
path_provider: ^2.1.5
|
|
# Verzi appky nikdy nepsat ručně — čte se z nainstalovaného balíčku
|
|
# (viz lib/core/app_info.dart), aby se nemohla rozejít s `version:` výš.
|
|
package_info_plus: ^8.3.1
|
|
convert: ^3.1.2
|
|
libsignal: ^5.0.9
|
|
bip39: ^1.0.6
|
|
base32: ^2.2.0
|
|
pointycastle: ^3.9.1
|
|
protobuf: ^6.0.0
|
|
sqlite3: ^3.3.4
|
|
# Pin pod 6.2.0: od 6.2.0 táhne unifiedpush_linux → webpush_encryption →
|
|
# webcrypto, jehož native framework na iOS chybí LC_ENCRYPTION_INFO (blokuje
|
|
# upload). Linux desktop neshipujeme, na Android/iOS je 6.1.x funkčně shodná.
|
|
unifiedpush: ">=6.1.0 <6.2.0"
|
|
image: ^4.8.0
|
|
mime: ^2.0.0
|
|
image_picker: ^1.2.3
|
|
file_picker: ^11.0.2
|
|
firebase_core: ^4.11.0
|
|
firebase_messaging: ^16.4.1
|
|
record: ^6.2.1
|
|
audioplayers: ^6.7.1
|
|
screen_protector: ^1.5.2
|
|
# Hovory: WebRTC média, DTLS-SRTP je v protokolu povinné.
|
|
flutter_webrtc: ^1.6.2
|
|
# Zvonění při zavřené appce: CallKit (iOS, z VoIP pushe) a celoobrazovkové
|
|
# zvonění na Androidu (z FCM budíčku k=call).
|
|
flutter_callkit_incoming: ^3.1.6
|
|
|
|
dev_dependencies:
|
|
integration_test:
|
|
sdk: flutter
|
|
flutter_test:
|
|
sdk: flutter
|
|
flutter_lints: ^6.0.0
|
|
json_serializable: ^6.9.4
|
|
build_runner: ^2.4.15
|
|
flutter_launcher_icons: ^0.14.4
|
|
flutter_native_splash: ^2.4.7
|
|
|
|
flutter:
|
|
uses-material-design: true
|
|
generate: true
|
|
assets:
|
|
- assets/icon/
|
|
# Písma se dodávají v balíčku (OFL, viz assets/fonts/OFL.txt) — appka
|
|
# nikdy nestahuje fonty za běhu z cizí CDN. Variable TTF pokryjí všechny
|
|
# váhy, Flutter mapuje fontWeight na osu wght.
|
|
fonts:
|
|
- family: Inter
|
|
fonts:
|
|
- asset: assets/fonts/Inter.ttf
|
|
- family: JetBrains Mono
|
|
fonts:
|
|
- asset: assets/fonts/JetBrainsMono.ttf
|
|
|
|
# Nativní sqlite3 = SQLCipher build (šifrovaná lokální DB pro krypto stavy).
|
|
# Build hook balíčku sqlite3 stáhne libsqlcipher pro každou platformu.
|
|
hooks:
|
|
user_defines:
|
|
sqlite3:
|
|
source: sqlcipher
|