matterbridge 3.2.6-dev-20250903-6ab5022 → 3.2.6-dev-20250904-1c6290c
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 +1 -0
- package/dist/jest-utils/helpers.js +44 -0
- package/frontend/build/asset-manifest.json +3 -3
- package/frontend/build/index.html +1 -1
- package/frontend/build/static/js/{main.710b8f9f.js → main.e691e19f.js} +3 -3
- package/frontend/build/static/js/{main.710b8f9f.js.map → main.e691e19f.js.map} +1 -1
- package/npm-shrinkwrap.json +465 -5
- package/package.json +1 -1
- /package/frontend/build/static/js/{main.710b8f9f.js.LICENSE.txt → main.e691e19f.js.LICENSE.txt} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -13,8 +13,12 @@ If you like this project and find it useful, please consider giving it a star on
|
|
|
13
13
|
### Added
|
|
14
14
|
|
|
15
15
|
- [frontend]: Added primary color to QR icon in childbridge mode if the plugin is not paired.
|
|
16
|
-
- [frontend]: Added secondary color to QR icon in childbridge mode if the plugin server node is paired but
|
|
16
|
+
- [frontend]: Added secondary color to QR icon in childbridge mode if the plugin server node is paired but doesn't have at least 1 session and 1 subscription.
|
|
17
17
|
- [frontend]: Added color red to QR icon in childbridge mode if the plugin server node is not online.
|
|
18
|
+
- [frontend]: Added primary color to QR icon of 'server' mode devices if the device is not paired.
|
|
19
|
+
- [frontend]: Added secondary color to QR icon of 'server' mode devices if the device server node is paired but doesn't have at least 1 session and 1 subscription.
|
|
20
|
+
- [frontend]: Added color red to QR icon of 'server' mode devices if the device server node is not online.
|
|
21
|
+
- [frontend]: Added serialNumber to QR icon of 'server' mode devices.
|
|
18
22
|
- [frontend]: Bumped `frontend` version to 2.7.5.
|
|
19
23
|
- [childbridge]: Added restart needed when the plugin is first added in childbridge mode.
|
|
20
24
|
- [childbridge]: Create the server node for Dynamic plugins even if they have 0 devices. This allow to pair empty plugins in huge setup.
|
package/dist/frontend.js
CHANGED
|
@@ -673,6 +673,7 @@ export class Frontend extends EventEmitter {
|
|
|
673
673
|
manualPairingCode: device.serverNode.state.commissioning.pairingCodes.manualPairingCode,
|
|
674
674
|
fabricInformations: this.matterbridge.sanitizeFabricInformations(Object.values(device.serverNode.state.commissioning.fabrics)),
|
|
675
675
|
sessionInformations: this.matterbridge.sanitizeSessionInformation(Object.values(device.serverNode.state.sessions.sessions)),
|
|
676
|
+
serialNumber: device.serverNode.state.basicInformation.serialNumber,
|
|
676
677
|
};
|
|
677
678
|
}
|
|
678
679
|
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { ServerNodeStore } from '@matter/main';
|
|
2
|
+
export async function flushAsync(ticks = 3, microTurns = 10, pause = 100) {
|
|
3
|
+
for (let i = 0; i < ticks; i++)
|
|
4
|
+
await new Promise((resolve) => setImmediate(resolve));
|
|
5
|
+
for (let i = 0; i < microTurns; i++)
|
|
6
|
+
await Promise.resolve();
|
|
7
|
+
if (pause)
|
|
8
|
+
await new Promise((resolve) => setTimeout(resolve, pause));
|
|
9
|
+
}
|
|
10
|
+
export async function flushAllEndpointNumberPersistence(targetServer, rounds = 2) {
|
|
11
|
+
const nodeStore = targetServer.env.get(ServerNodeStore);
|
|
12
|
+
for (let i = 0; i < rounds; i++) {
|
|
13
|
+
await new Promise((resolve) => setImmediate(resolve));
|
|
14
|
+
await nodeStore.endpointStores.close();
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function collectAllEndpoints(root) {
|
|
18
|
+
const list = [];
|
|
19
|
+
const walk = (ep) => {
|
|
20
|
+
list.push(ep);
|
|
21
|
+
if (ep.parts) {
|
|
22
|
+
for (const child of ep.parts) {
|
|
23
|
+
walk(child);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
walk(root);
|
|
28
|
+
return list;
|
|
29
|
+
}
|
|
30
|
+
export async function assertAllEndpointNumbersPersisted(targetServer) {
|
|
31
|
+
const nodeStore = targetServer.env.get(ServerNodeStore);
|
|
32
|
+
await nodeStore.endpointStores.close();
|
|
33
|
+
const all = collectAllEndpoints(targetServer);
|
|
34
|
+
for (const ep of all) {
|
|
35
|
+
const store = nodeStore.storeForEndpoint(ep);
|
|
36
|
+
if (ep.maybeNumber === 0) {
|
|
37
|
+
expect(store.number ?? 0).toBe(0);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
expect(store.number).toBeGreaterThan(0);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return all.length;
|
|
44
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"files": {
|
|
3
3
|
"main.css": "./static/css/main.a2f4846a.css",
|
|
4
|
-
"main.js": "./static/js/main.
|
|
4
|
+
"main.js": "./static/js/main.e691e19f.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.a2f4846a.css.map": "./static/css/main.a2f4846a.css.map",
|
|
80
|
-
"main.
|
|
80
|
+
"main.e691e19f.js.map": "./static/js/main.e691e19f.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.a2f4846a.css",
|
|
85
|
-
"static/js/main.
|
|
85
|
+
"static/js/main.e691e19f.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.e691e19f.js"></script><link href="./static/css/main.a2f4846a.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
|