Home Doh Ref
Dohballs
  • 📁 doh_chat
  • 📁 doh_modules
    • 📦 dataforge
    • 📦 express
    • 📁 sso
    • 📁 user

collab_richtext

TinyMCE-based real-time richtext editor on top of the collab docs backend.

Module composition

From collab_richtext.doh.yaml:

  • node: collab_docs (shared backend), collab_richtext_server
  • browser: collab_richtext_client

Server (collab_richtext_server.js)

Server module is intentionally thin:

  • GET /richtext - list/create page
  • GET /richtext/:id - fullscreen editor page

Document persistence, permissions, and Yjs sync are handled by collab_docs_server.

Client (collab_richtext_client.js)

Primary pieces:

  • TinyMCEBinding - Yjs <-> TinyMCE content synchronization bridge
  • CollabRichtextEditor - editor runtime + provider lifecycle
  • CollabRichtextToolbar - title/meta actions, export/print/delete, fullscreen
  • CollabRichtextStatusBar - sync state and collaborator indicators
  • CollabRichtextList - list/create/select docs UI

Socket channels mirror collab docs events, including:

  • collab:doc:open
  • collab:doc:sync
  • collab:doc:awareness
  • collab:doc:update_meta
  • collab:doc:delete
  • collab:doc:list

Related modules

  • transport/utilities: collab_shared
  • canonical server storage + authorization: collab_docs
Last updated: 2/17/2026