Documentation
¶
Overview ¶
Command sk-browser-smoke drives the public smoke page (`/`) of a running speechkit-server instance from a real headless Chrome process and asserts that every mode tile reports OK.
Purpose: catch browser-only regressions that the API-level sk-e2e smoke cannot see — e.g. missing Authorization header injection, WebSocket Origin rejection, CORS preflight breakage, or the smoke page's own JS guard collapsing under server-side rewrites. These are exactly the bug classes that produced the v0.35.3 → v0.35.5 hotfix train; an automated browser pass on every deploy makes that class impossible to ship.
Usage:
sk-browser-smoke --origin https://speechkit.kombify.io sk-browser-smoke --origin $URL --timeout 3m --keep-browser-open
Exit codes:
0 — all six tiles (Server Settings, Health, Readiness,
Dictation, Assist, Voice Agent) reported OK before the
timeout expired
1 — at least one tile reported FAIL, or the overall status
is anything other than "Passing", or the timeout expired
while a tile was still RUNNING
2 — invalid CLI usage / browser-startup error / navigation
failed
Designed to run unattended in CI. The headless Chrome is the system-provided binary; on GitHub-hosted ubuntu-24.04 runners that is /usr/bin/google-chrome and needs no extra install step.