matterbridge 3.1.8-dev-20250726-aa58df5 → 3.1.8-dev-20250727-b8987de
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 +4 -1
- package/dist/frontend.js +8 -6
- package/dist/matterbridge.js +1 -0
- package/dist/update.js +22 -1
- package/frontend/build/asset-manifest.json +3 -3
- package/frontend/build/index.html +1 -1
- package/frontend/build/static/js/{main.3dc9a7f7.js → main.dd4772c9.js} +3 -3
- package/frontend/build/static/js/{main.3dc9a7f7.js.map → main.dd4772c9.js.map} +1 -1
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
- /package/frontend/build/static/js/{main.3dc9a7f7.js.LICENSE.txt → main.dd4772c9.js.LICENSE.txt} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -16,11 +16,14 @@ If you like this project and find it useful, please consider giving it a star on
|
|
|
16
16
|
- [certification]: Improved certification management in pairing.json. Added pemToBuffer function for converting PEM strings to Uint8Array.
|
|
17
17
|
- [certification]: Improved certification management in pairing.json. Added extractPrivateKeyRaw function for extrating the raw part of PEM private key to Uint8Array.
|
|
18
18
|
- [workflow]: Update permissions and change GitHub token for Docker build triggers.
|
|
19
|
+
- [update]: Added support for retrieving and logging plugin development versions.
|
|
19
20
|
- [frontend]: Improved test units on Frontend class (total coverage 100%).
|
|
20
21
|
- [frontend]: Bump version 2.7.1.
|
|
21
22
|
- [frontend]: Added Changelog button that appears in the frontend when a new version is installed and the frontend needs to be updated (page refresh).
|
|
22
23
|
- [frontend]: Added restart plugin in childbridge mode.
|
|
23
|
-
- [frontend]: Added update to stable and update to dev banner. The update to
|
|
24
|
+
- [frontend]: Added update to stable and update to dev banner. The update to new appears only if you are on the dev and there is a new dev version.
|
|
25
|
+
- [frontend]: Added update to stable and update to dev banner for plugins. The update to new dev appears only if you are on the dev and there is a new dev version.
|
|
26
|
+
- [frontend]: Added new menu item for manual update check.
|
|
24
27
|
|
|
25
28
|
### Changed
|
|
26
29
|
|
package/dist/frontend.js
CHANGED
|
@@ -800,6 +800,7 @@ export class Frontend extends EventEmitter {
|
|
|
800
800
|
changelog: plugin.changelog,
|
|
801
801
|
funding: plugin.funding,
|
|
802
802
|
latestVersion: plugin.latestVersion,
|
|
803
|
+
devVersion: plugin.devVersion,
|
|
803
804
|
serialNumber: plugin.serialNumber,
|
|
804
805
|
locked: plugin.locked,
|
|
805
806
|
error: plugin.error,
|
|
@@ -969,9 +970,9 @@ export class Frontend extends EventEmitter {
|
|
|
969
970
|
});
|
|
970
971
|
}
|
|
971
972
|
else {
|
|
972
|
-
this.
|
|
973
|
+
this.matterbridge.matterbridgeInformation.fixedRestartRequired = true;
|
|
973
974
|
this.wssSendRefreshRequired('plugins');
|
|
974
|
-
this.wssSendRestartRequired();
|
|
975
|
+
this.wssSendRestartRequired(true, true);
|
|
975
976
|
}
|
|
976
977
|
return;
|
|
977
978
|
})
|
|
@@ -979,13 +980,13 @@ export class Frontend extends EventEmitter {
|
|
|
979
980
|
});
|
|
980
981
|
}
|
|
981
982
|
else {
|
|
983
|
+
this.matterbridge.matterbridgeInformation.fixedRestartRequired = true;
|
|
982
984
|
if (this.matterbridge.restartMode !== '') {
|
|
983
985
|
this.wssSendSnackbarMessage(`Restarting matterbridge...`, 0);
|
|
984
986
|
this.matterbridge.shutdownProcess();
|
|
985
987
|
}
|
|
986
988
|
else {
|
|
987
|
-
this.
|
|
988
|
-
this.wssSendRestartRequired();
|
|
989
|
+
this.wssSendRestartRequired(true, true);
|
|
989
990
|
}
|
|
990
991
|
}
|
|
991
992
|
return;
|
|
@@ -1690,14 +1691,15 @@ export class Frontend extends EventEmitter {
|
|
|
1690
1691
|
}
|
|
1691
1692
|
});
|
|
1692
1693
|
}
|
|
1693
|
-
wssSendRestartRequired(snackbar = true) {
|
|
1694
|
+
wssSendRestartRequired(snackbar = true, fixed = false) {
|
|
1694
1695
|
this.log.debug('Sending a restart required message to all connected clients');
|
|
1695
1696
|
this.matterbridge.matterbridgeInformation.restartRequired = true;
|
|
1697
|
+
this.matterbridge.matterbridgeInformation.fixedRestartRequired = fixed;
|
|
1696
1698
|
if (snackbar === true)
|
|
1697
1699
|
this.wssSendSnackbarMessage(`Restart required`, 0);
|
|
1698
1700
|
this.webSocketServer?.clients.forEach((client) => {
|
|
1699
1701
|
if (client.readyState === WebSocket.OPEN) {
|
|
1700
|
-
client.send(JSON.stringify({ id: WS_ID_RESTART_NEEDED, src: 'Matterbridge', dst: 'Frontend', method: 'restart_required', params: {} }));
|
|
1702
|
+
client.send(JSON.stringify({ id: WS_ID_RESTART_NEEDED, src: 'Matterbridge', dst: 'Frontend', method: 'restart_required', params: { fixed } }));
|
|
1701
1703
|
}
|
|
1702
1704
|
});
|
|
1703
1705
|
}
|
package/dist/matterbridge.js
CHANGED
package/dist/update.js
CHANGED
|
@@ -5,10 +5,13 @@ export async function checkUpdates(matterbridge) {
|
|
|
5
5
|
const latestVersion = getMatterbridgeLatestVersion(matterbridge);
|
|
6
6
|
const devVersion = getMatterbridgeDevVersion(matterbridge);
|
|
7
7
|
const pluginsVersions = [];
|
|
8
|
+
const pluginsDevVersions = [];
|
|
8
9
|
const shellyUpdates = [];
|
|
9
10
|
for (const plugin of matterbridge.plugins) {
|
|
10
11
|
const pluginVersion = getPluginLatestVersion(matterbridge, plugin);
|
|
11
12
|
pluginsVersions.push(pluginVersion);
|
|
13
|
+
const pluginDevVersion = getPluginDevVersion(matterbridge, plugin);
|
|
14
|
+
pluginsDevVersions.push(pluginDevVersion);
|
|
12
15
|
}
|
|
13
16
|
if (hasParameter('shelly')) {
|
|
14
17
|
const { getShellySysUpdate, getShellyMainUpdate } = await import('./shelly.js');
|
|
@@ -17,7 +20,7 @@ export async function checkUpdates(matterbridge) {
|
|
|
17
20
|
const mainUpdate = getShellyMainUpdate(matterbridge);
|
|
18
21
|
shellyUpdates.push(mainUpdate);
|
|
19
22
|
}
|
|
20
|
-
await Promise.all([latestVersion, devVersion, ...pluginsVersions, ...shellyUpdates]);
|
|
23
|
+
await Promise.all([latestVersion, devVersion, ...pluginsVersions, ...pluginsDevVersions, ...shellyUpdates]);
|
|
21
24
|
}
|
|
22
25
|
export async function getMatterbridgeLatestVersion(matterbridge) {
|
|
23
26
|
const { getNpmPackageVersion } = await import('./utils/network.js');
|
|
@@ -79,3 +82,21 @@ export async function getPluginLatestVersion(matterbridge, plugin) {
|
|
|
79
82
|
matterbridge.log.warn(`Error getting plugin ${plg}${plugin.name}${wr} latest version: ${error instanceof Error ? error.message : error}`);
|
|
80
83
|
}
|
|
81
84
|
}
|
|
85
|
+
export async function getPluginDevVersion(matterbridge, plugin) {
|
|
86
|
+
const { getNpmPackageVersion } = await import('./utils/network.js');
|
|
87
|
+
try {
|
|
88
|
+
const version = await getNpmPackageVersion(plugin.name, 'dev');
|
|
89
|
+
plugin.devVersion = version;
|
|
90
|
+
if (plugin.version.includes('-dev-') && plugin.version !== plugin.devVersion) {
|
|
91
|
+
matterbridge.log.notice(`The plugin ${plg}${plugin.name}${nt} is out of date. Current version: ${plugin.version}. Latest dev version: ${plugin.devVersion}.`);
|
|
92
|
+
matterbridge.frontend.wssSendRefreshRequired('plugins');
|
|
93
|
+
}
|
|
94
|
+
else if (plugin.version.includes('-dev-') && plugin.version === plugin.devVersion) {
|
|
95
|
+
matterbridge.log.debug(`The plugin ${plg}${plugin.name}${db} is up to date. Current version: ${plugin.version}. Latest dev version: ${plugin.devVersion}.`);
|
|
96
|
+
}
|
|
97
|
+
return version;
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
matterbridge.log.debug(`Error getting plugin ${plg}${plugin.name}${db} latest dev version: ${error instanceof Error ? error.message : error}`);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
@@ -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.dd4772c9.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.dd4772c9.js.map": "./static/js/main.dd4772c9.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.dd4772c9.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.dd4772c9.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>
|