test(ui): run DOM-free suites in Node#112031
Conversation
|
ClawSweeper status: review started. I am starting a fresh review of this pull request: test(ui): run DOM-free suites in Node This is item 1/1 in the current shard. Shard 0/1. This placeholder means the worker is alive and reading the current context. I will edit this same comment with the actual review when the claws are done clicking. Crustacean status: shell secured, claws on keyboard, evidence pebbles being sorted. |
|
Land-ready proof is complete for
Known review-tool gap: the isolated Claude autoreview helper had no CLI login, and Codex is prohibited in the router-backed session; the independent fallback review completed clean. ClawSweeper's expired placeholder contained no rank-up moves while the exact-review queue was saturated. |
|
Merged via squash.
|
* origin/main: (24 commits) fix(agents): keep compaction on live session model (#95713) fix(plugin-sdk): guard provider catalog live URL parsing against malformed responses (#109986) chore(cli): drop dead classifiers and single-use wrappers left by fallback removal (#112191) feat(ui): expand the lobster pet's random universe (#112073) chore(ci): audit dependency fingerprint exports (#112190) fix(ui): preserve graphemes in provider icons (#109509) fix(ui): align settings search with navigation rows (#112172) fix(agents): allow configless gateway rebind to activate standalone owner (#111841) fix(secrets): register secret targets for installed-origin plugins (#104347) improve(ui): show real machine identity in the place picker (#112162) fix: webChat scrollback history is too limited — older assistant replies and tool outputs disappear when scrolling… (#104250) test(ui): run DOM-free suites in Node (#112031) feat(nodes): make computer.act eligibility capability-based for desktop nodes (#112107) fix(apps): harden mobile gateway and watch state fix(ci): restore Z.AI API Platform validation (#112171) fix(ui): prevent Logs controls from overlapping (#112170) fix #95291: message tool fails to deliver files/images on Feishu (400 volc-dcdn / write ECONNRESET) while same Lark SDK upload succeeds standalone (#95514) refactor(cli)!: remove automatic gateway→embedded fallback from openclaw agent (#112074) refactor: move provider transports into packages/ai behind a typed host port (#111669) fix(anthropic): complete transcript reverse-scan windows across short reads (#109431) ...
What Problem This Solves
Control UI tests that exercise only pure state, formatting, and RPC logic currently run under jsdom, paying browser-environment setup cost even though they never use DOM APIs.
Why This Change Was Made
Mark six verified DOM-free test files with Vitest's Node environment pragma. This keeps browser-backed tests in jsdom while removing unnecessary environment construction from 195 tests without changing assertions or production behavior.
User Impact
Developers get faster local and CI test feedback. There is no user-visible runtime behavior change.
Evidence
node scripts/run-vitest.mjs ui/src/lib/config/index.test.ts ui/src/lib/cron-status.test.ts ui/src/lib/cron/index.test.ts ui/src/lib/device-pair-setup.test.ts ui/src/lib/format.test.ts ui/src/lib/gateway-errors.test.tsnavigator/clipboard stubbing, UI Vitest routing, and cleanup underisolate: false; no actionable findings.AI-assisted: yes.