@matterbridge/thread 3.9.2-dev-20260620-9802e5b → 3.9.2-dev-20260620-2b9580a

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.
@@ -6,11 +6,11 @@ import { isValidString } from '@matterbridge/utils/validate';
6
6
  import { AnsiLogger, db, debugStringify, nt, wr } from 'node-ansi-logger';
7
7
  import { BroadcastServer } from './broadcastServer.js';
8
8
  logModuleLoaded('CheckUpdates');
9
- let refreshSettingsRequired = false;
10
- let refreshPluginsRequired = false;
9
+ let noUpdatesAvailable = true;
11
10
  export async function checkUpdates(matterbridge) {
12
11
  const log = new AnsiLogger({ logName: 'MatterbridgeUpdates', logTimestampFormat: 4, logLevel: matterbridge.logLevel });
13
12
  const server = new BroadcastServer('updates', log);
13
+ noUpdatesAvailable = true;
14
14
  const checkUpdatePromise = checkUpdatesAndLog(matterbridge, log, server);
15
15
  const latestVersionPromise = getMatterbridgeLatestVersion(matterbridge, log, server);
16
16
  const devVersionPromise = getMatterbridgeDevVersion(matterbridge, log, server);
@@ -27,12 +27,9 @@ export async function checkUpdates(matterbridge) {
27
27
  log.debug(`Error fetching plugins for update check: ${getErrorMessage(error)}`);
28
28
  }
29
29
  await Promise.all([checkUpdatePromise, latestVersionPromise, devVersionPromise, ...pluginsVersionPromises, ...pluginsDevVersionPromises]);
30
- if (refreshSettingsRequired)
31
- server.request({ type: 'frontend_refreshrequired', src: server.name, dst: 'frontend', params: { changed: 'settings' } });
32
- if (refreshPluginsRequired)
33
- server.request({ type: 'frontend_refreshrequired', src: server.name, dst: 'frontend', params: { changed: 'plugins' } });
34
- refreshSettingsRequired = false;
35
- refreshPluginsRequired = false;
30
+ if (noUpdatesAvailable) {
31
+ server.request({ type: 'frontend_snackbarmessage', src: server.name, dst: 'frontend', params: { message: 'No updates available', timeout: 5, severity: 'info' } });
32
+ }
36
33
  server.close();
37
34
  }
38
35
  export async function checkUpdatesAndLog(matterbridge, log, server) {
@@ -77,15 +74,15 @@ export async function getMatterbridgeLatestVersion(matterbridge, log, server) {
77
74
  log.debug(`Matterbridge is up to date. Current version: ${matterbridge.matterbridgeVersion}. Latest version: ${version}.`);
78
75
  }
79
76
  else {
77
+ noUpdatesAvailable = false;
80
78
  log.notice(`Matterbridge is out of date. Current version: ${matterbridge.matterbridgeVersion}. Latest version: ${version}.`);
81
79
  server.request({
82
80
  type: 'frontend_snackbarmessage',
83
81
  src: server.name,
84
82
  dst: 'frontend',
85
- params: { message: 'Matterbridge latest update available', timeout: 0, severity: 'info' },
83
+ params: { message: 'Matterbridge latest update available', timeout: 60, severity: 'info' },
86
84
  });
87
- server.request({ type: 'frontend_updaterequired', src: server.name, dst: 'frontend', params: { devVersion: false } });
88
- refreshSettingsRequired = true;
85
+ server.request({ type: 'frontend_updaterequired', src: server.name, dst: 'frontend', params: { version, devVersion: false } });
89
86
  }
90
87
  return version;
91
88
  }
