Repository navigation
Commit e309f3a
authored
Fix listing page hash lost on a click right after a page change (#15233)
list.js rebuilds the pagination links on every update, and the handler
that writes the page hash (and blocks the links' href="#") was only
re-attached in a setTimeout after each update. A click on a rebuilt link
before that timer fired changed the page through list.js but followed
href="#", leaving the URL at index.html# with no page hash. This showed
up as an intermittent firefox failure of the page hash Playwright test on
the macOS nightly run.
The deferral could not simply be dropped: list.js dispatches "updated"
handlers in reverse registration order, so our handler runs before the
pagination plugin rebuilds the links. Instead, attach one click listener
per listing on its ul.pagination, which list.js keeps across updates,
so there is no window without a handler.
The new test clicks page 2 then page 3 in a single task, so no timer can
run between the update and the second click; it failed in chromium,
firefox and webkit before this change.1 parent 32dc3b4 commit e309f3a
2 files changed
Lines changed: 37 additions & 16 deletions
File tree
- src/resources/projects/website/listing
- tests/integration/playwright/tests
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
51 | | - | |
52 | | - | |
| 51 | + | |
| 52 | + | |
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
57 | | - | |
58 | | - | |
59 | | - | |
| 57 | + | |
60 | 58 | | |
61 | 59 | | |
62 | 60 | | |
63 | | - | |
64 | 61 | | |
65 | 62 | | |
66 | 63 | | |
| |||
130 | 127 | | |
131 | 128 | | |
132 | 129 | | |
133 | | - | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
134 | 133 | | |
135 | | - | |
136 | | - | |
137 | | - | |
138 | | - | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
139 | 145 | | |
140 | 146 | | |
141 | | - | |
142 | | - | |
143 | | - | |
144 | | - | |
145 | | - | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
146 | 150 | | |
147 | 151 | | |
148 | 152 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
80 | 80 | | |
81 | 81 | | |
82 | 82 | | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
83 | 100 | | |
84 | 101 | | |
85 | 102 | | |
| |||
0 commit comments