Files
sepot/app
Julius Joska bfea7201f7 fix(chat): clear unread state for messages read in an open chat
Messages arriving while a conversation was open were never marked as read,
so the chat list kept showing them as unread after going back. The screen
now marks incoming messages read while it is on top and the app is in the
foreground, again when the app returns to the foreground, and on leaving.

Read state is now monotonic in Conversation.updateMessage, so a stale copy
of a message (attachment download, delayed resend) can no longer flip it
back to unread.

Also create the swipe-to-reply animation controller lazily instead of in
dispose().
2026-10-11 15:31:53 +02:00
..
2026-10-09 15:07:38 +02:00

Šepot — Flutter client

The Šepot mobile client. See the repository README for the project overview, threat model, and license.

Quick start

flutter pub get
flutter run                       # against the default relay
flutter build apk --release       # signed release APK (see key.properties)

Layout

Path Contents
lib/core/ Crypto facade, storage (SQLCipher), relay client + transport, push, services
lib/features/ Screens (onboarding, chat, contacts, groups, settings, safety…)
lib/models/ lib/providers/ Data models and Riverpod providers
lib/l10n/ Localization (app_*.arb, generated AppLocalizations)
test/ integration_test/ Unit, storage, crypto, and on-device integration tests

Localization

Strings are defined in lib/l10n/app_cs.arb (template) and translated into app_en/de/ru/it.arb. After editing, run flutter gen-l10n. See the root README for how to contribute a new language.