> ## Documentation Index
> Fetch the complete documentation index at: https://revise.io/developer/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Support

> How to report a problem, and what to send with it.

Email [sdk@revise.io](mailto:sdk@revise.io). `npm bugs @reviseio/editor` opens the
same route.

Response times, escalation paths, and service commitments are set in your
license agreement. Email us your requirements to include them.

## What to include

Include the SDK version and build:

```ts theme={null}
import { REVISE_SDK_VERSION, REVISE_SDK_BUILD } from "@reviseio/editor/version";

console.log(REVISE_SDK_VERSION, REVISE_SDK_BUILD); // e.g. "2.0.1" "0eadd8b4"
```

Add them to your error reporting so every report includes them. Also include:

* **Steps**, in order. For example: "Opened a .docx with tracked changes,
  accepted the second one, exported."
* **The document**, if you can share it. Fidelity bugs are usually specific to
  a file. A redacted copy that still reproduces the bug is enough.
* **Browser and version**, and whether it reproduces in another.
* **Anything in the console**, including warnings before the error.

## Common problems

<AccordionGroup>
  <Accordion title="Unexpected content type in insert operation">
    Two copies of Yjs are loaded. Yjs identifies its types with `instanceof`,
    so a shared document rejects nodes built by the other copy. `npm ls yjs`
    must show exactly one. See [collaboration](/developer/docs/developer/docs/editor-sdk/guides/collaboration#one-copy-of-yjs).
  </Accordion>

  <Accordion title="Revise document … is still opening">
    The handle was used before a document existed. `onReady` fires before the
    first document opens. Subscriptions work there. Calls that act on a
    document need `onDocumentReady` or `await editor.whenReady()`.
  </Accordion>

  <Accordion title="Suggestions are authored by “Anonymous”">
    No `currentUser` was passed. Authorship is recorded when an edit is made,
    not at export, so existing edits cannot be reassigned. Set `currentUser`
    before anyone types.
  </Accordion>

  <Accordion title="A move came back as a delete plus an insert">
    Linked moves round-trip as moves. A complete `moveFrom`/`moveTo` pair
    imports as one move suggestion and exports as the same paired markup. A
    move whose halves are orphaned or mismatched in the source file falls back
    to an ordinary deletion and insertion. See [tracked
    changes](/developer/docs/developer/docs/editor-sdk/guides/tracked-changes) for what survives the round trip.
  </Accordion>

  <Accordion title="I installed revise">
    The SDK was published as `revise` through 2.2. From 2.3 it is
    `@reviseio/editor`. See
    [migrate from `revise`](/developer/docs/developer/docs/editor-sdk/installation#migrate-from-revise).
  </Accordion>
</AccordionGroup>

## Security

Report suspected vulnerabilities to [sdk@revise.io](mailto:sdk@revise.io) with
"security" in the subject. Do not report them publicly first.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.