fix(messages-ui): surface silent send failures, stop scroll/render churn (+cleanup)
- ChatThread send had no onError: a 404 (recipient gone) or 429 (rate-limited) send failed silently (api.req shows no modal for those "caller-handled" statuses). Added onError → toast for 404/429 (400/409/500 already raise the global dialog); draft is kept for retry. New trilingual messages.sendFailed key. - ChatThread scroll-to-bottom effect keyed on `plain` too, so every 20s poll's decrypt pass yanked a scrolled-up reader back to the bottom. Key on items.length. - ChatThread + Messages decrypt effects keyed on `items` (a fresh `?? []` array every render) → a render storm while loading. Key on q.dataUpdatedAt. - chatDock.ts: use LS.chatDock(userId) instead of the bare "siftlode.chatDock.*" literal (matches the storage LS registry). tsc green, re-review clean, localdev boots, Messages renders (locked-state) w/o console errors.
This commit is contained in:
parent
40ddaa2c92
commit
5441ad203d
6 changed files with 31 additions and 7 deletions
|
|
@ -17,6 +17,7 @@
|
|||
"encrypted": "Verschlüsselte Nachricht",
|
||||
"encryptedHint": "Ende-zu-Ende-verschlüsselt",
|
||||
"cantDecrypt": "Kann nicht entschlüsselt werden",
|
||||
"sendFailed": "Nachricht konnte nicht gesendet werden. Bitte erneut versuchen.",
|
||||
"systemReadOnly": "Dies ist eine automatische Nachricht.",
|
||||
"setupTitle": "Sichere Nachrichten einrichten",
|
||||
"setupBody": "Nachrichten sind Ende-zu-Ende-verschlüsselt. Wähle ein Passwort zum Schutz deines Schlüssels — er verlässt nie dein Gerät, sodass niemand (nicht einmal ein Admin) deine Unterhaltungen lesen kann.",
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@
|
|||
"encrypted": "Encrypted message",
|
||||
"encryptedHint": "End-to-end encrypted",
|
||||
"cantDecrypt": "Can't decrypt",
|
||||
"sendFailed": "Couldn't send your message. Try again.",
|
||||
"systemReadOnly": "This is an automated message.",
|
||||
"setupTitle": "Set up secure messaging",
|
||||
"setupBody": "Messages are end-to-end encrypted. Choose a passphrase to protect your key — it never leaves your device, so no one (not even an admin) can read your conversations.",
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@
|
|||
"encrypted": "Titkosított üzenet",
|
||||
"encryptedHint": "Végpontig titkosítva",
|
||||
"cantDecrypt": "Nem fejthető vissza",
|
||||
"sendFailed": "Nem sikerült elküldeni az üzenetet. Próbáld újra.",
|
||||
"systemReadOnly": "Ez egy automatikus üzenet.",
|
||||
"setupTitle": "Biztonságos üzenetküldés beállítása",
|
||||
"setupBody": "Az üzenetek végpontig titkosítottak. Válassz egy jelszót a kulcsod védelméhez — sosem hagyja el az eszközödet, így senki (még az admin sem) olvashatja a beszélgetéseidet.",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue