tane/apps/app_seeds/lib
vjrj 48228c0bc6 feat(block2): show contact names (resolve peers' published profiles)
Closes the profile loop — peers now appear by name, not a raw key.
- ProfileCache: keystore-backed cache of peers' published display names (works
  offline) + shortPubkey() fallback.
- Chat: the app bar shows the peer's name (cached first, then freshened from
  their kind:0 over the session); falls back to a short key.
- Inbox: each conversation shows the cached name, and missing names are resolved
  over one session and cached.
- Wired via DI + TaneApp(profileCache).

Analyzer clean; ProfileCache covered by a plain test.
2026-07-10 12:47:48 +02:00
..
data feat(block2): publish my seeds to the network (completes publish->discover) 2026-07-10 10:18:30 +02:00
db feat(inventory): photo-first drafts + on-device OCR (digitization R2+R4) 2026-07-09 21:23:46 +02:00
di feat(block2): show contact names (resolve peers' published profiles) 2026-07-10 12:47:48 +02:00
domain Solve lint issue 2026-07-10 10:34:43 +02:00
i18n feat(block2): profiles — your identity card + name/about (NIP-01 kind:0) 2026-07-10 12:37:07 +02:00
security feat(backup): sealed backups + printable recovery sheet 2026-07-09 22:32:13 +02:00
services feat(block2): show contact names (resolve peers' published profiles) 2026-07-10 12:47:48 +02:00
state feat(block2): persist chat history (messages survive leaving the chat) 2026-07-10 12:20:25 +02:00
ui feat(block2): show contact names (resolve peers' published profiles) 2026-07-10 12:47:48 +02:00
app.dart feat(block2): show contact names (resolve peers' published profiles) 2026-07-10 12:47:48 +02:00
main.dart feat(block2): show contact names (resolve peers' published profiles) 2026-07-10 12:47:48 +02:00