trpc-uwebsockets 10.46.0 → 10.46.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -10,7 +10,7 @@ Version 10
10
10
  npm install trpc-uwebsockets
11
11
  ```
12
12
 
13
- Version 11 beta
13
+ Version 11 beta (same as next branch of trpc)
14
14
 
15
15
  ```bash
16
16
  npm install trpc-uwebsockets@beta
@@ -74,6 +74,12 @@ function applyWSHandler(app, prefix, opts) {
74
74
  // doing above can eliminate allClients for reconnection notification
75
75
  const allClients = new Set();
76
76
  function respond(client, untransformedJSON) {
77
+ if (!allClients.has(client)) {
78
+ // if the client is not in the set, it means the client is not connected
79
+ // and there will be an error thrown by uWebSockets.js
80
+ // if we try to send a message to it
81
+ return;
82
+ }
77
83
  client.send(JSON.stringify((0, shared_1.transformTRPCResponse)(router._def._config, untransformedJSON)));
78
84
  }
79
85
  function stopSubscription(client, subscription, { id, jsonrpc }) {
@@ -256,6 +262,7 @@ function applyWSHandler(app, prefix, opts) {
256
262
  secWebSocketKey, secWebSocketProtocol, secWebSocketExtensions, context);
257
263
  },
258
264
  async open(client) {
265
+ allClients.add(client);
259
266
  async function createContextAsync() {
260
267
  const data = client.getUserData();
261
268
  try {
@@ -295,7 +302,6 @@ function applyWSHandler(app, prefix, opts) {
295
302
  }
296
303
  }
297
304
  await createContextAsync();
298
- allClients.add(client);
299
305
  },
300
306
  async message(client, rawMsg) {
301
307
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"applyWsHandler.js","sourceRoot":"","sources":["../src/applyWsHandler.ts"],"names":[],"mappings":";;;AAEA,yCASsB;AAGtB,wDAAuE;AAQvE,2EAA2E;AAC3E,gDAA2E;AAE3E,mCAAoD;AAEpD,uCAAuC;AACvC,SAAS,cAAc,CAAC,GAAY;IAClC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE;QACzD,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;KAClC;AACH,CAAC;AACD,uCAAuC;AACvC,SAAS,qBAAqB,CAAC,GAAY;IACzC,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,cAAc,IAAI,GAAG,KAAK,UAAU,EAAE;QACnE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;KAC3C;AACH,CAAC;AACD,uCAAuC;AACvC,SAAS,iBAAiB,CACxB,GAAY;IAEZ,IACE,GAAG,KAAK,IAAI;QACZ,OAAO,GAAG,KAAK,QAAQ;QACvB,KAAK,CAAC,GAAG,CAAC;QACV,OAAO,GAAG,KAAK,QAAQ,EACvB;QACA,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;KACvC;AACH,CAAC;AACD,uCAAuC;AACvC,SAAS,cAAc,CAAC,GAAY;IAClC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;KACnC;AACH,CAAC;AACD,uCAAuC;AACvC,SAAS,2BAA2B,CAClC,GAAY;IAEZ,IAAI,OAAO,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,KAAK,EAAE;QAC/C,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;KACxC;AACH,CAAC;AACD,SAAS,YAAY,CACnB,GAAY,EACZ,WAAoC;IAEpC,cAAc,CAAC,GAAG,CAAC,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;IAC5C,iBAAiB,CAAC,EAAE,CAAC,CAAC;IACtB,2BAA2B,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,MAAM,KAAK,mBAAmB,EAAE;QAClC,OAAO;YACL,EAAE;YACF,OAAO;YACP,MAAM;SACP,CAAC;KACH;IACD,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9B,cAAc,CAAC,MAAM,CAAC,CAAC;IAEvB,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IACzC,cAAc,CAAC,IAAI,CAAC,CAAC;IACrB,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACtD,OAAO;QACL,EAAE;QACF,OAAO;QACP,MAAM;QACN,MAAM,EAAE;YACN,KAAK;YACL,IAAI;SACL;KACF,CAAC;AACJ,CAAC;AAsCD,SAAgB,cAAc,CAC5B,GAAiB,EACjB,MAAc,EACd,IAAgC;IAEhC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAEvC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;IAE5C,yEAAyE;IACzE,yDAAyD;IAEzD,qEAAqE;IACrE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAyB,CAAC;IAEpD,SAAS,OAAO,CACd,MAA6B,EAC7B,iBAAsC;QAEtC,MAAM,CAAC,IAAI,CACT,IAAI,CAAC,SAAS,CACZ,IAAA,8BAAqB,EAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAC9D,CACF,CAAC;IACJ,CAAC;IAED,SAAS,gBAAgB,CACvB,MAA6B,EAC7B,YAA4B,EAC5B,EAAE,EAAE,EAAE,OAAO,EAAsD;QAEnE,YAAY,CAAC,WAAW,EAAE,CAAC;QAE3B,OAAO,CAAC,MAAM,EAAE;YACd,EAAE;YACF,OAAO;YACP,MAAM,EAAE;gBACN,IAAI,EAAE,SAAS;aAChB;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,aAAa,CAC1B,MAA6B,EAC7B,GAA8B;QAE9B,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAClC,MAAM,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAErD,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;QAC5B,uCAAuC;QACvC,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,MAAM,IAAI,kBAAS,CAAC;gBAClB,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,kBAAkB;aAC5B,CAAC,CAAC;SACJ;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,mBAAmB,EAAE;YACtC,MAAM,GAAG,GAAG,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACxC,IAAI,GAAG,EAAE;gBACP,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;aAChD;YACD,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC/B,OAAO;SACR;QACD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACnC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC;QACxB,IAAI;YACF,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,+BAA+B;YAEtD,MAAM,MAAM,GAAG,MAAM,IAAA,sBAAa,EAAC;gBACjC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU;gBAClC,IAAI;gBACJ,QAAQ,EAAE,KAAK;gBACf,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,IAAI;aACL,CAAC,CAAC;YAEH,IAAI,IAAI,KAAK,cAAc,EAAE;gBAC3B,IAAI,CAAC,IAAA,yBAAY,EAAC,MAAM,CAAC,EAAE;oBACzB,MAAM,IAAI,kBAAS,CAAC;wBAClB,OAAO,EAAE,gBAAgB,IAAI,+BAA+B;wBAC5D,IAAI,EAAE,uBAAuB;qBAC9B,CAAC,CAAC;iBACJ;aACF;iBAAM;gBACL,6DAA6D;gBAC7D,OAAO,CAAC,MAAM,EAAE;oBACd,EAAE;oBACF,OAAO;oBACP,MAAM,EAAE;wBACN,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,MAAM;qBACb;iBACF,CAAC,CAAC;gBACH,OAAO;aACR;YAED,MAAM,UAAU,GAAG,MAAM,CAAC;YAC1B,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC;gBAC/B,IAAI,CAAC,IAAI;oBACP,OAAO,CAAC,MAAM,EAAE;wBACd,EAAE;wBACF,OAAO;wBACP,MAAM,EAAE;4BACN,IAAI,EAAE,MAAM;4BACZ,IAAI;yBACL;qBACF,CAAC,CAAC;gBACL,CAAC;gBACD,KAAK,CAAC,GAAG;oBACP,MAAM,KAAK,GAAG,IAAA,gCAAuB,EAAC,GAAG,CAAC,CAAC;oBAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,KAAK;wBACL,IAAI;wBACJ,IAAI;wBACJ,GAAG,EAAE,IAAI,CAAC,GAAG;wBACb,GAAG,EAAE,IAAI,CAAC,GAAG;wBACb,KAAK;qBACN,CAAC,CAAC;oBACH,OAAO,CAAC,MAAM,EAAE;wBACd,EAAE;wBACF,OAAO;wBACP,KAAK,EAAE,IAAA,sBAAa,EAAC;4BACnB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO;4BAC3B,KAAK;4BACL,IAAI;4BACJ,IAAI;4BACJ,KAAK;4BACL,GAAG,EAAE,IAAI,CAAC,GAAG;yBACd,CAAC;qBACH,CAAC,CAAC;gBACL,CAAC;gBACD,QAAQ;oBACN,OAAO,CAAC,MAAM,EAAE;wBACd,EAAE;wBACF,OAAO;wBACP,MAAM,EAAE;4BACN,IAAI,EAAE,SAAS;yBAChB;qBACF,CAAC,CAAC;gBACL,CAAC;aACF,CAAC,CAAC;YACH,uCAAuC;YACvC,gCAAgC;YAChC,6CAA6C;YAC7C,6EAA6E;YAC7E,uEAAuE;YACvE,yBAAyB;YACzB,cAAc;YACd,MAAM;YAEN,uCAAuC;YACvC,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAC/B,mCAAmC;gBACnC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC/C,MAAM,IAAI,kBAAS,CAAC;oBAClB,OAAO,EAAE,gBAAgB,EAAE,EAAE;oBAC7B,IAAI,EAAE,aAAa;iBACpB,CAAC,CAAC;aACJ;YACD,mBAAmB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAEjC,OAAO,CAAC,MAAM,EAAE;gBACd,EAAE;gBACF,OAAO;gBACP,MAAM,EAAE;oBACN,IAAI,EAAE,SAAS;iBAChB;aACF,CAAC,CAAC;SACJ;QAAC,OAAO,KAAK,EAAE,uCAAuC,CAAC;YACtD,2BAA2B;YAC3B,MAAM,KAAK,GAAG,IAAA,gCAAuB,EAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,KAAK;gBACL,IAAI;gBACJ,IAAI;gBACJ,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,KAAK;aACN,CAAC,CAAC;YACH,OAAO,CAAC,MAAM,EAAE;gBACd,EAAE;gBACF,OAAO;gBACP,KAAK,EAAE,IAAA,sBAAa,EAAC;oBACnB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO;oBAC3B,KAAK;oBACL,IAAI;oBACJ,IAAI;oBACJ,KAAK;oBACL,GAAG,EAAE,IAAI,CAAC,GAAG;iBACd,CAAC;aACH,CAAC,CAAC;SACJ;IACH,CAAC;IAED,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE;QACb,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;QACnD,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;QACvD,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;QAE7B,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;YAC7B,MAAM,UAAU,GAAG,IAAA,iCAAyB,EAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAE1D,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;YAChE,MAAM,oBAAoB,GAAG,UAAU,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;YAC1E,MAAM,sBAAsB,GAC1B,UAAU,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;YAEjD,MAAM,IAAI,GAAe;gBACvB,mBAAmB,EAAE,IAAI,GAAG,EAAmC;gBAC/D,GAAG,EAAE,UAAU;gBACf,GAAG,EAAE,SAAS;gBACd,UAAU,EAAE,aAAa,EAAE,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,uBAAuB;aAC/E,CAAC;YAEF,GAAG,CAAC,OAAO,CACT,IAAI;YACJ,2BAA2B;YAC3B,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,OAAO,CACR,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,MAA6B;YACtC,KAAK,UAAU,kBAAkB;gBAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;gBAElC,IAAI;oBACF,IAAI,CAAC,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC;iBAClC;gBAAC,OAAO,KAAK,EAAE;oBACd,MAAM,KAAK,GAAG,IAAA,gCAAuB,EAAC,KAAK,CAAC,CAAC;oBAE7C,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,KAAK;wBACL,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,SAAS;wBACf,GAAG,EAAE,IAAI,CAAC,GAAG;wBACb,GAAG,EAAE,IAAI,CAAC,GAAG;wBACb,KAAK,EAAE,SAAS;qBACjB,CAAC,CAAC;oBACH,OAAO,CAAC,MAAM,EAAE;wBACd,EAAE,EAAE,IAAI;wBACR,KAAK,EAAE,IAAA,sBAAa,EAAC;4BACnB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO;4BAC3B,KAAK;4BACL,IAAI,EAAE,SAAS;4BACf,IAAI,EAAE,SAAS;4BACf,KAAK,EAAE,SAAS;4BAChB,GAAG,EAAE,IAAI,CAAC,GAAG;yBACd,CAAC;qBACH,CAAC,CAAC;oBAEH,0EAA0E;oBAC1E,sFAAsF;oBACtF,8BAA8B;oBAC9B,UAAU,CAAC,GAAG,EAAE;wBACd,MAAM,CAAC,GAAG,EAAE,CAAC;oBACf,CAAC,EAAE,IAAI,CAAC,CAAC;oBAET,gBAAgB;oBAChB,qDAAqD;oBACrD,eAAe;oBACf,MAAM;iBACP;YACH,CAAC;YACD,MAAM,kBAAkB,EAAE,CAAC;YAC3B,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,MAA6B,EAAE,MAAM;YACjD,IAAI;gBACF,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAEjD,gEAAgE;gBAChE,MAAM,OAAO,GAAY,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAE/C,MAAM,IAAI,GAAc,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACrE,MAAM,QAAQ,GAAG,IAAI;qBAClB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;qBAC5C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;gBAEhD,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;aAC7B;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,KAAK,GAAG,IAAI,kBAAS,CAAC;oBAC1B,IAAI,EAAE,aAAa;oBACnB,KAAK;iBACN,CAAC,CAAC;gBAEH,OAAO,CAAC,MAAM,EAAE;oBACd,EAAE,EAAE,IAAI;oBACR,KAAK,EAAE,IAAA,sBAAa,EAAC;wBACnB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO;wBAC3B,KAAK;wBACL,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,SAAS;wBAChB,GAAG,EAAE,SAAS;qBACf,CAAC;iBACH,CAAC,CAAC;aACJ;QACH,CAAC;QAED,KAAK,CAAC,MAA6B;YACjC,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;YAElC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAE;gBACnD,GAAG,CAAC,WAAW,EAAE,CAAC;aACnB;YACD,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;YACjC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;KACF,CAAC,CAAC;IAEH,OAAO;QACL,8BAA8B,EAAE,GAAG,EAAE;YACnC,MAAM,QAAQ,GAA8B;gBAC1C,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,WAAW;aACpB,CAAC;YACF,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACtC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACvB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AA3UD,wCA2UC"}
1
+ {"version":3,"file":"applyWsHandler.js","sourceRoot":"","sources":["../src/applyWsHandler.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "private": false,
3
3
  "name": "trpc-uwebsockets",
4
4
  "description": "tRPC adapter for uWebSockets.js server",
5
- "version": "10.46.0",
5
+ "version": "10.46.2",
6
6
  "main": "./dist/index.js",
7
7
  "type": "commonjs",
8
8
  "types": "./types/index.d.ts",
@@ -23,28 +23,28 @@
23
23
  "prettier:dry": "prettier --config .prettierrc 'src/**/*.ts'"
24
24
  },
25
25
  "dependencies": {
26
- "@trpc/server": "^10.40.0",
27
- "uWebSockets.js": "uNetworking/uWebSockets.js#v20.34.0"
26
+ "@trpc/server": "^10.45.2",
27
+ "uWebSockets.js": "uNetworking/uWebSockets.js#v20.48.0"
28
28
  },
29
29
  "devDependencies": {
30
- "@trpc/client": "^10.40.0",
30
+ "@trpc/client": "^10.45.2",
31
31
  "@types/node": "^18.0.6",
32
32
  "@types/node-fetch": "^2.6.2",
33
33
  "@types/ws": "^8.5.5",
34
34
  "@typescript-eslint/eslint-plugin": "^5.30.6",
35
35
  "@typescript-eslint/parser": "^5.30.6",
36
- "@vitest/coverage-v8": "^0.34.6",
36
+ "@vitest/coverage-v8": "^2.0.5",
37
37
  "abort-controller": "^3.0.0",
38
38
  "eslint": "^8.19.0",
39
39
  "eslint-config-prettier": "^8.5.0",
40
40
  "eslint-plugin-jest": "^26.6.0",
41
41
  "eslint-plugin-prettier": "^4.2.1",
42
- "node-fetch": "2",
42
+ "node-fetch": "3.3.2",
43
43
  "prettier": "^2.7.1",
44
44
  "rimraf": "^3.0.2",
45
45
  "ts-node": "^10.9.1",
46
46
  "typescript": "^4.4.4",
47
- "vitest": "^0.34.4",
47
+ "vitest": "^2.0.5",
48
48
  "ws": "^8.14.1",
49
49
  "zod": "^3.22.4"
50
50
  },
@@ -100,7 +100,7 @@ type UWSBuiltInOpts = {
100
100
  /** Maximum length of received message. If a client tries to send you a message larger than this, the connection is immediately closed. Defaults to 16 * 1024. */
101
101
  maxPayloadLength?: number;
102
102
  /** Whether or not we should automatically close the socket when a message is dropped due to backpressure. Defaults to false. */
103
- closeOnBackpressureLimit?: number;
103
+ closeOnBackpressureLimit?: boolean;
104
104
  /** Maximum number of minutes a WebSocket may be connected before being closed by the server. 0 disables the feature. */
105
105
  maxLifetime?: number;
106
106
  /** Maximum amount of seconds that may pass without sending or getting a message. Connection is closed if this timeout passes. Resolution (granularity) for timeouts are typically 4 seconds, rounded to closest.
@@ -151,6 +151,12 @@ export function applyWSHandler<TRouter extends AnyRouter>(
151
151
  client: WebSocket<Decoration>,
152
152
  untransformedJSON: TRPCResponseMessage
153
153
  ) {
154
+ if (!allClients.has(client)) {
155
+ // if the client is not in the set, it means the client is not connected
156
+ // and there will be an error thrown by uWebSockets.js
157
+ // if we try to send a message to it
158
+ return;
159
+ }
154
160
  client.send(
155
161
  JSON.stringify(
156
162
  transformTRPCResponse(router._def._config, untransformedJSON)
@@ -179,6 +185,7 @@ export function applyWSHandler<TRouter extends AnyRouter>(
179
185
  msg: TRPCClientOutgoingMessage
180
186
  ) {
181
187
  const data = client.getUserData();
188
+
182
189
  const clientSubscriptions = data.clientSubscriptions;
183
190
 
184
191
  const { id, jsonrpc } = msg;
@@ -362,6 +369,7 @@ export function applyWSHandler<TRouter extends AnyRouter>(
362
369
  );
363
370
  },
364
371
  async open(client: WebSocket<Decoration>) {
372
+ allClients.add(client);
365
373
  async function createContextAsync() {
366
374
  const data = client.getUserData();
367
375
 
@@ -404,7 +412,6 @@ export function applyWSHandler<TRouter extends AnyRouter>(
404
412
  }
405
413
  }
406
414
  await createContextAsync();
407
- allClients.add(client);
408
415
  },
409
416
 
410
417
  async message(client: WebSocket<Decoration>, rawMsg) {
@@ -1,6 +1,4 @@
1
1
  import { vi, beforeEach, afterEach, test, expect, expectTypeOf } from 'vitest';
2
- // idk how to use that
3
- // import { waitFor } from '@testing-library/dom';
4
2
 
5
3
  import fetch from 'node-fetch';
6
4
  import { CreateContextOptions } from '../src/types';
@@ -23,13 +21,14 @@ import EventEmitter from 'events';
23
21
  import { observable } from '@trpc/server/observable';
24
22
  import ws from 'ws';
25
23
  const WebSocket: any = ws;
24
+ const sleep = (ms: number) => new Promise((res) => setTimeout(res, ms));
26
25
 
27
26
  const testPort = 8799;
28
27
 
29
28
  interface Message {
30
29
  id: string;
31
30
  }
32
- // TODO test middleware?
31
+
33
32
  const ee = new EventEmitter();
34
33
  function makeRouter() {
35
34
  const onNewMessageSubscription = vi.fn();
@@ -336,7 +335,7 @@ test('manually sets status and headers', async () => {
336
335
  const fetcher = await fetch(
337
336
  `http://localhost:${testPort}/trpc/manualRes?input=${encodeURI('{}')}`
338
337
  );
339
- const body = await fetcher.json();
338
+ const body: any = await fetcher.json();
340
339
  expect(fetcher.status).toEqual(400);
341
340
  expect(body.result.data).toEqual('status 400');
342
341
 
@@ -369,12 +368,12 @@ test('aborting requests works', async () => {
369
368
  }
370
369
  });
371
370
 
372
- // FIXME no idea how to make it non-flaky
373
- const sleep = (ms: number) => new Promise((res) => setTimeout(res, ms));
374
-
375
371
  // Source: https://github.com/trpc/trpc/blob/main/packages/tests/server/adapters/fastify.test.ts
376
372
  test(
377
373
  'ugly subscription tests',
374
+ {
375
+ timeout: 10000,
376
+ },
378
377
  async () => {
379
378
  ee.once('subscription:created', () => {
380
379
  setTimeout(() => {
@@ -400,17 +399,9 @@ test(
400
399
  },
401
400
  });
402
401
 
403
- // onStartedMock.
404
-
405
- // expect(onStartedMock).toh
406
-
407
- await sleep(300); // FIXME how to use waitFor instead?
402
+ await sleep(300);
408
403
  expect(onStartedMock).toHaveBeenCalledTimes(1);
409
404
  expect(onDataMock).toHaveBeenCalledTimes(2);
410
- // await waitFor(() => {
411
- // expect(onStartedMock).toHaveBeenCalledTimes(1);
412
- // expect(onDataMock).toHaveBeenCalledTimes(2);
413
- // });
414
405
 
415
406
  ee.emit('server:msg', {
416
407
  id: '3',
@@ -418,10 +409,6 @@ test(
418
409
  await sleep(500);
419
410
  expect(onDataMock).toHaveBeenCalledTimes(3);
420
411
 
421
- // await waitFor(() => {
422
- // expect(onDataMock).toHaveBeenCalledTimes(3);
423
- // });
424
-
425
412
  expect(onDataMock.mock.calls).toMatchInlineSnapshot(`
426
413
  [
427
414
  [
@@ -450,17 +437,16 @@ test(
450
437
  expect(ee.listenerCount('server:error')).toBe(0);
451
438
 
452
439
  await closeWs();
453
- },
454
- {
455
- timeout: 10000,
456
440
  }
457
441
  );
458
442
 
459
443
  test(
460
444
  'subscription failed context',
445
+ {
446
+ timeout: 3000,
447
+ },
461
448
  async () => {
462
449
  expect.assertions(2);
463
- // const host = `localhost:${testPort}/trpc?user=user1`; // weClient can inject values via query string
464
450
  const host = `localhost:${testPort}/trpc?user=user1&fail=yess`; // weClient can inject values via query string
465
451
  const wsClient = createWSClient({
466
452
  url: `ws://${host}`,
@@ -477,7 +463,6 @@ test(
477
463
 
478
464
  client.onMessage.subscribe('lala', {
479
465
  onError(err) {
480
- // expect this error here?
481
466
  expect(err).toBeInstanceOf(TRPCClientError);
482
467
  expect(err.message).toBe('failing as expected');
483
468
  },
@@ -485,9 +470,6 @@ test(
485
470
 
486
471
  await sleep(100);
487
472
  wsClient.close();
488
- },
489
- {
490
- timeout: 3000,
491
473
  }
492
474
  );
493
475
 
@@ -7,7 +7,7 @@ type UWSBuiltInOpts = {
7
7
  /** Maximum length of received message. If a client tries to send you a message larger than this, the connection is immediately closed. Defaults to 16 * 1024. */
8
8
  maxPayloadLength?: number;
9
9
  /** Whether or not we should automatically close the socket when a message is dropped due to backpressure. Defaults to false. */
10
- closeOnBackpressureLimit?: number;
10
+ closeOnBackpressureLimit?: boolean;
11
11
  /** Maximum number of minutes a WebSocket may be connected before being closed by the server. 0 disables the feature. */
12
12
  maxLifetime?: number;
13
13
  /** Maximum amount of seconds that may pass without sending or getting a message. Connection is closed if this timeout passes. Resolution (granularity) for timeouts are typically 4 seconds, rounded to closest.