@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.
- package/dist/client/api/avatars.d.ts.map +1 -1
- package/dist/client/api/avatars.js +11 -2
- package/dist/client/api/avatars.js.map +1 -1
- package/dist/client/api/files.d.ts +36 -14
- package/dist/client/api/files.d.ts.map +1 -1
- package/dist/client/api/files.js +58 -9
- package/dist/client/api/files.js.map +1 -1
- package/dist/client/api/upload-checks.d.ts +36 -0
- package/dist/client/api/upload-checks.d.ts.map +1 -0
- package/dist/client/api/upload-checks.js +77 -0
- package/dist/client/api/upload-checks.js.map +1 -0
- package/dist/client/api/voice.d.ts +2 -1
- package/dist/client/api/voice.d.ts.map +1 -1
- package/dist/client/api/voice.js +6 -2
- package/dist/client/api/voice.js.map +1 -1
- package/dist/client/client.d.ts +13 -3
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js +151 -49
- package/dist/client/client.js.map +1 -1
- package/dist/client/crypto/crypt.d.ts +6 -0
- package/dist/client/crypto/crypt.d.ts.map +1 -1
- package/dist/client/crypto/crypt.js +13 -7
- package/dist/client/crypto/crypt.js.map +1 -1
- package/dist/client/crypto/eax.d.ts +4 -0
- package/dist/client/crypto/eax.d.ts.map +1 -1
- package/dist/client/crypto/eax.js +27 -21
- package/dist/client/crypto/eax.js.map +1 -1
- package/dist/client/errors.d.ts +13 -0
- package/dist/client/errors.d.ts.map +1 -1
- package/dist/client/errors.js +23 -0
- package/dist/client/errors.js.map +1 -1
- package/dist/client/handshake/crypt-handshake.d.ts +2 -1
- package/dist/client/handshake/crypt-handshake.d.ts.map +1 -1
- package/dist/client/handshake/crypt-handshake.js +4 -2
- package/dist/client/handshake/crypt-handshake.js.map +1 -1
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +1 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/throttle.d.ts +11 -0
- package/dist/client/throttle.d.ts.map +1 -1
- package/dist/client/throttle.js +38 -3
- package/dist/client/throttle.js.map +1 -1
- package/dist/client/transfer.d.ts +37 -4
- package/dist/client/transfer.d.ts.map +1 -1
- package/dist/client/transfer.js +155 -15
- package/dist/client/transfer.js.map +1 -1
- package/dist/client/transport/handler.d.ts.map +1 -1
- package/dist/client/transport/handler.js +47 -43
- package/dist/client/transport/handler.js.map +1 -1
- package/dist/core/api/clients.d.ts +15 -15
- package/dist/core/api/clients.d.ts.map +1 -1
- package/dist/core/api/clients.js.map +1 -1
- package/dist/core/api/command.d.ts +8 -6
- package/dist/core/api/command.d.ts.map +1 -1
- package/dist/core/api/command.js +1 -1
- package/dist/core/api/command.js.map +1 -1
- package/dist/core/api/files.d.ts +23 -6
- package/dist/core/api/files.d.ts.map +1 -1
- package/dist/core/api/files.js +12 -9
- package/dist/core/api/files.js.map +1 -1
- package/dist/core/api/groups.d.ts +17 -2
- package/dist/core/api/groups.d.ts.map +1 -1
- package/dist/core/api/groups.js +13 -11
- package/dist/core/api/groups.js.map +1 -1
- package/dist/core/api/parse.d.ts +5 -5
- package/dist/core/api/parse.d.ts.map +1 -1
- package/dist/core/api/parse.js +16 -15
- package/dist/core/api/parse.js.map +1 -1
- package/dist/core/command/request.d.ts +6 -0
- package/dist/core/command/request.d.ts.map +1 -1
- package/dist/core/command/request.js +12 -0
- package/dist/core/command/request.js.map +1 -1
- package/dist/core/errors.d.ts +46 -3
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +73 -20
- package/dist/core/errors.js.map +1 -1
- package/dist/core/events.d.ts +24 -8
- package/dist/core/events.d.ts.map +1 -1
- package/dist/core/internal.d.ts +1 -1
- package/dist/core/internal.d.ts.map +1 -1
- package/dist/core/internal.js +1 -1
- package/dist/core/internal.js.map +1 -1
- package/dist/core/notifications.d.ts +1 -1
- package/dist/core/notifications.js +9 -8
- package/dist/core/notifications.js.map +1 -1
- package/dist/core/reconnect.d.ts +16 -5
- package/dist/core/reconnect.d.ts.map +1 -1
- package/dist/core/reconnect.js +32 -4
- package/dist/core/reconnect.js.map +1 -1
- package/dist/core/types.d.ts +15 -16
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/query/client.d.ts +4 -0
- package/dist/query/client.d.ts.map +1 -1
- package/dist/query/client.js +145 -23
- package/dist/query/client.js.map +1 -1
- package/dist/query/errors.d.ts +20 -0
- package/dist/query/errors.d.ts.map +1 -1
- package/dist/query/errors.js +31 -0
- package/dist/query/errors.js.map +1 -1
- package/dist/query/index.d.ts +1 -1
- package/dist/query/index.d.ts.map +1 -1
- package/dist/query/index.js +1 -1
- package/dist/query/index.js.map +1 -1
- package/dist/query/lines.d.ts +11 -0
- package/dist/query/lines.d.ts.map +1 -1
- package/dist/query/lines.js +36 -6
- package/dist/query/lines.js.map +1 -1
- package/dist/query/options.d.ts +30 -0
- package/dist/query/options.d.ts.map +1 -1
- package/dist/query/options.js +7 -0
- package/dist/query/options.js.map +1 -1
- package/dist/query/reconnect.d.ts +5 -0
- package/dist/query/reconnect.d.ts.map +1 -1
- package/dist/query/reconnect.js +26 -7
- package/dist/query/reconnect.js.map +1 -1
- package/dist/query/ssh.js +9 -4
- package/dist/query/ssh.js.map +1 -1
- package/dist/query/stream.d.ts +2 -0
- package/dist/query/stream.d.ts.map +1 -1
- package/dist/query/stream.js +19 -1
- package/dist/query/stream.js.map +1 -1
- package/dist/query/transport.d.ts +12 -2
- package/dist/query/transport.d.ts.map +1 -1
- package/dist/query/web.d.ts +3 -1
- package/dist/query/web.d.ts.map +1 -1
- package/dist/query/web.js +82 -18
- package/dist/query/web.js.map +1 -1
- package/dist/stream/published.d.ts.map +1 -1
- package/dist/stream/published.js +61 -25
- package/dist/stream/published.js.map +1 -1
- package/dist/stream/streams.d.ts.map +1 -1
- package/dist/stream/streams.js +51 -10
- package/dist/stream/streams.js.map +1 -1
- package/dist/stream/wire.d.ts +2 -2
- package/dist/stream/wire.d.ts.map +1 -1
- package/dist/stream/wire.js +27 -7
- package/dist/stream/wire.js.map +1 -1
- package/package.json +1 -1
- package/src/client/api/avatars.ts +15 -2
- package/src/client/api/files.ts +83 -23
- package/src/client/api/upload-checks.ts +96 -0
- package/src/client/api/voice.ts +5 -2
- package/src/client/client.ts +154 -42
- package/src/client/crypto/crypt.ts +15 -7
- package/src/client/crypto/eax.ts +27 -22
- package/src/client/errors.ts +25 -0
- package/src/client/handshake/crypt-handshake.ts +6 -3
- package/src/client/index.ts +1 -0
- package/src/client/throttle.ts +41 -3
- package/src/client/transfer.ts +172 -28
- package/src/client/transport/handler.ts +54 -46
- package/src/core/api/clients.ts +24 -21
- package/src/core/api/command.ts +9 -7
- package/src/core/api/files.ts +30 -16
- package/src/core/api/groups.ts +32 -13
- package/src/core/api/parse.ts +16 -15
- package/src/core/command/request.ts +18 -0
- package/src/core/errors.ts +74 -20
- package/src/core/events.ts +24 -8
- package/src/core/internal.ts +7 -1
- package/src/core/notifications.ts +9 -8
- package/src/core/reconnect.ts +60 -8
- package/src/core/types.ts +15 -16
- package/src/query/client.ts +144 -20
- package/src/query/errors.ts +34 -0
- package/src/query/index.ts +1 -0
- package/src/query/lines.ts +38 -6
- package/src/query/options.ts +36 -0
- package/src/query/reconnect.ts +27 -7
- package/src/query/ssh.ts +11 -4
- package/src/query/stream.ts +17 -1
- package/src/query/testing/live.ts +4 -4
- package/src/query/transport.ts +10 -2
- package/src/query/web.ts +76 -21
- package/src/stream/published.ts +70 -23
- package/src/stream/streams.ts +47 -13
- package/src/stream/wire.ts +30 -11
package/dist/client/client.js
CHANGED
|
@@ -10,7 +10,7 @@ import { RESOLVE_BUDGET_MS, Resolver } from "./discovery/resolver.js";
|
|
|
10
10
|
import { PacketHandler } from "./transport/handler.js";
|
|
11
11
|
import { PacketType } from "./transport/packet.js";
|
|
12
12
|
import { CommandTracker, appendReturnCode } from "./commands.js";
|
|
13
|
-
import { buildCommand, buildCommandChain, encodeRequest, parseServerError, resolveBackoffPolicy, } from "../core/internal.js";
|
|
13
|
+
import { buildCommand, buildCommandChain, encodeRequest, floodHoldMs, FLOOD_RETRIES, floodRetryDelayMs, parseServerError, resolveBackoffPolicy, } from "../core/internal.js";
|
|
14
14
|
import { uploadFileData, downloadFileData } from "./transfer.js";
|
|
15
15
|
import { buildSetConnectionInfo } from "./connection-info.js";
|
|
16
16
|
import { buildEventChain } from "./events.js";
|
|
@@ -267,6 +267,9 @@ export class Client {
|
|
|
267
267
|
this.#clientInitOptions = normalizeClientInitOptions(options);
|
|
268
268
|
this.#socketFactory = options.socketFactory;
|
|
269
269
|
this.#fileTransferSocketFactory = options.fileTransferSocketFactory;
|
|
270
|
+
// Refused here, not when the loop first runs: a bad policy would flood.
|
|
271
|
+
if (options.reconnect !== undefined)
|
|
272
|
+
resolveBackoffPolicy(options.reconnect);
|
|
270
273
|
this.#reconnectOptions = options.reconnect;
|
|
271
274
|
this.#trace = options.trace === undefined ? undefined : { ...options.trace };
|
|
272
275
|
this.#viewStore = new ViewStore(this.#logger, () => this.#clid, () => this.#scheduleDrain());
|
|
@@ -478,7 +481,10 @@ export class Client {
|
|
|
478
481
|
* Leave the server and close the connection.
|
|
479
482
|
*
|
|
480
483
|
* Says goodbye first, waiting for the server's acknowledgement for a second
|
|
481
|
-
* at most, or less if `signal` aborts sooner. The
|
|
484
|
+
* at most, or less if `signal` aborts sooner. The goodbye is sent at once,
|
|
485
|
+
* past the flood throttle, and also by a client still connecting whose
|
|
486
|
+
* clientinit is out; commands still waiting for their turn reject with a
|
|
487
|
+
* NotConnectedError and are never sent. The connection is closed
|
|
482
488
|
* either way. A `connect()` still waiting for its handshake rejects with a
|
|
483
489
|
* NotConnectedError, and so do the commands still waiting for an answer.
|
|
484
490
|
* Resolves once `disconnected` has been delivered to the listeners, so one
|
|
@@ -505,11 +511,17 @@ export class Client {
|
|
|
505
511
|
// still be on its way.
|
|
506
512
|
if (this.#status === ClientStatus.Disconnected)
|
|
507
513
|
return this.#disconnectedDelivered;
|
|
508
|
-
|
|
514
|
+
// The server may hold a session for this client from the moment clientinit
|
|
515
|
+
// is out, which is as soon as the keys exist, well before Connected.
|
|
516
|
+
const holdsSession = this.#status === ClientStatus.Connected ||
|
|
517
|
+
(this.#status === ClientStatus.Connecting && this.#crypt.cryptoInitComplete);
|
|
509
518
|
this.#status = ClientStatus.Disconnected;
|
|
519
|
+
// Whatever still waits for its turn is rejected and never sent; the
|
|
520
|
+
// goodbye does not wait for one.
|
|
521
|
+
this.#throttle.rejectAll(new NotConnectedError());
|
|
510
522
|
let left;
|
|
511
523
|
this.#attempt.rejectAfter(new NotConnectedError(), new Promise((r) => (left = r)));
|
|
512
|
-
const leaving = this.#leave(
|
|
524
|
+
const leaving = this.#leave(holdsSession, options.signal, options.reasonMessage ?? "Shutdown").finally(left);
|
|
513
525
|
this.#leaving = leaving;
|
|
514
526
|
try {
|
|
515
527
|
await leaving;
|
|
@@ -518,9 +530,9 @@ export class Client {
|
|
|
518
530
|
this.#leaving = undefined;
|
|
519
531
|
}
|
|
520
532
|
}
|
|
521
|
-
async #leave(
|
|
533
|
+
async #leave(holdsSession, signal, reasonMessage) {
|
|
522
534
|
this.#logger.info("disconnecting from server");
|
|
523
|
-
if (
|
|
535
|
+
if (holdsSession) {
|
|
524
536
|
this.#callHook(this.#trace?.disconnectStart, () => ({}));
|
|
525
537
|
const goodbyeStarted = performance.now();
|
|
526
538
|
// The server answers clientdisconnect with a notifyclientleftview about
|
|
@@ -534,7 +546,7 @@ export class Client {
|
|
|
534
546
|
const answered = this.#exec(buildCommand("clientdisconnect", {
|
|
535
547
|
reasonid: String(Reason.Disconnect),
|
|
536
548
|
reasonmsg: reasonMessage,
|
|
537
|
-
}), { signal, timeoutMs: DISCONNECT_TIMEOUT_MS }, true).then(() => true, () => false);
|
|
549
|
+
}), { signal, timeoutMs: DISCONNECT_TIMEOUT_MS }, true, true).then(() => true, () => false);
|
|
538
550
|
const acknowledged = await Promise.race([answered, left]);
|
|
539
551
|
this.#goodbyeAnswered = undefined;
|
|
540
552
|
this.#callHook(this.#trace?.disconnectDone, () => ({
|
|
@@ -562,6 +574,11 @@ export class Client {
|
|
|
562
574
|
*
|
|
563
575
|
* Rejects with a NotConnectedError unless the client is connected: while it
|
|
564
576
|
* is still connecting, the session's keys may not exist yet.
|
|
577
|
+
*
|
|
578
|
+
* A command the server refuses as flooding (`ErrorCode.ClientIsFlooding`)
|
|
579
|
+
* with a time to wait is sent again after it, and every other command waits
|
|
580
|
+
* too, up to three times and while its timeout allows; the refusal that
|
|
581
|
+
* remains rejects as it is.
|
|
565
582
|
*/
|
|
566
583
|
// oxlint-disable-next-line typescript/array-type -- the public API report spells this `[]`; respelling it changes the report
|
|
567
584
|
exec(command, options = {}) {
|
|
@@ -615,14 +632,18 @@ export class Client {
|
|
|
615
632
|
hook(this, line);
|
|
616
633
|
this.#handler.sendPacket(PacketType.Command, Buffer.from(line), 0);
|
|
617
634
|
}
|
|
618
|
-
#exec(command, options, internal) {
|
|
619
|
-
if (!commandChannel.hasSubscribers)
|
|
620
|
-
return this.#execUntraced(command, options, internal);
|
|
621
|
-
|
|
622
|
-
|
|
635
|
+
#exec(command, options, internal, goodbye = false) {
|
|
636
|
+
if (!commandChannel.hasSubscribers) {
|
|
637
|
+
return this.#execUntraced(command, options, internal, goodbye);
|
|
638
|
+
}
|
|
639
|
+
const trace = {
|
|
640
|
+
command: parseCommand(command)?.name ?? "",
|
|
641
|
+
client: this,
|
|
642
|
+
};
|
|
643
|
+
return commandChannel.tracePromise(() => this.#execUntraced(command, options, internal, goodbye), trace);
|
|
623
644
|
}
|
|
624
|
-
async #execUntraced(command, options, internal) {
|
|
625
|
-
const { signal, timeoutMs = DEFAULT_COMMAND_TIMEOUT_MS } = options;
|
|
645
|
+
async #execUntraced(command, options, internal, goodbye) {
|
|
646
|
+
const { signal, timeoutMs = DEFAULT_COMMAND_TIMEOUT_MS, onSent } = options;
|
|
626
647
|
signal?.throwIfAborted();
|
|
627
648
|
// A command sent on no socket used to vanish and surface 10 seconds later
|
|
628
649
|
// as a timeout, which reads like a slow server rather than a usage error.
|
|
@@ -635,7 +656,8 @@ export class Client {
|
|
|
635
656
|
const key = spec?.correlated?.key;
|
|
636
657
|
const correlation = key === undefined ? undefined : parsed?.params[key];
|
|
637
658
|
const echo = spec?.echoKey === undefined ? undefined : parsed?.params[spec.echoKey];
|
|
638
|
-
|
|
659
|
+
let [rc, answered] = this.#cmdTrack.register(spec, correlation, echo);
|
|
660
|
+
const deadline = performance.now() + timeoutMs;
|
|
639
661
|
let timer;
|
|
640
662
|
let onAbort;
|
|
641
663
|
// Started before the throttle: the timeout bounds the whole command, its
|
|
@@ -648,21 +670,47 @@ export class Client {
|
|
|
648
670
|
givenUp.catch(() => { });
|
|
649
671
|
const throttleAbort = new AbortController();
|
|
650
672
|
try {
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
673
|
+
for (let refused = 0;; refused++) {
|
|
674
|
+
const withRc = appendReturnCode(command, rc);
|
|
675
|
+
// The goodbye of a disconnect goes out at once: queued behind other
|
|
676
|
+
// commands it would not leave in time, and the server would keep the
|
|
677
|
+
// session.
|
|
678
|
+
if (!goodbye)
|
|
679
|
+
await Promise.race([this.#throttle.wait(throttleAbort.signal), givenUp]);
|
|
680
|
+
if (!this.#canSend(internal))
|
|
681
|
+
throw new NotConnectedError();
|
|
682
|
+
this.#sendLine(withRc);
|
|
683
|
+
if (refused === 0)
|
|
684
|
+
onSent?.();
|
|
685
|
+
const result = await Promise.race([answered, givenUp]);
|
|
686
|
+
// Refused as flooding with a time to wait, which the command can
|
|
687
|
+
// afford: nothing is sent until then, and the command, which the
|
|
688
|
+
// server did not run, goes out again.
|
|
689
|
+
const wait = result.err ? floodRetryDelayMs(result.err) : undefined;
|
|
690
|
+
const hold = wait === undefined ? undefined : floodHoldMs(wait);
|
|
691
|
+
if (hold !== undefined &&
|
|
692
|
+
!goodbye &&
|
|
693
|
+
refused < FLOOD_RETRIES &&
|
|
694
|
+
hold < deadline - performance.now()) {
|
|
695
|
+
this.#logger.debug("the server asked for a pause", {
|
|
696
|
+
command: parsed?.name,
|
|
697
|
+
waitMs: wait,
|
|
698
|
+
});
|
|
699
|
+
this.#throttle.hold(hold);
|
|
700
|
+
this.#cmdTrack.unregister(rc);
|
|
701
|
+
[rc, answered] = this.#cmdTrack.register(spec, correlation, echo);
|
|
702
|
+
continue;
|
|
703
|
+
}
|
|
704
|
+
if (result.err)
|
|
705
|
+
throw result.err;
|
|
706
|
+
// The server took the rename, so it is what this client now asks for.
|
|
707
|
+
if (!internal && parsed?.name === "clientupdate") {
|
|
708
|
+
const renamed = parsed.params["client_nickname"];
|
|
709
|
+
if (renamed !== undefined)
|
|
710
|
+
this.#requestedNickname = renamed;
|
|
711
|
+
}
|
|
712
|
+
return result.data;
|
|
664
713
|
}
|
|
665
|
-
return result.data;
|
|
666
714
|
}
|
|
667
715
|
finally {
|
|
668
716
|
// A command given up while it waited for its turn gives the turn back.
|
|
@@ -882,8 +930,10 @@ export class Client {
|
|
|
882
930
|
this.#handler.sendGroupWhisperPacket(data, target.type, target.scope, id, codec);
|
|
883
931
|
}
|
|
884
932
|
/**
|
|
885
|
-
* Send one encoded audio frame to the channel this client is in.
|
|
886
|
-
*
|
|
933
|
+
* Send one encoded audio frame to the channel this client is in. An empty
|
|
934
|
+
* frame marks the end of speech: the server relays it, and listeners get a
|
|
935
|
+
* `voiceData` event with empty `data`. Throws a NotConnectedError unless the
|
|
936
|
+
* client is connected.
|
|
887
937
|
*/
|
|
888
938
|
sendVoice(data, codec, options) {
|
|
889
939
|
// Reserved: VoiceOptions has no fields to read yet.
|
|
@@ -923,7 +973,10 @@ export class Client {
|
|
|
923
973
|
// A privilege key is spent by the join that used it: a reconnection must
|
|
924
974
|
// not present it again.
|
|
925
975
|
if (this.#clientInitOptions.privilegeKey !== "") {
|
|
926
|
-
this.#clientInitOptions = {
|
|
976
|
+
this.#clientInitOptions = {
|
|
977
|
+
...this.#clientInitOptions,
|
|
978
|
+
privilegeKey: "",
|
|
979
|
+
};
|
|
927
980
|
}
|
|
928
981
|
// Settled before the hook runs, so that nothing it does can turn this
|
|
929
982
|
// attempt into a failed one; connect() resumes only after the hook returns.
|
|
@@ -1118,7 +1171,9 @@ export class Client {
|
|
|
1118
1171
|
if (this.#status !== ClientStatus.Connected) {
|
|
1119
1172
|
this.#failConnection(error instanceof HandshakeError
|
|
1120
1173
|
? error
|
|
1121
|
-
: new HandshakeError("the handshake failed on a malformed packet", {
|
|
1174
|
+
: new HandshakeError("the handshake failed on a malformed packet", {
|
|
1175
|
+
cause: error,
|
|
1176
|
+
}));
|
|
1122
1177
|
return;
|
|
1123
1178
|
}
|
|
1124
1179
|
this.#logger.debug("dropped a malformed packet", { error: String(error) });
|
|
@@ -1157,7 +1212,7 @@ export class Client {
|
|
|
1157
1212
|
}
|
|
1158
1213
|
return;
|
|
1159
1214
|
}
|
|
1160
|
-
if ((pType === 0 /* Voice */ || pType === 1) /* VoiceWhisper */ && p.data.length
|
|
1215
|
+
if ((pType === 0 /* Voice */ || pType === 1) /* VoiceWhisper */ && p.data.length >= 5) {
|
|
1161
1216
|
this.#handleVoicePacket(p.data);
|
|
1162
1217
|
return;
|
|
1163
1218
|
}
|
|
@@ -1168,6 +1223,12 @@ export class Client {
|
|
|
1168
1223
|
/**
|
|
1169
1224
|
* Parse an incoming S2C voice packet.
|
|
1170
1225
|
* Format: [VId: u16] [CId: u16] [Codec: u8] [Data: var]
|
|
1226
|
+
*
|
|
1227
|
+
* A packet with no data is how a speaker's last frame is followed: the
|
|
1228
|
+
* server relays the empty frame a client sends when it stops talking, and it
|
|
1229
|
+
* is delivered as an event with empty `data`. Measured on TeamSpeak 3 3.13.8
|
|
1230
|
+
* and TeamSpeak 6 6.0.0: the frames of `sendVoice` arrive as 45-byte packets
|
|
1231
|
+
* and an empty one as a 5-byte packet.
|
|
1171
1232
|
*/
|
|
1172
1233
|
#handleVoicePacket(payload) {
|
|
1173
1234
|
// Audio arrives fifty times a second per speaker; build no event nobody
|
|
@@ -1349,7 +1410,9 @@ export class Client {
|
|
|
1349
1410
|
#answerConnectionInfoRequest() {
|
|
1350
1411
|
const line = buildSetConnectionInfo(this.#handler.trafficSnapshot(), this.#handler.roundTrip);
|
|
1351
1412
|
this.#execNoWait(line, undefined, false).catch((error) => {
|
|
1352
|
-
this.#logger.debug("could not answer a connection info request", {
|
|
1413
|
+
this.#logger.debug("could not answer a connection info request", {
|
|
1414
|
+
error: String(error),
|
|
1415
|
+
});
|
|
1353
1416
|
});
|
|
1354
1417
|
}
|
|
1355
1418
|
#handleError(params) {
|
|
@@ -1442,17 +1505,29 @@ export class Client {
|
|
|
1442
1505
|
this.#emitServerEvent({ name: "clientUpdated", payload: result.event });
|
|
1443
1506
|
break;
|
|
1444
1507
|
case "clientServerGroupAdded":
|
|
1445
|
-
this.#emitServerEvent({
|
|
1508
|
+
this.#emitServerEvent({
|
|
1509
|
+
name: "clientServerGroupAdded",
|
|
1510
|
+
payload: result.event,
|
|
1511
|
+
});
|
|
1446
1512
|
break;
|
|
1447
1513
|
case "clientServerGroupRemoved":
|
|
1448
|
-
this.#emitServerEvent({
|
|
1514
|
+
this.#emitServerEvent({
|
|
1515
|
+
name: "clientServerGroupRemoved",
|
|
1516
|
+
payload: result.event,
|
|
1517
|
+
});
|
|
1449
1518
|
break;
|
|
1450
1519
|
case "clientChannelGroupChanged":
|
|
1451
|
-
this.#emitServerEvent({
|
|
1520
|
+
this.#emitServerEvent({
|
|
1521
|
+
name: "clientChannelGroupChanged",
|
|
1522
|
+
payload: result.event,
|
|
1523
|
+
});
|
|
1452
1524
|
break;
|
|
1453
1525
|
case "channelCreated":
|
|
1454
1526
|
this.#viewStore.applyCreated(result.event);
|
|
1455
|
-
this.#emitServerEvent({
|
|
1527
|
+
this.#emitServerEvent({
|
|
1528
|
+
name: "channelCreated",
|
|
1529
|
+
payload: result.event,
|
|
1530
|
+
});
|
|
1456
1531
|
break;
|
|
1457
1532
|
case "channelEdited":
|
|
1458
1533
|
this.#viewStore.applyEdited(result.event);
|
|
@@ -1472,31 +1547,49 @@ export class Client {
|
|
|
1472
1547
|
break;
|
|
1473
1548
|
}
|
|
1474
1549
|
case "channelDescriptionChanged":
|
|
1475
|
-
this.#emitServerEvent({
|
|
1550
|
+
this.#emitServerEvent({
|
|
1551
|
+
name: "channelDescriptionChanged",
|
|
1552
|
+
payload: result.event,
|
|
1553
|
+
});
|
|
1476
1554
|
break;
|
|
1477
1555
|
case "channelPasswordChanged":
|
|
1478
|
-
this.#emitServerEvent({
|
|
1556
|
+
this.#emitServerEvent({
|
|
1557
|
+
name: "channelPasswordChanged",
|
|
1558
|
+
payload: result.event,
|
|
1559
|
+
});
|
|
1479
1560
|
break;
|
|
1480
1561
|
case "serverEdited":
|
|
1481
1562
|
this.#viewStore.patchServer(result.event.changes);
|
|
1482
1563
|
this.#emitServerEvent({ name: "serverEdited", payload: result.event });
|
|
1483
1564
|
break;
|
|
1484
1565
|
case "channelSubscribed":
|
|
1485
|
-
this.#emitServerEvent({
|
|
1566
|
+
this.#emitServerEvent({
|
|
1567
|
+
name: "channelSubscribed",
|
|
1568
|
+
payload: result.event,
|
|
1569
|
+
});
|
|
1486
1570
|
break;
|
|
1487
1571
|
case "channelUnsubscribed":
|
|
1488
1572
|
// The server does not say the clients of the channel left.
|
|
1489
1573
|
this.#viewStore.dropChannel(result.event.channelID);
|
|
1490
|
-
this.#emitServerEvent({
|
|
1574
|
+
this.#emitServerEvent({
|
|
1575
|
+
name: "channelUnsubscribed",
|
|
1576
|
+
payload: result.event,
|
|
1577
|
+
});
|
|
1491
1578
|
break;
|
|
1492
1579
|
case "pluginCommand":
|
|
1493
1580
|
this.#emitServerEvent({ name: "pluginCommand", payload: result.event });
|
|
1494
1581
|
break;
|
|
1495
1582
|
case "clientChatComposing":
|
|
1496
|
-
this.#emitServerEvent({
|
|
1583
|
+
this.#emitServerEvent({
|
|
1584
|
+
name: "clientChatComposing",
|
|
1585
|
+
payload: result.event,
|
|
1586
|
+
});
|
|
1497
1587
|
break;
|
|
1498
1588
|
case "clientChatClosed":
|
|
1499
|
-
this.#emitServerEvent({
|
|
1589
|
+
this.#emitServerEvent({
|
|
1590
|
+
name: "clientChatClosed",
|
|
1591
|
+
payload: result.event,
|
|
1592
|
+
});
|
|
1500
1593
|
break;
|
|
1501
1594
|
case "poked":
|
|
1502
1595
|
this.#emitServerEvent({ name: "poked", payload: result.event });
|
|
@@ -1658,7 +1751,9 @@ export class Client {
|
|
|
1658
1751
|
retry = (options.shouldRetry ?? defaultShouldRetry)(err, attempt);
|
|
1659
1752
|
}
|
|
1660
1753
|
catch (error) {
|
|
1661
|
-
this.#logger.error("shouldRetry threw; not reconnecting", {
|
|
1754
|
+
this.#logger.error("shouldRetry threw; not reconnecting", {
|
|
1755
|
+
error: String(error),
|
|
1756
|
+
});
|
|
1662
1757
|
retry = false;
|
|
1663
1758
|
threw = true;
|
|
1664
1759
|
}
|
|
@@ -1715,7 +1810,9 @@ export class Client {
|
|
|
1715
1810
|
// Connected, or connecting, by hand during the wait: nothing is left to
|
|
1716
1811
|
// retry, and an attempt now would only fail with AlreadyConnectedError.
|
|
1717
1812
|
if (this.#status !== ClientStatus.Disconnected) {
|
|
1718
|
-
this.#logger.info("reconnect loop ended: connected by other means", {
|
|
1813
|
+
this.#logger.info("reconnect loop ended: connected by other means", {
|
|
1814
|
+
attempt,
|
|
1815
|
+
});
|
|
1719
1816
|
return;
|
|
1720
1817
|
}
|
|
1721
1818
|
try {
|
|
@@ -1741,13 +1838,18 @@ export class Client {
|
|
|
1741
1838
|
: new TeamspeakError(String(retryErr), { cause: retryErr });
|
|
1742
1839
|
}
|
|
1743
1840
|
}
|
|
1744
|
-
this.#logger.warn("reconnect attempts exhausted", {
|
|
1841
|
+
this.#logger.warn("reconnect attempts exhausted", {
|
|
1842
|
+
attempts: policy.maxAttempts,
|
|
1843
|
+
});
|
|
1745
1844
|
stoppedBy = { cause: err };
|
|
1746
1845
|
}
|
|
1747
1846
|
finally {
|
|
1748
1847
|
if (stoppedBy !== undefined) {
|
|
1749
1848
|
const { cause } = stoppedBy;
|
|
1750
|
-
this.#callHook(this.#trace?.reconnectStopped, () => ({
|
|
1849
|
+
this.#callHook(this.#trace?.reconnectStopped, () => ({
|
|
1850
|
+
attempts: made,
|
|
1851
|
+
cause,
|
|
1852
|
+
}));
|
|
1751
1853
|
}
|
|
1752
1854
|
this.#reconnecting = false;
|
|
1753
1855
|
this.#loopAttempt = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}
|