cipher/public/js
maverick c48f9f4006 Encrypted group chats + major UI redesign
Groups (E2E via pairwise fan-out — sender encrypts each message separately to
every member with existing Signal sessions; server holds only name+membership):
- migration 0003: groups + group_members; routes/groups.js (create/list/get/add/leave)
- client: unified DM+group chat model, group create modal w/ member chips,
  fan-out deliver, groupId payload routing on receive, lazy group fetch,
  sender names in group bubbles, group info + leave

UI overhaul — glassmorphism redesign:
- animated aurora backdrop, blurred glass panels, violet→cyan gradient brand
- color-hashed gradient avatars (per name), group avatars
- message bubbles with rise animation + tails, gradient outgoing bubbles
- polished auth card w/ gradient border, pill actions, modal pop-in, toast styling
- responsive: full-width thread on mobile with back button

Verified live: 3-user group message fans out and both members decrypt.
SW cache v4->v5.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 13:16:16 +10:00
..
vendor Add multi-device key sync: QR device linking + encrypted recovery code 2026-07-22 13:04:46 +10:00
accounts.js Fix: namespace encrypted store per-account so two accounts can coexist on one browser 2026-07-22 02:48:00 +10:00
api.js Encrypted group chats + major UI redesign 2026-07-22 13:16:16 +10:00
app.js Encrypted group chats + major UI redesign 2026-07-22 13:16:16 +10:00
crypto.js Add multi-device key sync: QR device linking + encrypted recovery code 2026-07-22 13:04:46 +10:00
store.js Encrypted group chats + major UI redesign 2026-07-22 13:16:16 +10:00