@darkgl/waxpeer 1.8.11 → 1.8.12

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.
@@ -14,6 +14,8 @@ export declare class TradeWebsocket extends TypedEmitter<MessageEvents> {
14
14
  private ws;
15
15
  private tries;
16
16
  private int;
17
+ private lastPong;
18
+ private connectionId;
17
19
  constructor(apiKey: string, steamid: string, tradelink: string, localAddress: string);
18
20
  connectWss(): Promise<void>;
19
21
  }
@@ -16,6 +16,8 @@ export class TradeWebsocket extends TypedEmitter {
16
16
  ws = null;
17
17
  tries = 0;
18
18
  int = null;
19
+ lastPong = Date.now();
20
+ connectionId = 0;
19
21
  constructor(apiKey, steamid, tradelink, localAddress) {
20
22
  super();
21
23
  this.apiKey = apiKey;
@@ -25,10 +27,11 @@ export class TradeWebsocket extends TypedEmitter {
25
27
  this.connectWss();
26
28
  }
27
29
  async connectWss() {
30
+ this.connectionId++;
31
+ const currentId = this.connectionId;
28
32
  if (this.ws && this.ws.readyState !== readyStatesMap.CLOSED) {
29
33
  this.ws.terminate();
30
34
  }
31
- const t = (this.tries + 1) * 1e3;
32
35
  const httpsAgent = new https.Agent({
33
36
  keepAlive: true,
34
37
  ...(this.localAddress ? { localAddress: this.localAddress } : {}),
@@ -38,19 +41,30 @@ export class TradeWebsocket extends TypedEmitter {
38
41
  agent: httpsAgent,
39
42
  });
40
43
  this.ws.on('error', (e) => {
41
- console.log('TradeWebsocket error', e);
44
+ console.log('TradeWebsocket error', this.steamid, e);
45
+ this.ws?.terminate();
42
46
  });
43
47
  this.ws.on('close', (e) => {
48
+ if (this.int) {
49
+ clearInterval(this.int);
50
+ this.int = null;
51
+ }
52
+ if (currentId !== this.connectionId) {
53
+ return;
54
+ }
44
55
  this.tries += 1;
45
- console.log('TradeWebsocket closed', this.steamid);
56
+ const delay = Math.min(this.tries * 1000, 30000);
57
+ console.log('TradeWebsocket closed', this.steamid, 'reconnecting in', delay);
46
58
  setTimeout(() => {
47
- if (this.steamid && this.apiKey && this.ws?.readyState !== readyStatesMap.OPEN) {
48
- return this.connectWss();
59
+ if (this.steamid && this.apiKey) {
60
+ this.connectWss();
49
61
  }
50
- }, t);
62
+ }, delay);
51
63
  });
52
64
  this.ws.on('open', () => {
53
65
  console.log('TradeWebsocket opened', this.steamid);
66
+ this.tries = 0;
67
+ this.lastPong = Date.now();
54
68
  if (!this.ws) {
55
69
  return;
56
70
  }
@@ -76,6 +90,11 @@ export class TradeWebsocket extends TypedEmitter {
76
90
  identity_secret: true,
77
91
  }));
78
92
  this.int = setInterval(() => {
93
+ if (Date.now() - this.lastPong > 60000) {
94
+ console.log('TradeWebsocket no pong received, reconnecting', this.steamid);
95
+ this.ws?.terminate();
96
+ return;
97
+ }
79
98
  if (this.ws && this.ws.readyState === readyStatesMap.OPEN)
80
99
  this.ws.send(pingPayload);
81
100
  }, 25000);
@@ -85,6 +104,7 @@ export class TradeWebsocket extends TypedEmitter {
85
104
  const msg = JSON.parse(e.toString());
86
105
  switch (msg.name) {
87
106
  case 'pong':
107
+ this.lastPong = Date.now();
88
108
  return;
89
109
  case 'send-trade':
90
110
  this.emit('send-trade', msg.data);
@@ -1 +1 @@
1
- {"version":3,"file":"tradeSocket.js","sourceRoot":"","sources":["../../src/Sockets/tradeSocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tradeSocket.js","sourceRoot":"","sources":["../../src/Sockets/tradeSocket.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@darkgl/waxpeer",
3
- "version": "1.8.11",
3
+ "version": "1.8.12",
4
4
  "description": "Waxpeer API wrapper",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",