@matterbridge/core 3.6.0-dev-20260306-67d5737 → 3.6.0

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/dist/frontend.js CHANGED
@@ -483,7 +483,7 @@ export class Frontend extends EventEmitter {
483
483
  try {
484
484
  const fs = await import('node:fs');
485
485
  const data = await fs.promises.readFile(path.join(this.matterbridge.matterbridgeDirectory, MATTERBRIDGE_LOGGER_FILE), 'utf8');
486
- res.type('text/plain');
486
+ res.type('text/plain; charset=utf-8');
487
487
  res.send(data);
488
488
  }
489
489
  catch (error) {
@@ -498,7 +498,7 @@ export class Frontend extends EventEmitter {
498
498
  try {
499
499
  const fs = await import('node:fs');
500
500
  const data = await fs.promises.readFile(path.join(this.matterbridge.matterbridgeDirectory, MATTER_LOGGER_FILE), 'utf8');
501
- res.type('text/plain');
501
+ res.type('text/plain; charset=utf-8');
502
502
  res.send(data);
503
503
  }
504
504
  catch (error) {
@@ -536,7 +536,7 @@ export class Frontend extends EventEmitter {
536
536
  catch (error) {
537
537
  this.log.debug(`Error in /api/download-diagnostic: ${error instanceof Error ? error.message : error}`);
538
538
  }
539
- res.type('text/plain');
539
+ res.type('text/plain; charset=utf-8');
540
540
  res.download(path.join(os.tmpdir(), MATTERBRIDGE_DIAGNOSTIC_FILE), MATTERBRIDGE_DIAGNOSTIC_FILE, (error) => {
541
541
  if (error) {
542
542
  this.log.error(`Error downloading file ${MATTERBRIDGE_DIAGNOSTIC_FILE}: ${error instanceof Error ? error.message : error}`);
@@ -551,7 +551,7 @@ export class Frontend extends EventEmitter {
551
551
  try {
552
552
  const fs = await import('node:fs');
553
553
  const data = await fs.promises.readFile(path.join(this.matterbridge.matterbridgeDirectory, MATTERBRIDGE_HISTORY_FILE), 'utf8');
554
- res.type('text/html');
554
+ res.type('text/html; charset=utf-8');
555
555
  res.send(data);
556
556
  }
557
557
  catch (error) {
@@ -568,7 +568,7 @@ export class Frontend extends EventEmitter {
568
568
  await fs.promises.access(path.join(this.matterbridge.matterbridgeDirectory, MATTERBRIDGE_HISTORY_FILE), fs.constants.F_OK);
569
569
  const data = await fs.promises.readFile(path.join(this.matterbridge.matterbridgeDirectory, MATTERBRIDGE_HISTORY_FILE), 'utf8');
570
570
  await fs.promises.writeFile(path.join(os.tmpdir(), MATTERBRIDGE_HISTORY_FILE), data, 'utf-8');
571
- res.type('text/plain');
571
+ res.type('text/html; charset=utf-8');
572
572
  res.download(path.join(os.tmpdir(), MATTERBRIDGE_HISTORY_FILE), MATTERBRIDGE_HISTORY_FILE, (error) => {
573
573
  if (error) {
574
574
  this.log.error(`Error in /api/downloadhistory downloading history file ${MATTERBRIDGE_HISTORY_FILE}: ${error instanceof Error ? error.message : error}`);
@@ -588,7 +588,7 @@ export class Frontend extends EventEmitter {
588
588
  try {
589
589
  const fs = await import('node:fs');
590
590
  const data = await fs.promises.readFile(path.join(this.matterbridge.matterbridgeDirectory, 'shelly.log'), 'utf8');
591
- res.type('text/plain');
591
+ res.type('text/plain; charset=utf-8');
592
592
  res.send(data);
593
593
  }
594
594
  catch (error) {
@@ -610,7 +610,7 @@ export class Frontend extends EventEmitter {
610
610
  await fs.promises.writeFile(path.join(os.tmpdir(), MATTERBRIDGE_LOGGER_FILE), 'Enable the matterbridge log on file in the settings to download the matterbridge log.', 'utf-8');
611
611
  this.log.debug(`Error in /api/download-mblog: ${error instanceof Error ? error.message : error}`);
612
612
  }
613
- res.type('text/plain');
613
+ res.type('text/plain; charset=utf-8');
614
614
  res.download(path.join(os.tmpdir(), MATTERBRIDGE_LOGGER_FILE), 'matterbridge.log', (error) => {
615
615
  if (error) {
616
616
  this.log.error(`Error downloading log file ${MATTERBRIDGE_LOGGER_FILE}: ${error instanceof Error ? error.message : error}`);
@@ -632,7 +632,7 @@ export class Frontend extends EventEmitter {
632
632
  await fs.promises.writeFile(path.join(os.tmpdir(), MATTER_LOGGER_FILE), 'Enable the matter log on file in the settings to download the matter log.', 'utf-8');
633
633
  this.log.debug(`Error in /api/download-mblog: ${error instanceof Error ? error.message : error}`);
634
634
  }
635
- res.type('text/plain');
635
+ res.type('text/plain; charset=utf-8');
636
636
  res.download(path.join(os.tmpdir(), MATTER_LOGGER_FILE), 'matter.log', (error) => {
637
637
  if (error) {
638
638
  this.log.error(`Error downloading log file ${MATTER_LOGGER_FILE}: ${error instanceof Error ? error.message : error}`);
@@ -654,7 +654,7 @@ export class Frontend extends EventEmitter {
654
654
  await fs.promises.writeFile(path.join(os.tmpdir(), 'shelly.log'), 'Create the Shelly system log before downloading it.', 'utf-8');
655
655
  this.log.debug(`Error in /api/shellydownloadsystemlog: ${error instanceof Error ? error.message : error}`);
656
656
  }
657
- res.type('text/plain');
657
+ res.type('text/plain; charset=utf-8');
658
658
  res.download(path.join(os.tmpdir(), 'shelly.log'), 'shelly.log', (error) => {
659
659
  if (error) {
660
660
  this.log.error(`Error downloading Shelly system log file: ${error instanceof Error ? error.message : error}`);
@@ -1870,14 +1870,15 @@ export class Matterbridge extends EventEmitter {
1870
1870
  serverNode.lifecycle.online.on(async () => {
1871
1871
  this.log.notice(`Server node for ${storeId} is online`);
1872
1872
  if (!serverNode.lifecycle.isCommissioned) {
1873
- this.log.notice(`Server node for ${storeId} is not commissioned. Pair to commission ...`);
1873
+ this.log.notice(`Server node for ${storeId} is not commissioned. Pair to commission.`);
1874
1874
  this.advertisingNodes.set(storeId, Date.now());
1875
1875
  const { qrPairingCode, manualPairingCode } = serverNode.state.commissioning.pairingCodes;
1876
+ const pairingData = ManualPairingCodeCodec.decode(manualPairingCode);
1876
1877
  this.log.notice(`QR Code URL: https://project-chip.github.io/connectedhomeip/qrcode.html?data=${qrPairingCode}`);
1877
- this.log.notice(`Manual pairing code: ${manualPairingCode}`);
1878
+ this.log.notice(`Manual pairing code ${CYAN}${manualPairingCode}${nt} discriminator ${CYAN}${discriminator}${nt} short discriminator ${CYAN}${pairingData.shortDiscriminator}${nt} passcode ${CYAN}${passcode}${nt}`);
1878
1879
  }
1879
1880
  else {
1880
- this.log.notice(`Server node for ${storeId} is already commissioned. Waiting for controllers to connect ...`);
1881
+ this.log.notice(`Server node for ${storeId} is already commissioned. Waiting for controllers to connect...`);
1881
1882
  this.advertisingNodes.delete(storeId);
1882
1883
  }
1883
1884
  this.frontend.wssSendRefreshRequired('matter', { matter: { ...this.getServerNodeData(serverNode) } });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matterbridge/core",
3
- "version": "3.6.0-dev-20260306-67d5737",
3
+ "version": "3.6.0",
4
4
  "description": "Matterbridge core library",
5
5
  "author": "https://github.com/Luligu",
6
6
  "homepage": "https://matterbridge.io/",
@@ -122,10 +122,10 @@
122
122
  ],
123
123
  "dependencies": {
124
124
  "@matter/main": "0.16.10",
125
- "@matterbridge/dgram": "3.6.0-dev-20260306-67d5737",
126
- "@matterbridge/thread": "3.6.0-dev-20260306-67d5737",
127
- "@matterbridge/types": "3.6.0-dev-20260306-67d5737",
128
- "@matterbridge/utils": "3.6.0-dev-20260306-67d5737",
125
+ "@matterbridge/dgram": "3.6.0",
126
+ "@matterbridge/thread": "3.6.0",
127
+ "@matterbridge/types": "3.6.0",
128
+ "@matterbridge/utils": "3.6.0",
129
129
  "archiver": "7.0.1",
130
130
  "express": "5.2.1",
131
131
  "glob": "13.0.6",