fix(api): a write that hit a connection failure is still reported, and every failure is reported once
Deep-review round 4, the "one report per failure" contract round 3 introduced. - `req` marked gateway (502/503/504) and network failures "already reported" because they raise the connection notice. But that notice is about connectivity and removes itself on the very next answer — which every caller's own resync refetch fetches at once — so a delete that hit a keepalive reset flashed the notice and was then reported nowhere, the list still there. Only the durable reports (the error dialog, the 401 sign-out) count now; the caller says the action failed. - A connection notice the user closed swallowed every later one for the rest of the visit; it is raised again. - `req` and `uploadReq` share one failure policy (`reportFailure`). The upload copy had drifted: a 502 opened the blocking "Server error (502)" dialog and cleared a notice that was still true. - A taken Plex collection name is a structured 409, localized, and the create/rename calls are quiet: it was an English dialog plus a Hungarian toast. `notifyCollectionEditError` is gone. - The mutation onErrors that toasted unconditionally after a non-quiet request (invite approve / deny / add, demo whitelist, audit clear, scheduler, share, full history, edit, config tests, tag attach) go through `notifyActionError`; the playlist delete's hand-rolled copy of it too (it takes a level now). The user role / suspend / delete actions had no onError at all: a user deleted in another tab failed silently and stayed listed — now said, and the list refetched.
This commit is contained in:
@@ -39,7 +39,8 @@
|
||||
"promoteTitle": "Make admin?",
|
||||
"demoteTitle": "Remove admin?",
|
||||
"promoteConfirm": "Give {{email}} full admin access (settings, scheduler, user management)?",
|
||||
"demoteConfirm": "Remove admin access from {{email}}? They'll become a regular user."
|
||||
"demoteConfirm": "Remove admin access from {{email}}? They'll become a regular user.",
|
||||
"failed": "Couldn't change the role."
|
||||
},
|
||||
"suspend": {
|
||||
"action": "Suspend",
|
||||
@@ -51,14 +52,16 @@
|
||||
"done": "{{email}} suspended",
|
||||
"undone": "{{email}} unsuspended",
|
||||
"demoLocked": "The demo account can't be suspended.",
|
||||
"selfLocked": "You can't suspend your own account."
|
||||
"selfLocked": "You can't suspend your own account.",
|
||||
"failed": "Couldn't change the suspension."
|
||||
},
|
||||
"delete": {
|
||||
"action": "Delete",
|
||||
"locked": "This account can't be deleted here.",
|
||||
"title": "Delete account?",
|
||||
"confirm": "Permanently delete {{email}} and all their data — subscriptions, tags, watch history, playlists and settings? This can't be undone.",
|
||||
"done": "{{email}} deleted"
|
||||
"done": "{{email}} deleted",
|
||||
"failed": "Couldn't delete the account."
|
||||
},
|
||||
"account": {
|
||||
"access": "Access",
|
||||
|
||||
@@ -39,7 +39,8 @@
|
||||
"promoteTitle": "Adminná teszed?",
|
||||
"demoteTitle": "Elveszed az admin jogot?",
|
||||
"promoteConfirm": "Teljes admin hozzáférést adsz neki: {{email}} (beállítások, ütemező, felhasználókezelés)?",
|
||||
"demoteConfirm": "Elveszed az admin jogot tőle: {{email}}? Sima felhasználó lesz."
|
||||
"demoteConfirm": "Elveszed az admin jogot tőle: {{email}}? Sima felhasználó lesz.",
|
||||
"failed": "Nem sikerült módosítani a szerepkört."
|
||||
},
|
||||
"suspend": {
|
||||
"action": "Felfüggeszt",
|
||||
@@ -51,14 +52,16 @@
|
||||
"done": "{{email}} felfüggesztve",
|
||||
"undone": "{{email}} felfüggesztése feloldva",
|
||||
"demoLocked": "A demo fiók nem függeszthető fel.",
|
||||
"selfLocked": "A saját fiókodat nem függesztheted fel."
|
||||
"selfLocked": "A saját fiókodat nem függesztheted fel.",
|
||||
"failed": "Nem sikerült módosítani a felfüggesztést."
|
||||
},
|
||||
"delete": {
|
||||
"action": "Törlés",
|
||||
"locked": "Ez a fiók itt nem törölhető.",
|
||||
"title": "Törlöd a fiókot?",
|
||||
"confirm": "Véglegesen törlöd: {{email}} és minden adatát — feliratkozások, címkék, megtekintési előzmény, lejátszási listák és beállítások? Ez nem visszavonható.",
|
||||
"done": "{{email}} törölve"
|
||||
"done": "{{email}} törölve",
|
||||
"failed": "Nem sikerült törölni a fiókot."
|
||||
},
|
||||
"account": {
|
||||
"access": "Hozzáférés",
|
||||
|
||||
Reference in New Issue
Block a user