pcbjam/scripts/common
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Viktor Vaczi 14ca16cbd3 test(asyncify): red-green race harness + ablation flags, unwind-catch shim, spec tightening, decisions docs
The asyncify single-slot work, executed red-green (full ledger:
docs/features/asyncify-arbiter/redgreen.md; decisions record:
docs/features/async/07-decisions-and-outcome.md):

- tests/apps/standalone/asyncify-races/ + tests/asyncify/ + dedicated
  playwright config: 8 scenarios reproducing the KiCad asyncify failure
  family with the kicad-faithful startup topology (pre-park fiber swap →
  park throw through the live trampoline). Built in 3 variants; the
  SHIM_DISABLE_TRAMPOLINE_HEAL / SHIM_DISABLE_HANDLESLEEP ablation builds
  keep the historical hang and index-out-of-bounds crash reproducible
  forever (mutation-style pins for the existing shims).
- scripts/common/shims/handlesleep.js: catch the "unwind" park sentinel
  in the wakeUp path — when main's last pre-park suspension was a sleep,
  the main-loop park throw escaped through that sleep's promise reaction
  as an uncaught rejection (the calculator/gerbview console errors).
- scripts/common/inject-dyncall-shims.sh: SHIM_DISABLE_* ablation knobs.
- Spec tightening (the acceptance bar): 'uncaught exception: unwind'
  tolerance DELETED from pcbnew/eeschema specs; load-pcb gained a hard
  clean-console gate over 5 asyncify corruption signatures.
- wxwidgets pointer bump: modal LIFO resolvers, pump resolve-on-error,
  sync clipboard IsSupported (014f67e6c1).

Final state: asyncify suite 7/7, wx e2e 291/292 (1 skip), KiCad e2e 40
passed / 2 skipped with ZERO corruption signatures in any log across all
six apps.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 17:02:59 +02:00
..
shims test(asyncify): red-green race harness + ablation flags, unwind-catch shim, spec tightening, decisions docs 2026-06-12 17:02:59 +02:00
apply-asyncify.sh perf(build): 4h05m -> 1h15m full CI build — docker caps, pipelined wasm-opt, Binaryen 130 2026-06-11 07:48:46 +02:00
apply-finalize.sh fix(build): host postprocess silently no-ops when emsdk tools are stubbed 2026-06-11 13:25:02 +02:00
env.sh fix(docker): Replace emsdk image with Ubuntu + emsdk from source 2026-03-19 12:44:26 +01:00
functions.sh perf(build): 4h05m -> 1h15m full CI build — docker caps, pipelined wasm-opt, Binaryen 130 2026-06-11 07:48:46 +02:00
get-wasm-opt.sh fix(build): host postprocess silently no-ops when emsdk tools are stubbed 2026-06-11 13:25:02 +02:00
inject-dyncall-shims.sh test(asyncify): red-green race harness + ablation flags, unwind-catch shim, spec tightening, decisions docs 2026-06-12 17:02:59 +02:00
logging.sh chore: 🤖 add build monitor 2026-06-01 17:37:00 +02:00
stages.sh chore: 🤖 add build monitor 2026-06-01 17:37:00 +02:00
versions.sh fix(wasm): Fix asyncify rewind with asyncify-aware dynCall shims 2026-03-13 12:26:48 +01:00