@honeybbq/teamspeak 1.0.0-beta.19 → 1.0.0-beta.21

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.
Files changed (179) hide show
  1. package/dist/client/api/avatars.d.ts.map +1 -1
  2. package/dist/client/api/avatars.js +11 -2
  3. package/dist/client/api/avatars.js.map +1 -1
  4. package/dist/client/api/files.d.ts +36 -14
  5. package/dist/client/api/files.d.ts.map +1 -1
  6. package/dist/client/api/files.js +58 -9
  7. package/dist/client/api/files.js.map +1 -1
  8. package/dist/client/api/upload-checks.d.ts +36 -0
  9. package/dist/client/api/upload-checks.d.ts.map +1 -0
  10. package/dist/client/api/upload-checks.js +77 -0
  11. package/dist/client/api/upload-checks.js.map +1 -0
  12. package/dist/client/api/voice.d.ts +2 -1
  13. package/dist/client/api/voice.d.ts.map +1 -1
  14. package/dist/client/api/voice.js +6 -2
  15. package/dist/client/api/voice.js.map +1 -1
  16. package/dist/client/client.d.ts +13 -3
  17. package/dist/client/client.d.ts.map +1 -1
  18. package/dist/client/client.js +151 -49
  19. package/dist/client/client.js.map +1 -1
  20. package/dist/client/crypto/crypt.d.ts +6 -0
  21. package/dist/client/crypto/crypt.d.ts.map +1 -1
  22. package/dist/client/crypto/crypt.js +13 -7
  23. package/dist/client/crypto/crypt.js.map +1 -1
  24. package/dist/client/crypto/eax.d.ts +4 -0
  25. package/dist/client/crypto/eax.d.ts.map +1 -1
  26. package/dist/client/crypto/eax.js +27 -21
  27. package/dist/client/crypto/eax.js.map +1 -1
  28. package/dist/client/errors.d.ts +13 -0
  29. package/dist/client/errors.d.ts.map +1 -1
  30. package/dist/client/errors.js +23 -0
  31. package/dist/client/errors.js.map +1 -1
  32. package/dist/client/handshake/crypt-handshake.d.ts +2 -1
  33. package/dist/client/handshake/crypt-handshake.d.ts.map +1 -1
  34. package/dist/client/handshake/crypt-handshake.js +4 -2
  35. package/dist/client/handshake/crypt-handshake.js.map +1 -1
  36. package/dist/client/index.d.ts +1 -1
  37. package/dist/client/index.d.ts.map +1 -1
  38. package/dist/client/index.js +1 -1
  39. package/dist/client/index.js.map +1 -1
  40. package/dist/client/throttle.d.ts +11 -0
  41. package/dist/client/throttle.d.ts.map +1 -1
  42. package/dist/client/throttle.js +38 -3
  43. package/dist/client/throttle.js.map +1 -1
  44. package/dist/client/transfer.d.ts +37 -4
  45. package/dist/client/transfer.d.ts.map +1 -1
  46. package/dist/client/transfer.js +155 -15
  47. package/dist/client/transfer.js.map +1 -1
  48. package/dist/client/transport/handler.d.ts.map +1 -1
  49. package/dist/client/transport/handler.js +47 -43
  50. package/dist/client/transport/handler.js.map +1 -1
  51. package/dist/core/api/clients.d.ts +15 -15
  52. package/dist/core/api/clients.d.ts.map +1 -1
  53. package/dist/core/api/clients.js.map +1 -1
  54. package/dist/core/api/command.d.ts +8 -6
  55. package/dist/core/api/command.d.ts.map +1 -1
  56. package/dist/core/api/command.js +1 -1
  57. package/dist/core/api/command.js.map +1 -1
  58. package/dist/core/api/files.d.ts +23 -6
  59. package/dist/core/api/files.d.ts.map +1 -1
  60. package/dist/core/api/files.js +12 -9
  61. package/dist/core/api/files.js.map +1 -1
  62. package/dist/core/api/groups.d.ts +17 -2
  63. package/dist/core/api/groups.d.ts.map +1 -1
  64. package/dist/core/api/groups.js +13 -11
  65. package/dist/core/api/groups.js.map +1 -1
  66. package/dist/core/api/parse.d.ts +5 -5
  67. package/dist/core/api/parse.d.ts.map +1 -1
  68. package/dist/core/api/parse.js +16 -15
  69. package/dist/core/api/parse.js.map +1 -1
  70. package/dist/core/command/request.d.ts +6 -0
  71. package/dist/core/command/request.d.ts.map +1 -1
  72. package/dist/core/command/request.js +12 -0
  73. package/dist/core/command/request.js.map +1 -1
  74. package/dist/core/errors.d.ts +46 -3
  75. package/dist/core/errors.d.ts.map +1 -1
  76. package/dist/core/errors.js +73 -20
  77. package/dist/core/errors.js.map +1 -1
  78. package/dist/core/events.d.ts +24 -8
  79. package/dist/core/events.d.ts.map +1 -1
  80. package/dist/core/internal.d.ts +1 -1
  81. package/dist/core/internal.d.ts.map +1 -1
  82. package/dist/core/internal.js +1 -1
  83. package/dist/core/internal.js.map +1 -1
  84. package/dist/core/notifications.d.ts +1 -1
  85. package/dist/core/notifications.js +9 -8
  86. package/dist/core/notifications.js.map +1 -1
  87. package/dist/core/reconnect.d.ts +16 -5
  88. package/dist/core/reconnect.d.ts.map +1 -1
  89. package/dist/core/reconnect.js +32 -4
  90. package/dist/core/reconnect.js.map +1 -1
  91. package/dist/core/types.d.ts +15 -16
  92. package/dist/core/types.d.ts.map +1 -1
  93. package/dist/core/types.js.map +1 -1
  94. package/dist/query/client.d.ts +4 -0
  95. package/dist/query/client.d.ts.map +1 -1
  96. package/dist/query/client.js +145 -23
  97. package/dist/query/client.js.map +1 -1
  98. package/dist/query/errors.d.ts +20 -0
  99. package/dist/query/errors.d.ts.map +1 -1
  100. package/dist/query/errors.js +31 -0
  101. package/dist/query/errors.js.map +1 -1
  102. package/dist/query/index.d.ts +1 -1
  103. package/dist/query/index.d.ts.map +1 -1
  104. package/dist/query/index.js +1 -1
  105. package/dist/query/index.js.map +1 -1
  106. package/dist/query/lines.d.ts +11 -0
  107. package/dist/query/lines.d.ts.map +1 -1
  108. package/dist/query/lines.js +36 -6
  109. package/dist/query/lines.js.map +1 -1
  110. package/dist/query/options.d.ts +30 -0
  111. package/dist/query/options.d.ts.map +1 -1
  112. package/dist/query/options.js +7 -0
  113. package/dist/query/options.js.map +1 -1
  114. package/dist/query/reconnect.d.ts +5 -0
  115. package/dist/query/reconnect.d.ts.map +1 -1
  116. package/dist/query/reconnect.js +26 -7
  117. package/dist/query/reconnect.js.map +1 -1
  118. package/dist/query/ssh.js +9 -4
  119. package/dist/query/ssh.js.map +1 -1
  120. package/dist/query/stream.d.ts +2 -0
  121. package/dist/query/stream.d.ts.map +1 -1
  122. package/dist/query/stream.js +19 -1
  123. package/dist/query/stream.js.map +1 -1
  124. package/dist/query/transport.d.ts +12 -2
  125. package/dist/query/transport.d.ts.map +1 -1
  126. package/dist/query/web.d.ts +3 -1
  127. package/dist/query/web.d.ts.map +1 -1
  128. package/dist/query/web.js +82 -18
  129. package/dist/query/web.js.map +1 -1
  130. package/dist/stream/published.d.ts.map +1 -1
  131. package/dist/stream/published.js +61 -25
  132. package/dist/stream/published.js.map +1 -1
  133. package/dist/stream/streams.d.ts.map +1 -1
  134. package/dist/stream/streams.js +51 -10
  135. package/dist/stream/streams.js.map +1 -1
  136. package/dist/stream/wire.d.ts +2 -2
  137. package/dist/stream/wire.d.ts.map +1 -1
  138. package/dist/stream/wire.js +27 -7
  139. package/dist/stream/wire.js.map +1 -1
  140. package/package.json +1 -1
  141. package/src/client/api/avatars.ts +15 -2
  142. package/src/client/api/files.ts +83 -23
  143. package/src/client/api/upload-checks.ts +96 -0
  144. package/src/client/api/voice.ts +5 -2
  145. package/src/client/client.ts +154 -42
  146. package/src/client/crypto/crypt.ts +15 -7
  147. package/src/client/crypto/eax.ts +27 -22
  148. package/src/client/errors.ts +25 -0
  149. package/src/client/handshake/crypt-handshake.ts +6 -3
  150. package/src/client/index.ts +1 -0
  151. package/src/client/throttle.ts +41 -3
  152. package/src/client/transfer.ts +172 -28
  153. package/src/client/transport/handler.ts +54 -46
  154. package/src/core/api/clients.ts +24 -21
  155. package/src/core/api/command.ts +9 -7
  156. package/src/core/api/files.ts +30 -16
  157. package/src/core/api/groups.ts +32 -13
  158. package/src/core/api/parse.ts +16 -15
  159. package/src/core/command/request.ts +18 -0
  160. package/src/core/errors.ts +74 -20
  161. package/src/core/events.ts +24 -8
  162. package/src/core/internal.ts +7 -1
  163. package/src/core/notifications.ts +9 -8
  164. package/src/core/reconnect.ts +60 -8
  165. package/src/core/types.ts +15 -16
  166. package/src/query/client.ts +144 -20
  167. package/src/query/errors.ts +34 -0
  168. package/src/query/index.ts +1 -0
  169. package/src/query/lines.ts +38 -6
  170. package/src/query/options.ts +36 -0
  171. package/src/query/reconnect.ts +27 -7
  172. package/src/query/ssh.ts +11 -4
  173. package/src/query/stream.ts +17 -1
  174. package/src/query/testing/live.ts +4 -4
  175. package/src/query/transport.ts +10 -2
  176. package/src/query/web.ts +76 -21
  177. package/src/stream/published.ts +70 -23
  178. package/src/stream/streams.ts +47 -13
  179. package/src/stream/wire.ts +30 -11
