A list hook re-reads on every page change and writes a failed read over the last good list. One flaky request during navigation wipes every tab, and an error box stands where a correct list was.
Keep the last good data on a failed refresh. An error should add a retry, not erase what was right a page ago.
Test the refresh that fails after one that succeeded. Pending-only tests miss it.
Test the refresh that fails after one that succeeded. Pending-only tests miss it.