matterbridge 3.4.2-dev-20251206-00998e1 → 3.4.3-dev-20251206-06686b7

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
@@ -28,6 +28,28 @@ Advantages:
28
28
  - individual plugin isolation in childbridge mode;
29
29
  - ability to update the plugin in childbridge mode without restarting matterbridge;
30
30
 
31
+ ## [3.4.3] - 2025-12-12
32
+
33
+ ### Added
34
+
35
+ - [frontend]: Added homepage icon and link to https://matterbridge.io/.
36
+
37
+ ### Changed
38
+
39
+ - [package]: Updated dependencies.
40
+ - [frontend]: Bumped `frontend` version to v.3.3.4.
41
+ - [package]: Changed homepage to https://matterbridge.io.
42
+ - [frontend]: Changed help link to https://matterbridge.io/README.html.
43
+ - [frontend]: Changed changelog link to https://matterbridge.io/CHANGELOG.html.
44
+ - [frontend]: Changed changelog icon to HistoryOutlinedIcon.
45
+
46
+ ### Fixed
47
+
48
+ - [matterbridge]: Plugin version is now updated even if the plugin is disabled.
49
+ - [matterbridge]: Fixed default delay and fixed_delay to 120 seconds.
50
+
51
+ <a href="https://www.buymeacoffee.com/luligugithub"><img src="https://matterbridge.io/bmc-button.svg" alt="Buy me a coffee" width="80"></a>
52
+
31
53
  ## [3.4.2] - 2025-12-05
32
54
 
33
55
  ### Race condition
@@ -18,14 +18,14 @@
18
18
 
19
19
  ## Run matterbridge as a daemon with systemctl (Linux only) with local global node_modules
20
20
 
21
- The advantage of this setup is that the global node_modules are private for the user and sudo is not required.
22
-
23
- This configuration uses a private separate npm cache.
21
+ The advantage of this setup is that the global node_modules and npm cache are private for the user and sudo is not required.
24
22
 
25
23
  The service runs rootless like the current user.
26
24
 
27
25
  The storage position is compatible with the traditional setup (~/Matterbridge ~/.matterbridge ~/.mattercert).
28
26
 
27
+ Also various scripts don't work if you choose this configuration.
28
+
29
29
  ### First create the Matterbridge directories and set the correct permissions
30
30
 
31
31
  This will create the required directories if they don't exist
@@ -18,9 +18,7 @@
18
18
 
19
19
  ## Run matterbridge as a daemon with systemctl (Linux only) with user matterbridge and private global node_modules
20
20
 
21
- The advantage of this setup is that the global node_modules are private for matterbridge and sudo is not required.
22
-
23
- This configuration uses a private separate npm cache.
21
+ The advantage of this setup is that the global node_modules and npm cache are private for matterbridge and sudo is not required.
24
22
 
25
23
  The service runs with group and user matterbridge and the system has full protection.
26
24
 
@@ -28,7 +26,7 @@ The service runs with group and user matterbridge and the system has full protec
28
26
 
29
27
  The storage position is **not compatible** with the traditional setup (~/Matterbridge ~/.matterbridge ~/.mattercert).
30
28
 
31
- Also various script don't work if you choose this configuration.
29
+ Also various scripts don't work if you choose this configuration.
32
30
 
33
31
  ### 1 - Create the matterbridge user and group
34
32
 
@@ -62,7 +60,7 @@ sudo chmod -R 755 /opt/matterbridge /opt/matterbridge/Matterbridge /opt/matterbr
62
60
  # make sure the “bin” dir exists for global executables
63
61
  sudo -u matterbridge mkdir -p /opt/matterbridge/.npm-global/bin
64
62
  # ✅ Install matterbridge in the private global node_modules using the private npm cache
65
- sudo -u matterbridge NPM_CONFIG_PREFIX=/opt/matterbridge/.npm-global NPM_CONFIG_CACHE=/opt/matterbridge/.npm-cache npm install matterbridge --omit=dev --verbose --global
63
+ sudo -u matterbridge npm install matterbridge --omit=dev --verbose --global --prefix=/opt/matterbridge/.npm-global --cache=/opt/matterbridge/.npm-cache
66
64
  # ✅ Create a link to matterbridge bins
67
65
  sudo ln -sf /opt/matterbridge/.npm-global/bin/matterbridge /usr/bin/matterbridge
68
66
  sudo ln -sf /opt/matterbridge/.npm-global/bin/mb_mdns /usr/bin/mb_mdns
package/README.md CHANGED
@@ -178,37 +178,31 @@ Home page
178
178
 
179
179
  ### Run matterbridge as a daemon with systemctl (Linux only)
