From 176179bd6db8c6b7784bbc3f50ad64da2d92ca31 Mon Sep 17 00:00:00 2001 From: Duane Johnson Date: Fri, 19 May 2023 12:34:42 -0600 Subject: [PATCH] Add `context` and `connectionInstance` to connected payload --- packages/server/src/Hocuspocus.ts | 7 ++++++- packages/server/src/types.ts | 16 +++++++++++++++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/packages/server/src/Hocuspocus.ts b/packages/server/src/Hocuspocus.ts index 9e77bc6ed..57cbc0752 100644 --- a/packages/server/src/Hocuspocus.ts +++ b/packages/server/src/Hocuspocus.ts @@ -436,7 +436,12 @@ export class Hocuspocus { incoming.emit('message', input) }) - this.hooks('connected', { ...hookPayload, documentName }) + this.hooks('connected', { + ...hookPayload, + documentName, + context, + connectionInstance: instance, + }) } // This listener handles authentication messages and queues everything else. diff --git a/packages/server/src/types.ts b/packages/server/src/types.ts index 498502802..a093514bf 100644 --- a/packages/server/src/types.ts +++ b/packages/server/src/types.ts @@ -154,6 +154,8 @@ export interface onStatelessPayload { payload: string, } +// @todo Change 'connection' to 'connectionConfig' in next major release +// see https://github.com/ueberdosis/hocuspocus/pull/607#issuecomment-1553559805 export interface onAuthenticatePayload { documentName: string, instance: Hocuspocus, @@ -164,6 +166,8 @@ export interface onAuthenticatePayload { connection: ConnectionConfiguration } +// @todo Change 'connection' to 'connectionConfig' in next major release +// see https://github.com/ueberdosis/hocuspocus/pull/607#issuecomment-1553559805 export interface onConnectPayload { documentName: string, instance: Hocuspocus, @@ -174,16 +178,22 @@ export interface onConnectPayload { connection: ConnectionConfiguration } +// @todo Change 'connection' to 'connectionConfig', and 'connectionInstance' to 'connection' in next major release +// see https://github.com/ueberdosis/hocuspocus/pull/607#issuecomment-1553559805 export interface connectedPayload { + context: any, documentName: string, instance: Hocuspocus, request: IncomingMessage, requestHeaders: IncomingHttpHeaders, requestParameters: URLSearchParams, socketId: string, - connection: ConnectionConfiguration + connection: ConnectionConfiguration, + connectionInstance: Connection } +// @todo Change 'connection' to 'connectionConfig' in next major release +// see https://github.com/ueberdosis/hocuspocus/pull/607#issuecomment-1553559805 export interface onLoadDocumentPayload { context: any, document: Document, @@ -195,6 +205,8 @@ export interface onLoadDocumentPayload { connection: ConnectionConfiguration } +// @todo Change 'connection' to 'connectionConfig' in next major release +// see https://github.com/ueberdosis/hocuspocus/pull/607#issuecomment-1553559805 export interface afterLoadDocumentPayload { context: any, document: Document, @@ -269,6 +281,8 @@ export interface onAwarenessUpdatePayload { export type StatesArray = { clientId: number, [key: string | number]: any }[] +// @todo Change 'connection' to 'connectionConfig' in next major release +// see https://github.com/ueberdosis/hocuspocus/pull/607#issuecomment-1553559805 export interface fetchPayload { context: any, document: Document,