Commit 91e300a
fix: restore For hydration id parity at source position (#3161)
rc.4's patch-mode list seam made For's mapArray creation lazy (created
on first read so an engaged driver never builds it), but hydration ids
mint at CREATION time and the server spends the list's id scope at
For's source position. Deferred creation ran at insert's hole
evaluation — after later siblings had claimed their template keys — so
every hydration key after a <For> shifted and the siblings hydrated
detached (dead buttons; clean at rc.3). A hydrating For now creates
the map eagerly at source position; outside hydration the laziness
stands. Adds the issue's fragment shape to the parity harness.
Co-authored-by: Cursor <cursoragent@cursor.com>1 parent 8d17083 commit 91e300a
4 files changed
Lines changed: 53 additions & 8 deletions
File tree
- .changeset
- packages
- solid/src/client
- web/test/harness
- __artifacts__
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
| 11 | + | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| |||
98 | 98 | | |
99 | 99 | | |
100 | 100 | | |
101 | | - | |
102 | | - | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | | - | |
107 | | - | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
108 | 117 | | |
109 | 118 | | |
110 | 119 | | |
| |||
Lines changed: 5 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
198 | 198 | | |
199 | 199 | | |
200 | 200 | | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
201 | 219 | | |
202 | 220 | | |
203 | 221 | | |
| |||
1558 | 1576 | | |
1559 | 1577 | | |
1560 | 1578 | | |
| 1579 | + | |
| 1580 | + | |
| 1581 | + | |
| 1582 | + | |
| 1583 | + | |
| 1584 | + | |
| 1585 | + | |
| 1586 | + | |
1561 | 1587 | | |
1562 | 1588 | | |
1563 | 1589 | | |
| |||
0 commit comments