Skip to content

test(ui): run DOM-free suites in Node#112031

Merged
steipete merged 1 commit into
mainfrom
steipete/test-ui-node-env-batch1
Jul 21, 2026
Merged

test(ui): run DOM-free suites in Node#112031
steipete merged 1 commit into
mainfrom
steipete/test-ui-node-env-batch1

Conversation

@steipete

@steipete steipete commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

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.ts
    • 6 test files passed
    • 195 tests passed
    • 1.20 seconds Vitest duration
    • 0 ms environment setup
  • Independent review verified the six files, transitive imports, Node 24 navigator/clipboard stubbing, UI Vitest routing, and cleanup under isolate: false; no actionable findings.
  • Exact-head Linux Node 24 CI will run when this draft is marked ready; merge will wait for the relevant required checks.

AI-assisted: yes.

@openclaw-barnacle openclaw-barnacle Bot added app: web-ui App: web-ui size: XS maintainer Maintainer-authored PR labels Jul 21, 2026
@steipete
steipete marked this pull request as ready for review July 21, 2026 03:48
@clawsweeper

clawsweeper Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

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.

@steipete

Copy link
Copy Markdown
Contributor Author

Land-ready proof is complete for b24b4ea12cba63a7f3fb5d7c5fb61f4ee5c7ad18.

  • Focused: 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.ts
    • 6 files passed
    • 195 tests passed
    • 1.20s Vitest duration
    • 0ms environment setup
  • git diff --check: passed.
  • Independent read-only review: clean; verified transitive imports, Node 24 navigator stubbing, UI Vitest routing, and isolate: false cleanup.
  • Exact-head CI: run 29799479941 succeeded, including checks-ui, test types, lint, changed tests, and openclaw/ci-gate.
  • Guarded OPENCLAW_TESTBOX=1 scripts/pr prepare-run 112031: hosted exact-head gates passed.

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.

@steipete
steipete merged commit f4b37db into main Jul 21, 2026
134 of 140 checks passed
@steipete
steipete deleted the steipete/test-ui-node-env-batch1 branch July 21, 2026 07:05
@steipete

Copy link
Copy Markdown
Contributor Author

Merged via squash.

vincentkoc added a commit that referenced this pull request Jul 21, 2026
* 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)
  ...
github-actions Bot pushed a commit to Desicool/openclaw that referenced this pull request Jul 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

app: web-ui App: web-ui maintainer Maintainer-authored PR size: XS

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant