fix(ui): R3 S1 review fixes — don't blank data on transient refetch errors

- The honest-state branch now guards on `isError && !data`, so a background/window-focus refetch
  failure keeps already-visible content instead of replacing the list with a full error screen
  (regression the bare `isError` introduced). Applied to AuditLog, Channels, ChannelDiscovery,
  PlexBrowse, PlexPlaylistView, Messages(people), Feed — matching the guard already used in
  Messages(conversations)/NotificationsPanel/Scheduler.
- Drop the unused DataTable loading/error/onRetry props (every table page uses the outer
  StateMessage branch, not the props) — reverts DataTable to its simple empty block.
- StateMessage announces errors with role=alert/aria-live=assertive (was polite for all tones).
- Remove the now-unused common.empty string (en+hu), left over from the removed QueryState render-prop.
This commit is contained in:
2026-07-22 04:14:46 +02:00
parent d9a08892a5
commit a393fd2fb1
11 changed files with 19 additions and 35 deletions
+1 -1
View File
@@ -577,7 +577,7 @@ export default function PlexPlaylistView({
</button>
</div>
{q.isError ? (
{q.isError && !q.data ? (
<StateMessage tone="error" onRetry={() => q.refetch()}>
{t("common.loadError")}
</StateMessage>