A spinner after pulling to refresh (#68)
Letting go of a pull removed its note at once and showed nothing else; the sidebar's scanning spinner is hidden on a phone. With no sign the check had started, people pulled again, and again. A "Checking for new items" pill with a spinner now sits under the top bar until the request is sent and two seconds have passed, and a pull meanwhile does nothing. It lives outside #list, which a feed's render rebuilds. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1325,6 +1325,15 @@ test.describe('touch gestures on a phone', () => {
|
||||
await drag(page, { x: 200, y: box.y + 20 }, { x: 200, y: box.y + 220 });
|
||||
expect((await fetch).postDataJSON()).toEqual({ feed: 'test-show', force: true });
|
||||
await expect(page.locator('#pulltip')).toHaveCount(0); // the note goes on letting go
|
||||
// and a spinner says the check started, for a couple of seconds.
|
||||
await expect(page.locator('#pullspin')).toBeVisible();
|
||||
// A second pull while it is up checks nothing more.
|
||||
let again = 0;
|
||||
page.on('request', r => { if (r.url().endsWith('/api/fetch')) again++; });
|
||||
await drag(page, { x: 200, y: box.y + 20 }, { x: 200, y: box.y + 220 });
|
||||
await expect(page.locator('#pullspin')).toHaveCount(1);
|
||||
await expect(page.locator('#pullspin')).toHaveCount(0, { timeout: 5_000 });
|
||||
expect(again).toBe(0);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user