@xmtp/browser-sdk
v5.2.0
Published
XMTP client SDK for browsers written in TypeScript
Downloads
5,064
Readme
XMTP client SDK for browsers
This package provides the XMTP client SDK for browsers.
To keep up with the latest SDK developments, see the Issues tab in this repo.
Documentation
To learn how to use the XMTP client SDK for browsers, see Get started with the XMTP Browser SDK.
SDK reference
Coming soon
Limitations
This SDK uses the origin private file system (OPFS) to persist a SQLite database and the SyncAccessHandle Pool VFS to access it. This VFS does not support multiple simultaneous connections.
This means that when using this SDK in your app, you must prevent multiple browser tabs or windows from accessing your app at the same time.
Bundlers
This SDK and some of its dependencies use import.meta.url. Some bundlers must be configured to account for this during development.
Vite
Add the following to vite.config.ts:
import { defineConfig } from "vite";
export default defineConfig({
optimizeDeps: {
exclude: ["@xmtp/wasm-bindings", "@xmtp/browser-sdk"],
include: ["@xmtp/proto"],
},
});Install
NPM
npm install @xmtp/browser-sdkPNPM
pnpm install @xmtp/browser-sdkYarn
yarn add @xmtp/browser-sdkDeveloping
Run yarn dev to build the SDK and watch for changes, which will trigger a rebuild.
Useful commands
yarn build: Builds the SDKyarn clean: Removesnode_modules,dist, and.turbofoldersyarn dev: Builds the SDK and watches for changes, which will trigger a rebuildyarn test: Runs all testsyarn typecheck: Runstsc
Breaking revisions
Because this SDK is in active development, you should expect breaking revisions that might require you to adopt the latest SDK release to enable your app to continue working as expected.
Breaking revisions in a Browser SDK release are described on the Releases page.
Deprecation
Older versions of the SDK will eventually be deprecated, which means:
- The network will not support and eventually actively reject connections from clients using deprecated versions.
- Bugs will not be fixed in deprecated versions.
The following table provides the deprecation schedule.
| Announced | Effective | Minimum Version | Rationale | | --------------------------- | ----------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | No more support for XMTP V2 | May 1, 2025 | >=1.1.4 | In a move toward better security with MLS and the ability to decentralize, we will be shutting down XMTP V2 and moving entirely to XMTP V3. To learn more about V2 deprecation, see XIP-53: XMTP V2 deprecation plan. To learn how to upgrade, see @xmtp/browser-sdk v1.1.4. |
Bug reports, feature requests, and PRs are welcome in accordance with these contribution guidelines.
