test(e2e): #212 waits for the timeline to settle before scrolling up
CI / Build & Quality Checks (push) Skipped
CI / Secret scan (gitleaks) (push) Skipped
CI / Playwright smoke (e2e) (push) Skipped
CI / Build & Quality Checks (pull_request) Successful in 4m8s
CI / Trigger Desktop Build (pull_request) Skipped
CI / Docker image build & smoke test (pull_request) Skipped
CI / Secret scan (gitleaks) (pull_request) Successful in 13s
CI / Playwright smoke (e2e) (pull_request) Successful in 18m44s

The wheel ran as soon as the composer appeared; when it landed during the
room's initial jump-to-bottom it was snapped back and "Jump to Latest"
never showed. Seen ~1 in 5 runs since matrix-js-sdk 44 shifted the load
timing (failed the post-merge e2e run of #447 on lotus). Wait for the
newest message, then retry the scroll until the button appears.
10/10 locally.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5
This commit is contained in:
Lotus CI
2026-10-24 02:35:58 -04:00
co-authored by Claude Opus 5.5
parent 93c7dcd749
commit f6bad9eb58
+10 -2
View File
@@ -109,9 +109,17 @@ test.describe('local homeserver regression', () => {
); );
await loginUI(page, alice); await loginUI(page, alice);
await openRoom(page, room); await openRoom(page, room);
// Wait for the timeline to settle at the newest message first: a wheel
// during the initial jump-to-bottom gets snapped back (test race, seen
// ~1 in 5 runs once matrix-js-sdk 44 changed the load timing).
await expect(page.getByText('filler 39')).toBeInViewport();
await page.mouse.move(600, 350); await page.mouse.move(600, 350);
await page.mouse.wheel(0, -600); await expect(async () => {
await expect(page.getByRole('button', { name: /Jump to Latest/ })).toBeVisible(); await page.mouse.wheel(0, -600);
await expect(page.getByRole('button', { name: /Jump to Latest/ })).toBeVisible({
timeout: 2000,
});
}).toPass({ timeout: 20_000 });
await page.locator('[data-slate-editor]').first().click(); await page.locator('[data-slate-editor]').first().click();
await page.keyboard.type('sent while scrolled up'); await page.keyboard.type('sent while scrolled up');
await page.keyboard.press('Enter'); await page.keyboard.press('Enter');