tane/apps/app_seeds/test/state
vjrj 7bf80d2031 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
..
inventory_cubit_test.dart feat(inventory): local sharing — per-lot share terms, filter and printable catalog 2026-07-09 22:19:55 +02:00
messages_cubit_test.dart feat(block2): persist chat history (messages survive leaving the chat) 2026-07-10 12:20:25 +02:00
offers_cubit_test.dart feat(block2): offline outbox — share now, publish when connected 2026-07-10 10:45:53 +02:00
quick_add_cubit_test.dart test(state): cover InventoryCubit and VarietyDetailCubit; refresh block1 status doc 2026-07-09 22:03:36 +02:00
trust_cubit_test.dart feat(block2): 'in your circle' trust — friend-of-a-friend, not a raw count 2026-07-10 12:10:06 +02:00
variety_detail_cubit_test.dart test(state): cover InventoryCubit and VarietyDetailCubit; refresh block1 status doc 2026-07-09 22:03:36 +02:00