@@ -50,6 +50,12 @@ export declare class Crypt {
50
50
  */
51
51
  solveRsaChallenge(data: Uint8Array, offset: number, level: number, signal?: AbortSignal): Promise<Uint8Array>;
52
52
  initCrypto(alpha: string, beta: string, omega: string): void;
53
+ /**
54
+ * Build the IV from `alpha` and `beta` XORed into `sharedKey` and complete
55
+ * crypto init. The values come from the server, so a length that does not fit
56
+ * is refused rather than padded: alpha must be 10 bytes, beta at least one,
57
+ * and the key as long as the IV, 10 bytes plus beta.
58
+ */
53
59
  setSharedSecret(alpha: Uint8Array, beta: Uint8Array, sharedKey: Uint8Array): void;
54
60
  getKeyNonce(fromServer: boolean, packetID: number, generationID: number, packetType: number, dummy: boolean): [key: Uint8Array, nonce: Uint8Array];
55
61
  encrypt(packetType: number, packetID: number, generationID: number, header: Uint8Array, plaintext: Uint8Array, dummy: boolean, unencrypted: boolean): [ciphertext: Uint8Array, mac: Uint8Array];
@@ -1 +1 @@
1
- {"version":3,"file":"crypt.d.ts","sourceRoot":"","sources":["../../../src/client/crypto/crypt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAW9C;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAkB,CAAC;AAEzD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAE1C,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,UAAU,CAAC;IAChB,KAAK,EAAE,UAAU,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACb;AAMD;;;;GAIG;AACH,qBAAa,KAAK;;IAChB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAS5B,YAAY,QAAQ,EAAE,QAAQ,EAE7B;IAED,iFAAiF;IACjF,IAAI,kBAAkB,IAAI,OAAO,CAEhC;IAED,kFAAkF;IAClF,IAAI,aAAa,IAAI,UAAU,CAE9B;IAED,sFAAsF;IACtF,IAAI,KAAK,IAAI,UAAU,CAEtB;IAED,wEAAwE;IACxE,QAAQ,IAAI,UAAU,CAGrB;IAED;;;;;;;OAOG;IACG,iBAAiB,CACrB,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CA2BrB;IAED,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAa3D;IAED,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,GAAG,IAAI,CAqBhF;IAED,WAAW,CACT,UAAU,EAAE,OAAO,EACnB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,OAAO,GACb,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,CAkCtC;IAED,OAAO,CACL,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,OAAO,GACnB,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,CAAC,CAW3C;IAED,OAAO,CACL,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,OAAO,GACnB,UAAU,CAeZ;CAyBF"}
1
+ {"version":3,"file":"crypt.d.ts","sourceRoot":"","sources":["../../../src/client/crypto/crypt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAW9C;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAkB,CAAC;AAEzD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAE1C,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,UAAU,CAAC;IAChB,KAAK,EAAE,UAAU,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACb;AAMD;;;;GAIG;AACH,qBAAa,KAAK;;IAChB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAS5B,YAAY,QAAQ,EAAE,QAAQ,EAE7B;IAED,iFAAiF;IACjF,IAAI,kBAAkB,IAAI,OAAO,CAEhC;IAED,kFAAkF;IAClF,IAAI,aAAa,IAAI,UAAU,CAE9B;IAED,sFAAsF;IACtF,IAAI,KAAK,IAAI,UAAU,CAEtB;IAED,wEAAwE;IACxE,QAAQ,IAAI,UAAU,CAGrB;IAED;;;;;;;OAOG;IACG,iBAAiB,CACrB,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CA2BrB;IAED,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAa3D;IAED;;;;;OAKG;IACH,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,GAAG,IAAI,CAuBhF;IAED,WAAW,CACT,UAAU,EAAE,OAAO,EACnB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,OAAO,GACb,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,CAkCtC;IAED,OAAO,CACL,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,OAAO,GACnB,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,CAAC,CAW3C;IAED,OAAO,CACL,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,OAAO,GACnB,UAAU,CAeZ;CAyBF"}
@@ -108,18 +108,24 @@ export class Crypt {
108
108
  }
109
109
  this.setSharedSecret(alphaBytes, betaBytes, sharedSecret);
110
110
  }
111
+ /**
112
+ * Build the IV from `alpha` and `beta` XORed into `sharedKey` and complete
113
+ * crypto init. The values come from the server, so a length that does not fit
114
+ * is refused rather than padded: alpha must be 10 bytes, beta at least one,
115
+ * and the key as long as the IV, 10 bytes plus beta.
116
+ */
111
117
  setSharedSecret(alpha, beta, sharedKey) {
118
+ if (alpha.length !== IV_ALPHA_SIZE ||
119
+ beta.length === 0 ||
120
+ IV_ALPHA_SIZE + beta.length > sharedKey.length) {
121
+ throw new HandshakeError("alpha, beta and the shared secret do not fit together");
122
+ }
112
123
  this.#ivStruct = new Uint8Array(IV_ALPHA_SIZE + beta.length);
113
124
  for (let i = 0; i < IV_ALPHA_SIZE; i++) {
114
- const a = sharedKey[i];
115
- const b = alpha[i];
116
- this.#ivStruct[i] = ((a !== undefined ? a : 0) ^ (b !== undefined ? b : 0)) & 0xff;
125
+ this.#ivStruct[i] = (sharedKey[i] ^ alpha[i]) & 0xff;
117
126
  }
118
127
  for (let i = 0; i < beta.length; i++) {
119
- const a = sharedKey[IV_ALPHA_SIZE + i];
120
- const b = beta[i];
121
- this.#ivStruct[IV_ALPHA_SIZE + i] =
122
- ((a !== undefined ? a : 0) ^ (b !== undefined ? b : 0)) & 0xff;
128
+ this.#ivStruct[IV_ALPHA_SIZE + i] = (sharedKey[IV_ALPHA_SIZE + i] ^ beta[i]) & 0xff;
123
129
  }
124
130
  // Keys derive from the IV: any cached before it changed belong to another
125
131
  // IV, the empty one before crypto init in particular, which is public.
@@ -1 +1 @@
1
- {"version":3,"file":"crypt.js","sourceRoot":"","sources":["../../../src/client/crypto/crypt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crypt.js","sourceRoot":"","sources":["../../../src/client/crypto/crypt.ts"],"names":[],"mappings":"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"}
@@ -8,5 +8,9 @@ export declare class EAX {
8
8
  encrypt(nonce: Uint8Array, header: Uint8Array, plaintext: Uint8Array): [ciphertext: Uint8Array, tag: Uint8Array];
9
9
  decrypt(nonce: Uint8Array, header: Uint8Array, ciphertext: Uint8Array, tag: Uint8Array): Uint8Array;
10
10
  }
11
+ /**
12
+ * AES-CMAC: the last block of AES-CBC with a zero IV over the message, its last
13
+ * block padded and XORed with a subkey. One cipher for the whole message.
14
+ */
11
15
  export declare function aesCmac(key: Uint8Array, message: Uint8Array): Uint8Array;
12
16
  //# sourceMappingURL=eax.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"eax.d.ts","sourceRoot":"","sources":["../../../src/client/crypto/eax.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,qBAAa,GAAG;;IAGd,YAAY,GAAG,EAAE,UAAU,EAG1B;IAED,OAAO,CACL,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,UAAU,GACpB,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,CAAC,CAc3C;IAED,OAAO,CACL,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,UAAU,GACd,UAAU,CAeZ;CAcF;AAoDD,wBAAgB,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,GAAG,UAAU,CA2BxE"}
1
+ {"version":3,"file":"eax.d.ts","sourceRoot":"","sources":["../../../src/client/crypto/eax.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,qBAAa,GAAG;;IAGd,YAAY,GAAG,EAAE,UAAU,EAG1B;IAED,OAAO,CACL,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,UAAU,GACpB,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,CAAC,CAc3C;IAED,OAAO,CACL,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,UAAU,GACd,UAAU,CAeZ;CAcF;AA8DD;;;GAGG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,GAAG,UAAU,CAkBxE"}
@@ -55,9 +55,12 @@ function aesCtr(key, iv, data) {
55
55
  return Buffer.concat([cipher.update(Buffer.from(data)), cipher.final()]);
56
56
  }
57
57
  // ---- AES-CMAC (RFC 4493) ----------------------------------------------------
58
+ /**
59
+ * The CMAC subkeys of each key, derived once: a session uses one key for every
60
+ * packet, and deriving them costs a cipher of its own.
61
+ */
62
+ const subkeyCache = new WeakMap();
58
63
  function aesEcb(key, block) {
59
- // Node.js does not expose ECB directly; simulate via CTR with zero IV and
60
- // a zero-input (CTR of 0-block XOR with input = ECB)
61
64
  const cipher = createCipheriv("aes-128-ecb", Buffer.from(key), null);
62
65
  cipher.setAutoPadding(false);
63
66
  return Buffer.concat([cipher.update(Buffer.from(block)), cipher.final()]);
@@ -81,6 +84,9 @@ function shiftLeft1(b) {
81
84
  const RB = new Uint8Array(EAX_BLOCK_SIZE);
82
85
  RB[EAX_BLOCK_SIZE - 1] = 0x87;
83
86
  function generateSubkeys(key) {
87
+ const cached = subkeyCache.get(key);
88
+ if (cached !== undefined)
89
+ return cached;
84
90
  const zero = new Uint8Array(EAX_BLOCK_SIZE);
85
91
  const L = aesEcb(key, zero);
86
92
  let K1 = shiftLeft1(L);
@@ -89,30 +95,30 @@ function generateSubkeys(key) {
89
95
  let K2 = shiftLeft1(K1);
90
96
  if ((K1[0] & 0x80) !== 0)
91
97
  K2 = xorBlock(K2, RB);
92
- return [K1, K2];
98
+ const subkeys = [K1, K2];
99
+ subkeyCache.set(key, subkeys);
100
+ return subkeys;
93
101
  }
102
+ const ZERO_IV = Buffer.alloc(EAX_BLOCK_SIZE);
103
+ /**
104
+ * AES-CMAC: the last block of AES-CBC with a zero IV over the message, its last
105
+ * block padded and XORed with a subkey. One cipher for the whole message.
106
+ */
94
107
  export function aesCmac(key, message) {
95
108
  const [K1, K2] = generateSubkeys(key);
96
109
  const n = Math.max(1, Math.ceil(message.length / EAX_BLOCK_SIZE));
97
110
  const lastBlockComplete = message.length > 0 && message.length % EAX_BLOCK_SIZE === 0;
98
- let X = new Uint8Array(EAX_BLOCK_SIZE);
99
- for (let i = 0; i < n - 1; i++) {
100
- const block = message.slice(i * EAX_BLOCK_SIZE, (i + 1) * EAX_BLOCK_SIZE);
101
- X = Uint8Array.from(aesEcb(key, xorBlock(X, block)));
102
- }
103
- const lastBlock = new Uint8Array(EAX_BLOCK_SIZE);
111
+ const padded = Buffer.alloc(n * EAX_BLOCK_SIZE);
112
+ padded.set(message);
104
113
  const lastStart = (n - 1) * EAX_BLOCK_SIZE;
105
- const lastSlice = message.slice(lastStart);
106
- lastBlock.set(lastSlice);
107
- let Mn;
108
- if (lastBlockComplete) {
109
- Mn = xorBlock(lastBlock, K1);
110
- }
111
- else {
112
- if (lastSlice.length < EAX_BLOCK_SIZE)
113
- lastBlock[lastSlice.length] = 0x80;
114
- Mn = xorBlock(lastBlock, K2);
115
- }
116
- return Uint8Array.from(aesEcb(key, xorBlock(X, Mn)));
114
+ if (!lastBlockComplete)
115
+ padded[message.length] = 0x80;
116
+ const subkey = lastBlockComplete ? K1 : K2;
117
+ for (let i = 0; i < EAX_BLOCK_SIZE; i++)
118
+ padded[lastStart + i] = padded[lastStart + i] ^ subkey[i];
119
+ const cipher = createCipheriv("aes-128-cbc", Buffer.from(key), ZERO_IV);
120
+ cipher.setAutoPadding(false);
121
+ const out = cipher.update(padded);
122
+ return Uint8Array.from(out.subarray(out.length - EAX_BLOCK_SIZE));
117
123
  }
118
124
  //# sourceMappingURL=eax.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"eax.js","sourceRoot":"","sources":["../../../src/client/crypto/eax.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,cAAc,GAAG,EAAE,CAAC;AAE1B;;;GAGG;AACH,MAAM,OAAO,GAAG;IACL,IAAI,CAAa;IAE1B,YAAY,GAAe;QACzB,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IAClB,CAAC;IAED,OAAO,CACL,KAAiB,EACjB,MAAkB,EAClB,SAAqB;QAErB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAEpC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAEvD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAExC,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAE,GAAG,KAAK,CAAC,CAAC,CAAE,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QAC7C,CAAC;QAED,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,CACL,KAAiB,EACjB,MAAkB,EAClB,UAAsB,EACtB,GAAe;QAEf,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAExC,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC;QAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAE,GAAG,KAAK,CAAC,CAAC,CAAE,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QAClD,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,MAAM,IAAI,mBAAmB,EAAE,CAAC;QAClC,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAe,EAAE,IAAgB;QACrC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3D,wDAAwD;QACxD,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;QACpC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAEhC,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;CACF;AAED,gFAAgF;AAEhF,SAAS,MAAM,CAAC,GAAe,EAAE,EAAc,EAAE,IAAgB;IAC/D,MAAM,MAAM,GAAG,cAAc,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAChF,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,gFAAgF;AAEhF,SAAS,MAAM,CAAC,GAAe,EAAE,KAAiB;IAChD,0EAA0E;IAC1E,qDAAqD;IACrD,MAAM,MAAM,GAAG,cAAc,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;IACrE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,QAAQ,CAAC,CAAa,EAAE,CAAa;IAC5C,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC;IAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE;QAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;IAChE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,UAAU,CAAC,CAAa;IAC/B,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC;IAC3C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,cAAc,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC;QAC9C,KAAK,GAAG,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC;QACnB,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IACnB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC;AAC1C,EAAE,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;AAE9B,SAAS,eAAe,CAAC,GAAe;IACtC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC;IAC5C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAE5B,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAAE,EAAE,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAEhD,IAAI,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;IACxB,IAAI,CAAC,EAAE,CAAC,CAAC,CAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAAE,EAAE,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAEjD,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAe,EAAE,OAAmB;IAC1D,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IAEtC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC;IAClE,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,cAAc,KAAK,CAAC,CAAC;IAEtF,IAAI,CAAC,GAAe,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC;IAEnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,cAAc,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;QAC1E,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC;IAC3C,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC3C,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAEzB,IAAI,EAAc,CAAC;IACnB,IAAI,iBAAiB,EAAE,CAAC;QACtB,EAAE,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,IAAI,SAAS,CAAC,MAAM,GAAG,cAAc;YAAE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;QAC1E,EAAE,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC"}
1
+ {"version":3,"file":"eax.js","sourceRoot":"","sources":["../../../src/client/crypto/eax.ts"],"names":[],"mappings":"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"}
@@ -77,6 +77,19 @@ export declare class ConnectionTimeoutError extends TeamspeakError {
77
77
  static readonly kind: string;
78
78
  constructor();
79
79
  }
80
+ /**
81
+ * The server's command stream broke: a command packet stayed missing for
82
+ * seconds while later ones arrived, although the server sends one again until
83
+ * it is acknowledged. The connection is ended rather than carry on without the
84
+ * missing command, which would drop an answer or a notification and could
85
+ * leave the view out of step with the server's; a reconnect starts from a
86
+ * consistent state.
87
+ */
88
+ export declare class ConnectionStalledError extends TeamspeakError {
89
+ /** {@inheritDoc @honeybbq/teamspeak!TeamspeakError.kind} */
90
+ static readonly kind: string;
91
+ constructor();
92
+ }
80
93
  /**
81
94
  * The server ended this client's session: a kick, a ban, or the server
82
95
  * stopping. The default reconnect policy retries a server that stopped, but
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/client/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE7D;;;;;;;GAOG;AACH,qBAAa,mBAAoB,SAAQ,cAAc;IACrD,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAAyB;IAY9D,4BAA4B;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,YAAY,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAG1C;CACF;AAED;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,cAAc;IACrD,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAAyB;IAY9D,cAEC;CACF;AAED;;;GAGG;AACH,qBAAa,0BAA2B,SAAQ,cAAc;IAC5D,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAAgC;IAYrE,cAEC;CACF;AAED,+FAA+F;AAC/F,qBAAa,iBAAkB,SAAQ,cAAc;IACnD,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAAuB;IAY5D,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAElD;CACF;AAED;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,cAAc;IAChD,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAAoB;IAYzD,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAElD;CACF;AAED;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAAwB;IAY7D,oDAAoD;IACpD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,iCAAiC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,YAAY,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAI1C;CACF;AAED,wDAAwD;AACxD,qBAAa,oBAAqB,SAAQ,cAAc;IACtD,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAA0B;IAY/D,YAAY,OAAO,SAA4B,EAAE,OAAO,CAAC,EAAE,YAAY,EAEtE;CACF;AAED;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,cAAc;IACxD,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAA4B;IAYjE,cAEC;CACF;AAED;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,cAAc;IAC9C,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAAkB;IAYvD,mFAAmF;IACnF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,yDAAyD;IACzD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,mDAAmD;IACnD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,YAAY,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAQrE;CACF"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/client/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE7D;;;;;;;GAOG;AACH,qBAAa,mBAAoB,SAAQ,cAAc;IACrD,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAAyB;IAY9D,4BAA4B;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,YAAY,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAG1C;CACF;AAED;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,cAAc;IACrD,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAAyB;IAY9D,cAEC;CACF;AAED;;;GAGG;AACH,qBAAa,0BAA2B,SAAQ,cAAc;IAC5D,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAAgC;IAYrE,cAEC;CACF;AAED,+FAA+F;AAC/F,qBAAa,iBAAkB,SAAQ,cAAc;IACnD,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAAuB;IAY5D,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAElD;CACF;AAED;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,cAAc;IAChD,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAAoB;IAYzD,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAElD;CACF;AAED;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAAwB;IAY7D,oDAAoD;IACpD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,iCAAiC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,YAAY,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAI1C;CACF;AAED,wDAAwD;AACxD,qBAAa,oBAAqB,SAAQ,cAAc;IACtD,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAA0B;IAY/D,YAAY,OAAO,SAA4B,EAAE,OAAO,CAAC,EAAE,YAAY,EAEtE;CACF;AAED;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,cAAc;IACxD,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAA4B;IAYjE,cAEC;CACF;AAED;;;;;;;GAOG;AACH,qBAAa,sBAAuB,SAAQ,cAAc;IACxD,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAA4B;IAUjE,cAEC;CACF;AAED;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,cAAc;IAC9C,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAAkB;IAYvD,mFAAmF;IACnF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,yDAAyD;IACzD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,mDAAmD;IACnD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,YAAY,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAQrE;CACF"}
@@ -176,6 +176,29 @@ export class ConnectionTimeoutError extends TeamspeakError {
176
176
  super("connection timed out: the server stopped answering");
177
177
  }
178
178
  }
179
+ /**
180
+ * The server's command stream broke: a command packet stayed missing for
181
+ * seconds while later ones arrived, although the server sends one again until
182
+ * it is acknowledged. The connection is ended rather than carry on without the
183
+ * missing command, which would drop an answer or a notification and could
184
+ * leave the view out of step with the server's; a reconnect starts from a
185
+ * consistent state.
186
+ */
187
+ export class ConnectionStalledError extends TeamspeakError {
188
+ /** {@inheritDoc @honeybbq/teamspeak!TeamspeakError.kind} */
189
+ static kind = "ConnectionStalledError";
190
+ static {
191
+ Object.defineProperty(this.prototype, "name", {
192
+ value: "ConnectionStalledError",
193
+ writable: true,
194
+ configurable: true,
195
+ enumerable: false,
196
+ });
197
+ }
198
+ constructor() {
199
+ super("connection stalled: a command from the server never arrived");
200
+ }
201
+ }
179
202
  /**
180
203
  * The server ended this client's session: a kick, a ban, or the server
181
204
  * stopping. The default reconnect policy retries a server that stopped, but
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/client/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/client/errors.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,8 @@ export declare function puzzleOf(crypt: Crypt): {
11
11
  /**
12
12
  * Handle the TS3INIT1 handshake steps.
13
13
  * Returns the response bytes to send, or null if nothing should be sent.
14
- * Throws a HandshakeError for a step that cannot be answered.
14
+ * A step that cannot be answered is ignored (null); a puzzle out of range
15
+ * throws a PuzzleTooHardError.
15
16
  *
16
17
  * The puzzle step is the only one that takes time, so a challenge not answered
17
18
  * before returns a promise of the response, which gives the event loop back
@@ -1 +1 @@
1
- {"version":3,"file":"crypt-handshake.d.ts","sourceRoot":"","sources":["../../../src/client/handshake/crypt-handshake.ts"],"names":[],"mappings":"AAEA,OAAO,EAA2B,KAAK,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAGzE,eAAO,MAAM,YAAY,aAAa,CAAC;AAoBvC;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAG9F;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,UAAU,CAAC;AACnE,wBAAgB,YAAY,CAC1B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,UAAU,GAAG,IAAI,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,UAAU,GAAG,IAAI,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"crypt-handshake.d.ts","sourceRoot":"","sources":["../../../src/client/handshake/crypt-handshake.ts"],"names":[],"mappings":"AAEA,OAAO,EAA2B,KAAK,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAGzE,eAAO,MAAM,YAAY,aAAa,CAAC;AAoBvC;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAG9F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,UAAU,CAAC;AACnE,wBAAgB,YAAY,CAC1B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,UAAU,GAAG,IAAI,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,UAAU,GAAG,IAAI,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { randomBytes } from "node:crypto";
2
2
  import { buildCommandOrdered } from "../../core/internal.js";
3
3
  import { MAX_RSA_CHALLENGE_LEVEL } from "../crypto/crypt.js";
4
- import { HandshakeError, PuzzleTooHardError } from "../errors.js";
4
+ import { PuzzleTooHardError } from "../errors.js";
5
5
  export const INIT_VERSION = 1566914096; // 3.5.0 [Stable]
6
6
  const INIT_VERSION_LEN = 4;
7
7
  const INIT_TYPE_LEN = 1;
@@ -22,8 +22,10 @@ export function processInit1(crypt, data, signal) {
22
22
  if (data === null || (data.length >= 1 && data[0] === 0x7f)) {
23
23
  return buildInit1StartPacket();
24
24
  }
25
+ // Init1 is not authenticated: a step that cannot be answered, an empty one
26
+ // included, is ignored, and the attempt goes on with the real server's.
25
27
  if (data.length === 0)
26
- throw new HandshakeError("empty Init1 packet");
28
+ return null;
27
29
  switch (data[0]) {
28
30
  case 0:
29
31
  return buildInit1Step1Packet(data);
@@ -1 +1 @@
1
- {"version":3,"file":"crypt-handshake.js","sourceRoot":"","sources":["../../../src/client/handshake/crypt-handshake.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crypt-handshake.js","sourceRoot":"","sources":["../../../src/client/handshake/crypt-handshake.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ export { Client } from "./client.js";
11
11
  export { EventName, GroupWhisperType, GroupWhisperScope } from "./types.js";
12
12
  export type { ServerView, ViewChangedEvent, ViewReadyEvent, ViewStatus } from "./view.js";
13
13
  export type { EventMap, EventMiddleware, ServerEvent, ServerEventName, VoiceOptions, WhisperTargets, GroupWhisperTarget, AddrResolver, ClientOptions, ResolvedAddr, DatagramSocket, SocketFactory, FileTransferSocketFactory, } from "./types.js";
14
- export { FileTransferError, HandshakeError, PuzzleTooHardError, InvalidAddressError, InvalidIdentityError, RemovedError, ConnectionTimeoutError, } from "./errors.js";
14
+ export { FileTransferError, HandshakeError, PuzzleTooHardError, InvalidAddressError, InvalidIdentityError, RemovedError, ConnectionTimeoutError, ConnectionStalledError, } from "./errors.js";
15
15
  export * from "./api/voice.js";
16
16
  export * from "./api/avatars.js";
17
17
  export * from "./api/files.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE5E,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE1F,YAAY,EACV,QAAQ,EACR,eAAe,EACf,WAAW,EACX,eAAe,EACf,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,cAAc,EACd,aAAa,EACb,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAGrB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnF,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG5D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAGpD,OAAO,EACL,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE5E,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE1F,YAAY,EACV,QAAQ,EACR,eAAe,EACf,WAAW,EACX,eAAe,EACf,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,cAAc,EACd,aAAa,EACb,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAGrB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnF,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG5D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAGpD,OAAO,EACL,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
@@ -10,7 +10,7 @@
10
10
  // The client
11
11
  export { Client } from "./client.js";
12
12
  export { EventName, GroupWhisperType, GroupWhisperScope } from "./types.js";
13
- export { FileTransferError, HandshakeError, PuzzleTooHardError, InvalidAddressError, InvalidIdentityError, RemovedError, ConnectionTimeoutError, } from "./errors.js";
13
+ export { FileTransferError, HandshakeError, PuzzleTooHardError, InvalidAddressError, InvalidIdentityError, RemovedError, ConnectionTimeoutError, ConnectionStalledError, } from "./errors.js";
14
14
  // Commands only the voice protocol has.
15
15
  export * from "./api/voice.js";
16
16
  export * from "./api/avatars.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,aAAa;AACb,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAoB5E,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAErB,wCAAwC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAE/B,qBAAqB;AACrB,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAYnF,+BAA+B;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAkB1C,+CAA+C;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAG9D,qDAAqD;AACrD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnE,sBAAsB;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,WAAW;AACX,OAAO,EACL,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,aAAa;AACb,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAoB5E,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAErB,wCAAwC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAE/B,qBAAqB;AACrB,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAYnF,+BAA+B;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAkB1C,+CAA+C;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAG9D,qDAAqD;AACrD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnE,sBAAsB;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,WAAW;AACX,OAAO,EACL,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC"}
@@ -16,5 +16,16 @@ export declare class CommandThrottle {
16
16
  * removed however the wait ends.
17
17
  */
18
18
  wait(signal?: AbortSignal): Promise<void>;
19
+ /**
20
+ * Release nothing for `ms` milliseconds, then go on at the usual rate with no
21
+ * burst saved up: the server refused a command as flooding and said when to
22
+ * try again, and anything sent sooner is refused too and adds to the debt.
23
+ */
24
+ hold(ms: number): void;
25
+ /**
26
+ * Reject every waiter still in line with `reason`, so none of them is ever
27
+ * released to send. Commands that ask afterwards wait as before.
28
+ */
29
+ rejectAll(reason: unknown): void;
19
30
  }
20
31
  //# sourceMappingURL=throttle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"throttle.d.ts","sourceRoot":"","sources":["../../src/client/throttle.ts"],"names":[],"mappings":"AAMA;;;;;;;GAOG;AACH,qBAAa,eAAe;;IAC1B,MAAM,CAAC,QAAQ,CAAC,UAAU,KAAO;IACjC,MAAM,CAAC,QAAQ,CAAC,SAAS,KAAO;IAOhC;;;;OAIG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBxC;CAyCF"}
1
+ {"version":3,"file":"throttle.d.ts","sourceRoot":"","sources":["../../src/client/throttle.ts"],"names":[],"mappings":"AAOA;;;;;;;GAOG;AACH,qBAAa,eAAe;;IAC1B,MAAM,CAAC,QAAQ,CAAC,UAAU,KAAO;IACjC,MAAM,CAAC,QAAQ,CAAC,SAAS,KAAO;IAShC;;;;OAIG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBxC;IAED;;;;OAIG;IACH,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAMrB;IAED;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAM/B;CAkDF"}
@@ -12,6 +12,8 @@ export class CommandThrottle {
12
12
  static TOKEN_MAX = 8.0; // bucket capacity
13
13
  #tokens = 5.0;
14
14
  #lastUpdate = performance.now();
15
+ /** Until when nothing is released: the server asked this client to wait. */
16
+ #holdUntil = 0;
15
17
  #waiters = [];
16
18
  #timer;
17
19
  /**
@@ -23,13 +25,14 @@ export class CommandThrottle {
23
25
  if (signal?.aborted)
24
26
  return Promise.reject(signal.reason);
25
27
  this.#refill();
26
- if (this.#waiters.length === 0 && this.#tokens >= 1.0) {
28
+ if (this.#waiters.length === 0 && this.#tokens >= 1.0 && performance.now() >= this.#holdUntil) {
27
29
  this.#tokens -= 1.0;
28
30
  return Promise.resolve();
29
31
  }
30
32
  return new Promise((resolve, reject) => {
31
33
  const waiter = {
32
34
  resolve,
35
+ reject,
33
36
  signal,
34
37
  onAbort: () => {
35
38
  const index = this.#waiters.indexOf(waiter);
@@ -45,9 +48,33 @@ export class CommandThrottle {
45
48
  this.#schedule();
46
49
  });
47
50
  }
51
+ /**
52
+ * Release nothing for `ms` milliseconds, then go on at the usual rate with no
53
+ * burst saved up: the server refused a command as flooding and said when to
54
+ * try again, and anything sent sooner is refused too and adds to the debt.
55
+ */
56
+ hold(ms) {
57
+ this.#refill();
58
+ this.#holdUntil = Math.max(this.#holdUntil, performance.now() + ms);
59
+ this.#tokens = 0;
60
+ this.#stopTimer();
61
+ this.#schedule();
62
+ }
63
+ /**
64
+ * Reject every waiter still in line with `reason`, so none of them is ever
65
+ * released to send. Commands that ask afterwards wait as before.
66
+ */
67
+ rejectAll(reason) {
68
+ this.#stopTimer();
69
+ for (const waiter of this.#waiters.splice(0)) {
70
+ waiter.signal?.removeEventListener("abort", waiter.onAbort);
71
+ waiter.reject(reason);
72
+ }
73
+ }
48
74
  #refill() {
49
75
  const now = performance.now();
50
- const elapsed = (now - this.#lastUpdate) / 1000;
76
+ // Nothing accrues while held.
77
+ const elapsed = Math.max(0, now - Math.max(this.#lastUpdate, this.#holdUntil)) / 1000;
51
78
  this.#tokens = Math.min(this.#tokens + elapsed * _a.TOKEN_RATE, _a.TOKEN_MAX);
52
79
  this.#lastUpdate = now;
53
80
  }
@@ -55,9 +82,12 @@ export class CommandThrottle {
55
82
  #schedule() {
56
83
  if (this.#timer !== undefined || this.#waiters.length === 0)
57
84
  return;
58
- const waitMs = this.#tokens >= 1.0
85
+ const forTokens = this.#tokens >= 1.0
59
86
  ? 0
60
87
  : Math.ceil(((1.0 - this.#tokens) / _a.TOKEN_RATE) * 1000) + 10;
88
+ const held = Math.ceil(this.#holdUntil - performance.now());
89
+ // Tokens accrue only once the hold is over.
90
+ const waitMs = Math.max(0, held) + forTokens;
61
91
  this.#timer = setTimeout(() => {
62
92
  this.#timer = undefined;
63
93
  this.#release();
@@ -70,6 +100,11 @@ export class CommandThrottle {
70
100
  /** Hand the tokens there are to the waiters at the head of the line. */
71
101
  #release() {
72
102
  this.#refill();
103
+ // Woken early, or the hold was extended meanwhile.
104
+ if (performance.now() < this.#holdUntil) {
105
+ this.#schedule();
106
+ return;
107
+ }
73
108
  while (this.#waiters.length > 0 && this.#tokens >= 1.0) {
74
109
  this.#tokens -= 1.0;
75
110
  const waiter = this.#waiters.shift();
@@ -1 +1 @@
1
- {"version":3,"file":"throttle.js","sourceRoot":"","sources":["../../src/client/throttle.ts"],"names":[],"mappings":";AAMA;;;;;;;GAOG;AACH,MAAM,OAAO,eAAe;IAC1B,MAAM,CAAU,UAAU,GAAG,GAAG,CAAC,CAAC,oBAAoB;IACtD,MAAM,CAAU,SAAS,GAAG,GAAG,CAAC,CAAC,kBAAkB;IAEnD,OAAO,GAAG,GAAG,CAAC;IACd,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACvB,QAAQ,GAAa,EAAE,CAAC;IACjC,MAAM,CAA4C;IAElD;;;;OAIG;IACH,IAAI,CAAC,MAAoB;QACvB,IAAI,MAAM,EAAE,OAAO;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,GAAG,EAAE,CAAC;YACtD,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC;YACpB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,MAAM,GAAW;gBACrB,OAAO;gBACP,MAAM;gBACN,OAAO,EAAE,GAAG,EAAE;oBACZ,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBAC5C,IAAI,KAAK,IAAI,CAAC;wBAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBAC/C,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;wBAAE,IAAI,CAAC,UAAU,EAAE,CAAC;oBAClD,MAAM,CAAC,MAAO,CAAC,MAAM,CAAC,CAAC;gBACzB,CAAC;aACF,CAAC;YACF,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAClE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3B,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;QAChD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CACrB,IAAI,CAAC,OAAO,GAAG,OAAO,GAAG,EAAe,CAAC,UAAU,EACnD,EAAe,CAAC,SAAS,CAC1B,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;IACzB,CAAC;IAED,0EAA0E;IAC1E,SAAS;QACP,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACpE,MAAM,MAAM,GACV,IAAI,CAAC,OAAO,IAAI,GAAG;YACjB,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAe,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjF,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,EAAE,MAAM,CAAC,CAAC;IACb,CAAC;IAED,UAAU;QACR,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC1B,CAAC;IAED,wEAAwE;IACxE,QAAQ;QACN,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,GAAG,EAAE,CAAC;YACvD,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC;YACpB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAG,CAAC;YACtC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YAC5D,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;CACF"}
1
+ {"version":3,"file":"throttle.js","sourceRoot":"","sources":["../../src/client/throttle.ts"],"names":[],"mappings":"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"}