matterbridge 3.4.3-dev-20251207-3ce5a0e → 3.4.3-dev-20251208-0c8a552
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 +2 -1
- package/README.md +10 -0
- package/dist/matterbridge.js +12 -0
- package/frontend/build/assets/index.js +4 -4
- package/frontend/build/assets/vendor_mui.js +7 -7
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -33,6 +33,7 @@ Advantages:
|
|
|
33
33
|
### Added
|
|
34
34
|
|
|
35
35
|
- [frontend]: Added homepage icon and link to https://matterbridge.io/.
|
|
36
|
+
- [matterbridge]: Added more frontend messages on start when a plugin is in error state. It is more clear when the bridge will not start for plugin errors.
|
|
36
37
|
|
|
37
38
|
### Changed
|
|
38
39
|
|
|
@@ -43,7 +44,7 @@ Advantages:
|
|
|
43
44
|
- [frontend]: Changed changelog link to https://matterbridge.io/CHANGELOG.html.
|
|
44
45
|
- [frontend]: Changed changelog icon to HistoryOutlinedIcon.
|
|
45
46
|
- [frontend]: Removed column Url from Devices panel in the Home page. It is available on the Devices page.
|
|
46
|
-
- [frontend]: Mobile mode starts below 1200 x 900 and is fully responsive till a width of
|
|
47
|
+
- [frontend]: Mobile mode starts below 1200 x 900 and is fully resizable and responsive till a width of 360 pixel.
|
|
47
48
|
|
|
48
49
|
### Fixed
|
|
49
50
|
|
package/README.md
CHANGED
|
@@ -499,6 +499,16 @@ Then, from the dots menu in the frontend, download the `matterbridge.log` and `m
|
|
|
499
499
|
|
|
500
500
|
Don't forget to unselect the debug mode when is no more needed. The network traffic and cpu usage is very high in debug mode.
|
|
501
501
|
|
|
502
|
+
## Race condition on start / restart
|
|
503
|
+
|
|
504
|
+
We have a race condition when, after a blackout or with docker compose or with other systems that start more then one process, Matterbridge starts before other required system or network components.
|
|
505
|
+
|
|
506
|
+
Race condition can cause missing configuration or missed devices on the controller side. All Matterbridge official plugins already wait for system and network components to be ready so there is no need of delay.
|
|
507
|
+
|
|
508
|
+
To solve the race condition on blackout, use the --delay parameter. There is no delay on normal restart cause the delay is applied only in the first 5 minutes from system reboot.
|
|
509
|
+
|
|
510
|
+
To solve the race condition on docker compose, use the --fixed_delay parameter. The start will always be delayed.
|
|
511
|
+
|
|
502
512
|
# Known general issues
|
|
503
513
|
|
|
504
514
|
## Session XYZ does not exist or Cannot find a session for ID XYZ
|
package/dist/matterbridge.js
CHANGED
|
@@ -1149,6 +1149,10 @@ export class Matterbridge extends EventEmitter {
|
|
|
1149
1149
|
this.log.debug('Starting start matter interval in bridge mode...');
|
|
1150
1150
|
let failCount = 0;
|
|
1151
1151
|
this.startMatterInterval = setInterval(async () => {
|
|
1152
|
+
if (failCount && failCount % 10 === 0) {
|
|
1153
|
+
this.frontend.wssSendSnackbarMessage(`The bridge is still starting...`, 10, 'info');
|
|
1154
|
+
this.frontend.wssSendRefreshRequired('plugins');
|
|
1155
|
+
}
|
|
1152
1156
|
for (const plugin of this.plugins) {
|
|
1153
1157
|
if (!plugin.enabled)
|
|
1154
1158
|
continue;
|
|
@@ -1160,6 +1164,8 @@ export class Matterbridge extends EventEmitter {
|
|
|
1160
1164
|
this.log.error('The bridge will not start until the problem is solved to prevent the controllers from deleting all registered devices.');
|
|
1161
1165
|
this.log.error('If you want to start the bridge disable the plugin in error state and restart.');
|
|
1162
1166
|
this.frontend.wssSendSnackbarMessage(`The plugin ${plugin.name} is in error state. Check the logs.`, 0, 'error');
|
|
1167
|
+
this.frontend.wssSendSnackbarMessage(`The bridge is offline. Startup halted due to plugin errors.`, 0, 'error');
|
|
1168
|
+
this.frontend.wssSendRefreshRequired('plugins');
|
|
1163
1169
|
return;
|
|
1164
1170
|
}
|
|
1165
1171
|
if (!plugin.loaded || !plugin.started) {
|
|
@@ -1225,6 +1231,10 @@ export class Matterbridge extends EventEmitter {
|
|
|
1225
1231
|
this.log.debug('Starting start matter interval in childbridge mode...');
|
|
1226
1232
|
let failCount = 0;
|
|
1227
1233
|
this.startMatterInterval = setInterval(async () => {
|
|
1234
|
+
if (failCount && failCount % 10 === 0) {
|
|
1235
|
+
this.frontend.wssSendSnackbarMessage(`The bridge is still starting...`, 10, 'info');
|
|
1236
|
+
this.frontend.wssSendRefreshRequired('plugins');
|
|
1237
|
+
}
|
|
1228
1238
|
let allStarted = true;
|
|
1229
1239
|
for (const plugin of this.plugins.array()) {
|
|
1230
1240
|
if (!plugin.enabled)
|
|
@@ -1237,6 +1247,8 @@ export class Matterbridge extends EventEmitter {
|
|
|
1237
1247
|
this.log.error('The bridge will not start until the problem is solved to prevent the controllers from deleting all registered devices.');
|
|
1238
1248
|
this.log.error('If you want to start the bridge disable the plugin in error state and restart.');
|
|
1239
1249
|
this.frontend.wssSendSnackbarMessage(`The plugin ${plugin.name} is in error state. Check the logs.`, 0, 'error');
|
|
1250
|
+
this.frontend.wssSendSnackbarMessage(`The bridge is offline. Startup halted due to plugin errors.`, 0, 'error');
|
|
1251
|
+
this.frontend.wssSendRefreshRequired('plugins');
|
|
1240
1252
|
return;
|
|
1241
1253
|
}
|
|
1242
1254
|
this.log.debug(`Checking plugin ${plg}${plugin.name}${db} to start matter in childbridge mode...`);
|