You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Investigate two intermittent failures from Solenta main run 36416352786 at 65d15d0. The tree is byte-identical to PR #1371 head 311e86a, whose six jobs passed. Linux electron/test/eject-command.test.js:161 asserts copied.includes("-m") === false over the ENTIRE shell command, including a randomly named cwd from mkdtempSync("coder-eject-cmd-"); a random suffix starting m can trip it. Scope that check to CLI arguments without weakening the model-resume contract. Windows test/sidebar.test.tsx timed out at the 20,000ms file budget; identify the slow/hanging test with evidence rather than raising the timeout blindly. Full logs: https://github.com/currentbits/solenta/actions/runs/36416352786. Reproduce before fixing, keep production behavior unchanged unless a real bug is demonstrated, and run focused checks. Do not change release workflows or publish anything.
Findings (branch coder/stabilize-eject-and-sidebar-ci-tests-0ba7ae, commit 16fc9aea, not pushed):
Eject (Linux, eject-command.test.js:161): already fixed on main by #1414 (13d70c0), which matches -m only as a whitespace-delimited argv token. Reproduced the 65d15d0 version failing with TMPDIR=/tmp/zz-m; the current test passes 12/12 under the same TMPDIR. No change needed.
Sidebar (Windows, 20s file timeout): no test hung. In attempt 1, 22 of 24 suites finished in 13.4s of test time (slowest test 792ms) before the file was killed. The green rerun finished all 24 in 9.6s. The rest of the 20s budget went to import plus ~4s of idle: src/devCoder.ts ran buildDevCoder() at module load (through App → coderApi), which started 700ms setInterval runs for the seeded working threads and kept every renderer test file alive until they settled. Locally an import-only run (--test-name-pattern=__nomatch__) took 7.4s wall with 1.2s CPU.
Fix: devCoder is now a memoized devCoder(), built only in coderApi's DEV no-bridge fallback. Production never reaches that path. Locally sidebar.test.tsx went from 10.3s to 5.1s and import-only overhead from 7.4s to ~1s. Renderer suite 2685/2685, tsc and vite build clean. Timeout unchanged.
Activity
currentbits commentedon Oct 4, 2026
Findings (branch
coder/stabilize-eject-and-sidebar-ci-tests-0ba7ae, commit 16fc9aea, not pushed):Eject (Linux, eject-command.test.js:161): already fixed on main by #1414 (13d70c0), which matches
-monly as a whitespace-delimited argv token. Reproduced the 65d15d0 version failing withTMPDIR=/tmp/zz-m; the current test passes 12/12 under the same TMPDIR. No change needed.Sidebar (Windows, 20s file timeout): no test hung. In attempt 1, 22 of 24 suites finished in 13.4s of test time (slowest test 792ms) before the file was killed. The green rerun finished all 24 in 9.6s. The rest of the 20s budget went to import plus ~4s of idle:
src/devCoder.tsranbuildDevCoder()at module load (through App → coderApi), which started 700mssetIntervalruns for the seeded working threads and kept every renderer test file alive until they settled. Locally an import-only run (--test-name-pattern=__nomatch__) took 7.4s wall with 1.2s CPU.Fix:
devCoderis now a memoizeddevCoder(), built only in coderApi's DEV no-bridge fallback. Production never reaches that path. Locally sidebar.test.tsx went from 10.3s to 5.1s and import-only overhead from 7.4s to ~1s. Renderer suite 2685/2685, tsc and vite build clean. Timeout unchanged.currentbits commentedon Oct 4, 2026
Landed from Solenta thread "Stabilize eject and sidebar CI tests". Closed on merge.
Build devCoder on first use, not at import (#1439) (#1584)
perf(test): build the dev twin on first use, not at import (#1439)
Port unpushed local-main fixes (#1435, #1436, #1439); classify setFas…