fix: Maximum number of connections reached, closes #5446

The opposite of onDisconnect is connected, not onConnect. smh.
This commit is contained in:
Tom Moor
2023-10-28 10:32:58 -04:00
parent 08d89fb57a
commit 7380f6d5ae
3 changed files with 15 additions and 7 deletions

View File

@@ -1,6 +1,6 @@
import {
Extension,
onConnectPayload,
connectedPayload,
onDisconnectPayload,
} from "@hocuspocus/server";
import env from "@server/env";
@@ -41,10 +41,10 @@ export class ConnectionLimitExtension implements Extension {
}
/**
* onConnect hook
* @param data The connect payload
* connected hook
* @param data The connected payload
*/
onConnect({ documentName, socketId }: withContext<onConnectPayload>) {
connected({ documentName, socketId }: withContext<connectedPayload>) {
const connections =
this.connectionsByDocument.get(documentName) || new Set();
if (connections?.size >= env.COLLABORATION_MAX_CLIENTS_PER_DOCUMENT) {

View File

@@ -1,8 +1,9 @@
import {
onConnectPayload,
onDisconnectPayload,
onLoadDocumentPayload,
Extension,
connectedPayload,
onConnectPayload,
} from "@hocuspocus/server";
import Logger from "@server/logging/Logger";
import { withContext } from "./types";
@@ -18,6 +19,13 @@ export default class LoggerExtension implements Extension {
Logger.info("multiplayer", `New connection to "${data.documentName}"`);
}
async connected(data: withContext<connectedPayload>) {
Logger.info(
"multiplayer",
`Authenticated connection to "${data.documentName}"`
);
}
async onDisconnect(data: withContext<onDisconnectPayload>) {
Logger.info("multiplayer", `Closed connection to "${data.documentName}"`, {
userId: data.context.user?.id,

View File

@@ -1,9 +1,9 @@
import {
onChangePayload,
onConnectPayload,
onDisconnectPayload,
onLoadDocumentPayload,
Extension,
connectedPayload,
} from "@hocuspocus/server";
import Metrics from "@server/logging/Metrics";
import { withContext } from "./types";
@@ -28,7 +28,7 @@ export default class MetricsExtension implements Extension {
});
}
async onConnect({ documentName, instance }: withContext<onConnectPayload>) {
async connected({ documentName, instance }: withContext<connectedPayload>) {
Metrics.increment("collaboration.connect", {
documentName,
});