tane/apps/app_seeds/test/services
vjrj 6d16656911 feat(block2): persist chat history (messages survive leaving the chat)
Messages were in-memory only — gone on leaving the conversation.
- MessageStore: keystore-backed (no plaintext), a capped per-peer JSON list
  (last 200). Simple; the encrypted Drift DB is the eventual home at scale.
- MessagesCubit: loads saved history on start (subscribes FIRST, then loads, so
  a message arriving during the load isn't dropped) and persists every sent and
  received message. Wired via DI + TaneApp(messageStore).

Tests (plain 'test', no hang risk): MessageStore round-trip/per-peer/cap, and a
cubit test that reopens a fresh cubit and sees the saved conversation. Analyzer
clean; run 'flutter test' locally to confirm.
2026-07-10 12:20:25 +02:00
..
ocr style: dart format reflow (no behavior change) 2026-07-09 22:19:43 +02:00
auto_backup_service_test.dart feat(backup): add automatic weekly encrypted backups 2026-07-10 10:17:36 +02:00
auto_backup_store_test.dart feat(backup): add automatic weekly encrypted backups 2026-07-10 10:17:36 +02:00
export_import_service_test.dart feat(backup): sealed backups + printable recovery sheet 2026-07-09 22:32:13 +02:00
message_store_test.dart feat(block2): persist chat history (messages survive leaving the chat) 2026-07-10 12:20:25 +02:00
offer_outbox_test.dart feat(block2): offline outbox — share now, publish when connected 2026-07-10 10:45:53 +02:00
share_catalog_service_test.dart feat(inventory): local sharing — per-lot share terms, filter and printable catalog 2026-07-09 22:19:55 +02:00
social_service_test.dart feat(block2): wire the social identity into app_seeds (DI, no UI) 2026-07-10 02:44:37 +02:00
social_settings_test.dart feat(block2): default relays + pick-from-list servers (works out of the box) 2026-07-10 11:19:49 +02:00