website/docs/devtools/Limitations.md
What Trace Mode deliberately skips, plus the known gaps across adapters.
screencast.enabled — the live-mode continuous .webm recording is ignored in trace mode (a warning is logged). Trace mode instead records a dense filmstrip into the archive by default (set filmstrip: false for one frame per action), plus per-test video slices when enabled. The screencast tuning fields (quality, maxWidth, pollIntervalMs, …) still apply to whichever recorder runs.wdio-trace-<sessionId>.json dump — removed entirely. The legacy monolithic JSON the WDIO live mode used to write is gone; live mode now streams to the dashboard and writes nothing to disk, and the trace.zip is the single trace artifact.describe/it — traceGranularity: 'test' collapses to a single session-scoped slice: Nightwatch runs the individual its internally without a per-test hook the plugin can see, so the slice keys to the first test. Metadata capture (per-testcase state in the manifest) is unaffected, but per-it trace/screenshot/video keying and retry-aware retention degrade to session scope for this interface. Nightwatch's exports-object and Cucumber interfaces expose per-scenario/per-test hooks and get real per-test slicing. (WebdriverIO mocha/cucumber and Selenium mocha are unaffected.)retain-on-failure works; other retry-aware policies degrade because Nightwatch re-runs a testcase internally on --retries without re-firing the per-test hooks. See Retention.screenshot/video are produce-only (files + manifest), not attached inline; see Allure integration.takeScreenshot, which adds WebDriver round-trips and (under Allure) floods the step log; pair with the reporter's step-silencing options.