A feed's page follows its row after a check (#316)
The header was drawn once, on opening the feed. feed_row put the new row in S.feeds and redrew the feed list but not the open page, so a check that cleared an error left the error showing, with the old "checked" time, until the feed was opened again. Seen on Eli Bendersky's website: a connect timeout at 15:13, a clean forced check at 15:28, and the timeout still on the page. Only the stat line and the error banner are redrawn: the whole page would close the open item. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1906,6 +1906,17 @@ test('a refresh button turns from the press to the end of the scan it asked for'
|
||||
expect(await spin('#scanAll .i')).toBe('none');
|
||||
});
|
||||
|
||||
test("an open feed's page follows its row: an error a later check clears goes", async ({ page }) => {
|
||||
// The header was drawn once, on opening, and kept a cleared error until reopened (#316).
|
||||
await page.locator('.feed', { hasText: 'Test Show' }).click();
|
||||
const head = page.locator('.fhead .meta');
|
||||
await page.evaluate(() => patchFeed({ ...S.feeds.find(f => f.id === 'test-show'), last_error: 'connecting: timed out', failing: null }));
|
||||
await expect(head.locator('.fail')).toHaveText('connecting: timed out');
|
||||
await page.evaluate(() => patchFeed({ ...S.feeds.find(f => f.id === 'test-show'), last_error: null, entries: 99 }));
|
||||
await expect(head.locator('.fail')).toHaveCount(0);
|
||||
await expect(head.locator('.stat')).toContainText('99 items');
|
||||
});
|
||||
|
||||
test.describe('with motion reduced', () => {
|
||||
test.use({ reducedMotion: 'reduce' });
|
||||
|
||||
|
||||
Reference in New Issue
Block a user