matterbridge 3.1.8-dev-20250726-f93c04c → 3.1.8-dev-20250726-aa58df5
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 +6 -1
- package/dist/frontend.js +27 -4
- package/dist/matterbridge.js +2 -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.bb47a7dc.js → main.3dc9a7f7.js} +3 -3
- package/frontend/build/static/js/{main.bb47a7dc.js.map → main.3dc9a7f7.js.map} +1 -1
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
- /package/frontend/build/static/js/{main.bb47a7dc.js.LICENSE.txt → main.3dc9a7f7.js.LICENSE.txt} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -12,11 +12,15 @@ If you like this project and find it useful, please consider giving it a star on
|
|
|
12
12
|
|
|
13
13
|
### Added
|
|
14
14
|
|
|
15
|
+
- [Jest]: Total coverage 100%.
|
|
15
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.
|
|
16
18
|
- [workflow]: Update permissions and change GitHub token for Docker build triggers.
|
|
19
|
+
- [frontend]: Improved test units on Frontend class (total coverage 100%).
|
|
17
20
|
- [frontend]: Bump version 2.7.1.
|
|
18
|
-
- [frontend]: Added Changelog button 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).
|
|
19
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.
|
|
20
24
|
|
|
21
25
|
### Changed
|
|
22
26
|
|
|
@@ -25,6 +29,7 @@ If you like this project and find it useful, please consider giving it a star on
|
|
|
25
29
|
### Fixed
|
|
26
30
|
|
|
27
31
|
- [switch]: Added conditional handling for momentary switch events in MatterbridgeEndpoint for single press only switches.
|
|
32
|
+
- [advertise]: Changed the message advertise stopped to work also in childbridge mode.
|
|
28
33
|
|
|
29
34
|
<a href="https://www.buymeacoffee.com/luligugithub">
|
|
30
35
|
<img src="bmc-button.svg" alt="Buy me a coffee" width="80">
|
package/dist/frontend.js
CHANGED
|
@@ -1131,9 +1131,16 @@ export class Frontend extends EventEmitter {
|
|
|
1131
1131
|
}
|
|
1132
1132
|
await this.matterbridge.plugins.load(plugin, true, 'The plugin has been restarted', true);
|
|
1133
1133
|
plugin.restartRequired = false;
|
|
1134
|
-
|
|
1135
|
-
|
|
1134
|
+
let needRestart = 0;
|
|
1135
|
+
for (const plugin of this.matterbridge.plugins) {
|
|
1136
|
+
if (plugin.restartRequired)
|
|
1137
|
+
needRestart++;
|
|
1138
|
+
}
|
|
1139
|
+
if (needRestart === 0) {
|
|
1140
|
+
this.wssSendRestartNotRequired(true);
|
|
1136
1141
|
}
|
|
1142
|
+
if (plugin.serverNode)
|
|
1143
|
+
await this.matterbridge.startServerNode(plugin.serverNode);
|
|
1137
1144
|
this.wssSendSnackbarMessage(`Restarted plugin ${data.params.pluginName}`, 5, 'success');
|
|
1138
1145
|
this.wssSendRefreshRequired('plugins');
|
|
1139
1146
|
this.wssSendRefreshRequired('devices');
|
|
@@ -1158,6 +1165,11 @@ export class Frontend extends EventEmitter {
|
|
|
1158
1165
|
client.send(JSON.stringify({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, success: true }));
|
|
1159
1166
|
}
|
|
1160
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
|
+
}
|
|
1161
1173
|
else if (data.method === '/api/shellysysupdate') {
|
|
1162
1174
|
const { triggerShellySysUpdate } = await import('./shelly.js');
|
|
1163
1175
|
triggerShellySysUpdate(this.matterbridge);
|
|
@@ -1689,12 +1701,23 @@ export class Frontend extends EventEmitter {
|
|
|
1689
1701
|
}
|
|
1690
1702
|
});
|
|
1691
1703
|
}
|
|
1692
|
-
|
|
1704
|
+
wssSendRestartNotRequired(snackbar = true) {
|
|
1705
|
+
this.log.debug('Sending a restart not required message to all connected clients');
|
|
1706
|
+
this.matterbridge.matterbridgeInformation.restartRequired = false;
|
|
1707
|
+
if (snackbar === true)
|
|
1708
|
+
this.wssSendCloseSnackbarMessage(`Restart required`);
|
|
1709
|
+
this.webSocketServer?.clients.forEach((client) => {
|
|
1710
|
+
if (client.readyState === WebSocket.OPEN) {
|
|
1711
|
+
client.send(JSON.stringify({ id: WS_ID_RESTART_NEEDED, src: 'Matterbridge', dst: 'Frontend', method: 'restart_not_required', params: {} }));
|
|
1712
|
+
}
|
|
1713
|
+
});
|
|
1714
|
+
}
|
|
1715
|
+
wssSendUpdateRequired(devVersion = false) {
|
|
1693
1716
|
this.log.debug('Sending an update required message to all connected clients');
|
|
1694
1717
|
this.matterbridge.matterbridgeInformation.updateRequired = true;
|
|
1695
1718
|
this.webSocketServer?.clients.forEach((client) => {
|
|
1696
1719
|
if (client.readyState === WebSocket.OPEN) {
|
|
1697
|
-
client.send(JSON.stringify({ id: WS_ID_UPDATE_NEEDED, src: 'Matterbridge', dst: 'Frontend', method: 'update_required', params: {} }));
|
|
1720
|
+
client.send(JSON.stringify({ id: WS_ID_UPDATE_NEEDED, src: 'Matterbridge', dst: 'Frontend', method: devVersion ? 'update_required_dev' : 'update_required', params: {} }));
|
|
1698
1721
|
}
|
|
1699
1722
|
});
|
|
1700
1723
|
}
|
package/dist/matterbridge.js
CHANGED
|
@@ -1587,8 +1587,8 @@ export class Matterbridge extends EventEmitter {
|
|
|
1587
1587
|
this.frontend.wssSendRefreshRequired('settings');
|
|
1588
1588
|
this.frontend.wssSendRefreshRequired('fabrics');
|
|
1589
1589
|
this.frontend.wssSendRefreshRequired('sessions');
|
|
1590
|
-
this.frontend.wssSendSnackbarMessage(`Advertising
|
|
1591
|
-
this.log.notice(`Advertising
|
|
1590
|
+
this.frontend.wssSendSnackbarMessage(`Advertising stopped. Restart to commission again.`, 0);
|
|
1591
|
+
this.log.notice(`Advertising stopped. Restart to commission again.`);
|
|
1592
1592
|
}, 15 * 60 * 1000).unref();
|
|
1593
1593
|
}
|
|
1594
1594
|
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.3dc9a7f7.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.3dc9a7f7.js.map": "./static/js/main.3dc9a7f7.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.3dc9a7f7.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.3dc9a7f7.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>
|