fix(wasm): Fix Asyncify modal errors with global lock mechanism

Update wxwidgets submodule with fix for consecutive modal dialog crashes.
The fix prevents overlapping Asyncify operations that caused "indirect call
to null" and "func is not a function" errors when a second modal was
triggered immediately after the first one completed.

Also includes:
- docs: Clarify build script order and descriptions in CLAUDE.md
- refactor(test): Remove debug logging from wizard test

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Viktor Vaczi 2026-01-19 14:32:33 +01:00
commit 51b158f6b1
4 changed files with 45 additions and 13 deletions

View file

@ -1,5 +1,5 @@
import { test, expect } from './fixtures';
import { clickByLabel, dumpElements } from '../e2e/utils/element-tracker';
import { clickByLabel } from '../e2e/utils/element-tracker';
/**
* PCBnew WASM E2E Tests
@ -20,24 +20,17 @@ test.describe('PCBnew WASM', () => {
// Click through wizard - try Next >, then Finish if not found
for (let i = 1; i <= 10; i++) {
// Dump buttons before clicking to see what's available
console.log(`Step ${i}: Looking for buttons...`);
await dumpElements(page);
// Try "Next >" first (exact button label)
let clicked = await clickByLabel(page, 'Next >');
if (clicked) {
console.log(`Step ${i}: Clicked "Next >"`);
// Continue to next page
} else {
// Try Finish button
clicked = await clickByLabel(page, 'Finish');
if (clicked) {
console.log(`Step ${i}: Clicked "Finish"`);
await page.waitForTimeout(500);
await page.screenshot({ path: `test-results/wizard-${String(i).padStart(2, '0')}-finish.png` });
break;
} else {
console.log(`Step ${i}: No "Next >" or "Finish" found`);
break;
}
}
@ -51,7 +44,6 @@ test.describe('PCBnew WASM', () => {
// Verify PCBnew loaded
const canvasCount = await page.locator('canvas').count();
console.log('Canvas count after wizard:', canvasCount);
expect(canvasCount).toBeGreaterThan(0);
});
});