matterbridge 3.0.1-dev-20250503-71b796a → 3.0.1-dev-20250503-aa33494
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/CHANGELOG.md +1 -0
- package/dist/frontend.js +54 -17
- package/dist/matterbridge.js +2 -0
- package/npm-shrinkwrap.json +6 -6
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -26,6 +26,7 @@ It is also available the official Matterbridge Home Assistant plugin https://git
|
|
|
26
26
|
|
|
27
27
|
### Changed
|
|
28
28
|
|
|
29
|
+
- [package]: Updated dependencies.
|
|
29
30
|
- [docker]: Updated the [Docker configurations](README-DOCKER.md).
|
|
30
31
|
- [frontend]: Changing configuration for a plugin now only lock configuration on that plugin.
|
|
31
32
|
|
package/dist/frontend.js
CHANGED
|
@@ -364,16 +364,6 @@ export class Frontend {
|
|
|
364
364
|
}
|
|
365
365
|
});
|
|
366
366
|
});
|
|
367
|
-
this.expressApp.get('/api/download-mjstorage', async (req, res) => {
|
|
368
|
-
this.log.debug('The frontend sent /api/download-mjstorage');
|
|
369
|
-
await createZip(path.join(os.tmpdir(), `matterbridge.${this.matterbridge.matterStorageName}.zip`), path.join(this.matterbridge.matterbridgeDirectory, this.matterbridge.matterStorageName));
|
|
370
|
-
res.download(path.join(os.tmpdir(), `matterbridge.${this.matterbridge.matterStorageName}.zip`), `matterbridge.${this.matterbridge.matterStorageName}.zip`, (error) => {
|
|
371
|
-
if (error) {
|
|
372
|
-
this.log.error(`Error downloading the matter storage matterbridge.${this.matterbridge.matterStorageName}.zip: ${error instanceof Error ? error.message : error}`);
|
|
373
|
-
res.status(500).send('Error downloading the matter storage zip file');
|
|
374
|
-
}
|
|
375
|
-
});
|
|
376
|
-
});
|
|
377
367
|
this.expressApp.get('/api/download-mbstorage', async (req, res) => {
|
|
378
368
|
this.log.debug('The frontend sent /api/download-mbstorage');
|
|
379
369
|
await createZip(path.join(os.tmpdir(), `matterbridge.${this.matterbridge.nodeStorageName}.zip`), path.join(this.matterbridge.matterbridgeDirectory, this.matterbridge.nodeStorageName));
|
|
@@ -384,6 +374,16 @@ export class Frontend {
|
|
|
384
374
|
}
|
|
385
375
|
});
|
|
386
376
|
});
|
|
377
|
+
this.expressApp.get('/api/download-mjstorage', async (req, res) => {
|
|
378
|
+
this.log.debug('The frontend sent /api/download-mjstorage');
|
|
379
|
+
await createZip(path.join(os.tmpdir(), `matterbridge.${this.matterbridge.matterStorageName}.zip`), path.join(this.matterbridge.matterbridgeDirectory, this.matterbridge.matterStorageName));
|
|
380
|
+
res.download(path.join(os.tmpdir(), `matterbridge.${this.matterbridge.matterStorageName}.zip`), `matterbridge.${this.matterbridge.matterStorageName}.zip`, (error) => {
|
|
381
|
+
if (error) {
|
|
382
|
+
this.log.error(`Error downloading the matter storage matterbridge.${this.matterbridge.matterStorageName}.zip: ${error instanceof Error ? error.message : error}`);
|
|
383
|
+
res.status(500).send('Error downloading the matter storage zip file');
|
|
384
|
+
}
|
|
385
|
+
});
|
|
386
|
+
});
|
|
387
387
|
this.expressApp.get('/api/download-pluginstorage', async (req, res) => {
|
|
388
388
|
this.log.debug('The frontend sent /api/download-pluginstorage');
|
|
389
389
|
await createZip(path.join(os.tmpdir(), `matterbridge.pluginstorage.zip`), this.matterbridge.matterbridgePluginDirectory);
|
|
@@ -909,6 +909,7 @@ export class Frontend {
|
|
|
909
909
|
this.wssSendSnackbarMessage(`Removed plugin ${data.params.pluginName}`, 5, 'success');
|
|
910
910
|
this.wssSendRefreshRequired('plugins');
|
|
911
911
|
this.wssSendRefreshRequired('devices');
|
|
912
|
+
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, success: true }));
|
|
912
913
|
}
|
|
913
914
|
else if (data.method === '/api/enableplugin') {
|
|
914
915
|
if (!isValidString(data.params.pluginName, 10) || !this.matterbridge.plugins.has(data.params.pluginName)) {
|
|
@@ -933,6 +934,7 @@ export class Frontend {
|
|
|
933
934
|
this.wssSendSnackbarMessage(`Started plugin ${data.params.pluginName}`, 5, 'success');
|
|
934
935
|
});
|
|
935
936
|
}
|
|
937
|
+
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, success: true }));
|
|
936
938
|
}
|
|
937
939
|
else if (data.method === '/api/disableplugin') {
|
|
938
940
|
if (!isValidString(data.params.pluginName, 10) || !this.matterbridge.plugins.has(data.params.pluginName)) {
|
|
@@ -945,6 +947,7 @@ export class Frontend {
|
|
|
945
947
|
this.wssSendSnackbarMessage(`Disabled plugin ${data.params.pluginName}`, 5, 'success');
|
|
946
948
|
this.wssSendRefreshRequired('plugins');
|
|
947
949
|
this.wssSendRefreshRequired('devices');
|
|
950
|
+
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, success: true }));
|
|
948
951
|
}
|
|
949
952
|
else if (data.method === '/api/savepluginconfig') {
|
|
950
953
|
if (!isValidString(data.params.pluginName, 10) || !this.matterbridge.plugins.has(data.params.pluginName)) {
|
|
@@ -965,44 +968,54 @@ export class Frontend {
|
|
|
965
968
|
this.wssSendSnackbarMessage(`Saved config for plugin ${data.params.pluginName}`);
|
|
966
969
|
this.wssSendRefreshRequired('plugins');
|
|
967
970
|
this.wssSendRestartRequired();
|
|
971
|
+
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, success: true }));
|
|
968
972
|
}
|
|
969
973
|
}
|
|
970
974
|
else if (data.method === '/api/shellysysupdate') {
|
|
971
975
|
const { triggerShellySysUpdate } = await import('./shelly.js');
|
|
972
976
|
triggerShellySysUpdate(this.matterbridge);
|
|
977
|
+
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, success: true }));
|
|
973
978
|
}
|
|
974
979
|
else if (data.method === '/api/shellymainupdate') {
|
|
975
980
|
const { triggerShellyMainUpdate } = await import('./shelly.js');
|
|
976
981
|
triggerShellyMainUpdate(this.matterbridge);
|
|
982
|
+
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, success: true }));
|
|
977
983
|
}
|
|
978
984
|
else if (data.method === '/api/shellycreatesystemlog') {
|
|
979
985
|
const { createShellySystemLog } = await import('./shelly.js');
|
|
980
986
|
createShellySystemLog(this.matterbridge);
|
|
987
|
+
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, success: true }));
|
|
981
988
|
}
|
|
982
989
|
else if (data.method === '/api/shellynetconfig') {
|
|
983
990
|
this.log.debug('/api/shellynetconfig:', data.params);
|
|
984
991
|
const { triggerShellyChangeIp: triggerShellyChangeNet } = await import('./shelly.js');
|
|
985
992
|
triggerShellyChangeNet(this.matterbridge, data.params);
|
|
993
|
+
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, success: true }));
|
|
986
994
|
}
|
|
987
995
|
else if (data.method === '/api/softreset') {
|
|
988
996
|
const { triggerShellySoftReset } = await import('./shelly.js');
|
|
989
997
|
triggerShellySoftReset(this.matterbridge);
|
|
998
|
+
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, success: true }));
|
|
990
999
|
}
|
|
991
1000
|
else if (data.method === '/api/hardreset') {
|
|
992
1001
|
const { triggerShellyHardReset } = await import('./shelly.js');
|
|
993
1002
|
triggerShellyHardReset(this.matterbridge);
|
|
1003
|
+
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, success: true }));
|
|
994
1004
|
}
|
|
995
1005
|
else if (data.method === '/api/reboot') {
|
|
996
1006
|
const { triggerShellyReboot } = await import('./shelly.js');
|
|
997
1007
|
triggerShellyReboot(this.matterbridge);
|
|
1008
|
+
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, success: true }));
|
|
998
1009
|
}
|
|
999
1010
|
else if (data.method === '/api/restart') {
|
|
1000
1011
|
this.wssSendSnackbarMessage(`Restarting matterbridge...`, 0);
|
|
1001
1012
|
await this.matterbridge.restartProcess();
|
|
1013
|
+
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, success: true }));
|
|
1002
1014
|
}
|
|
1003
1015
|
else if (data.method === '/api/shutdown') {
|
|
1004
1016
|
this.wssSendSnackbarMessage(`Shutting down matterbridge...`, 0);
|
|
1005
1017
|
await this.matterbridge.shutdownProcess();
|
|
1018
|
+
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, success: true }));
|
|
1006
1019
|
}
|
|
1007
1020
|
else if (data.method === '/api/create-backup') {
|
|
1008
1021
|
this.wssSendSnackbarMessage('Creating backup...', 0);
|
|
@@ -1011,19 +1024,23 @@ export class Frontend {
|
|
|
1011
1024
|
this.log.notice(`Backup ready to be downloaded.`);
|
|
1012
1025
|
this.wssSendCloseSnackbarMessage('Creating backup...');
|
|
1013
1026
|
this.wssSendSnackbarMessage('Backup ready to be downloaded', 10);
|
|
1027
|
+
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, success: true }));
|
|
1014
1028
|
}
|
|
1015
1029
|
else if (data.method === '/api/unregister') {
|
|
1016
1030
|
this.wssSendSnackbarMessage('Unregistering all bridged devices...', 0);
|
|
1017
1031
|
await this.matterbridge.unregisterAndShutdownProcess();
|
|
1018
1032
|
this.wssSendCloseSnackbarMessage('Unregistering all bridged devices...');
|
|
1033
|
+
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, success: true }));
|
|
1019
1034
|
}
|
|
1020
1035
|
else if (data.method === '/api/reset') {
|
|
1021
1036
|
this.wssSendSnackbarMessage('Resetting matterbridge commissioning...', 10);
|
|
1022
1037
|
await this.matterbridge.shutdownProcessAndReset();
|
|
1038
|
+
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, success: true }));
|
|
1023
1039
|
}
|
|
1024
1040
|
else if (data.method === '/api/factoryreset') {
|
|
1025
1041
|
this.wssSendSnackbarMessage('Factory reset of matterbridge...', 10);
|
|
1026
1042
|
await this.matterbridge.shutdownProcessAndFactoryReset();
|
|
1043
|
+
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, success: true }));
|
|
1027
1044
|
}
|
|
1028
1045
|
else if (data.method === '/api/advertise') {
|
|
1029
1046
|
const pairingCodes = await this.matterbridge.advertiseServerNode(this.matterbridge.serverNode);
|
|
@@ -1039,7 +1056,7 @@ export class Frontend {
|
|
|
1039
1056
|
this.matterbridge.matterbridgeInformation.matterbridgeAdvertise = false;
|
|
1040
1057
|
this.wssSendRefreshRequired('matterbridgeAdvertise');
|
|
1041
1058
|
this.wssSendSnackbarMessage(`Stopped fabrics share`, 0);
|
|
1042
|
-
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src }));
|
|
1059
|
+
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, success: true }));
|
|
1043
1060
|
}
|
|
1044
1061
|
else if (data.method === '/api/settings') {
|
|
1045
1062
|
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, response: await this.getApiSettings() }));
|
|
@@ -1195,8 +1212,14 @@ export class Frontend {
|
|
|
1195
1212
|
return;
|
|
1196
1213
|
}
|
|
1197
1214
|
this.log.notice(`Action ${CYAN}${data.params.action}${nt}${data.params.value ? ' with ' + CYAN + data.params.value + nt : ''} for plugin ${CYAN}${plugin.name}${nt}`);
|
|
1198
|
-
plugin.platform
|
|
1215
|
+
plugin.platform
|
|
1216
|
+
?.onAction(data.params.action, data.params.value, data.params.id, data.params.formData)
|
|
1217
|
+
.then(() => {
|
|
1218
|
+
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, success: true }));
|
|
1219
|
+
})
|
|
1220
|
+
.catch((error) => {
|
|
1199
1221
|
this.log.error(`Error in plugin ${plugin.name} action ${data.params.action}: ${error}`);
|
|
1222
|
+
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, error: `Error in plugin ${plugin.name} action ${data.params.action}: ${error}` }));
|
|
1200
1223
|
});
|
|
1201
1224
|
}
|
|
1202
1225
|
else if (data.method === '/api/config') {
|
|
@@ -1205,17 +1228,18 @@ export class Frontend {
|
|
|
1205
1228
|
return;
|
|
1206
1229
|
}
|
|
1207
1230
|
this.log.debug(`Received /api/config name ${CYAN}${data.params.name}${db} value ${CYAN}${data.params.value}${db}`);
|
|
1208
|
-
this.log.fatal(`Received /api/config name ${CYAN}${data.params.name}${db} value(${typeof data.params.value}) ${CYAN}${data.params.value}${db}`);
|
|
1209
1231
|
switch (data.params.name) {
|
|
1210
1232
|
case 'setpassword':
|
|
1211
1233
|
if (isValidString(data.params.value)) {
|
|
1212
1234
|
await this.matterbridge.nodeContext?.set('password', data.params.value);
|
|
1235
|
+
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, success: true }));
|
|
1213
1236
|
}
|
|
1214
1237
|
break;
|
|
1215
1238
|
case 'setbridgemode':
|
|
1216
|
-
if (isValidString(data.params.value,
|
|
1239
|
+
if (isValidString(data.params.value) && ['bridge', 'childbridge'].includes(data.params.value)) {
|
|
1217
1240
|
await this.matterbridge.nodeContext?.set('bridgeMode', data.params.value);
|
|
1218
1241
|
this.wssSendRestartRequired();
|
|
1242
|
+
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, success: true }));
|
|
1219
1243
|
}
|
|
1220
1244
|
break;
|
|
1221
1245
|
case 'setmbloglevel':
|
|
@@ -1240,6 +1264,7 @@ export class Frontend {
|
|
|
1240
1264
|
await this.matterbridge.setLogLevel("fatal");
|
|
1241
1265
|
}
|
|
1242
1266
|
await this.matterbridge.nodeContext?.set('matterbridgeLogLevel', this.log.logLevel);
|
|
1267
|
+
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, success: true }));
|
|
1243
1268
|
}
|
|
1244
1269
|
break;
|
|
1245
1270
|
case 'setmblogfile':
|
|
@@ -1251,6 +1276,7 @@ export class Frontend {
|
|
|
1251
1276
|
AnsiLogger.setGlobalLogfile(path.join(this.matterbridge.matterbridgeDirectory, this.matterbridge.matterbrideLoggerFile), this.matterbridge.matterbridgeInformation.loggerLevel, true);
|
|
1252
1277
|
else
|
|
1253
1278
|
AnsiLogger.setGlobalLogfile(undefined);
|
|
1279
|
+
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, success: true }));
|
|
1254
1280
|
}
|
|
1255
1281
|
break;
|
|
1256
1282
|
case 'setmjloglevel':
|
|
@@ -1276,6 +1302,7 @@ export class Frontend {
|
|
|
1276
1302
|
}
|
|
1277
1303
|
this.matterbridge.matterbridgeInformation.matterLoggerLevel = Logger.level;
|
|
1278
1304
|
await this.matterbridge.nodeContext?.set('matterLogLevel', Logger.level);
|
|
1305
|
+
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, success: true }));
|
|
1279
1306
|
}
|
|
1280
1307
|
break;
|
|
1281
1308
|
case 'setmjlogfile':
|
|
@@ -1302,6 +1329,7 @@ export class Frontend {
|
|
|
1302
1329
|
this.log.debug(`Error removing the matterfilelogger for file ${CYAN}${path.join(this.matterbridge.matterbridgeDirectory, this.matterbridge.matterLoggerFile)}${er}: ${error instanceof Error ? error.message : error}`);
|
|
1303
1330
|
}
|
|
1304
1331
|
}
|
|
1332
|
+
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, success: true }));
|
|
1305
1333
|
}
|
|
1306
1334
|
break;
|
|
1307
1335
|
case 'setmdnsinterface':
|
|
@@ -1311,6 +1339,7 @@ export class Frontend {
|
|
|
1311
1339
|
this.matterbridge.matterbridgeInformation.mattermdnsinterface = this.matterbridge.mdnsInterface;
|
|
1312
1340
|
await this.matterbridge.nodeContext?.set('mattermdnsinterface', data.params.value);
|
|
1313
1341
|
this.wssSendRestartRequired();
|
|
1342
|
+
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, success: true }));
|
|
1314
1343
|
}
|
|
1315
1344
|
break;
|
|
1316
1345
|
case 'setipv4address':
|
|
@@ -1320,6 +1349,7 @@ export class Frontend {
|
|
|
1320
1349
|
this.matterbridge.matterbridgeInformation.matteripv4address = this.matterbridge.ipv4address;
|
|
1321
1350
|
await this.matterbridge.nodeContext?.set('matteripv4address', data.params.value);
|
|
1322
1351
|
this.wssSendRestartRequired();
|
|
1352
|
+
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, success: true }));
|
|
1323
1353
|
}
|
|
1324
1354
|
break;
|
|
1325
1355
|
case 'setipv6address':
|
|
@@ -1329,6 +1359,7 @@ export class Frontend {
|
|
|
1329
1359
|
this.matterbridge.matterbridgeInformation.matteripv6address = this.matterbridge.ipv6address;
|
|
1330
1360
|
await this.matterbridge.nodeContext?.set('matteripv6address', data.params.value);
|
|
1331
1361
|
this.wssSendRestartRequired();
|
|
1362
|
+
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, success: true }));
|
|
1332
1363
|
}
|
|
1333
1364
|
break;
|
|
1334
1365
|
case 'setmatterport':
|
|
@@ -1340,11 +1371,12 @@ export class Frontend {
|
|
|
1340
1371
|
this.wssSendRestartRequired();
|
|
1341
1372
|
}
|
|
1342
1373
|
else {
|
|
1343
|
-
this.log.debug(`Reset matter commissioning port to ${CYAN}
|
|
1344
|
-
this.matterbridge.matterbridgeInformation.matterPort =
|
|
1345
|
-
await this.matterbridge.nodeContext?.set('matterport',
|
|
1374
|
+
this.log.debug(`Reset matter commissioning port to ${CYAN}5540${db}`);
|
|
1375
|
+
this.matterbridge.matterbridgeInformation.matterPort = 5540;
|
|
1376
|
+
await this.matterbridge.nodeContext?.set('matterport', 5540);
|
|
1346
1377
|
this.wssSendRestartRequired();
|
|
1347
1378
|
}
|
|
1379
|
+
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, success: true }));
|
|
1348
1380
|
break;
|
|
1349
1381
|
case 'setmatterdiscriminator':
|
|
1350
1382
|
data.params.value = isValidString(data.params.value) ? parseInt(data.params.value) : 0;
|
|
@@ -1360,6 +1392,7 @@ export class Frontend {
|
|
|
1360
1392
|
await this.matterbridge.nodeContext?.remove('matterdiscriminator');
|
|
1361
1393
|
this.wssSendRestartRequired();
|
|
1362
1394
|
}
|
|
1395
|
+
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, success: true }));
|
|
1363
1396
|
break;
|
|
1364
1397
|
case 'setmatterpasscode':
|
|
1365
1398
|
data.params.value = isValidString(data.params.value) ? parseInt(data.params.value) : 0;
|
|
@@ -1375,7 +1408,11 @@ export class Frontend {
|
|
|
1375
1408
|
await this.matterbridge.nodeContext?.remove('matterpasscode');
|
|
1376
1409
|
this.wssSendRestartRequired();
|
|
1377
1410
|
}
|
|
1411
|
+
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, success: true }));
|
|
1378
1412
|
break;
|
|
1413
|
+
default:
|
|
1414
|
+
this.log.warn(`Unknown parameter ${data.params.name} in /api/config`);
|
|
1415
|
+
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, error: `Unknown parameter ${data.params.name} in /api/config` }));
|
|
1379
1416
|
}
|
|
1380
1417
|
}
|
|
1381
1418
|
else if (data.method === '/api/command') {
|
package/dist/matterbridge.js
CHANGED
|
@@ -1018,6 +1018,7 @@ export class Matterbridge extends EventEmitter {
|
|
|
1018
1018
|
}
|
|
1019
1019
|
async cleanup(message, restart = false) {
|
|
1020
1020
|
if (this.initialized && !this.hasCleanupStarted) {
|
|
1021
|
+
this.emit('cleanup_started');
|
|
1021
1022
|
this.hasCleanupStarted = true;
|
|
1022
1023
|
this.log.info(message);
|
|
1023
1024
|
if (this.startMatterInterval) {
|
|
@@ -1171,6 +1172,7 @@ export class Matterbridge extends EventEmitter {
|
|
|
1171
1172
|
}
|
|
1172
1173
|
this.hasCleanupStarted = false;
|
|
1173
1174
|
this.initialized = false;
|
|
1175
|
+
this.emit('cleanup_completed');
|
|
1174
1176
|
}
|
|
1175
1177
|
else {
|
|
1176
1178
|
this.log.debug('Cleanup already started...');
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "matterbridge",
|
|
3
|
-
"version": "3.0.1-dev-20250503-
|
|
3
|
+
"version": "3.0.1-dev-20250503-aa33494",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "matterbridge",
|
|
9
|
-
"version": "3.0.1-dev-20250503-
|
|
9
|
+
"version": "3.0.1-dev-20250503-aa33494",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@matter/main": "0.13.0",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"multer": "1.4.5-lts.2",
|
|
17
17
|
"node-ansi-logger": "3.0.1",
|
|
18
18
|
"node-persist-manager": "1.0.8",
|
|
19
|
-
"ws": "8.18.
|
|
19
|
+
"ws": "8.18.2"
|
|
20
20
|
},
|
|
21
21
|
"bin": {
|
|
22
22
|
"matterbridge": "dist/cli.js"
|
|
@@ -2135,9 +2135,9 @@
|
|
|
2135
2135
|
"license": "ISC"
|
|
2136
2136
|
},
|
|
2137
2137
|
"node_modules/ws": {
|
|
2138
|
-
"version": "8.18.
|
|
2139
|
-
"resolved": "https://registry.npmjs.org/ws/-/ws-8.18.
|
|
2140
|
-
"integrity": "sha512-
|
|
2138
|
+
"version": "8.18.2",
|
|
2139
|
+
"resolved": "https://registry.npmjs.org/ws/-/ws-8.18.2.tgz",
|
|
2140
|
+
"integrity": "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==",
|
|
2141
2141
|
"license": "MIT",
|
|
2142
2142
|
"engines": {
|
|
2143
2143
|
"node": ">=10.0.0"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "matterbridge",
|
|
3
|
-
"version": "3.0.1-dev-20250503-
|
|
3
|
+
"version": "3.0.1-dev-20250503-aa33494",
|
|
4
4
|
"description": "Matterbridge plugin manager for Matter",
|
|
5
5
|
"author": "https://github.com/Luligu",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -101,6 +101,6 @@
|
|
|
101
101
|
"multer": "1.4.5-lts.2",
|
|
102
102
|
"node-ansi-logger": "3.0.1",
|
|
103
103
|
"node-persist-manager": "1.0.8",
|
|
104
|
-
"ws": "8.18.
|
|
104
|
+
"ws": "8.18.2"
|
|
105
105
|
}
|
|
106
106
|
}
|