pcbjam/tests/web
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Istvan Matejcsok 3a2255c817 feat(editor): File→Quit navigates back to the project page
Every KiCad editor's File→Quit used to destroy the wx top frame and
notify nobody, leaving the SPA stranded on the editor URL with a dead
canvas. It now behaves like the browser Back button: return to wherever
the user entered the editor from (project page, or a previous editor).

- WasmTool installs window.wxAppTopWindowClosed (the wx wasm port fires it
  from the main frame's destructor — see the wxwidgets pointer bump). On a
  real quit it history.back()s when there is same-origin in-app history,
  else location.assign()s the project page (or "/" for lib editors).
- The navigation is deferred one task (setTimeout 0): it fires inside the
  C++ destructor via EM_ASM under Asyncify, and a cross-document
  location.assign() started there is aborted by the continuing teardown;
  only same-document history.back() survives synchronously.
- Latches off on pagehide (the port also closes the frame on page unload
  via UnloadCallback) and reloads on a bfcache pageshow so Forward never
  restores a dead frame.
- e2e: quit-to-project.spec.ts covers both the history-back and the
  deep-link fallback paths.

No kicad changes — the whole hook lives in the wxWidgets wasm port and the
web app, keeping the kicad fork clean for upstream syncs.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 18:19:24 +02:00
..
comments.spec.ts feat(collab): nth-in-room colors, comment toolbar + drag + global hide, luminance chip text 2026-07-07 21:09:23 +02:00
cross-probe.spec.ts feat(collab): cross-app selection — eeschema symbol ⇄ pcbnew footprint ghost highlight (collab-presence 0006) 2026-07-07 21:09:23 +02:00
eeschema-fp-selector.spec.ts feat(libs): eeschema symbol-chooser footprint selector + preview via publish-time fp-index 2026-07-07 21:09:21 +02:00
footprint-browse-remote.spec.ts test(determinism): deterministic waits + stableShot screenshots; drop blind sleeps/ifs/retries 2026-07-07 10:50:24 +02:00
footprint-write-remote.spec.ts test(determinism): deterministic waits + stableShot screenshots; drop blind sleeps/ifs/retries 2026-07-07 10:50:24 +02:00
footprint-write-spike.spec.ts test(determinism): deterministic waits + stableShot screenshots; drop blind sleeps/ifs/retries 2026-07-07 10:50:24 +02:00
global-setup-web.ts feat(scopes): migrate GPL open backend + web e2e to scope grammar 2026-06-30 09:54:50 +02:00
locks.spec.ts feat(collab): selection soft-locks — remote-selected items can't be dragged locally (collab-presence 0007) 2026-07-07 21:09:24 +02:00
presence-roster.spec.ts feat(collab): presence P1 — awareness transport + who's-here roster (collab-presence 0001) 2026-07-07 21:09:22 +02:00
quit-to-project.spec.ts feat(editor): File→Quit navigates back to the project page 2026-07-08 18:19:24 +02:00
symbol-write-remote.spec.ts test(determinism): deterministic waits + stableShot screenshots; drop blind sleeps/ifs/retries 2026-07-07 10:50:24 +02:00
symbol-write-spike.spec.ts test(determinism): deterministic waits + stableShot screenshots; drop blind sleeps/ifs/retries 2026-07-07 10:50:24 +02:00
tool-switch.spec.ts test(determinism): deterministic waits + stableShot screenshots; drop blind sleeps/ifs/retries 2026-07-07 10:50:24 +02:00
tools-open.spec.ts feat(tests): screenshot regression + Discord review, perf-tracked 2026-07-01 18:17:20 +02:00