matterbridge 3.1.8-dev-20250726-82f77ee → 3.1.8-dev-20250727-c823a89
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 +5 -1
- package/dist/frontend.js +14 -8
- package/dist/matterbridge.js +3 -2
- package/dist/update.js +3 -3
- package/frontend/build/asset-manifest.json +3 -3
- package/frontend/build/index.html +1 -1
- package/frontend/build/static/js/{main.87739fe8.js → main.4611e8da.js} +3 -3
- package/frontend/build/static/js/{main.87739fe8.js.map → main.4611e8da.js.map} +1 -1
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
- /package/frontend/build/static/js/{main.87739fe8.js.LICENSE.txt → main.4611e8da.js.LICENSE.txt} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -14,11 +14,14 @@ If you like this project and find it useful, please consider giving it a star on
|
|
|
14
14
|
|
|
15
15
|
- [Jest]: Total coverage 100%.
|
|
16
16
|
- [certification]: Improved certification management in pairing.json. Added pemToBuffer function for converting PEM strings to Uint8Array.
|
|
17
|
+
- [certification]: Improved certification management in pairing.json. Added extractPrivateKeyRaw function for extrating the raw part of PEM private key to Uint8Array.
|
|
17
18
|
- [workflow]: Update permissions and change GitHub token for Docker build triggers.
|
|
18
19
|
- [frontend]: Improved test units on Frontend class (total coverage 100%).
|
|
19
20
|
- [frontend]: Bump version 2.7.1.
|
|
20
|
-
- [frontend]: Added Changelog button that appears in the frontend when a new version is installed.
|
|
21
|
+
- [frontend]: Added Changelog button that appears in the frontend when a new version is installed and the frontend needs to be updated (page refresh).
|
|
21
22
|
- [frontend]: Added restart plugin in childbridge mode.
|
|
23
|
+
- [frontend]: Added update to stable and update to dev banner. The update to dev pops up only if you are on the dev.
|
|
24
|
+
- [frontend]: Added new menu item for manual update check.
|
|
22
25
|
|
|
23
26
|
### Changed
|
|
24
27
|
|
|
@@ -27,6 +30,7 @@ If you like this project and find it useful, please consider giving it a star on
|
|
|
27
30
|
### Fixed
|
|
28
31
|
|
|
29
32
|
- [switch]: Added conditional handling for momentary switch events in MatterbridgeEndpoint for single press only switches.
|
|
33
|
+
- [advertise]: Changed the message advertise stopped to work also in childbridge mode.
|
|
30
34
|
|
|
31
35
|
<a href="https://www.buymeacoffee.com/luligugithub">
|
|
32
36
|
<img src="bmc-button.svg" alt="Buy me a coffee" width="80">
|
package/dist/frontend.js
CHANGED
|
@@ -969,9 +969,9 @@ export class Frontend extends EventEmitter {
|
|
|
969
969
|
});
|
|
970
970
|
}
|
|
971
971
|
else {
|
|
972
|
-
this.
|
|
972
|
+
this.matterbridge.matterbridgeInformation.fixedRestartRequired = true;
|
|
973
973
|
this.wssSendRefreshRequired('plugins');
|
|
974
|
-
this.wssSendRestartRequired();
|
|
974
|
+
this.wssSendRestartRequired(true, true);
|
|
975
975
|
}
|
|
976
976
|
return;
|
|
977
977
|
})
|
|
@@ -979,13 +979,13 @@ export class Frontend extends EventEmitter {
|
|
|
979
979
|
});
|
|
980
980
|
}
|
|
981
981
|
else {
|
|
982
|
+
this.matterbridge.matterbridgeInformation.fixedRestartRequired = true;
|
|
982
983
|
if (this.matterbridge.restartMode !== '') {
|
|
983
984
|
this.wssSendSnackbarMessage(`Restarting matterbridge...`, 0);
|
|
984
985
|
this.matterbridge.shutdownProcess();
|
|
985
986
|
}
|
|
986
987
|
else {
|
|
987
|
-
this.
|
|
988
|
-
this.wssSendRestartRequired();
|
|
988
|
+
this.wssSendRestartRequired(true, true);
|
|
989
989
|
}
|
|
990
990
|
}
|
|
991
991
|
return;
|
|
@@ -1165,6 +1165,11 @@ export class Frontend extends EventEmitter {
|
|
|
1165
1165
|
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, success: true }));
|
|
1166
1166
|
}
|
|
1167
1167
|
}
|
|
1168
|
+
else if (data.method === '/api/checkupdates') {
|
|
1169
|
+
const { checkUpdates } = await import('./update.js');
|
|
1170
|
+
checkUpdates(this.matterbridge);
|
|
1171
|
+
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, success: true }));
|
|
1172
|
+
}
|
|
1168
1173
|
else if (data.method === '/api/shellysysupdate') {
|
|
1169
1174
|
const { triggerShellySysUpdate } = await import('./shelly.js');
|
|
1170
1175
|
triggerShellySysUpdate(this.matterbridge);
|
|
@@ -1685,14 +1690,15 @@ export class Frontend extends EventEmitter {
|
|
|
1685
1690
|
}
|
|
1686
1691
|
});
|
|
1687
1692
|
}
|
|
1688
|
-
wssSendRestartRequired(snackbar = true) {
|
|
1693
|
+
wssSendRestartRequired(snackbar = true, fixed = false) {
|
|
1689
1694
|
this.log.debug('Sending a restart required message to all connected clients');
|
|
1690
1695
|
this.matterbridge.matterbridgeInformation.restartRequired = true;
|
|
1696
|
+
this.matterbridge.matterbridgeInformation.fixedRestartRequired = fixed;
|
|
1691
1697
|
if (snackbar === true)
|
|
1692
1698
|
this.wssSendSnackbarMessage(`Restart required`, 0);
|
|
1693
1699
|
this.webSocketServer?.clients.forEach((client) => {
|
|
1694
1700
|
if (client.readyState === WebSocket.OPEN) {
|
|
1695
|
-
client.send(JSON.stringify({ id: WS_ID_RESTART_NEEDED, src: 'Matterbridge', dst: 'Frontend', method: 'restart_required', params: {} }));
|
|
1701
|
+
client.send(JSON.stringify({ id: WS_ID_RESTART_NEEDED, src: 'Matterbridge', dst: 'Frontend', method: 'restart_required', params: { fixed } }));
|
|
1696
1702
|
}
|
|
1697
1703
|
});
|
|
1698
1704
|
}
|
|
@@ -1707,12 +1713,12 @@ export class Frontend extends EventEmitter {
|
|
|
1707
1713
|
}
|
|
1708
1714
|
});
|
|
1709
1715
|
}
|
|
1710
|
-
wssSendUpdateRequired() {
|
|
1716
|
+
wssSendUpdateRequired(devVersion = false) {
|
|
1711
1717
|
this.log.debug('Sending an update required message to all connected clients');
|
|
1712
1718
|
this.matterbridge.matterbridgeInformation.updateRequired = true;
|
|
1713
1719
|
this.webSocketServer?.clients.forEach((client) => {
|
|
1714
1720
|
if (client.readyState === WebSocket.OPEN) {
|
|
1715
|
-
client.send(JSON.stringify({ id: WS_ID_UPDATE_NEEDED, src: 'Matterbridge', dst: 'Frontend', method: 'update_required', params: {} }));
|
|
1721
|
+
client.send(JSON.stringify({ id: WS_ID_UPDATE_NEEDED, src: 'Matterbridge', dst: 'Frontend', method: devVersion ? 'update_required_dev' : 'update_required', params: {} }));
|
|
1716
1722
|
}
|
|
1717
1723
|
});
|
|
1718
1724
|
}
|
package/dist/matterbridge.js
CHANGED
|
@@ -78,6 +78,7 @@ export class Matterbridge extends EventEmitter {
|
|
|
78
78
|
matterDiscriminator: undefined,
|
|
79
79
|
matterPasscode: undefined,
|
|
80
80
|
restartRequired: false,
|
|
81
|
+
fixedRestartRequired: false,
|
|
81
82
|
updateRequired: false,
|
|
82
83
|
};
|
|
83
84
|
homeDirectory = '';
|
|
@@ -1587,8 +1588,8 @@ export class Matterbridge extends EventEmitter {
|
|
|
1587
1588
|
this.frontend.wssSendRefreshRequired('settings');
|
|
1588
1589
|
this.frontend.wssSendRefreshRequired('fabrics');
|
|
1589
1590
|
this.frontend.wssSendRefreshRequired('sessions');
|
|
1590
|
-
this.frontend.wssSendSnackbarMessage(`Advertising
|
|
1591
|
-
this.log.notice(`Advertising
|
|
1591
|
+
this.frontend.wssSendSnackbarMessage(`Advertising stopped. Restart to commission again.`, 0);
|
|
1592
|
+
this.log.notice(`Advertising stopped. Restart to commission again.`);
|
|
1592
1593
|
}, 15 * 60 * 1000).unref();
|
|
1593
1594
|
}
|
|
1594
1595
|
async startServerNode(matterServerNode) {
|
package/dist/update.js
CHANGED
|
@@ -47,12 +47,12 @@ export async function getMatterbridgeDevVersion(matterbridge) {
|
|
|
47
47
|
matterbridge.matterbridgeDevVersion = version;
|
|
48
48
|
matterbridge.matterbridgeInformation.matterbridgeDevVersion = version;
|
|
49
49
|
await matterbridge.nodeContext?.set('matterbridgeDevVersion', version);
|
|
50
|
-
if (matterbridge.matterbridgeVersion.includes('-dev
|
|
50
|
+
if (matterbridge.matterbridgeVersion.includes('-dev-') && matterbridge.matterbridgeVersion !== version) {
|
|
51
51
|
matterbridge.log.notice(`Matterbridge@dev is out of date. Current version: ${matterbridge.matterbridgeVersion}. Latest dev version: ${matterbridge.matterbridgeDevVersion}.`);
|
|
52
52
|
matterbridge.frontend.wssSendRefreshRequired('matterbridgeDevVersion');
|
|
53
|
-
matterbridge.frontend.wssSendUpdateRequired();
|
|
53
|
+
matterbridge.frontend.wssSendUpdateRequired(true);
|
|
54
54
|
}
|
|
55
|
-
else {
|
|
55
|
+
else if (matterbridge.matterbridgeVersion.includes('-dev-') && matterbridge.matterbridgeVersion === version) {
|
|
56
56
|
matterbridge.log.debug(`Matterbridge@dev is up to date. Current version: ${matterbridge.matterbridgeVersion}. Latest dev version: ${matterbridge.matterbridgeDevVersion}.`);
|
|
57
57
|
}
|
|
58
58
|
return version;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"files": {
|
|
3
3
|
"main.css": "./static/css/main.944b63c3.css",
|
|
4
|
-
"main.js": "./static/js/main.
|
|
4
|
+
"main.js": "./static/js/main.4611e8da.js",
|
|
5
5
|
"static/js/453.d855a71b.chunk.js": "./static/js/453.d855a71b.chunk.js",
|
|
6
6
|
"static/media/roboto-latin-700-normal.woff2": "./static/media/roboto-latin-700-normal.c4d6cab43bec89049809.woff2",
|
|
7
7
|
"static/media/roboto-latin-500-normal.woff2": "./static/media/roboto-latin-500-normal.599f66a60bdf974e578e.woff2",
|
|
@@ -77,11 +77,11 @@
|
|
|
77
77
|
"static/media/roboto-greek-ext-300-normal.woff": "./static/media/roboto-greek-ext-300-normal.60729cafbded24073dfb.woff",
|
|
78
78
|
"index.html": "./index.html",
|
|
79
79
|
"main.944b63c3.css.map": "./static/css/main.944b63c3.css.map",
|
|
80
|
-
"main.
|
|
80
|
+
"main.4611e8da.js.map": "./static/js/main.4611e8da.js.map",
|
|
81
81
|
"453.d855a71b.chunk.js.map": "./static/js/453.d855a71b.chunk.js.map"
|
|
82
82
|
},
|
|
83
83
|
"entrypoints": [
|
|
84
84
|
"static/css/main.944b63c3.css",
|
|
85
|
-
"static/js/main.
|
|
85
|
+
"static/js/main.4611e8da.js"
|
|
86
86
|
]
|
|
87
87
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!doctype html><html lang="en"><head><meta charset="utf-8"/><base href="./"><link rel="icon" href="./matterbridge 32x32.png"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><title>Matterbridge</title><link rel="manifest" href="./manifest.json"/><script defer="defer" src="./static/js/main.
|
|
1
|
+
<!doctype html><html lang="en"><head><meta charset="utf-8"/><base href="./"><link rel="icon" href="./matterbridge 32x32.png"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><title>Matterbridge</title><link rel="manifest" href="./manifest.json"/><script defer="defer" src="./static/js/main.4611e8da.js"></script><link href="./static/css/main.944b63c3.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
|