docs(dioxus): Phase 9 — full documentation set for @wdio/dioxus-service#283
Conversation
Add complete documentation for @wdio/dioxus-service: Packages: - packages/dioxus-service/README.md (new) - packages/dioxus-service/docs/ (14 new files: quick-start, configuration, api-reference, plugin-setup, platform-support, browser-mode, edge-webdriver-windows, deeplink-testing, log-forwarding, usage-examples, development, troubleshooting, coexistence, release-notes/v1.0.0) - packages/dioxus-embedded-driver/README.md (new) - packages/dioxus-bridge/README.md (updated — full feature list, removed placeholder v1-status text) - packages/dioxus-bridge/docs/release-notes/v1.0.0.md (new) Root-level: - README.md, ROADMAP.md, AGENTS.md, CONTRIBUTING.md — add Dioxus throughout - docs/setup.md — Dioxus toolchain prerequisites - docs/architecture.md — Dioxus service architecture section - docs/package-structure.md — new Dioxus package paths and naming rationale - docs/e2e-testing.md — Dioxus E2E config and provider matrix - docs/visual-testing.md — Dioxus provider notes Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Greptile SummaryThis PR adds a complete documentation set for
Confidence Score: 5/5Pure documentation additions and updates — no runtime code is changed, all code examples are now technically accurate, and previously flagged issues are resolved. Every code snippet in the docs has been verified for correctness: Cargo.toml uses [dependencies] not [dev-dependencies] for the bridge crate, mock call history is accessed via mock.mock.calls/mock.mock.results, CI snippets include xvfb-run -a for Linux, and all invoke calls inside execute callbacks are properly awaited. No new technical defects were found across the 27 changed files. No files require special attention. The packages/dioxus-service/docs/ tree is new and self-consistent, and the root-level doc updates are additive and accurate.
|
| Filename | Overview |
|---|---|
| packages/dioxus-service/docs/quick-start.md | Complete quick-start guide; previously flagged issues (duplicate Cargo.toml headers, dev-dependencies placement, missing mock before invoke, missing xvfb-run in CI, wrong troubleshooting advice) are all corrected in this version. |
| packages/dioxus-service/docs/api-reference.md | Full API reference for browser.dioxus.*; mock properties correctly documented as mock.mock.calls / mock.mock.results throughout. |
| packages/dioxus-service/docs/usage-examples.md | Practical usage examples; invoke calls inside execute callbacks are now properly awaited, fixing the previously flagged non-deterministic mock call-count assertion. |
| packages/dioxus-service/docs/coexistence.md | Multi-framework CI matrix guide; e2e-dioxus and e2e-tauri jobs now include Node.js setup, npm install, WebKitGTK Linux deps, and xvfb-run wrappers — all previously flagged gaps are addressed. |
| packages/dioxus-service/docs/browser-mode.md | Browser mode guide; troubleshooting section now correctly describes the thrown error symptom rather than silent undefined return after navigation. |
| packages/dioxus-service/docs/plugin-setup.md | Bridge integration guide; clearly explains why wdio-dioxus-bridge must go under [dependencies] (not [dev-dependencies]) with a rationale callout. |
| packages/dioxus-service/README.md | Package README; minimal config example now correctly points to target/debug/ binary. |
| packages/dioxus-bridge/README.md | Bridge README; now explicitly clarifies that @wdio/dioxus-bridge npm package is not a separate user-installable package — it is bundled into the Rust crate at compile time via build.rs. |
| packages/dioxus-service/docs/log-forwarding.md | Log forwarding guide; now includes a callout that the log crate requires a concrete backend for non-WDIO runs, addressing the previously flagged confusion for contributors. |
| packages/dioxus-service/docs/release-notes/v1.0.0.md | v1.0.0 release notes; mock properties correctly listed as mock.mock.calls and mock.mock.results. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
WDIO[WebdriverIO Test Runner] --> DS[dioxus-service]
DS --> |native mode| LP[DioxusLauncher]
DS --> |browser mode| CH[Chrome + Vite dev server]
LP --> |embedded provider| APP[Dioxus App Binary]
LP --> |external provider Windows only| WDD[wdio-dioxus-driver + msedgedriver]
WDD --> APP
APP --> |bridge install| BSRV[wdio-dioxus-embedded-driver]
BSRV --> |WebDriver session| DS
APP --> |wdio protocol| MOCK[Guest-JS Bundle mock dispatch]
DS --> |browser.dioxus API| MOCK
DS --> |inject script| CH
Reviews (11): Last reviewed commit: "docs(dioxus): fix browser-mode troublesh..." | Re-trigger Greptile
- README: fix minimal config to use target/debug (bridge only in debug builds) - log-forwarding: note that log crate is a no-op without a backend in non-WDIO runs - dioxus-bridge README: clarify @wdio/dioxus-bridge npm pkg is bundled in the Rust crate via build.rs, not a separate user-installable package Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ncies] [dev-dependencies] only applies to cargo test/bench, not cargo build. Because the #[cfg(debug_assertions)] block in main.rs is evaluated during a regular debug build, placing wdio-dioxus-bridge there causes E0433: failed to resolve: use of undeclared crate. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…o.toml TOML forbids duplicate table keys — merging wdio-dioxus-bridge into the single existing [dependencies] section. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- quick-start.md: wrap Linux CI test run with xvfb-run -a; add missing libayatana-appindicator3-dev and librsvg2-dev to apt-get install step - coexistence.md: add libwebkit2gtk-4.1-dev install step and xvfb-run -a wrapper for all three service CI jobs (dioxus, tauri, electron) on Linux - usage-examples.md: add async/await to invoke calls inside execute callback to prevent non-deterministic mock call-count assertions Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ependencies] wdio-dioxus-bridge must be in [dependencies] because #[cfg(debug_assertions)] is evaluated during cargo build, not just cargo test. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
All three jobs were missing Node.js setup and dependency installation before running npm scripts, which would cause immediate failures. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The minimal app has no Rust command handlers, so invoking an unmocked command would fail at runtime. Mock it before invoking to make the example self-contained and testable as written. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
All code examples use mock.mock.calls / mock.mock.results (Jest/Vitest spy pattern) but the Mock Properties reference section used the wrong top-level paths, which would return undefined. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Navigation wipes window.__wdio_mocks__ and causes a thrown error
("unmocked Dioxus command"), not a silent undefined return. Update the
heading to match the actual symptom users will search for.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Summary
@wdio/dioxus-service(14 doc files + package README)README.mdforwdio-dioxus-embedded-driverwdio-dioxus-bridgeREADME (removes placeholder v1-status text, documents full feature set)docs/release-notes/v1.0.0.mdREADME.md,ROADMAP.md,AGENTS.md,CONTRIBUTING.md,docs/setup.md,docs/architecture.md,docs/package-structure.md,docs/e2e-testing.md,docs/visual-testing.md) to include Dioxus alongside Electron and TauriNew docs in
packages/dioxus-service/docs/quick-start.mdconfiguration.mdDioxusServiceOptionsanddioxus:optionsfieldapi-reference.mdbrowser.dioxus.*surface with examplesplugin-setup.md#[cfg(debug_assertions)]guardplatform-support.md'external'deferred notebrowser-mode.mdmode: 'browser'with Vite dev serveredge-webdriver-windows.md'external'provider setupdeeplink-testing.mdtriggerDeeplink()+ OS protocol handlerlog-forwarding.mdusage-examples.mddevelopment.mdtroubleshooting.mdcoexistence.mdrelease-notes/v1.0.0.mdTest plan
../dioxus-service/docs/plugin-setup.md)README.mdrenders with correct Dioxus badges and framework tableROADMAP.mdshows Dioxus under current servicesAGENTS.mdlists Dioxus in Supported Frameworks and Monorepo Structure🤖 Generated with Claude Code