WYSIWYG editing Image gallery upload Content templates
Revision History

Snapshot the document on demand, then browse, preview, diff, and restore any version. Press Ctrl+Shift+H (or click the clock icon in the toolbar) to open the browser. Snapshots are stored in localStorage keyed by aiToolkitPersistenceKey; set editor.revisionHistory options or a server endpoint to ship revisions to your backend.

What the browser shows

Chronological list on the left (author + timestamp + label), preview pane on the right with two tabs: Preview (sandboxed iframe render of the snapshot) and Diff vs current (line-based diff highlighting additions / deletions). Delete and Restore this version live in the footer; restore replaces the current document with the chosen snapshot.

API

editor.revisionHistory.snapshot("First draft");
editor.revisionHistory.list();              // sorted newest-first
editor.revisionHistory.restore(id);         // prompts to confirm
editor.revisionHistory.delete(id);
editor.revisionHistory.openBrowser();
editor.revisionHistory.closeBrowser();

Tag helper

<richtextbox
    name="Draft"
    toolbar="default"
    enable-revision-history="true"
    revision-history-max-entries="50"
    revision-history-auto-snapshot-ms="30000"
    revision-history-url="/api/revisions" />

Or set defaults globally

// In the RTE_DefaultConfig block at the top of rte.js:
RTE_DefaultConfig.revisionHistoryAutoSnapshotMs = 30000;  // snapshot 30s after typing pauses
RTE_DefaultConfig.revisionHistoryMaxEntries = 50;         // ring-buffer cap
RTE_DefaultConfig.revisionHistoryUrl = "/api/revisions";  // optional server POST endpoint