Commit 047f66c
committed
fix(restore): serialize missing workspace mounts
Restore-created workspaces previously mounted in parallel. Solid could invoke Virtua refs before document adoption, causing ResizeObserver initialization to throw after the workspace entered the UI but before its restore binding committed. The affected tabs then lost saved ordering, session selection, idle markers, scroll snapshots, and generation recovery.
Create missing workspaces sequentially while preserving parallel hydration for existing workspaces and SideCars. Budget the startup deadline per serialized workspace and bound failed-creation cleanup so one stalled cancellation cannot block later tabs.
Validated with a packaged Tauri release against a three-workspace snapshot, confirming exact tab order, active tab, per-workspace active sessions, idle markers, scroll snapshot counts, and generation recovery. Added focused regression coverage and ran UI typecheck and restore tests.1 parent 5265926 commit 047f66c
2 files changed
Lines changed: 27 additions & 13 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
18 | 24 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
| 37 | + | |
37 | 38 | | |
38 | 39 | | |
39 | | - | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
| 40 | + | |
44 | 41 | | |
45 | | - | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
46 | 54 | | |
47 | 55 | | |
48 | 56 | | |
| |||
171 | 179 | | |
172 | 180 | | |
173 | 181 | | |
174 | | - | |
175 | 182 | | |
| 183 | + | |
176 | 184 | | |
177 | 185 | | |
178 | 186 | | |
| |||
187 | 195 | | |
188 | 196 | | |
189 | 197 | | |
190 | | - | |
| 198 | + | |
191 | 199 | | |
192 | 200 | | |
193 | 201 | | |
| |||
208 | 216 | | |
209 | 217 | | |
210 | 218 | | |
211 | | - | |
212 | | - | |
213 | | - | |
214 | | - | |
215 | | - | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
216 | 224 | | |
217 | 225 | | |
218 | 226 | | |
| |||
0 commit comments