Skip to content
Open
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
5 changes: 5 additions & 0 deletions async-collaboration/comments/customize-behavior.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
title: "Customize Behavior"
description: "Configure Velt Comments behavior: threads, mentions, attachments, recordings, visibility, autocomplete, and other runtime options for the comment composer."
---

# Threads
Expand Down Expand Up @@ -5005,6 +5006,10 @@ Set the Recorder media options within Comments: (`audio`, `screen`, `video`, `al

Default: `"audio"`

<Tip>
**Disabling video recording in comments:** pass any combination that omits `video` (for example `"audio"`, `"screen"`, or `"audio,screen"`). To turn the Recorder off entirely in comments, use `"none"`.
</Tip>

<Tabs>
<Tab title="React / Next.js">
```jsx
Expand Down
8 changes: 8 additions & 0 deletions docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -1548,6 +1548,14 @@
{
"source": "/users/server-side/api-reset-contact-list",
"destination": "/api-reference/rest-apis/v2/users/delete-users"
},
{
"source": "/collaboration/version-history",
"destination": "/realtime-collaboration/crdt/overview"
},
{
"source": "/realtime-collaboration/crdt/version-history",
"destination": "/realtime-collaboration/crdt/overview"
}
],
"logo": {
Expand Down
18 changes: 16 additions & 2 deletions get-started/quickstart.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Quickstart"
description: "Install and set up Velt in minutes in React, Angular, Vue, or HTML."
description: "Install the Velt SDK, configure your API key and allowed domains, and add collaborative comments and presence in React, Angular, Vue, or HTML."
---

Get Velt up and running in your app with comments, presence, and real-time collaboration features. You'll install the package, configure authentication, set up documents, and see collaborative features working immediately.
Expand Down Expand Up @@ -65,7 +65,11 @@ Use our CDN Script
<Frame>
![](/images/velt-console-api-key.png)
</Frame>


<Note>
Velt uses a single API key on the client (frontend). There is no separate public/private key pair — the API key is paired with your allowed domains list to restrict where it can be used. For backend calls to Velt's REST APIs, generate a separate [Auth Token](/security/auth-tokens) in the Velt Console and pass it as the `x-velt-auth-token` header alongside the API key. Keep auth tokens server-side only.
</Note>

### Step 3: Safelist Your Domain

In the Velt Console, add your app's domain to "Managed Domains" to whitelist it for development and production use.
Expand All @@ -74,6 +78,16 @@ In the Velt Console, add your app's domain to "Managed Domains" to whitelist it
![](/images/velt-console-add-website.png)
</Frame>

<Tip>
Managing many environments? You can also add, list, and remove allowed domains programmatically via the REST APIs:

- [Add Domains](/api-reference/rest-apis/v2/workspace/add-domain) — `POST /v2/workspace/domains/add` (supports wildcard subdomains, e.g. `*.example.com`)
- [Get Domains](/api-reference/rest-apis/v2/workspace/domains-get)
- [Delete Domains](/api-reference/rest-apis/v2/workspace/delete-domain)

Both endpoints require your API key and an [Auth Token](/security/auth-tokens) and are designed for automating environment provisioning.
</Tip>

### Step 4: Initialize Velt

Initialize the SDK and render the base collaborative components. Pick your framework and:
Expand Down
20 changes: 19 additions & 1 deletion realtime-collaboration/crdt/overview.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Overview
description: CRDT (Yjs) based collaborative editing.
description: Build collaborative editors, whiteboards, and shared app state with Velt's Yjs-based CRDT stores, version history, and editor integrations.
---

CRDT (Yjs) based collaborative editing. This feature is useful for building collaborative features like shared forms, whiteboards, or any real-time state that needs to be synced across all users.
Expand Down Expand Up @@ -42,6 +42,24 @@ CRDT (Yjs) based collaborative editing. This feature is useful for building coll
- **Version history**: Create checkpoints and restore prior states when needed.
- **Framework agnostic**: Use anywhere; React hook available for faster integration.

## Version history

Every Velt CRDT store supports saving named snapshots and restoring the document to any previous version. This works for plain stores (array, map, text, xml) and for the editor integrations built on top of them (Tiptap, BlockNote, CodeMirror, ReactFlow).

Core methods exposed on the store (or via `useStore` in React):

- `saveVersion(name)` — save a named snapshot of the current state.
- `getVersions()` — list all saved versions.
- `getVersionById(id)` — fetch a specific version.
- `restoreVersion(id)` — restore the document to a saved version.
- `setStateFromVersion(version)` — apply a version's state locally.

See full usage and examples in:

- [Core library](./setup/core#version-methods) — generic version APIs for any store type
- [Text store](./setup/core-stores/text) and [XML store](./setup/core-stores/xml) — version save/restore for text-based documents
- [Tiptap](./setup/tiptap), [BlockNote](./setup/blocknote), [CodeMirror](./setup/codemirror), [ReactFlow](./setup/reactflow) — editor-specific version history

## How it works
- You initialize the Velt client in your app.
- You create a CRDT store (core or via the React hook) with a unique `id` and a data `type`.
Expand Down