Write apps/web/docs/concepts-error-handling.md: how API failures, socket errors, wallet rejections and decryption failures reach the user. Covers lib/useToast.ts, per-route error states, and the socket error event handling.
Acceptance criteria:
- Documents the toast API and when to use it versus inline error state
- Maps backend error responses onto user-facing messages, cross-linking the backend error catalog
- Documents the rule that a decryption failure must never be shown as a generic crash — it has a specific, non-alarming presentation
- Documents retry and offline behaviour, including what happens to an optimistic message when the send ultimately fails
Write
apps/web/docs/concepts-error-handling.md: how API failures, socket errors, wallet rejections and decryption failures reach the user. Coverslib/useToast.ts, per-route error states, and the socketerrorevent handling.Acceptance criteria: