Skip to content

Commit b55ae2c

Browse files
authored
Merge pull request #215 from Luligu/dev
Release 2.1.1
2 parents d6161ec + 03569a7 commit b55ae2c

File tree

5 files changed

+31
-23
lines changed

5 files changed

+31
-23
lines changed

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,16 @@ matterbridge-zigbee2mqtt v. 2.4.4
3131
matterbridge-somfy-tahoma v. 1.2.3
3232
matterbridge-hass v. 0.0.8
3333

34+
## [2.1.1] - 2025-02-02
35+
36+
### Fixed
37+
38+
- [matter.js]: Fix close server nodes.
39+
40+
<a href="https://www.buymeacoffee.com/luligugithub">
41+
<img src="./yellow-button.png" alt="Buy me a coffee" width="120">
42+
</a>
43+
3444
## [2.1.0] - 2025-02-02
3545

3646
### Added

package-lock.json

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "matterbridge",
3-
"version": "2.1.0",
3+
"version": "2.1.1",
44
"description": "Matterbridge plugin manager for Matter",
55
"author": "https://github.com/Luligu",
66
"license": "Apache-2.0",
@@ -105,7 +105,7 @@
105105
"start:controller": "node ./dist/cli.js -controller",
106106
"start:edge": "node ./dist/cli.js -edge -debug -logger debug -matterlogger debug",
107107
"start:help": "node ./dist/cli.js -help",
108-
"test": "node --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand",
108+
"test": "node --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand --forceExit",
109109
"test:coverage": "node --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand --verbose --coverage",
110110
"test:verbose": "node --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand --verbose",
111111
"test:watch": "node --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand --watch",
@@ -130,10 +130,11 @@
130130
"cleanBuildProduction": "npm run clean && npm run buildProduction",
131131
"deepClean": "npx rimraf tsconfig.tsbuildinfo package-lock.json npm-shrinkwrap.json ./dist ./node_modules",
132132
"deepCleanBuild": "npm run deepClean && npm install && npm run build && npm link",
133-
"prepublishOnly": "npm run cleanBuildProduction && npm pkg delete devDependencies scripts types && npx rimraf ./node_modules && npm install --omit=dev && npm shrinkwrap",
134-
"npmPack": "copy package.json package.log && npm run prepublishOnly && npm pack && copy package.log package.json && npm run deepCleanBuild",
135-
"npmPublishTagDev": "copy package.json package.log && npm run prepublishOnly && npm publish --tag dev && copy package.log package.json && npm run deepCleanBuild",
136-
"npmPublishTagLatest": "copy package.json package.log && npm run prepublishOnly && npm publish --tag latest && copy package.log package.json && npm run deepCleanBuild",
133+
"prepublishOnly": "npm pkg delete devDependencies scripts && npm install --omit=dev && npm shrinkwrap",
134+
"prepublishOnlyProduction": "npm run cleanBuildProduction && npm pkg delete devDependencies scripts types && npx rimraf ./node_modules && npm install --omit=dev && npm shrinkwrap",
135+
"npmPack": "copy package.json package.log && npm run prepublishOnlyProduction && npm pack && copy package.log package.json && npm run deepCleanBuild",
136+
"npmPublishTagDev": "copy package.json package.log && npm run prepublishOnlyProduction && npm publish --tag dev && copy package.log package.json && npm run deepCleanBuild",
137+
"npmPublishTagLatest": "copy package.json package.log && npm run prepublishOnlyProduction && npm publish --tag latest && copy package.log package.json && npm run deepCleanBuild",
137138
"checkDependencies": "npx npm-check-updates",
138139
"updateDependencies": "npx npm-check-updates -u && npm run deepCleanBuild",
139140
"updateMatter:latest": "npm install @matter/main@latest && npm install && npm run deepClean",

src/matterbridge.ts

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ import { Frontend } from './frontend.js';
4545

4646
// @matter
4747
import { DeviceTypeId, Endpoint as EndpointNode, Logger, LogLevel as MatterLogLevel, LogFormat as MatterLogFormat, VendorId, StorageContext, StorageManager, StorageService, Environment, ServerNode, FabricIndex, SessionsBehavior } from '@matter/main';
48-
import { DeviceCommissioner, ExposedFabricInformation, FabricAction, MdnsService, PaseClient } from '@matter/main/protocol';
48+
import { DeviceCommissioner, ExposedFabricInformation, FabricAction, PaseClient } from '@matter/main/protocol';
4949
import { AggregatorEndpoint } from '@matter/main/endpoints';
5050

5151
// Default colors
@@ -1309,28 +1309,22 @@ export class Matterbridge extends EventEmitter {
13091309
this.frontend.stop();
13101310

13111311
// Stopping matter server nodes
1312-
this.log.info(`Stopping matter server nodes in ${this.bridgeMode} mode...`);
1312+
this.log.notice(`Stopping matter server nodes in ${this.bridgeMode} mode...`);
13131313
if (this.bridgeMode === 'bridge') {
13141314
if (this.serverNode) {
13151315
await this.stopServerNode(this.serverNode);
13161316
this.serverNode = undefined;
1317-
this.log.info(`Stopped matter server node for Matterbridge`);
13181317
}
13191318
}
13201319
if (this.bridgeMode === 'childbridge') {
13211320
for (const plugin of this.plugins.array()) {
13221321
if (plugin.serverNode) {
13231322
await this.stopServerNode(plugin.serverNode);
13241323
plugin.serverNode = undefined;
1325-
this.log.info(`Stopped matter server node for ${plugin.name}`);
13261324
}
13271325
}
13281326
}
1329-
this.log.info('Stopped matter server nodes');
1330-
1331-
// Stop matter MdnsService
1332-
// await this.environment.get(MdnsService)[Symbol.asyncDispose]();
1333-
// this.log.info('Stopped MdnsService');
1327+
this.log.notice('Stopped matter server nodes');
13341328

13351329
// Stop matter storage
13361330
await this.stopMatterStorage();
@@ -2176,7 +2170,9 @@ export class Matterbridge extends EventEmitter {
21762170
if (!matterServerNode) return;
21772171
this.log.notice(`Closing ${matterServerNode.id} server node`);
21782172
await matterServerNode.close();
2179-
await matterServerNode.env.get(MdnsService)[Symbol.asyncDispose]();
2173+
this.log.info(`Closed ${matterServerNode.id} server node`);
2174+
// await matterServerNode.env.get(MdnsService)[Symbol.asyncDispose]();
2175+
// this.log.info(`Closed ${matterServerNode.id} MdnsService`);
21802176
}
21812177

21822178
/**

src/matterbridgeEndpoint-matterjs.test.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import { DeviceTypeId, VendorId, ServerNode, Endpoint, EndpointServer, StorageCo
1313
import { LogFormat as Format, LogLevel as Level } from '@matter/main';
1414
import { BasicInformationCluster, BridgedDeviceBasicInformationCluster, Descriptor, DescriptorCluster, GroupsCluster, Identify, IdentifyCluster, OccupancySensing, OnOffCluster, ScenesManagementCluster } from '@matter/main/clusters';
1515
import { AggregatorEndpoint } from '@matter/main/endpoints';
16-
import { logEndpoint } from '@matter/main/protocol';
16+
import { logEndpoint, MdnsService } from '@matter/main/protocol';
1717
import { OnOffPlugInUnitDevice } from '@matter/node/devices';
1818
import {
1919
DescriptorBehavior,
@@ -346,7 +346,8 @@ describe('MatterbridgeEndpoint class', () => {
346346

347347
test('close server node', async () => {
348348
expect(server).toBeDefined();
349-
await (matterbridge as any).stopServerNode(server);
349+
await server.close();
350+
await server.env.get(MdnsService)[Symbol.asyncDispose]();
350351
});
351352
});
352353
});

0 commit comments

Comments
 (0)