@matterbridge/core 3.7.5-dev-20260422-2a34593 → 3.7.5-dev-20260423-1c2fcad

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.
@@ -2,12 +2,12 @@ import '@matter/nodejs';
2
2
  import EventEmitter from 'node:events';
3
3
  import fs from 'node:fs';
4
4
  import path from 'node:path';
5
- import { Environment, LogFormat as MatterLogFormat, Logger, LogLevel as MatterLogLevel, StorageService, UINT16_MAX, UINT32_MAX, } from '@matter/general';
5
+ import { Crypto, Environment, LogFormat as MatterLogFormat, Logger, LogLevel as MatterLogLevel, StorageService, UINT16_MAX, UINT32_MAX, } from '@matter/general';
6
6
  import { Endpoint, ServerNode } from '@matter/node';
7
7
  import { BasicInformationServer } from '@matter/node/behaviors/basic-information';
8
8
  import { BridgedDeviceBasicInformationServer } from '@matter/node/behaviors/bridged-device-basic-information';
9
9
  import { AggregatorEndpoint } from '@matter/node/endpoints/aggregator';
10
- import { MdnsService } from '@matter/protocol';
10
+ import { MdnsService, PaseClient } from '@matter/protocol';
11
11
  import { DeviceTypeId, VendorId } from '@matter/types';
12
12
  import { BroadcastServer } from '@matterbridge/thread/server';
13
13
  import { dev, MATTER_LOGGER_FILE, MATTER_STORAGE_DIR, MATTERBRIDGE_LOGGER_FILE, NODE_STORAGE_DIR, plg } from '@matterbridge/types';
@@ -374,6 +374,14 @@ export class MatterNode extends EventEmitter {
374
374
  }
375
375
  const storeId = await this.matterStorageContext.get('storeId');
376
376
  this.log.notice(`Creating server node for ${storeId} on port ${port} with passcode ${passcode} and discriminator ${discriminator}...`);
377
+ if (passcode < 0 || passcode > 99999999) {
378
+ this.log.warn(`Invalid passcode ${passcode} for server node ${storeId}. Passcode must be between 0 and 99999999. Generating a random passcode...`);
379
+ passcode = PaseClient.generateRandomPasscode(this.environment.get(Crypto));
380
+ }
381
+ if (discriminator < 0 || discriminator > 0xfff) {
382
+ this.log.warn(`Invalid discriminator ${discriminator} for server node ${storeId}. Discriminator must be between 0 and 4095 (0xFFF). Generating a random discriminator...`);
383
+ discriminator = PaseClient.generateRandomDiscriminator(this.environment.get(Crypto));
384
+ }
377
385
  const serverNode = await ServerNode.create({
378
386
  id: storeId,
379
387
  environment: this.environment,
@@ -1888,6 +1888,14 @@ export class Matterbridge extends EventEmitter {
1888
1888
  this.log.debug(`- softwareVersionString: ${await storageContext.get('softwareVersionString')}`);
1889
1889
  this.log.debug(`- hardwareVersion: ${await storageContext.get('hardwareVersion')}`);
1890
1890
  this.log.debug(`- hardwareVersionString: ${await storageContext.get('hardwareVersionString')}`);
1891
+ if (passcode < 0 || passcode > 99999999) {
1892
+ this.log.warn(`Invalid passcode ${passcode} for server node ${storeId}. Passcode must be between 0 and 99999999. Generating a random passcode...`);
1893
+ passcode = PaseClient.generateRandomPasscode(this.environment.get(Crypto));
1894
+ }
1895
+ if (discriminator < 0 || discriminator > 0xFFF) {
1896
+ this.log.warn(`Invalid discriminator ${discriminator} for server node ${storeId}. Discriminator must be between 0 and 4095 (0xFFF). Generating a random discriminator...`);
1897
+ discriminator = PaseClient.generateRandomDiscriminator(this.environment.get(Crypto));
1898
+ }
1891
1899
  const serverNode = await ServerNode.create({
1892
1900
  id: storeId,
1893
1901
  environment: this.environment,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matterbridge/core",
3
- "version": "3.7.5-dev-20260422-2a34593",
3
+ "version": "3.7.5-dev-20260423-1c2fcad",
4
4
  "description": "Matterbridge core library",
5
5
  "author": "https://github.com/Luligu",
6
6
  "homepage": "https://matterbridge.io/",
@@ -130,10 +130,10 @@
130
130
  ],
131
131
  "dependencies": {
132
132
  "@matter/main": "0.16.11",
133
- "@matterbridge/dgram": "3.7.5-dev-20260422-2a34593",
134
- "@matterbridge/thread": "3.7.5-dev-20260422-2a34593",
135
- "@matterbridge/types": "3.7.5-dev-20260422-2a34593",
136
- "@matterbridge/utils": "3.7.5-dev-20260422-2a34593",
133
+ "@matterbridge/dgram": "3.7.5-dev-20260423-1c2fcad",
134
+ "@matterbridge/thread": "3.7.5-dev-20260423-1c2fcad",
135
+ "@matterbridge/types": "3.7.5-dev-20260423-1c2fcad",
136
+ "@matterbridge/utils": "3.7.5-dev-20260423-1c2fcad",
137
137
  "escape-html": "1.0.3",
138
138
  "express": "5.2.1",
139
139
  "express-rate-limit": "8.3.2",