Alonso Torres
4ac14cfd08
✨ Add component synchronization to waitForLayoutUpdate (#10964)
* ✨ Add component synchronization to waitForLayoutUpdate
* 🐛 Fix async mock leak in workspace-reflow-test
Use mock/with-mocks instead of with-redefs for http/send! mock in
failed-google-font-css-does-not-abort-shared-consumers test.
with-redefs restores bindings when the block exits synchronously,
but the RxJS subscription fires asynchronously. This caused the mock
to leak into subsequent tests (workspace-media-test), producing 3
spurious failures.
AI-assisted-by: mimo-v2.5-pro
* ♻️ Replace async with-redefs with mock/with-mocks in frontend tests
with-redefs restores bindings when the block exits synchronously,
which is too early for async code (t/async, rx/subs!, promises).
mock/with-mocks uses set! and restores in the done callback, keeping
mocks alive across async boundaries.
Converted 15 with-redefs usages across 4 test files:
- workspace_reflow_test.cljs: 2 genuinely async tests (P1)
- routes_test.cljs: 3 SSO caching tests (P2)
- main_errors_test.cljs: 8 expired-org SSO tests (P2)
- comments_test.cljs: 2 comment thread tests (P2)
36 purely sync with-redefs usages left unchanged — with-redefs
is correct for synchronous code.
AI-assisted-by: mimo-v2.5-pro
* 📎 Fix fmt issues
---------
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-08-18 17:45:42 +02:00
..
2026-07-31 11:25:20 +02:00
2026-07-30 16:56:10 +02:00
2026-08-11 13:05:47 +02:00
2026-08-18 17:45:42 +02:00
2026-07-24 10:36:32 +02:00
2026-06-29 17:32:15 +02:00
2026-05-29 11:24:58 +02:00
2026-05-29 11:24:58 +02:00
2026-08-06 08:55:58 +02:00
2026-06-01 12:57:39 +02:00
2026-07-31 19:21:07 +02:00
2026-07-09 19:37:16 +02:00
2026-05-29 11:24:58 +02:00
2026-07-08 09:55:50 +02:00
2026-07-08 09:55:50 +02:00
2026-05-29 11:24:58 +02:00
2026-05-29 11:24:58 +02:00
2026-05-29 11:24:58 +02:00
2026-06-01 12:57:39 +02:00
2026-06-01 12:57:39 +02:00
2026-05-29 11:24:58 +02:00
2026-06-18 18:00:19 +02:00
2026-05-29 11:24:58 +02:00
2026-07-14 12:42:19 +02:00
2026-08-18 17:45:42 +02:00
2026-08-18 17:45:42 +02:00
2026-07-07 16:12:12 +02:00
2026-07-29 10:06:52 +02:00
2026-07-31 12:04:10 +02:00
2026-07-31 13:09:18 +02:00
2026-05-29 11:24:58 +02:00
2026-08-18 17:45:42 +02:00
2026-08-18 17:45:42 +02:00
2026-08-18 17:45:42 +02:00
2026-08-18 17:45:42 +02:00
2026-07-30 16:56:10 +02:00
2026-05-29 11:24:58 +02:00
2026-06-01 12:57:39 +02:00
2026-07-31 11:48:31 +02:00
2026-08-18 17:45:42 +02:00
2026-07-28 11:54:22 +02:00
2026-06-30 14:37:27 +02:00
2026-08-17 11:51:24 +02:00
2026-06-01 13:15:57 +02:00
2026-07-06 16:49:29 +02:00
2026-06-18 10:43:30 +02:00
2026-06-25 15:07:37 +02:00
2026-06-01 12:57:39 +02:00
2026-08-18 17:45:42 +02:00
2026-06-01 12:57:39 +02:00