@@ -100,15 +97,15 @@ export async function getMatterbridgeDevVersion(matterbridge, log, server) {
100
97
  const version = await getNpmPackageVersion('matterbridge', 'dev');
101
98
  server.request({ type: 'matterbridge_dev_version', src: server.name, dst: 'matterbridge', params: { version } });
102
99
  if ((matterbridge.matterbridgeVersion.includes('-dev-') || matterbridge.matterbridgeVersion.includes('-git-')) && matterbridge.matterbridgeVersion !== version) {
100
+ noUpdatesAvailable = false;
103
101
  log.notice(`Matterbridge@dev is out of date. Current version: ${matterbridge.matterbridgeVersion}. Latest dev version: ${version}.`);
104
102
  server.request({
105
103
  type: 'frontend_snackbarmessage',
106
104
  src: server.name,
107
105
  dst: 'frontend',
108
- params: { message: 'Matterbridge dev update available', timeout: 0, severity: 'info' },
106
+ params: { message: 'Matterbridge dev update available', timeout: 60, severity: 'info' },
109
107
  });
110
- server.request({ type: 'frontend_updaterequired', src: server.name, dst: 'frontend', params: { devVersion: true } });
111
- refreshSettingsRequired = true;
108
+ server.request({ type: 'frontend_updaterequired', src: server.name, dst: 'frontend', params: { version, devVersion: true } });
112
109
  }
113
110
  else if ((matterbridge.matterbridgeVersion.includes('-dev-') || matterbridge.matterbridgeVersion.includes('-git-')) && matterbridge.matterbridgeVersion === version) {
114
111
  log.debug(`Matterbridge@dev is up to date. Current version: ${matterbridge.matterbridgeVersion}. Latest dev version: ${version}.`);
@@ -126,12 +123,19 @@ export async function getPluginLatestVersion(log, server, plugin) {
126
123
  const version = await getNpmPackageVersion(plugin.name);
127
124
  plugin.latestVersion = version;
128
125
  server.request({ type: 'plugins_set_latest_version', src: server.name, dst: 'plugins', params: { plugin, version } });
126
+ server.request({ type: 'frontend_pluginupdaterequired', src: server.name, dst: 'frontend', params: { plugin: plugin.name, version, devVersion: false } });
129
127
  if (plugin.version === plugin.latestVersion) {
130
128
  log.debug(`The plugin ${plg}${plugin.name}${db} is up to date. Current version: ${plugin.version}. Latest version: ${plugin.latestVersion}.`);
131
129
  }
132
130
  else {
131
+ noUpdatesAvailable = false;
133
132
  log.notice(`The plugin ${plg}${plugin.name}${nt} is out of date. Current version: ${plugin.version}. Latest version: ${plugin.latestVersion}.`);
134
- refreshPluginsRequired = true;
133
+ server.request({
134
+ type: 'frontend_snackbarmessage',
135
+ src: server.name,
136
+ dst: 'frontend',
137
+ params: { message: `Plugin ${plugin.name} latest update available`, timeout: 60, severity: 'info' },
138
+ });
135
139
  }
136
140
  return version;
137
141
  }
@@ -146,9 +150,16 @@ export async function getPluginDevVersion(log, server, plugin) {
146
150
  const version = await getNpmPackageVersion(plugin.name, 'dev');
147
151
  plugin.devVersion = version;
148
152
  server.request({ type: 'plugins_set_dev_version', src: server.name, dst: 'plugins', params: { plugin, version } });
153
+ server.request({ type: 'frontend_pluginupdaterequired', src: server.name, dst: 'frontend', params: { plugin: plugin.name, version, devVersion: true } });
149
154
  if ((plugin.version.includes('-dev-') || plugin.version.includes('-git-')) && plugin.version !== plugin.devVersion) {
155
+ noUpdatesAvailable = false;
150
156
  log.notice(`The plugin ${plg}${plugin.name}${nt} is out of date. Current version: ${plugin.version}. Latest dev version: ${plugin.devVersion}.`);
151
- refreshPluginsRequired = true;
157
+ server.request({
158
+ type: 'frontend_snackbarmessage',
159
+ src: server.name,
160
+ dst: 'frontend',
161
+ params: { message: `Plugin ${plugin.name} dev update available`, timeout: 60, severity: 'info' },
162
+ });
152
163
  }
153
164
  else if (plugin.version.includes('-dev-') && plugin.version === plugin.devVersion) {
154
165
  log.debug(`The plugin ${plg}${plugin.name}${db} is up to date. Current version: ${plugin.version}. Latest dev version: ${plugin.devVersion}.`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matterbridge/thread",
3
- "version": "3.9.2-dev-20260620-9802e5b",
3
+ "version": "3.9.2-dev-20260620-2b9580a",
4
4
  "description": "Matterbridge thread library",
5
5
  "author": "https://github.com/Luligu",
6
6
  "homepage": "https://matterbridge.io/",
@@ -69,9 +69,9 @@
69
69
  "CHANGELOG.md"
70
70
  ],
71
71
  "dependencies": {
72
- "@matterbridge/types": "3.9.2-dev-20260620-9802e5b",
73
- "@matterbridge/utils": "3.9.2-dev-20260620-9802e5b",
72
+ "@matterbridge/types": "3.9.2-dev-20260620-2b9580a",
73
+ "@matterbridge/utils": "3.9.2-dev-20260620-2b9580a",
74
74
  "@zip.js/zip.js": "2.8.26",
75
- "node-ansi-logger": "3.3.0-dev-20260617-6ebcff7"
75
+ "node-ansi-logger": "3.3.0"
76
76
  }
77
77
  }