Block a user
Quick reply from a browser notification (P5-20, remaining half): inline reply via Notification Actions through the SW
Done in d4420905:
- Message notifications shown via the service worker now carry a text-input Reply action (
actions: [{action:'reply', type:'text'}]— Chrome desktop and Android; other…
Quick reply from a browser notification (P5-20, remaining half): inline reply via Notification Actions through the SW
Mobile: touch discoverability for message actions / quick reactions (hover-gated; iOS long-press unreliable) — design decision needed
#166 is implemented (long-press → bottom sheet with quick reactions + the full action list; nothing added per message, so no badge collision). Pending the real-device check on #166; close both…
Mobile: long-press a message opens a bottom sheet of actions (replaces the hover bar)
Implemented in 53a80adb (ships with the next deploy):
useLongPress(450 ms, < 10 px movement, cancelled by scroll/lift; touch handlers only onpointer: coarsedevices) on all three…
Call failures in plain words: map every EC / voice-guard failure code to one sentence
Inventory of every call-failure surface as of today (host = cinny, EC = the fork):
Call failures in plain words: map every EC / voice-guard failure code to one sentence
Persisted PII without encryption: status message + expiry and unsent composer drafts sit in plaintext localStorage
Reviewed against the current code:
- Unsent composer drafts (
draft-msg-*) — already swept on logout since #41 (clearMsgDraftsinstate/plaintextCaches.ts). - **Status message +…
Persisted PII without encryption: status message + expiry and unsent composer drafts sit in plaintext localStorage
Missed-call entry in the timeline (local-only)