Reference
Known limitations
What the current release does not do yet, and the workaround for each.
What you'll learn
The gaps that exist in the current release, why they exist, and what to do in the meantime.
| Area | Limitation | Workaround |
|---|---|---|
| Visual baselines | Baselines are stored per run target and platform (features/__screenshots__/<run target>/<platform>/). A new @visual scenario, or one in a project without linux/ baselines, fails in the nightly Linux run until the visual-baselines workflow's pull request is merged. | Run the visual-baselines workflow, review its pull request of linux/ PNGs and merge it. |
| Feature editor | Step completions come from the project's step catalogue; the @cucumber/language-service WebAssembly is loaded best-effort and may be unavailable, so semantic diagnostics fall back to the parser and server lint. | Diagnostics from Save and Validate are authoritative. |
| Process gates | A sharded run is gated where its shards are merged (sdods report merge --process), not per shard, and one merge judges one project's process. The shipped ci.yml runs no process, so its report job judges no gates; its merge step also writes into a run directory that its ingest loop does not read. | To gate a sharded CI run, run the shards with --process <name>, merge each project's shards with --run <that run id> --process <name> before ingest, and do not swallow the merge step's exit code. |
@a11y scope | The default a11y.scope: final audits the page a scenario ends on. every-page audits each distinct URL a step leaves the scenario on: a URL passed through inside one step (a redirect, or a step that clicks through two pages) is listed as not-audited. | Split the step, or add the page should have no accessibility violations of impact "serious" or worse on the page that matters. |
| Third-party demo sites | The demo project targets public sandboxes (SauceDemo, JSONPlaceholder). Their session cookies live ten minutes; SDODS refreshes cached login state automatically when cookies expire. | Use --har-replay --strict for fully offline runs. |
| Load testing | sdods load drives HTTP requests listed in a profile; it does not replay @api scenarios or browser flows, load runs are not recorded in the results database, and an OAuth client-credentials token is minted once per run and not refreshed. | Keep profiles shorter than the token lifetime; read summary.json in the run directory. |