180
180
 
181
- Traditional configuration
181
+ Traditional configuration: [configuration](README-SERVICE.md)
182
182
 
183
- [Service configurations](README-SERVICE.md)
183
+ or with local global node_modules and npm cache (no sudo required): [configuration](README-SERVICE-LOCAL.md)
184
184
 
185
- or with local global node_modules (no sudo required)
186
-
187
- [Service configurations with local global node_modules](README-SERVICE-LOCAL.md)
188
-
189
- or with user matterbridge and with private global node_modules (no sudo required)
190
-
191
- [Service configurations with user matterbridge and private global node_modules](README-SERVICE-OPT.md)
185
+ or with user matterbridge and with private global node_modules and npm cache (no sudo required): [configuration](README-SERVICE-OPT.md)
192
186
 
193
187
  ### Run matterbridge as a system service with launchctl (macOS only)
194
188
 
195
- [Launchctl configurations](README-MACOS-PLIST.md)
189
+ [Launchctl configuration](README-MACOS-PLIST.md)
196
190
 
197
191
  ### Run matterbridge with docker and docker compose
198
192
 
199
- [Docker configurations](README-DOCKER.md)
193
+ [Docker configuration](README-DOCKER.md)
200
194
 
201
195
  ### Run matterbridge with podman
202
196
 
203
- [Podman configurations](README-PODMAN.md)
197
+ [Podman configuration](README-PODMAN.md)
204
198
 
205
199
  ### Run matterbridge with nginx
206
200
 
207
- [Nginx configurations](README-NGINX.md)
201
+ [Nginx configuration](README-NGINX.md)
208
202
 
209
203
  ### Run matterbridge as an home assistant add-on with the official add-on
210
204
 
211
- [Home assistant add-on configurations](https://github.com/Luligu/matterbridge-home-assistant-addon)
205
+ [Home assistant add-on configuration](https://github.com/Luligu/matterbridge-home-assistant-addon)
212
206
 
213
207
  ### Other Home Assistant Community Add-ons
214
208
 
package/dist/cli.js CHANGED
@@ -165,6 +165,8 @@ function help() {
165
165
  --service: enable the service mode (used in the linux systemctl configuration file and macOS launchctl plist)
166
166
  --docker: enable the docker mode (used in the docker image)
167
167
  --homedir: override the home directory (default the os homedir)
168
+ --delay [seconds]: set a delay in seconds before starting Matterbridge in the first 5 minutes from a reboot (default 120)
169
+ --fixed_delay [seconds]: set a fixed delay in seconds before starting Matterbridge (default 120)
168
170
  `);
169
171
  process.exit(0);
170
172
  }
@@ -485,12 +485,12 @@ export class Matterbridge extends EventEmitter {
485
485
  plugin.enabled = false;
486
486
  continue;
487
487
  }
488
- if ((await this.plugins.parse(plugin)) === null) {
489
- this.log.error(`Error parsing plugin ${plg}${plugin.name}${er}. The plugin is disabled.`);
490
- plugin.error = true;
491
- plugin.enabled = false;
492
- continue;
493
- }
488
+ }
489
+ if ((await this.plugins.parse(plugin)) === null) {
490
+ this.log.error(`Error parsing plugin ${plg}${plugin.name}${er}. The plugin is disabled.`);
491
+ plugin.error = true;
492
+ plugin.enabled = false;
493
+ continue;
494
494
  }
495
495
  this.log.debug(`Creating node storage context for plugin ${plg}${plugin.name}${db}`);
496
496
  plugin.nodeContext = await this.nodeStorage.createStorage(plugin.name);
@@ -653,13 +653,13 @@ export class Matterbridge extends EventEmitter {
653
653
  }
654
654
  if (hasParameter('delay') && os.uptime() <= 60 * 5) {
655
655
  const { wait } = await import('./utils/wait.js');
656
- const delay = getIntParameter('delay') || 2000;
656
+ const delay = getIntParameter('delay') || 120;
657
657
  this.log.warn('Delay switch found with system uptime less then 5 minutes. Waiting for ' + delay + ' seconds before starting matterbridge...');
658
658
  await wait(delay * 1000, 'Race condition delay', true);
659
659
  }
660
660
  if (hasParameter('fixed_delay')) {
661
661
  const { wait } = await import('./utils/wait.js');
662
- const delay = getIntParameter('fixed_delay') || 2000;
662
+ const delay = getIntParameter('fixed_delay') || 120;
663
663
  this.log.warn('Fixed delay switch found. Waiting for ' + delay + ' seconds before starting matterbridge...');
664
664
  await wait(delay * 1000, 'Fixed race condition delay', true);
665
665
  }