Neil
e7563c63f1
fix: fence browser recovery to attach inventory placements ( #18910 )
...
* fix: fence browser recovery to attach inventory placements
* refactor: name the attach-inventory fence and make its test deterministic
Extract the placement check into isPlacedAsObservedAtAttach so the recovery
filter stays a flat list of named predicates, and document that omitting
pagePlacementsAtAttach recovers against unfenced live state.
Replace the 30-microtask drain in the post-attach regression with the handler's
own completion: attach only settles after recovery returns, so awaiting the
dispatch orders the assertions instead of guessing at a microtask count.
Verified by forcing the fence open: both regressions fail (the post-attach one
in 60ms on a retired placement) and the other 27 still pass.
* test: settle the attach handler even when the regression fails early
The barrier ran inline, so a waitFor timeout or the placement guard left the
attach handler parked on a promise nothing awaited. Hoist it into settleAttach
and call it from a finally as well; cleanup is guarded and the dispatch promise
is already settled, so the second call is a no-op.
2026-09-06 18:50:15 -07:00
..
2026-09-06 14:34:03 -04:00
2026-09-06 14:34:03 -04:00
2026-07-30 12:50:07 -07:00
2026-07-30 12:50:07 -07:00
2026-08-27 13:05:12 -07:00
2026-08-27 13:05:12 -07:00
2026-07-27 20:54:02 -07:00
2026-07-23 20:20:00 -07:00
2026-08-26 09:50:12 -07:00
2026-08-28 16:45:58 -07:00
2026-08-28 16:45:58 -07:00
2026-08-26 09:50:12 -07:00
2026-09-01 03:16:34 -07:00
2026-09-01 03:16:34 -07:00
2026-09-02 13:42:14 -07:00
2026-08-26 09:50:12 -07:00
2026-09-02 13:42:14 -07:00
2026-09-02 13:42:14 -07:00
2026-08-25 15:36:51 -07:00
2026-09-06 18:50:15 -07:00
2026-08-25 15:36:51 -07:00
2026-08-25 15:36:51 -07:00
2026-09-06 18:50:15 -07:00
2026-08-25 15:36:51 -07:00
2026-08-30 16:48:43 -07:00
2026-06-19 17:14:55 -07:00
2026-08-25 15:36:51 -07:00
2026-08-25 15:36:51 -07:00
2026-08-17 12:44:39 -07:00
2026-08-25 15:36:51 -07:00
2026-08-25 15:36:51 -07:00
2026-08-30 16:48:43 -07:00
2026-06-19 17:14:55 -07:00
2026-08-30 16:48:43 -07:00
2026-07-30 17:58:09 -07:00
2026-08-22 21:34:39 -07:00
2026-08-26 09:50:12 -07:00
2026-09-02 16:04:11 -07:00
2026-09-02 16:04:11 -07:00
2026-08-09 16:35:24 -07:00
2026-08-11 01:05:12 -07:00
2026-09-03 15:19:26 -07:00
2026-08-26 09:50:12 -07:00
2026-09-04 15:55:20 -07:00
2026-09-04 15:55:20 -07:00
2026-07-29 18:29:10 -07:00
2026-07-29 18:29:10 -07:00
2026-06-19 17:14:55 -07:00
2026-06-07 17:49:01 -07:00
2026-07-26 19:46:29 -07:00
2026-06-01 15:14:15 -07:00
2026-06-29 22:38:29 -07:00
2026-08-13 22:48:24 -07:00
2026-08-13 22:48:24 -07:00
2026-07-27 20:54:02 -07:00
2026-08-27 23:27:39 -07:00
2026-09-02 05:36:54 -07:00
2026-08-15 19:36:03 -07:00
2026-08-18 13:32:48 -07:00
2026-08-14 00:24:57 -07:00
2026-08-15 19:36:03 -07:00
2026-08-15 19:36:03 -07:00
2026-08-15 19:36:03 -07:00
2026-08-13 01:12:19 -07:00
2026-07-15 15:23:35 -07:00
2026-07-15 15:23:35 -07:00
2026-08-18 13:32:48 -07:00
2026-09-02 05:36:54 -07:00
2026-08-12 14:37:51 -07:00
2026-08-30 14:19:05 -07:00
2026-08-15 19:36:03 -07:00
2026-08-15 19:36:03 -07:00
2026-09-02 19:26:07 -07:00
2026-08-30 14:19:05 -07:00
2026-08-30 14:19:05 -07:00
2026-08-30 14:19:05 -07:00
2026-08-15 19:36:03 -07:00
2026-08-15 19:36:03 -07:00
2026-08-30 14:19:05 -07:00
2026-08-15 19:36:03 -07:00
2026-08-30 14:19:05 -07:00
2026-08-28 12:31:55 -07:00
2026-08-15 19:36:03 -07:00
2026-08-15 19:36:03 -07:00
2026-08-28 12:31:55 -07:00
2026-08-15 19:36:03 -07:00
2026-08-28 12:31:55 -07:00
2026-08-28 12:31:55 -07:00
2026-08-07 21:59:24 -07:00
2026-08-07 21:59:24 -07:00
2026-08-30 14:19:05 -07:00
2026-08-30 14:19:05 -07:00
2026-09-03 15:19:26 -07:00
2026-08-31 19:34:55 -07:00
2026-08-30 18:55:40 -07:00
2026-08-27 17:04:48 -07:00
2026-08-13 20:44:16 -07:00
2026-08-27 17:04:48 -07:00
2026-08-13 20:44:16 -07:00
2026-07-21 13:16:44 -07:00
2026-06-07 19:50:05 -07:00
2026-07-21 13:16:44 -07:00
2026-07-21 13:16:44 -07:00
2026-09-04 15:55:20 -07:00
2026-08-10 05:55:29 -07:00
2026-08-25 15:06:47 -07:00
2026-08-25 15:06:47 -07:00
2026-07-27 17:18:05 -07:00
2026-09-05 20:27:29 -04:00
2026-09-06 14:34:03 -04:00
2026-08-24 18:21:22 -07:00
2026-08-24 18:21:22 -07:00
2026-07-14 11:47:05 -07:00
2026-07-14 11:47:05 -07:00
2026-07-27 01:14:33 -07:00
2026-08-22 21:34:39 -07:00
2026-08-22 21:34:39 -07:00
2026-08-22 21:34:39 -07:00
2026-08-19 17:12:17 -07:00
2026-08-19 17:12:17 -07:00
2026-05-28 19:38:41 -07:00
2026-08-14 12:15:58 -07:00
2026-08-31 16:27:28 -07:00
2026-08-29 21:48:35 -07:00
2026-09-03 15:19:26 -07:00
2026-09-03 15:19:26 -07:00
2026-09-04 20:08:39 -07:00
2026-09-04 20:08:39 -07:00
2026-09-04 20:08:39 -07:00
2026-08-28 16:45:58 -07:00
2026-08-30 11:45:21 -07:00
2026-08-25 15:36:51 -07:00
2026-09-04 20:08:39 -07:00
2026-08-25 15:36:51 -07:00
2026-09-03 15:19:26 -07:00
2026-08-28 14:57:48 -07:00
2026-08-28 14:57:48 -07:00
2026-09-03 15:19:26 -07:00
2026-08-31 19:34:55 -07:00
2026-07-21 19:20:16 -07:00
2026-08-13 22:48:24 -07:00
2026-09-04 20:08:39 -07:00
2026-08-25 15:36:51 -07:00
2026-09-04 20:08:39 -07:00
2026-09-03 15:19:26 -07:00
2026-09-06 14:34:03 -04:00
2026-08-16 13:45:54 -07:00
2026-08-25 03:58:48 -07:00
2026-06-19 12:31:11 -07:00
2026-06-19 12:31:11 -07:00
2026-09-05 14:35:45 -07:00
2026-09-05 14:35:45 -07:00
2026-08-11 01:05:12 -07:00
2026-09-06 00:50:20 -07:00
2026-08-28 16:45:58 -07:00
2026-08-28 16:45:58 -07:00
2026-09-03 15:19:26 -07:00
2026-09-05 00:50:37 -07:00
2026-09-05 00:50:37 -07:00
2026-09-06 00:50:20 -07:00
2026-09-06 11:57:21 -07:00
2026-09-05 15:35:03 -07:00
2026-09-05 15:35:03 -07:00
2026-09-06 17:41:56 -07:00
2026-09-06 02:27:44 -07:00
2026-09-04 20:08:39 -07:00
2026-08-13 22:48:24 -07:00
2026-08-31 15:21:42 -04:00
2026-08-24 19:52:12 -07:00
2026-09-03 03:58:45 -04:00
2026-07-20 21:36:15 -07:00
2026-08-13 22:48:24 -07:00
2026-08-13 22:48:24 -07:00
2026-08-19 22:42:39 -07:00
2026-08-30 03:11:55 -04:00
2026-08-24 19:52:12 -07:00
2026-08-13 23:47:20 -07:00
2026-08-09 18:29:32 -07:00
2026-07-28 17:25:05 -07:00
2026-07-22 18:52:37 -07:00
2026-07-22 18:52:37 -07:00
2026-08-17 15:57:07 -07:00
2026-08-17 15:57:07 -07:00
2026-08-14 22:18:36 -07:00
2026-08-14 12:15:58 -07:00
2026-08-31 19:08:05 -04:00
2026-08-31 19:08:05 -04:00
2026-08-18 21:37:35 -07:00
2026-08-31 19:08:05 -04:00
2026-08-30 12:24:51 -07:00
2026-07-30 02:05:13 -07:00
2026-08-14 22:18:36 -07:00
2026-08-24 18:21:22 -07:00
2026-08-17 15:57:07 -07:00
2026-08-31 19:08:05 -04:00
2026-08-30 12:24:51 -07:00
2026-08-14 12:15:58 -07:00
2026-08-31 19:08:05 -04:00
2026-08-31 19:08:05 -04:00