@wireapp/api-client 27.87.0 → 27.87.1
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/lib/APIClient.d.ts +1 -0
- package/lib/APIClient.d.ts.map +1 -1
- package/lib/APIClient.js +9 -1
- package/lib/asset/AssetAPI.d.ts +6 -6
- package/lib/asset/AssetAPI.schema.d.ts +9 -9
- package/lib/asset/AssetAPI.schema.js +3 -3
- package/lib/auth/CookieStore.d.ts.map +1 -1
- package/lib/auth/CookieStore.js +1 -1
- package/lib/services/ServicesAPI.d.ts +3 -3
- package/lib/tcp/ReconnectingWebsocket.d.ts +14 -0
- package/lib/tcp/ReconnectingWebsocket.d.ts.map +1 -1
- package/lib/tcp/ReconnectingWebsocket.js +24 -1
- package/lib/team/feature/FeatureList.schema.d.ts +20 -20
- package/lib/team/feature/FeatureList.schema.js +1 -1
- package/package.json +2 -2
package/lib/APIClient.d.ts
CHANGED
|
@@ -100,6 +100,7 @@ export declare class APIClient extends EventEmitter {
|
|
|
100
100
|
};
|
|
101
101
|
config: Config;
|
|
102
102
|
backendFeatures: BackendFeatures;
|
|
103
|
+
private cookieRefreshListener?;
|
|
103
104
|
static BACKEND: {
|
|
104
105
|
PRODUCTION: import("./env/Backend").BackendData;
|
|
105
106
|
STAGING: import("./env/Backend").BackendData;
|
package/lib/APIClient.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"APIClient.d.ts","sourceRoot":"","sources":["../src/APIClient.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AAIpC,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAClC,OAAO,EACL,eAAe,EAEf,OAAO,EACP,OAAO,EACP,MAAM,EACN,iBAAiB,EACjB,SAAS,EAET,YAAY,EACb,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAC,YAAY,EAAC,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAC,SAAS,EAAE,UAAU,EAAC,MAAM,WAAW,CAAC;AAChD,OAAO,EAAC,MAAM,EAAsB,MAAM,UAAU,CAAC;AACrD,OAAO,EAAC,aAAa,EAAC,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAC;AACrC,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAClC,OAAO,EAAe,UAAU,EAAC,MAAM,SAAS,CAAC;AACjD,OAAO,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAC,OAAO,EAAC,MAAM,SAAS,CAAC;AAChC,OAAO,EAAC,kBAAkB,EAAC,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AACvC,OAAO,EAAC,SAAS,EAAE,eAAe,EAAC,MAAM,QAAQ,CAAC;AAClD,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,UAAU,EACV,UAAU,EACV,UAAU,EACV,OAAO,EACP,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAC,OAAO,EAAC,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAC,aAAa,EAAC,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAC,MAAM,EAAC,MAAM,YAAY,CAAC;AAClC,OAAO,EAAC,OAAO,EAAC,MAAM,SAAS,CAAC;AAChC,OAAO,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAI3C,aAAK,KAAK;IACR,oBAAoB,yCAAyC;IAC7D,cAAc,mCAAmC;IACjD,4CAA4C;IAC5C,SAAS,8BAA8B;CACxC;AAMD,MAAM,WAAW,SAAS;IACxB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,GAAG,IAAI,CAAC;IAE/E,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAE3E,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,oBAAoB,EAAE,QAAQ,EAAE,CAAC,WAAW,EAAE,eAAe,KAAK,IAAI,GAAG,IAAI,CAAC;CAC/F;AAED,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,UAAU,CAAC;IACpB,KAAK,EAAE,QAAQ,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,YAAY,CAAC;IACxB,KAAK,EAAE,QAAQ,CAAC;IAChB,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,EAAE,aAAa,CAAC;IAC1B,YAAY,EAAE,eAAe,CAAC;IAC9B,KAAK,EAAE,QAAQ,CAAC;IAChB,YAAY,EAAE,eAAe,CAAC;IAC9B,KAAK,EAAE,QAAQ,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,WAAW,CAAC;IACtB,eAAe,EAAE,kBAAkB,CAAC;IACpC,KAAK,EAAE;QACL,YAAY,EAAE,mBAAmB,CAAC;QAClC,OAAO,EAAE,UAAU,CAAC;QACpB,gBAAgB,EAAE,mBAAmB,CAAC;QACtC,UAAU,EAAE,iBAAiB,CAAC;QAC9B,SAAS,EAAE,YAAY,CAAC;QACxB,MAAM,EAAE,SAAS,CAAC;QAClB,OAAO,EAAE,UAAU,CAAC;QACpB,OAAO,EAAE,UAAU,CAAC;QACpB,IAAI,EAAE,OAAO,CAAC;QACd,MAAM,EAAE,aAAa,CAAC;QACtB,OAAO,EAAE,UAAU,CAAC;QACpB,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,OAAO,CAAC;KACf,CAAC;IACF,SAAS,EAAE,YAAY,CAAC;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,UAAU,CAAC;CACrB,CAAC;AAEF,sGAAsG;AACtG,MAAM,MAAM,eAAe,GAAG;IAC5B,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,mBAAmB,EAAE,OAAO,CAAC;IAC7B,iEAAiE;IACjE,WAAW,EAAE,OAAO,CAAC;IACrB,gDAAgD;IAChD,WAAW,EAAE,OAAO,CAAC;IACrB,sEAAsE;IACtE,8BAA8B,EAAE,OAAO,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,qBAAa,SAAU,SAAQ,YAAY;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IAGjC,GAAG,EAAE,IAAI,CAAC;IACjB,OAAO,CAAC,QAAQ,CAAyB;IAGzC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE;QAAC,IAAI,EAAE,UAAU,CAAC;QAAC,EAAE,EAAE,eAAe,CAAA;KAAC,CAAC;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"APIClient.d.ts","sourceRoot":"","sources":["../src/APIClient.ts"],"names":[],"mappings":"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"}
|
package/lib/APIClient.js
CHANGED
|
@@ -71,6 +71,8 @@ class APIClient extends events_1.EventEmitter {
|
|
|
71
71
|
transport;
|
|
72
72
|
config;
|
|
73
73
|
backendFeatures;
|
|
74
|
+
// Store reference to cookie listener for cleanup
|
|
75
|
+
cookieRefreshListener;
|
|
74
76
|
static BACKEND = env_1.Backend;
|
|
75
77
|
static TOPIC = TOPIC;
|
|
76
78
|
static VERSION = version;
|
|
@@ -79,7 +81,9 @@ class APIClient extends events_1.EventEmitter {
|
|
|
79
81
|
this.config = { ...defaultConfig, ...config };
|
|
80
82
|
this.accessTokenStore = new auth_1.AccessTokenStore();
|
|
81
83
|
this.accessTokenStore.on(auth_1.AccessTokenStore.TOPIC.ACCESS_TOKEN_REFRESH, (accessToken) => this.emit(APIClient.TOPIC.ACCESS_TOKEN_REFRESH, accessToken));
|
|
82
|
-
|
|
84
|
+
// Store the listener reference so we can remove it on disconnect
|
|
85
|
+
this.cookieRefreshListener = (cookie) => this.emit(APIClient.TOPIC.COOKIE_REFRESH, cookie);
|
|
86
|
+
CookieStore_1.CookieStore.emitter.on(CookieStore_1.CookieStore.TOPIC.COOKIE_REFRESH, this.cookieRefreshListener);
|
|
83
87
|
this.logger = commons_1.LogFactory.getLogger('@wireapp/api-client/Client');
|
|
84
88
|
const httpClient = new http_1.HttpClient(this.config, this.accessTokenStore);
|
|
85
89
|
const webSocket = new tcp_1.WebSocketClient(this.config.urls.ws, httpClient);
|
|
@@ -271,6 +275,10 @@ class APIClient extends events_1.EventEmitter {
|
|
|
271
275
|
}
|
|
272
276
|
disconnect(reason) {
|
|
273
277
|
this.transport.ws.disconnect(reason);
|
|
278
|
+
// Remove the cookie refresh listener to prevent memory leaks
|
|
279
|
+
if (this.cookieRefreshListener) {
|
|
280
|
+
CookieStore_1.CookieStore.emitter.off(CookieStore_1.CookieStore.TOPIC.COOKIE_REFRESH, this.cookieRefreshListener);
|
|
281
|
+
}
|
|
274
282
|
}
|
|
275
283
|
get clientId() {
|
|
276
284
|
return this.context?.clientId || undefined;
|
package/lib/asset/AssetAPI.d.ts
CHANGED
|
@@ -41,15 +41,15 @@ export declare class AssetAPI {
|
|
|
41
41
|
*/
|
|
42
42
|
postAsset(asset: Uint8Array, options?: AssetOptions, progressCallback?: ProgressCallback): RequestCancelable<{
|
|
43
43
|
key: string;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
domain: string;
|
|
45
|
+
token?: string | undefined;
|
|
46
|
+
expires?: string | undefined;
|
|
47
47
|
}>;
|
|
48
48
|
postServiceAsset(asset: Uint8Array, options?: AssetOptions, progressCallback?: ProgressCallback): RequestCancelable<{
|
|
49
49
|
key: string;
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
domain: string;
|
|
51
|
+
token?: string | undefined;
|
|
52
|
+
expires?: string | undefined;
|
|
53
53
|
}>;
|
|
54
54
|
}
|
|
55
55
|
//# sourceMappingURL=AssetAPI.d.ts.map
|
|
@@ -5,23 +5,23 @@ import { z } from 'zod';
|
|
|
5
5
|
*/
|
|
6
6
|
export declare const PostAssetsResponseSchema: z.ZodObject<{
|
|
7
7
|
/** Asset domain (example.com) */
|
|
8
|
-
domain: z.
|
|
8
|
+
domain: z.ZodString;
|
|
9
9
|
/** ISO 8601 formatted expiration date */
|
|
10
|
-
expires: z.ZodString
|
|
10
|
+
expires: z.ZodOptional<z.ZodString>;
|
|
11
11
|
/** Asset key (e.g., "3-1-47de4580-ae51-4650-acbb-d10c028cb0ac") */
|
|
12
12
|
key: z.ZodString;
|
|
13
13
|
/** Base64 encoded token (e.g., "aGVsbG8") */
|
|
14
|
-
token: z.ZodString
|
|
14
|
+
token: z.ZodOptional<z.ZodString>;
|
|
15
15
|
}, "strip", z.ZodTypeAny, {
|
|
16
16
|
key: string;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
domain: string;
|
|
18
|
+
token?: string | undefined;
|
|
19
|
+
expires?: string | undefined;
|
|
20
20
|
}, {
|
|
21
21
|
key: string;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
domain: string;
|
|
23
|
+
token?: string | undefined;
|
|
24
|
+
expires?: string | undefined;
|
|
25
25
|
}>;
|
|
26
26
|
export type AssetUploadData = z.infer<typeof PostAssetsResponseSchema>;
|
|
27
27
|
//# sourceMappingURL=AssetAPI.schema.d.ts.map
|
|
@@ -26,11 +26,11 @@ const zod_1 = require("zod");
|
|
|
26
26
|
*/
|
|
27
27
|
exports.PostAssetsResponseSchema = zod_1.z.object({
|
|
28
28
|
/** Asset domain (example.com) */
|
|
29
|
-
domain: zod_1.z.string().
|
|
29
|
+
domain: zod_1.z.string().min(1),
|
|
30
30
|
/** ISO 8601 formatted expiration date */
|
|
31
|
-
expires: zod_1.z.string().datetime(),
|
|
31
|
+
expires: zod_1.z.string().datetime().optional(),
|
|
32
32
|
/** Asset key (e.g., "3-1-47de4580-ae51-4650-acbb-d10c028cb0ac") */
|
|
33
33
|
key: zod_1.z.string().min(1),
|
|
34
34
|
/** Base64 encoded token (e.g., "aGVsbG8") */
|
|
35
|
-
token: zod_1.z.string().min(1),
|
|
35
|
+
token: zod_1.z.string().min(1).optional(),
|
|
36
36
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CookieStore.d.ts","sourceRoot":"","sources":["../../src/auth/CookieStore.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AAIpC,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAEhC,aAAK,KAAK;IACR,cAAc,qCAAqC;CACpD;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAS;IAC/B,OAAc,OAAO,
|
|
1
|
+
{"version":3,"file":"CookieStore.d.ts","sourceRoot":"","sources":["../../src/auth/CookieStore.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AAIpC,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAEhC,aAAK,KAAK;IACR,cAAc,qCAAqC;CACpD;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAS;IAC/B,OAAc,OAAO,wBAA0C;IAE/D,gBAAuB,KAAK,eAAS;IAErC,MAAM,CAAC,SAAS,IAAI,MAAM,GAAG,SAAS;IAItC,OAAO,CAAC,MAAM,CAAC,IAAI;IAMnB,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAKvC,MAAM,CAAC,YAAY,IAAI,IAAI;CAI5B"}
|
package/lib/auth/CookieStore.js
CHANGED
|
@@ -27,7 +27,7 @@ var TOPIC;
|
|
|
27
27
|
})(TOPIC || (TOPIC = {}));
|
|
28
28
|
class CookieStore {
|
|
29
29
|
static cookie;
|
|
30
|
-
static emitter = new events_1.EventEmitter();
|
|
30
|
+
static emitter = new events_1.EventEmitter().setMaxListeners(20);
|
|
31
31
|
static TOPIC = TOPIC;
|
|
32
32
|
static getCookie() {
|
|
33
33
|
return CookieStore.cookie;
|
|
@@ -65,9 +65,9 @@ export declare class ServicesAPI {
|
|
|
65
65
|
*/
|
|
66
66
|
postAsset(asset: Uint8Array, options?: AssetOptions, progressCallback?: ProgressCallback): import("../http").RequestCancelable<{
|
|
67
67
|
key: string;
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
68
|
+
domain: string;
|
|
69
|
+
token?: string | undefined;
|
|
70
|
+
expires?: string | undefined;
|
|
71
71
|
}>;
|
|
72
72
|
/**
|
|
73
73
|
* Download an asset.
|
|
@@ -27,6 +27,11 @@ export declare class ReconnectingWebsocket {
|
|
|
27
27
|
private onMessage?;
|
|
28
28
|
private onError?;
|
|
29
29
|
private onClose?;
|
|
30
|
+
/**
|
|
31
|
+
* Cleanup function returned by onBackFromSleep to stop the sleep detection interval.
|
|
32
|
+
* This prevents memory leaks by ensuring the interval is cleared when the WebSocket is disconnected.
|
|
33
|
+
*/
|
|
34
|
+
private readonly stopBackFromSleepHandler?;
|
|
30
35
|
private isPingingEnabled;
|
|
31
36
|
constructor(onReconnect: () => Promise<string>, options?: {
|
|
32
37
|
pingInterval?: number;
|
|
@@ -43,6 +48,15 @@ export declare class ReconnectingWebsocket {
|
|
|
43
48
|
send(message: any): void;
|
|
44
49
|
getState(): WEBSOCKET_STATE;
|
|
45
50
|
disconnect(reason?: string): void;
|
|
51
|
+
/**
|
|
52
|
+
* Cleans up all active intervals and timers to prevent memory leaks.
|
|
53
|
+
* This includes:
|
|
54
|
+
* - The ping interval (via stopPinging)
|
|
55
|
+
* - The sleep detection interval (via stopBackFromSleepHandler)
|
|
56
|
+
*
|
|
57
|
+
* This method should be called whenever the WebSocket connection is terminated.
|
|
58
|
+
*/
|
|
59
|
+
private cleanup;
|
|
46
60
|
private getReconnectingWebsocket;
|
|
47
61
|
setOnOpen(onOpen: (event: Event) => void): void;
|
|
48
62
|
setOnMessage(onMessage: (data: string) => void): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReconnectingWebsocket.d.ts","sourceRoot":"","sources":["../../src/tcp/ReconnectingWebsocket.ts"],"names":[],"mappings":"AAoBA,OAAY,EAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAU,MAAM,wBAAwB,CAAC;AAQnF,oBAAY,cAAc;IACxB,cAAc,OAAO;IACrB,UAAU,OAAO;IACjB,cAAc,OAAO;IACrB,gBAAgB,OAAO;CACxB;AAED,oBAAY,eAAe;IACzB,UAAU,IAAI;IACd,IAAI,IAAI;IACR,OAAO,IAAI;IACX,MAAM,IAAI;CACX;AAED,oBAAY,WAAW;IACrB,IAAI,SAAS;IACb,IAAI,SAAS;CACd;AAED,qBAAa,qBAAqB;
|
|
1
|
+
{"version":3,"file":"ReconnectingWebsocket.d.ts","sourceRoot":"","sources":["../../src/tcp/ReconnectingWebsocket.ts"],"names":[],"mappings":"AAoBA,OAAY,EAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAU,MAAM,wBAAwB,CAAC;AAQnF,oBAAY,cAAc;IACxB,cAAc,OAAO;IACrB,UAAU,OAAO;IACjB,cAAc,OAAO;IACrB,gBAAgB,OAAO;CACxB;AAED,oBAAY,eAAe;IACzB,UAAU,IAAI;IACd,IAAI,IAAI;IACR,OAAO,IAAI;IACX,MAAM,IAAI;CACX;AAED,oBAAY,WAAW;IACrB,IAAI,SAAS;IACb,IAAI,SAAS;CACd;AAED,qBAAa,qBAAqB;IA6B9B,OAAO,CAAC,QAAQ,CAAC,WAAW;IA5B9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAQ1C;IAEF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,MAAM,CAAC,CAAM;IACrB,OAAO,CAAC,QAAQ,CAAC,CAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqC;IACnE,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,MAAM,CAAC,CAAyB;IACxC,OAAO,CAAC,SAAS,CAAC,CAAyB;IAC3C,OAAO,CAAC,OAAO,CAAC,CAA8B;IAC9C,OAAO,CAAC,OAAO,CAAC,CAA8B;IAC9C;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAa;IAEvD,OAAO,CAAC,gBAAgB,CAAQ;gBAGb,WAAW,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EACnD,OAAO,GAAE;QACP,YAAY,CAAC,EAAE,MAAM,CAAC;KAClB;IA6BR,OAAO,CAAC,QAAQ,CAAC,eAAe,CAK9B;IAEF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAahC;IAEF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAQ7B;IAEF,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAQlC;IAEF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAM9B;IAEF,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAWvB;IAEK,OAAO,IAAI,IAAI;IAQf,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI;IAIxB,QAAQ,IAAI,eAAe;IAI3B,UAAU,CAAC,MAAM,SAAqB,GAAG,IAAI;IASpD;;;;;;;OAOG;IACH,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,wBAAwB;IAIzB,SAAS,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;IAI/C,YAAY,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIrD,UAAU,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI;IAItD,UAAU,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI;IAItD,cAAc,IAAI,IAAI;CAI9B"}
|
|
@@ -89,6 +89,11 @@ class ReconnectingWebsocket {
|
|
|
89
89
|
onMessage;
|
|
90
90
|
onError;
|
|
91
91
|
onClose;
|
|
92
|
+
/**
|
|
93
|
+
* Cleanup function returned by onBackFromSleep to stop the sleep detection interval.
|
|
94
|
+
* This prevents memory leaks by ensuring the interval is cleared when the WebSocket is disconnected.
|
|
95
|
+
*/
|
|
96
|
+
stopBackFromSleepHandler;
|
|
92
97
|
isPingingEnabled = true;
|
|
93
98
|
constructor(onReconnect, options = {}) {
|
|
94
99
|
this.onReconnect = onReconnect;
|
|
@@ -102,8 +107,11 @@ class ReconnectingWebsocket {
|
|
|
102
107
|
* We won't receive the 'offline' event when the system goes to sleep (e.g. closing the lid of a laptop).
|
|
103
108
|
* In this case navigator.onLine will still return true, but the WebSocket connection could be closed.
|
|
104
109
|
* To handle this, we need a custom approach to detect when the system goes to sleep and when it wakes up.
|
|
110
|
+
*
|
|
111
|
+
* IMPORTANT: Store the cleanup function returned by onBackFromSleep. This function clears
|
|
112
|
+
* the internal setInterval and must be called when disconnecting to prevent memory leaks.
|
|
105
113
|
* **/
|
|
106
|
-
(0, BackFromSleepHandler_1.onBackFromSleep)({
|
|
114
|
+
this.stopBackFromSleepHandler = (0, BackFromSleepHandler_1.onBackFromSleep)({
|
|
107
115
|
callback: () => {
|
|
108
116
|
if (this.socket) {
|
|
109
117
|
this.logger.debug('Back from sleep, reconnecting WebSocket');
|
|
@@ -194,6 +202,21 @@ class ReconnectingWebsocket {
|
|
|
194
202
|
this.logger.info(`Disconnecting from WebSocket (reason: "${reason}")`);
|
|
195
203
|
this.socket.close(CloseEventCode.NORMAL_CLOSURE, reason);
|
|
196
204
|
}
|
|
205
|
+
// Always cleanup resources even if socket doesn't exist
|
|
206
|
+
this.cleanup();
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Cleans up all active intervals and timers to prevent memory leaks.
|
|
210
|
+
* This includes:
|
|
211
|
+
* - The ping interval (via stopPinging)
|
|
212
|
+
* - The sleep detection interval (via stopBackFromSleepHandler)
|
|
213
|
+
*
|
|
214
|
+
* This method should be called whenever the WebSocket connection is terminated.
|
|
215
|
+
*/
|
|
216
|
+
cleanup() {
|
|
217
|
+
this.stopPinging();
|
|
218
|
+
// Clear the sleep detection interval if it exists
|
|
219
|
+
this.stopBackFromSleepHandler?.();
|
|
197
220
|
}
|
|
198
221
|
getReconnectingWebsocket() {
|
|
199
222
|
return new reconnecting_websocket_1.default(this.internalOnReconnect, undefined, ReconnectingWebsocket.RECONNECTING_OPTIONS);
|
|
@@ -168,23 +168,23 @@ declare const enforceFileDownloadLocationFeatureSchema: z.ZodOptional<z.ZodObjec
|
|
|
168
168
|
ttl: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"unlimited">, z.ZodNumber]>>;
|
|
169
169
|
}, {
|
|
170
170
|
config: z.ZodObject<{
|
|
171
|
-
enforcedDownloadLocation: z.ZodString
|
|
171
|
+
enforcedDownloadLocation: z.ZodOptional<z.ZodString>;
|
|
172
172
|
}, "strip", z.ZodTypeAny, {
|
|
173
|
-
enforcedDownloadLocation
|
|
173
|
+
enforcedDownloadLocation?: string | undefined;
|
|
174
174
|
}, {
|
|
175
|
-
enforcedDownloadLocation
|
|
175
|
+
enforcedDownloadLocation?: string | undefined;
|
|
176
176
|
}>;
|
|
177
177
|
}>, "strip", z.ZodTypeAny, {
|
|
178
178
|
status: FEATURE_STATUS;
|
|
179
179
|
config: {
|
|
180
|
-
enforcedDownloadLocation
|
|
180
|
+
enforcedDownloadLocation?: string | undefined;
|
|
181
181
|
};
|
|
182
182
|
lockStatus?: FEATURE_LOCK_STATUS | undefined;
|
|
183
183
|
ttl?: number | "unlimited" | undefined;
|
|
184
184
|
}, {
|
|
185
185
|
status: FEATURE_STATUS;
|
|
186
186
|
config: {
|
|
187
|
-
enforcedDownloadLocation
|
|
187
|
+
enforcedDownloadLocation?: string | undefined;
|
|
188
188
|
};
|
|
189
189
|
lockStatus?: FEATURE_LOCK_STATUS | undefined;
|
|
190
190
|
ttl?: number | "unlimited" | undefined;
|
|
@@ -611,23 +611,23 @@ export declare const allFeaturesResponseSchema: z.ZodObject<{
|
|
|
611
611
|
ttl: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"unlimited">, z.ZodNumber]>>;
|
|
612
612
|
}, {
|
|
613
613
|
config: z.ZodObject<{
|
|
614
|
-
enforcedDownloadLocation: z.ZodString
|
|
614
|
+
enforcedDownloadLocation: z.ZodOptional<z.ZodString>;
|
|
615
615
|
}, "strip", z.ZodTypeAny, {
|
|
616
|
-
enforcedDownloadLocation
|
|
616
|
+
enforcedDownloadLocation?: string | undefined;
|
|
617
617
|
}, {
|
|
618
|
-
enforcedDownloadLocation
|
|
618
|
+
enforcedDownloadLocation?: string | undefined;
|
|
619
619
|
}>;
|
|
620
620
|
}>, "strip", z.ZodTypeAny, {
|
|
621
621
|
status: FEATURE_STATUS;
|
|
622
622
|
config: {
|
|
623
|
-
enforcedDownloadLocation
|
|
623
|
+
enforcedDownloadLocation?: string | undefined;
|
|
624
624
|
};
|
|
625
625
|
lockStatus?: FEATURE_LOCK_STATUS | undefined;
|
|
626
626
|
ttl?: number | "unlimited" | undefined;
|
|
627
627
|
}, {
|
|
628
628
|
status: FEATURE_STATUS;
|
|
629
629
|
config: {
|
|
630
|
-
enforcedDownloadLocation
|
|
630
|
+
enforcedDownloadLocation?: string | undefined;
|
|
631
631
|
};
|
|
632
632
|
lockStatus?: FEATURE_LOCK_STATUS | undefined;
|
|
633
633
|
ttl?: number | "unlimited" | undefined;
|
|
@@ -1205,23 +1205,23 @@ export declare const allFeaturesResponseSchema: z.ZodObject<{
|
|
|
1205
1205
|
ttl: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"unlimited">, z.ZodNumber]>>;
|
|
1206
1206
|
}, {
|
|
1207
1207
|
config: z.ZodObject<{
|
|
1208
|
-
enforcedDownloadLocation: z.ZodString
|
|
1208
|
+
enforcedDownloadLocation: z.ZodOptional<z.ZodString>;
|
|
1209
1209
|
}, "strip", z.ZodTypeAny, {
|
|
1210
|
-
enforcedDownloadLocation
|
|
1210
|
+
enforcedDownloadLocation?: string | undefined;
|
|
1211
1211
|
}, {
|
|
1212
|
-
enforcedDownloadLocation
|
|
1212
|
+
enforcedDownloadLocation?: string | undefined;
|
|
1213
1213
|
}>;
|
|
1214
1214
|
}>, "strip", z.ZodTypeAny, {
|
|
1215
1215
|
status: FEATURE_STATUS;
|
|
1216
1216
|
config: {
|
|
1217
|
-
enforcedDownloadLocation
|
|
1217
|
+
enforcedDownloadLocation?: string | undefined;
|
|
1218
1218
|
};
|
|
1219
1219
|
lockStatus?: FEATURE_LOCK_STATUS | undefined;
|
|
1220
1220
|
ttl?: number | "unlimited" | undefined;
|
|
1221
1221
|
}, {
|
|
1222
1222
|
status: FEATURE_STATUS;
|
|
1223
1223
|
config: {
|
|
1224
|
-
enforcedDownloadLocation
|
|
1224
|
+
enforcedDownloadLocation?: string | undefined;
|
|
1225
1225
|
};
|
|
1226
1226
|
lockStatus?: FEATURE_LOCK_STATUS | undefined;
|
|
1227
1227
|
ttl?: number | "unlimited" | undefined;
|
|
@@ -1799,23 +1799,23 @@ export declare const allFeaturesResponseSchema: z.ZodObject<{
|
|
|
1799
1799
|
ttl: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"unlimited">, z.ZodNumber]>>;
|
|
1800
1800
|
}, {
|
|
1801
1801
|
config: z.ZodObject<{
|
|
1802
|
-
enforcedDownloadLocation: z.ZodString
|
|
1802
|
+
enforcedDownloadLocation: z.ZodOptional<z.ZodString>;
|
|
1803
1803
|
}, "strip", z.ZodTypeAny, {
|
|
1804
|
-
enforcedDownloadLocation
|
|
1804
|
+
enforcedDownloadLocation?: string | undefined;
|
|
1805
1805
|
}, {
|
|
1806
|
-
enforcedDownloadLocation
|
|
1806
|
+
enforcedDownloadLocation?: string | undefined;
|
|
1807
1807
|
}>;
|
|
1808
1808
|
}>, "strip", z.ZodTypeAny, {
|
|
1809
1809
|
status: FEATURE_STATUS;
|
|
1810
1810
|
config: {
|
|
1811
|
-
enforcedDownloadLocation
|
|
1811
|
+
enforcedDownloadLocation?: string | undefined;
|
|
1812
1812
|
};
|
|
1813
1813
|
lockStatus?: FEATURE_LOCK_STATUS | undefined;
|
|
1814
1814
|
ttl?: number | "unlimited" | undefined;
|
|
1815
1815
|
}, {
|
|
1816
1816
|
status: FEATURE_STATUS;
|
|
1817
1817
|
config: {
|
|
1818
|
-
enforcedDownloadLocation
|
|
1818
|
+
enforcedDownloadLocation?: string | undefined;
|
|
1819
1819
|
};
|
|
1820
1820
|
lockStatus?: FEATURE_LOCK_STATUS | undefined;
|
|
1821
1821
|
ttl?: number | "unlimited" | undefined;
|
|
@@ -70,7 +70,7 @@ const selfDeletingMessagesConfigSchema = zod_1.z.object({
|
|
|
70
70
|
enforcedTimeoutSeconds: zod_1.z.number(),
|
|
71
71
|
});
|
|
72
72
|
const enforceFileDownloadLocationConfigSchema = zod_1.z.object({
|
|
73
|
-
enforcedDownloadLocation: zod_1.z.string(),
|
|
73
|
+
enforcedDownloadLocation: zod_1.z.string().optional(),
|
|
74
74
|
});
|
|
75
75
|
const classifiedDomainsConfigSchema = zod_1.z.object({
|
|
76
76
|
domains: zod_1.z.array(zod_1.z.string()),
|
package/package.json
CHANGED