matterbridge 1.5.5 → 1.5.6

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 CHANGED
@@ -8,6 +8,23 @@ If you like this project and find it useful, please consider giving it a star on
8
8
 
9
9
  The Home Assistant Community Add-ons and plugins are not verified to work with Matterbridge. I strongly advise against using them. If you do use them and encounter an issue (which is likely because some do not meet the Matterbridge guidelines), please do not open an issue in the Matterbridge repository.
10
10
 
11
+ ## [1.5.6] - 2024-09-13
12
+
13
+ ### Added
14
+
15
+ - [matterbridge]: Updated to support ingress (will be released soon in the [Official Matterbridge Home Assistant Add-on](https://github.com/Luligu/matterbridge-home-assistant-addon)).
16
+ - [frontend]: Updated to support ingress.
17
+
18
+ ### Changed
19
+
20
+ - [package]: Updated typescript to 5.6.2.
21
+ - [package]: Updated express to 4.21.0.
22
+ - [package]: Updated dependencies.
23
+
24
+ <a href="https://www.buymeacoffee.com/luligugithub">
25
+ <img src="./yellow-button.png" alt="Buy me a coffee" width="120">
26
+ </a>
27
+
11
28
  ## [1.5.5] - 2024-09-09
12
29
 
13
30
  ### Changed
@@ -38,7 +38,7 @@ export declare class DeviceManager {
38
38
  remove(device: MatterbridgeDevice): boolean;
39
39
  clear(): void;
40
40
  array(): MatterbridgeDevice[];
41
- [Symbol.iterator](): IterableIterator<MatterbridgeDevice>;
41
+ [Symbol.iterator](): MapIterator<MatterbridgeDevice>;
42
42
  forEach(callback: (device: MatterbridgeDevice) => Promise<void>): Promise<void>;
43
43
  get logLevel(): LogLevel;
44
44
  set logLevel(logLevel: LogLevel);
@@ -1 +1 @@
1
- {"version":3,"file":"matterbridge.d.ts","sourceRoot":"","sources":["../src/matterbridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"matterbridge.d.ts","sourceRoot":"","sources":["../src/matterbridge.ts"],"names":[],"mappings":"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"}
@@ -263,7 +263,7 @@ export class Matterbridge extends EventEmitter {
263
263
  this.log.logLevel = await this.nodeContext.get('matterbridgeLogLevel', "info" /* LogLevel.INFO */);
264
264
  }
265
265
  MatterbridgeDevice.logLevel = this.log.logLevel;
266
- this.log.debug('Matterbridge is starting...');
266
+ this.log.notice('Matterbridge is starting...');
267
267
  this.log.debug(`Matterbridge logLevel: ${this.log.logLevel} fileLoger: ${this.matterbridgeInformation.fileLogger}.`);
268
268
  // Set matter.js logger level, format and logger (context: matterLogLevel)
269
269
  if (hasParameter('matterlogger')) {
@@ -2475,7 +2475,7 @@ export class Matterbridge extends EventEmitter {
2475
2475
  this.wssSendMessage('spawn', this.log.now(), 'Matterbridge:spawn', `child process closed with code ${code} and signal ${signal}`);
2476
2476
  if (code === 0) {
2477
2477
  if (cmdLine.startsWith('npm install -g'))
2478
- this.log.notice(`${cmdLine.replace('npm install -g ', '').replace('--verbose', '')} installed correctly`);
2478
+ this.log.notice(`Package ${cmdLine.replace('npm install -g ', '').replace('--verbose', '')} installed correctly`);
2479
2479
  this.log.debug(`Child process "${cmdLine}" closed with code ${code} and signal ${signal}`);
2480
2480
  resolve();
2481
2481
  }
@@ -2502,14 +2502,14 @@ export class Matterbridge extends EventEmitter {
2502
2502
  if (childProcess.stdout) {
2503
2503
  childProcess.stdout.on('data', (data) => {
2504
2504
  const message = data.toString().trim();
2505
- this.log.debug(`Spawn stdout: ${message}`);
2505
+ this.log.debug(`Spawn output (stdout): ${message}`);
2506
2506
  this.wssSendMessage('spawn', this.log.now(), 'Matterbridge:spawn', message);
2507
2507
  });
2508
2508
  }
2509
2509
  if (childProcess.stderr) {
2510
2510
  childProcess.stderr.on('data', (data) => {
2511
2511
  const message = data.toString().trim();
2512
- this.log.debug(`Spawn stderr: ${message}`);
2512
+ this.log.debug(`Spawn verbose (stderr): ${message}`);
2513
2513
  this.wssSendMessage('spawn', this.log.now(), 'Matterbridge:spawn', message);
2514
2514
  });
2515
2515
  }
@@ -2570,17 +2570,34 @@ export class Matterbridge extends EventEmitter {
2570
2570
  this.log.debug(`Initializing the frontend ${hasParameter('ssl') ? 'https' : 'http'} server on port ${YELLOW}${port}${db}`);
2571
2571
  // Create the express app that serves the frontend
2572
2572
  this.expressApp = express();
2573
+ // Log all requests to the server for debugging
2574
+ /*
2575
+ if (hasParameter('homedir')) {
2576
+ this.expressApp.use((req, res, next) => {
2577
+ this.log.debug(`Received request on expressApp: ${req.method} ${req.url}`);
2578
+ next();
2579
+ });
2580
+ }
2581
+ */
2582
+ // Serve static files from '/static' endpoint
2573
2583
  this.expressApp.use(express.static(path.join(this.rootDirectory, 'frontend/build')));
2574
2584
  if (!hasParameter('ssl')) {
2575
2585
  // Create an HTTP server and attach the express app
2576
2586
  this.httpServer = createServer(this.expressApp);
2577
2587
  // Listen on the specified port
2578
- this.httpServer.listen(port, () => {
2579
- if (this.systemInformation.ipv4Address !== '')
2580
- this.log.info(`The frontend http server is listening on ${UNDERLINE}http://${this.systemInformation.ipv4Address}:${port}${UNDERLINEOFF}${rs}`);
2581
- if (this.systemInformation.ipv6Address !== '')
2582
- this.log.info(`The frontend http server is listening on ${UNDERLINE}http://[${this.systemInformation.ipv6Address}]:${port}${UNDERLINEOFF}${rs}`);
2583
- });
2588
+ if (hasParameter('ingress')) {
2589
+ this.httpServer.listen(port, '0.0.0.0', () => {
2590
+ this.log.info(`The frontend http server is listening on ${UNDERLINE}http://0.0.0.0:${port}${UNDERLINEOFF}${rs}`);
2591
+ });
2592
+ }
2593
+ else {
2594
+ this.httpServer.listen(port, () => {
2595
+ if (this.systemInformation.ipv4Address !== '')
2596
+ this.log.info(`The frontend http server is listening on ${UNDERLINE}http://${this.systemInformation.ipv4Address}:${port}${UNDERLINEOFF}${rs}`);
2597
+ if (this.systemInformation.ipv6Address !== '')
2598
+ this.log.info(`The frontend http server is listening on ${UNDERLINE}http://[${this.systemInformation.ipv6Address}]:${port}${UNDERLINEOFF}${rs}`);
2599
+ });
2600
+ }
2584
2601
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2585
2602
  this.httpServer.on('error', (error) => {
2586
2603
  this.log.error(`Frontend http server error listening on ${port}`);
@@ -2628,12 +2645,19 @@ export class Matterbridge extends EventEmitter {
2628
2645
  // Create an HTTPS server with the SSL certificate and private key (ca is optional) and attach the express app
2629
2646
  this.httpsServer = https.createServer(serverOptions, this.expressApp);
2630
2647
  // Listen on the specified port
2631
- this.httpsServer.listen(port, () => {
2632
- if (this.systemInformation.ipv4Address !== '')
2633
- this.log.info(`The frontend https server is listening on ${UNDERLINE}https://${this.systemInformation.ipv4Address}:${port}${UNDERLINEOFF}${rs}`);
2634
- if (this.systemInformation.ipv6Address !== '')
2635
- this.log.info(`The frontend https server is listening on ${UNDERLINE}https://[${this.systemInformation.ipv6Address}]:${port}${UNDERLINEOFF}${rs}`);
2636
- });
2648
+ if (hasParameter('ingress')) {
2649
+ this.httpsServer.listen(port, '0.0.0.0', () => {
2650
+ this.log.info(`The frontend https server is listening on ${UNDERLINE}https://0.0.0.0:${port}${UNDERLINEOFF}${rs}`);
2651
+ });
2652
+ }
2653
+ else {
2654
+ this.httpsServer.listen(port, () => {
2655
+ if (this.systemInformation.ipv4Address !== '')
2656
+ this.log.info(`The frontend https server is listening on ${UNDERLINE}https://${this.systemInformation.ipv4Address}:${port}${UNDERLINEOFF}${rs}`);
2657
+ if (this.systemInformation.ipv6Address !== '')
2658
+ this.log.info(`The frontend https server is listening on ${UNDERLINE}https://[${this.systemInformation.ipv6Address}]:${port}${UNDERLINEOFF}${rs}`);
2659
+ });
2660
+ }
2637
2661
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2638
2662
  this.httpsServer.on('error', (error) => {
2639
2663
  this.log.error(`Frontend https server error listening on ${port}`);
@@ -2658,9 +2682,7 @@ export class Matterbridge extends EventEmitter {
2658
2682
  this.webSocketServer.on('connection', (ws, request) => {
2659
2683
  const clientIp = request.socket.remoteAddress;
2660
2684
  AnsiLogger.setGlobalCallback(this.wssSendMessage.bind(this), "debug" /* LogLevel.DEBUG */);
2661
- this.log.debug('WebSocketServer logger global callback added');
2662
2685
  this.log.info(`WebSocketServer client "${clientIp}" connected to Matterbridge`);
2663
- // this.wssSendMessage('info', this.log.now(), 'Matterbridge', `WebSocketServer client "${clientIp}" connected to Matterbridge`);
2664
2686
  ws.on('message', (message) => {
2665
2687
  this.log.debug(`WebSocket client message: ${message}`);
2666
2688
  });