SetCollabRoomManager attaches a Yjs collab RoomManager (PLAN-1248). When set, the /api/v1/collab/{itemID} WebSocket endpoint hands new connections to the manager for op-log replay + fan-out. When nil, the endpoint exists but answers 503 — that's intentional so a self-host build that wants the editor
(rm *collab.RoomManager)
| 675 | // self-host build that wants the editor without collab can leave |
| 676 | // this unwired without surfacing surprise behaviour. |
| 677 | func (s *Server) SetCollabRoomManager(rm *collab.RoomManager) { |
| 678 | s.collab = rm |
| 679 | } |
| 680 | |
| 681 | // SetWebhookDispatcher attaches a webhook dispatcher for outgoing |
| 682 | // notifications. Delivery goroutines are routed through s.goAsync so they're |
no outgoing calls