matter-server 0.5.9 → 0.5.10

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.
@@ -149,21 +149,44 @@ async function start() {
149
149
  await server.start();
150
150
  }
151
151
  async function stop() {
152
- await server?.stop();
153
- await controller?.stop();
154
- if (legacyDataWriter?.hasPendingWork()) {
155
- logger.info("Flushing pending legacy data writes...");
156
- await legacyDataWriter.flush();
152
+ try {
153
+ await server?.stop();
154
+ } catch (err) {
155
+ console.error(`Failed to stop server: ${err}`);
156
+ }
157
+ try {
158
+ await controller?.stop();
159
+ } catch (err) {
160
+ console.error(`Failed to stop controller: ${err}`);
161
+ }
162
+ try {
163
+ if (legacyDataWriter?.hasPendingWork()) {
164
+ logger.info("Flushing pending legacy data writes...");
165
+ await legacyDataWriter.flush();
166
+ }
167
+ } catch (err) {
168
+ console.error(`Failed to flush legacy data: ${err}`);
169
+ }
170
+ try {
171
+ await config?.close();
172
+ } catch (err) {
173
+ console.error(`Failed to close config storage: ${err}`);
174
+ }
175
+ try {
176
+ await env.runtime.close();
177
+ } catch (err) {
178
+ console.error(`Failed to close runtime: ${err}`);
157
179
  }
158
- await config?.close();
159
180
  try {
160
181
  await fileLoggerClose?.();
161
182
  } catch (err) {
162
183
  console.error(`Failed to flush log file on shutdown: ${err}`);
163
184
  }
164
- process.exit(0);
165
185
  }
166
- start().catch((err) => console.error(err));
186
+ start().catch(async (err) => {
187
+ console.error(err);
188
+ await config?.close();
189
+ });
167
190
  process.on("SIGINT", () => void stop().catch((err) => console.error(err)));
168
191
  process.on("SIGTERM", () => void stop().catch((err) => console.error(err)));
169
192
  //# sourceMappingURL=MatterServer.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/MatterServer.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "matter-server",
3
- "version": "0.5.9",
3
+ "version": "0.5.10",
4
4
  "type": "module",
5
5
  "description": "WebSocket Matter server based on matter.js",
6
6
  "bugs": {
@@ -24,9 +24,9 @@
24
24
  },
25
25
  "dependencies": {
26
26
  "@matter/main": "0.17.0-alpha.0-20260326-42b6f59b7",
27
- "@matter-server/ws-controller": "0.5.9",
28
- "@matter-server/dashboard": "0.5.9",
29
- "@matter-server/custom-clusters": "0.5.9",
27
+ "@matter-server/ws-controller": "0.5.10",
28
+ "@matter-server/dashboard": "0.5.10",
29
+ "@matter-server/custom-clusters": "0.5.10",
30
30
  "commander": "^14.0.3",
31
31
  "express": "^5.2.1"
32
32
  },
@@ -35,7 +35,7 @@
35
35
  "@types/node": "^25.5.0",
36
36
  "@matter/nodejs": "0.17.0-alpha.0-20260326-42b6f59b7",
37
37
  "@matter/testing": "0.17.0-alpha.0-20260326-42b6f59b7",
38
- "@matter-server/ws-client": "0.5.9"
38
+ "@matter-server/ws-client": "0.5.10"
39
39
  },
40
40
  "files": [
41
41
  "dist/**/*",
@@ -190,23 +190,49 @@ async function start() {
190
190
  }
191
191
 
192
192
  async function stop() {
193
- await server?.stop();
194
- await controller?.stop();
193
+ try {
194
+ await server?.stop();
195
+ } catch (err) {
196
+ console.error(`Failed to stop server: ${err}`);
197
+ }
198
+ try {
199
+ await controller?.stop();
200
+ } catch (err) {
201
+ console.error(`Failed to stop controller: ${err}`);
202
+ }
195
203
  // Flush any pending legacy data writes before closing
196
- if (legacyDataWriter?.hasPendingWork()) {
197
- logger.info("Flushing pending legacy data writes...");
198
- await legacyDataWriter.flush();
204
+ try {
205
+ if (legacyDataWriter?.hasPendingWork()) {
206
+ logger.info("Flushing pending legacy data writes...");
207
+ await legacyDataWriter.flush();
208
+ }
209
+ } catch (err) {
210
+ console.error(`Failed to flush legacy data: ${err}`);
211
+ }
212
+ try {
213
+ await config?.close();
214
+ } catch (err) {
215
+ console.error(`Failed to close config storage: ${err}`);
216
+ }
217
+ // Wait for the Environment runtime to fully shut down (flushes all storage,
218
+ // completes async worker cleanup). Without this, controller storage like
219
+ // "server-1-fff1" may not be flushed before the process exits.
220
+ try {
221
+ await env.runtime.close();
222
+ } catch (err) {
223
+ console.error(`Failed to close runtime: ${err}`);
199
224
  }
200
- await config?.close();
201
225
  try {
202
226
  await fileLoggerClose?.();
203
227
  } catch (err) {
204
228
  console.error(`Failed to flush log file on shutdown: ${err}`);
205
229
  }
206
- process.exit(0);
207
230
  }
208
231
 
209
- start().catch(err => console.error(err));
232
+ start().catch(async err => {
233
+ console.error(err);
234
+ await config?.close();
235
+ });
210
236
 
211
237
  process.on("SIGINT", () => void stop().catch(err => console.error(err)));
212
238
  process.on("SIGTERM", () => void stop().catch(err => console.error(err)));