Commit 3993e56
committed
AG-50945 Replace Promise.resolve with setTimeout-based macrotask yielding in async engine creation
Squashed commit of the following:
commit a31a937
Merge: 9a82713 ee9ee73
Author: scripthunter7 <d.tota@adguard.com>
Date: Fri Feb 13 19:09:00 2026 +0100
Merge branch 'master' into fix/AG-50945
commit 9a82713
Author: scripthunter7 <d.tota@adguard.com>
Date: Fri Feb 13 18:15:52 2026 +0100
Fix changelog
commit 87c1139
Author: scripthunter7 <d.tota@adguard.com>
Date: Fri Feb 13 10:36:55 2026 +0100
Fixed `Engine.createAsync` using macrotask yielding instead of microtask for proper UI thread yielding between rule-loading chunks
commit 4139237
Author: scripthunter7 <d.tota@adguard.com>
Date: Fri Feb 13 10:36:05 2026 +0100
Add explanatory comments for setTimeout-based macrotask yielding in engine rule loading
Add inline comments explaining why setTimeout with macrotask is used instead of Promise.resolve() with microtask for yielding during async rule loading in cosmetic-engine, network-engine, and main engine. Comments clarify that macrotasks allow the browser to handle pending UI updates and user interactions, while microtasks do not.
commit 06b39d1
Author: scripthunter7 <d.tota@adguard.com>
Date: Thu Feb 12 17:18:39 2026 +0100
Replace Promise.resolve() with setTimeout-based macrotask yielding in async engine creation
Replace `Promise.resolve()` with `setTimeout(resolve, 0)` in cosmetic-engine, network-engine, and main engine to properly yield to the event loop via macrotasks during async rule loading. Add tests to verify macrotask yielding behavior when rule count exceeds CHUNK_SIZE and confirm no yielding occurs below threshold.1 parent ee9ee73 commit 3993e56
File tree
5 files changed
+105
-18
lines changed- packages/tsurlfilter
- src/engine
- cosmetic-engine
- test/engine
5 files changed
+105
-18
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| 12 | + | |
12 | 13 | | |
13 | 14 | | |
14 | 15 | | |
| |||
Lines changed: 7 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
88 | 88 | | |
89 | 89 | | |
90 | 90 | | |
91 | | - | |
92 | | - | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
93 | 98 | | |
94 | 99 | | |
95 | 100 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
193 | 193 | | |
194 | 194 | | |
195 | 195 | | |
196 | | - | |
197 | | - | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
198 | 203 | | |
199 | 204 | | |
200 | 205 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
81 | 81 | | |
82 | 82 | | |
83 | 83 | | |
84 | | - | |
85 | | - | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
86 | 91 | | |
87 | 92 | | |
88 | 93 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
160 | 160 | | |
161 | 161 | | |
162 | 162 | | |
163 | | - | |
| 163 | + | |
164 | 164 | | |
165 | 165 | | |
166 | 166 | | |
| |||
1418 | 1418 | | |
1419 | 1419 | | |
1420 | 1420 | | |
1421 | | - | |
1422 | | - | |
1423 | | - | |
1424 | | - | |
1425 | | - | |
1426 | | - | |
1427 | | - | |
1428 | | - | |
| 1421 | + | |
| 1422 | + | |
| 1423 | + | |
| 1424 | + | |
| 1425 | + | |
| 1426 | + | |
| 1427 | + | |
| 1428 | + | |
| 1429 | + | |
| 1430 | + | |
| 1431 | + | |
| 1432 | + | |
| 1433 | + | |
| 1434 | + | |
| 1435 | + | |
| 1436 | + | |
| 1437 | + | |
| 1438 | + | |
| 1439 | + | |
| 1440 | + | |
| 1441 | + | |
| 1442 | + | |
| 1443 | + | |
| 1444 | + | |
| 1445 | + | |
| 1446 | + | |
| 1447 | + | |
| 1448 | + | |
| 1449 | + | |
| 1450 | + | |
| 1451 | + | |
| 1452 | + | |
| 1453 | + | |
| 1454 | + | |
| 1455 | + | |
| 1456 | + | |
| 1457 | + | |
| 1458 | + | |
| 1459 | + | |
| 1460 | + | |
| 1461 | + | |
| 1462 | + | |
| 1463 | + | |
| 1464 | + | |
| 1465 | + | |
| 1466 | + | |
1429 | 1467 | | |
1430 | | - | |
1431 | | - | |
1432 | | - | |
| 1468 | + | |
| 1469 | + | |
| 1470 | + | |
| 1471 | + | |
| 1472 | + | |
| 1473 | + | |
| 1474 | + | |
| 1475 | + | |
| 1476 | + | |
| 1477 | + | |
| 1478 | + | |
| 1479 | + | |
| 1480 | + | |
| 1481 | + | |
| 1482 | + | |
| 1483 | + | |
| 1484 | + | |
| 1485 | + | |
| 1486 | + | |
| 1487 | + | |
| 1488 | + | |
| 1489 | + | |
| 1490 | + | |
| 1491 | + | |
| 1492 | + | |
| 1493 | + | |
| 1494 | + | |
| 1495 | + | |
| 1496 | + | |
| 1497 | + | |
| 1498 | + | |
| 1499 | + | |
| 1500 | + | |
| 1501 | + | |
| 1502 | + | |
| 1503 | + | |
1433 | 1504 | | |
1434 | 1505 | | |
1435 | 1506 | | |
| |||
0 commit comments