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)
| 683 | // self-host build that wants the editor without collab can leave |
| 684 | // this unwired without surfacing surprise behaviour. |
| 685 | func (s *Server) SetCollabRoomManager(rm *collab.RoomManager) { |
| 686 | s.collab = rm |
| 687 | } |
| 688 | |
| 689 | // SetWebhookDispatcher attaches a webhook dispatcher for outgoing |
| 690 | // notifications. Delivery goroutines are routed through s.goAsync so they're |
no outgoing calls