import { onConnectPayload, onDisconnectPayload, onLoadDocumentPayload, Extension, } from "@hocuspocus/server"; import Logger from "@server/logging/Logger"; import { withContext } from "./types"; export default class LoggerExtension implements Extension { async onLoadDocument(data: withContext) { Logger.info("multiplayer", `Loaded document "${data.documentName}"`, { userId: data.context.user?.id, }); } async onConnect(data: withContext) { Logger.info("multiplayer", `New connection to "${data.documentName}"`); } async onDisconnect(data: withContext) { Logger.info("multiplayer", `Closed connection to "${data.documentName}"`, { userId: data.context.user?.id, }); } }