What's Changed
- fix(web): stop the chat crashing with "Maximum call stack size exceeded" on WebKit by @rsolmano in #1080
- test(web): typecheck every web test and drop the exclude list by @Mark-Life in #1074
- refactor(web): type-check prototype-free maps with nullProto by @Mark-Life in #1066
- lint(web): reject Object.create(null) outside nullProto by @Mark-Life in #1067
- test: stop the Windows desktop smoke and real-shortcut test flakes by @danyaberezun in #1112
- test: stop the lifecycle pid-file, e2e global-setup and freePort races by @danyaberezun in #1115
- ci: retry the Electrobun toolchain download before desktop builds by @danyaberezun in #1116
- test(e2e): judge managed-runner signal cleanup at runner exit by @danyaberezun in #1120
- test(e2e): stop the layout tab-drag and side-focus races by @danyaberezun in #1121
- test(e2e): let the chat's placement motion settle before clicking visualize card controls by @danyaberezun in #1124
- fix: wake the idle parent as soon as a background result lands by @danyaberezun in #1123
- test(server): make the unit suite independent of file order and the developer's machine by @danyaberezun in #1126
- feat(scripts): count queue-on-queue and stacked failures once and read flakes from green e2e jobs by @danyaberezun in #1122
- fix: stop the Changes review snap-back and the Pierre reveal give-up behind three e2e flakes by @danyaberezun in #1128
- fix(desktop): keep the window on its origin and open external links exactly once by @danyaberezun in #1030
Full Changelog: v0.4.0-nightly.1...v0.4.0-nightly.2