@matterbridge/core 3.7.5-dev-20260421-b7fd269 → 3.7.5-dev-20260423-1c2fcad
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/frontend.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export declare class Frontend extends EventEmitter<FrontendEvents> {
|
|
|
17
17
|
private listening;
|
|
18
18
|
storedPassword: string | undefined;
|
|
19
19
|
authClients: Set<string>;
|
|
20
|
+
authClientsTimeout: NodeJS.Timeout | undefined;
|
|
20
21
|
private expressApp;
|
|
21
22
|
private httpServer;
|
|
22
23
|
private httpsServer;
|
package/dist/frontend.js
CHANGED
|
@@ -27,6 +27,7 @@ export class Frontend extends EventEmitter {
|
|
|
27
27
|
listening = false;
|
|
28
28
|
storedPassword = undefined;
|
|
29
29
|
authClients = new Set();
|
|
30
|
+
authClientsTimeout = undefined;
|
|
30
31
|
expressApp;
|
|
31
32
|
httpServer;
|
|
32
33
|
httpsServer;
|
|
@@ -55,6 +56,8 @@ export class Frontend extends EventEmitter {
|
|
|
55
56
|
this.server.on('broadcast_message', this.broadcastMsgHandler.bind(this));
|
|
56
57
|
}
|
|
57
58
|
destroy() {
|
|
59
|
+
clearTimeout(this.authClientsTimeout);
|
|
60
|
+
this.authClientsTimeout = undefined;
|
|
58
61
|
this.server.off('broadcast_message', this.broadcastMsgHandler.bind(this));
|
|
59
62
|
this.server.close();
|
|
60
63
|
}
|
|
@@ -221,7 +224,9 @@ export class Frontend extends EventEmitter {
|
|
|
221
224
|
if (this.webSocketServer?.clients.size === 0) {
|
|
222
225
|
AnsiLogger.setGlobalCallback(undefined);
|
|
223
226
|
this.log.debug('All WebSocket clients disconnected. WebSocketServer logger global callback removed');
|
|
224
|
-
|
|
227
|
+
clearTimeout(this.authClientsTimeout);
|
|
228
|
+
this.authClientsTimeout = setTimeout(() => {
|
|
229
|
+
this.authClientsTimeout = undefined;
|
|
225
230
|
this.log.debug('All WebSocket clients disconnected. Auth clients list cleared');
|
|
226
231
|
if (this.webSocketServer?.clients.size === 0)
|
|
227
232
|
this.authClients.clear();
|
|
@@ -232,7 +232,7 @@ export async function destroyMatterbridgeEnvironment(cleanupPause = 10, destroyP
|
|
|
232
232
|
}
|
|
233
233
|
Matterbridge.instance = undefined;
|
|
234
234
|
}
|
|
235
|
-
export async function destroyInstance(matterbridge, cleanupPause = 10, destroyPause =
|
|
235
|
+
export async function destroyInstance(matterbridge, cleanupPause = 10, destroyPause = 10) {
|
|
236
236
|
await matterbridge.cleanup('destroying instance...', false, cleanupPause);
|
|
237
237
|
if (destroyPause > 0)
|
|
238
238
|
await flushAsync(undefined, undefined, destroyPause);
|
package/dist/matterNode.js
CHANGED
|
@@ -2,12 +2,12 @@ import '@matter/nodejs';
|
|
|
2
2
|
import EventEmitter from 'node:events';
|
|
3
3
|
import fs from 'node:fs';
|
|
4
4
|
import path from 'node:path';
|
|
5
|
-
import { Environment, LogFormat as MatterLogFormat, Logger, LogLevel as MatterLogLevel, StorageService, UINT16_MAX, UINT32_MAX, } from '@matter/general';
|
|
5
|
+
import { Crypto, Environment, LogFormat as MatterLogFormat, Logger, LogLevel as MatterLogLevel, StorageService, UINT16_MAX, UINT32_MAX, } from '@matter/general';
|
|
6
6
|
import { Endpoint, ServerNode } from '@matter/node';
|
|
7
7
|
import { BasicInformationServer } from '@matter/node/behaviors/basic-information';
|
|
8
8
|
import { BridgedDeviceBasicInformationServer } from '@matter/node/behaviors/bridged-device-basic-information';
|
|
9
9
|
import { AggregatorEndpoint } from '@matter/node/endpoints/aggregator';
|
|
10
|
-
import { MdnsService } from '@matter/protocol';
|
|
10
|
+
import { MdnsService, PaseClient } from '@matter/protocol';
|
|
11
11
|
import { DeviceTypeId, VendorId } from '@matter/types';
|
|
12
12
|
import { BroadcastServer } from '@matterbridge/thread/server';
|
|
13
13
|
import { dev, MATTER_LOGGER_FILE, MATTER_STORAGE_DIR, MATTERBRIDGE_LOGGER_FILE, NODE_STORAGE_DIR, plg } from '@matterbridge/types';
|
|
@@ -374,6 +374,14 @@ export class MatterNode extends EventEmitter {
|
|
|
374
374
|
}
|
|
375
375
|
const storeId = await this.matterStorageContext.get('storeId');
|
|
376
376
|
this.log.notice(`Creating server node for ${storeId} on port ${port} with passcode ${passcode} and discriminator ${discriminator}...`);
|
|
377
|
+
if (passcode < 0 || passcode > 99999999) {
|
|
378
|
+
this.log.warn(`Invalid passcode ${passcode} for server node ${storeId}. Passcode must be between 0 and 99999999. Generating a random passcode...`);
|
|
379
|
+
passcode = PaseClient.generateRandomPasscode(this.environment.get(Crypto));
|
|
380
|
+
}
|
|
381
|
+
if (discriminator < 0 || discriminator > 0xfff) {
|
|
382
|
+
this.log.warn(`Invalid discriminator ${discriminator} for server node ${storeId}. Discriminator must be between 0 and 4095 (0xFFF). Generating a random discriminator...`);
|
|
383
|
+
discriminator = PaseClient.generateRandomDiscriminator(this.environment.get(Crypto));
|
|
384
|
+
}
|
|
377
385
|
const serverNode = await ServerNode.create({
|
|
378
386
|
id: storeId,
|
|
379
387
|
environment: this.environment,
|
package/dist/matterbridge.js
CHANGED
|
@@ -1888,6 +1888,14 @@ export class Matterbridge extends EventEmitter {
|
|
|
1888
1888
|
this.log.debug(`- softwareVersionString: ${await storageContext.get('softwareVersionString')}`);
|
|
1889
1889
|
this.log.debug(`- hardwareVersion: ${await storageContext.get('hardwareVersion')}`);
|
|
1890
1890
|
this.log.debug(`- hardwareVersionString: ${await storageContext.get('hardwareVersionString')}`);
|
|
1891
|
+
if (passcode < 0 || passcode > 99999999) {
|
|
1892
|
+
this.log.warn(`Invalid passcode ${passcode} for server node ${storeId}. Passcode must be between 0 and 99999999. Generating a random passcode...`);
|
|
1893
|
+
passcode = PaseClient.generateRandomPasscode(this.environment.get(Crypto));
|
|
1894
|
+
}
|
|
1895
|
+
if (discriminator < 0 || discriminator > 0xFFF) {
|
|
1896
|
+
this.log.warn(`Invalid discriminator ${discriminator} for server node ${storeId}. Discriminator must be between 0 and 4095 (0xFFF). Generating a random discriminator...`);
|
|
1897
|
+
discriminator = PaseClient.generateRandomDiscriminator(this.environment.get(Crypto));
|
|
1898
|
+
}
|
|
1891
1899
|
const serverNode = await ServerNode.create({
|
|
1892
1900
|
id: storeId,
|
|
1893
1901
|
environment: this.environment,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matterbridge/core",
|
|
3
|
-
"version": "3.7.5-dev-
|
|
3
|
+
"version": "3.7.5-dev-20260423-1c2fcad",
|
|
4
4
|
"description": "Matterbridge core library",
|
|
5
5
|
"author": "https://github.com/Luligu",
|
|
6
6
|
"homepage": "https://matterbridge.io/",
|
|
@@ -130,10 +130,10 @@
|
|
|
130
130
|
],
|
|
131
131
|
"dependencies": {
|
|
132
132
|
"@matter/main": "0.16.11",
|
|
133
|
-
"@matterbridge/dgram": "3.7.5-dev-
|
|
134
|
-
"@matterbridge/thread": "3.7.5-dev-
|
|
135
|
-
"@matterbridge/types": "3.7.5-dev-
|
|
136
|
-
"@matterbridge/utils": "3.7.5-dev-
|
|
133
|
+
"@matterbridge/dgram": "3.7.5-dev-20260423-1c2fcad",
|
|
134
|
+
"@matterbridge/thread": "3.7.5-dev-20260423-1c2fcad",
|
|
135
|
+
"@matterbridge/types": "3.7.5-dev-20260423-1c2fcad",
|
|
136
|
+
"@matterbridge/utils": "3.7.5-dev-20260423-1c2fcad",
|
|
137
137
|
"escape-html": "1.0.3",
|
|
138
138
|
"express": "5.2.1",
|
|
139
139
|
"express-rate-limit": "8.3.2",
|