Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions content/docs/guide/platform-integration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ app.whenReady().then(async () => {
});
```

The electron-builder and Electron Forge packaging helpers, `@wvb/electron-builder` and `@wvb/electron-forge`, exist in the repository but are not published to npm yet. See the [Electron guide](/docs/guide/platforms/electron) and the [Node API reference](/docs/references/node).
The electron-builder and Electron Forge packaging helpers, `@wvb/electron-builder` and `@wvb/electron-forge`, wire bundle packaging into your build. See the [Electron guide](/docs/guide/platforms/electron) and the [Node API reference](/docs/references/node).

### Tauri

Expand Down Expand Up @@ -175,7 +175,7 @@ let bundle = try await source.fetchBundle(bundleName: "app")
deno run -A jsr:@wvb/deno/install --out vendor/wvb
```

It is experimental: the binding source lives on an unmerged branch, and `main` ships only a prebuilt dylib. Treat it as a preview, not a production target. See the [Deno guide](/docs/guide/platforms/deno) and the [Deno API reference](/docs/references/deno).
It is experimental. See the [Deno guide](/docs/guide/platforms/deno) and the [Deno API reference](/docs/references/deno).

## The bridge

Expand Down Expand Up @@ -219,7 +219,7 @@ The bridge detects the host at runtime and routes each call over the right trans
| Android | `window.wvbAndroid.postMessage(...)` |
| iOS | `window.webkit.messageHandlers.wvbIos.postMessage(...)` |

Your code uses the same `source`, `remote`, and `updater` methods everywhere. The shipping `@wvb/bridge` 0.1.0 supports electron, tauri, android, and ios. The Deno platform exists only on the experimental Deno branch and is not part of the published bridge.
Your code uses the same `source`, `remote`, and `updater` methods everywhere. The `@wvb/bridge` client supports electron, tauri, android, and ios; Deno Desktop provides its own bindings through `@wvb/deno-desktop`.

Test webview code without a native host by importing `@wvb/bridge/testing`:

Expand Down
4 changes: 2 additions & 2 deletions content/docs/guide/platform-support.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -125,8 +125,8 @@ See the [iOS guide](/docs/guide/platforms/ios).
Deno Desktop is the newest integration, on JSR as `@wvb/deno-desktop`. It builds a bundle source and exposes a `Deno.serve`-compatible handler, with one protocol per window.

<Callout type="info">
Deno Desktop is experimental and its API may change before a stable release. See the [Deno Desktop
guide](/docs/guide/platforms/deno) and the [Deno API reference](/docs/references/deno).
Deno Desktop is experimental. See the [Deno Desktop guide](/docs/guide/platforms/deno) and the
[Deno API reference](/docs/references/deno).
</Callout>

## Next steps
Expand Down
10 changes: 3 additions & 7 deletions content/docs/guide/platforms/deno.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,6 @@ await win.closed;

`@wvb/deno-desktop` is the integration layer; `@wvb/deno` is the FFI peer of [`@wvb/node`](/docs/references/node) that drives the shared Rust core.

<Callout type="warn">
Deno Desktop is experimental and its API may change before a stable release.
</Callout>

## How it fits together

The window points at a single local origin served by `Deno.serve`, so the integration is **single-origin**: it allows exactly one protocol. See [Platform integration](/docs/guide/platform-integration) for how the core reaches each platform and [Protocol handling](/docs/guide/protocol-handling) for the protocol model.
Expand Down Expand Up @@ -155,7 +151,7 @@ For the full class and method reference, see the [Deno API reference](/docs/refe

## Limitations

Beyond the experimental status, two gaps apply to the Deno bindings today.
Two gaps apply to the Deno bindings today.

**Custom verifier callbacks are not supported.** The `Updater` accepts only the **declarative** `signatureVerifier` — a `SignatureVerifierOptions` with an `algorithm` and a `key`:

Expand All @@ -173,9 +169,9 @@ const wvb = await webviewBundle({
});
```

The custom `integrityChecker` / `signatureVerifier` function callbacks available in `@wvb/node` cannot cross the FFI boundary yet.
The custom `integrityChecker` / `signatureVerifier` function callbacks available in `@wvb/node` cannot cross the FFI boundary.

**`HttpOptions.defaultHeaders` is not yet supported** on the Deno `Remote`. Other `HttpOptions` fields still apply:
**`HttpOptions.defaultHeaders` is not supported** on the Deno `Remote`. Other `HttpOptions` fields still apply:

```ts title="http.ts"
const wvb = await webviewBundle({
Expand Down
4 changes: 2 additions & 2 deletions content/docs/references/bridge/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,8 @@ console.log(platform.type); // 'electron' | 'tauri' | 'android' | 'ios'
| `isIos` | `boolean` | True when running under iOS. |

<Callout type="info">
The shipping bridge detects only these four platforms. Deno Desktop is experimental and its bridge
support lives on an unmerged branch, so `'deno'` is not part of `@wvb/bridge` 0.1.0.
`@wvb/bridge` detects these four platforms. Deno Desktop is experimental and provides its bridge
support through `@wvb/deno-desktop` rather than `@wvb/bridge`.
</Callout>

## Transports
Expand Down
2 changes: 1 addition & 1 deletion content/docs/references/deno/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description: Reference for the @wvb/deno package, the Deno FFI peer of @wvb/node

<Badge>Experimental</Badge>

The Deno integration is a preview, and its API may still change.
The Deno integration is experimental.

`@wvb/deno` is the Deno binding for Webview Bundle. It is the FFI peer of [`@wvb/node`](/docs/references/node):
the same protocol, source, remote, and updater surface, served to a Deno desktop webview through a
Expand Down
4 changes: 2 additions & 2 deletions content/docs/references/deno/remote.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,8 @@ reference](/docs/references/node/remote); refer to it for full field details.
| `RemoteBundleInfo` | The `info` returned alongside downloaded bundle bytes. |

<Callout type="warn">
`HttpOptions.defaultHeaders` is not yet supported on the Deno `Remote`. It crosses the FFI
boundary, so this `@wvb/node` feature is unavailable here.
`HttpOptions.defaultHeaders` is not supported on the Deno `Remote`. It crosses the FFI boundary,
so this `@wvb/node` feature is unavailable here.
</Callout>

## Disposing a Remote
Expand Down