Skip to content

docs(dioxus): Phase 9 — full documentation set for @wdio/dioxus-service#283

Merged
goosewobbler merged 11 commits into
feat/dioxus-servicefrom
feat/dioxus-phase9
May 13, 2026
Merged

docs(dioxus): Phase 9 — full documentation set for @wdio/dioxus-service#283
goosewobbler merged 11 commits into
feat/dioxus-servicefrom
feat/dioxus-phase9

Conversation

@goosewobbler
Copy link
Copy Markdown
Contributor

Summary

  • Adds complete documentation for @wdio/dioxus-service (14 doc files + package README)
  • Adds README.md for wdio-dioxus-embedded-driver
  • Updates wdio-dioxus-bridge README (removes placeholder v1-status text, documents full feature set)
  • Adds bridge docs/release-notes/v1.0.0.md
  • Updates all root-level docs (README.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 Tauri

New docs in packages/dioxus-service/docs/

File Contents
quick-start.md Get running in minutes; build, install, first test
configuration.md Every DioxusServiceOptions and dioxus:options field
api-reference.md Full browser.dioxus.* surface with examples
plugin-setup.md Bridge crate integration, #[cfg(debug_assertions)] guard
platform-support.md Provider × platform matrix; Linux 'external' deferred note
browser-mode.md mode: 'browser' with Vite dev server
edge-webdriver-windows.md Windows 'external' provider setup
deeplink-testing.md triggerDeeplink() + OS protocol handler
log-forwarding.md Backend + frontend log capture options
usage-examples.md Common patterns: execute, mock, multi-window, deeplink, CI
development.md Contributor guide: build, test, coverage thresholds
troubleshooting.md Common failure modes and fixes
coexistence.md Running Dioxus + Tauri + Electron in the same monorepo
release-notes/v1.0.0.md v1.0.0 feature list and known deferrals

Test plan

  • All new markdown files render correctly (check headings, code blocks, tables)
  • Cross-package relative links resolve (e.g. ../dioxus-service/docs/plugin-setup.md)
  • Root-level README.md renders with correct Dioxus badges and framework table
  • ROADMAP.md shows Dioxus under current services
  • AGENTS.md lists Dioxus in Supported Frameworks and Monorepo Structure

🤖 Generated with Claude Code

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-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented May 13, 2026

Greptile Summary

This PR adds a complete documentation set for @wdio/dioxus-service (14 new files), plus READMEs for companion Rust packages, release notes, and updates to every root-level doc to include Dioxus alongside Electron and Tauri. All significant technical issues flagged in previous review rounds have been corrected.

  • 14 new packages/dioxus-service/docs/ files covering quick-start, configuration, API reference, bridge setup, platform support, browser mode, Windows Edge WebDriver, deeplink testing, log forwarding, usage examples, development, troubleshooting, coexistence, and v1.0.0 release notes.
  • Root-level docs (AGENTS.md, CONTRIBUTING.md, README.md, ROADMAP.md, docs/architecture.md, docs/e2e-testing.md, docs/setup.md, docs/package-structure.md, docs/visual-testing.md) updated to include Dioxus.
  • Companion package READMEs added for wdio-dioxus-bridge and wdio-dioxus-embedded-driver.

Confidence Score: 5/5

Pure 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.

Important Files Changed

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
Loading

Reviews (11): Last reviewed commit: "docs(dioxus): fix browser-mode troublesh..." | Re-trigger Greptile

Comment thread packages/dioxus-service/README.md
Comment thread packages/dioxus-service/docs/log-forwarding.md
Comment thread packages/dioxus-bridge/README.md
- 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>
Comment thread packages/dioxus-service/docs/quick-start.md
…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>
Comment thread packages/dioxus-service/docs/quick-start.md
…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>
Comment thread packages/dioxus-service/docs/usage-examples.md
Comment thread packages/dioxus-service/docs/quick-start.md
Comment thread packages/dioxus-service/docs/coexistence.md Outdated
- 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>
Comment thread packages/dioxus-service/docs/quick-start.md Outdated
…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>
Comment thread packages/dioxus-service/docs/coexistence.md
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>
Comment thread packages/dioxus-service/docs/quick-start.md
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>
Comment thread packages/dioxus-service/docs/api-reference.md
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>
Comment thread packages/dioxus-service/docs/release-notes/v1.0.0.md Outdated
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Comment thread packages/dioxus-service/docs/browser-mode.md Outdated
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>
@goosewobbler goosewobbler merged commit 4b67c9b into feat/dioxus-service May 13, 2026
33 checks passed
@goosewobbler goosewobbler deleted the feat/dioxus-phase9 branch May 13, 2026 14:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant