@matter/node 0.17.8-alpha.0-20260801-92169d0aa → 0.17.8
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/cjs/behavior/system/software-update/OtaProgress.d.ts +13 -0
- package/dist/cjs/behavior/system/software-update/OtaProgress.d.ts.map +1 -0
- package/dist/cjs/behavior/system/software-update/OtaProgress.js +31 -0
- package/dist/cjs/behavior/system/software-update/OtaProgress.js.map +6 -0
- package/dist/cjs/behavior/system/software-update/SoftwareUpdateManager.d.ts +10 -2
- package/dist/cjs/behavior/system/software-update/SoftwareUpdateManager.d.ts.map +1 -1
- package/dist/cjs/behavior/system/software-update/SoftwareUpdateManager.js +51 -13
- package/dist/cjs/behavior/system/software-update/SoftwareUpdateManager.js.map +1 -1
- package/dist/cjs/behavior/system/software-update/index.d.ts +1 -0
- package/dist/cjs/behavior/system/software-update/index.d.ts.map +1 -1
- package/dist/cjs/behavior/system/software-update/index.js +1 -0
- package/dist/cjs/behavior/system/software-update/index.js.map +1 -1
- package/dist/cjs/behaviors/ota-software-update-provider/OtaSoftwareUpdateProviderServer.d.ts.map +1 -1
- package/dist/cjs/behaviors/ota-software-update-provider/OtaSoftwareUpdateProviderServer.js +10 -4
- package/dist/cjs/behaviors/ota-software-update-provider/OtaSoftwareUpdateProviderServer.js.map +1 -1
- package/dist/esm/behavior/system/software-update/OtaProgress.d.ts +13 -0
- package/dist/esm/behavior/system/software-update/OtaProgress.d.ts.map +1 -0
- package/dist/esm/behavior/system/software-update/OtaProgress.js +11 -0
- package/dist/esm/behavior/system/software-update/OtaProgress.js.map +6 -0
- package/dist/esm/behavior/system/software-update/SoftwareUpdateManager.d.ts +10 -2
- package/dist/esm/behavior/system/software-update/SoftwareUpdateManager.d.ts.map +1 -1
- package/dist/esm/behavior/system/software-update/SoftwareUpdateManager.js +51 -13
- package/dist/esm/behavior/system/software-update/SoftwareUpdateManager.js.map +1 -1
- package/dist/esm/behavior/system/software-update/index.d.ts +1 -0
- package/dist/esm/behavior/system/software-update/index.d.ts.map +1 -1
- package/dist/esm/behavior/system/software-update/index.js +1 -0
- package/dist/esm/behavior/system/software-update/index.js.map +1 -1
- package/dist/esm/behaviors/ota-software-update-provider/OtaSoftwareUpdateProviderServer.d.ts.map +1 -1
- package/dist/esm/behaviors/ota-software-update-provider/OtaSoftwareUpdateProviderServer.js +10 -4
- package/dist/esm/behaviors/ota-software-update-provider/OtaSoftwareUpdateProviderServer.js.map +1 -1
- package/package.json +6 -6
- package/src/behavior/system/software-update/OtaProgress.ts +15 -0
- package/src/behavior/system/software-update/SoftwareUpdateManager.ts +68 -14
- package/src/behavior/system/software-update/index.ts +1 -0
- package/src/behaviors/ota-software-update-provider/OtaSoftwareUpdateProviderServer.ts +14 -6
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
import { Behavior } from "#behavior/Behavior.js";
|
|
7
7
|
import { DclBehavior } from "#behavior/system/dcl/DclBehavior.js";
|
|
8
8
|
import { OtaAnnouncements } from "#behavior/system/software-update/OtaAnnouncements.js";
|
|
9
|
+
import { OTA_PROGRESS_TIMEOUT } from "#behavior/system/software-update/OtaProgress.js";
|
|
9
10
|
import { BasicInformationClient } from "#behaviors/basic-information";
|
|
10
11
|
import { Node } from "#node/Node.js";
|
|
11
12
|
import {
|
|
@@ -56,6 +57,7 @@ class SoftwareUpdateManager extends Behavior {
|
|
|
56
57
|
rootNode.behaviors.require(DclBehavior);
|
|
57
58
|
this.internal.otaService = rootNode.agentFor(this.context).get(DclBehavior).otaUpdateService;
|
|
58
59
|
await this.internal.otaService.construction;
|
|
60
|
+
this.internal.otaStorageScope = this.internal.otaService.storage.scope;
|
|
59
61
|
this.reactTo(rootNode.lifecycle.online, this.#nodeOnline);
|
|
60
62
|
this.reactTo(rootNode.lifecycle.goingOffline, this.#nodeGoingOffline);
|
|
61
63
|
if (rootNode.lifecycle.isOnline) {
|
|
@@ -139,10 +141,11 @@ class SoftwareUpdateManager extends Behavior {
|
|
|
139
141
|
get queuedUpdates() {
|
|
140
142
|
const now = Time.nowMs;
|
|
141
143
|
return this.internal.updateQueue.map((entry) => {
|
|
144
|
+
const bdxSession = this.#bdxSessionFor(entry.peerAddress);
|
|
142
145
|
let status;
|
|
143
146
|
if (entry.lastProgressUpdateTime === void 0) {
|
|
144
147
|
status = "queued";
|
|
145
|
-
} else if (entry.lastProgressUpdateTime +
|
|
148
|
+
} else if (entry.lastProgressUpdateTime + OTA_PROGRESS_TIMEOUT < now && !this.#isTransferring(entry, bdxSession?.transferredBytes)) {
|
|
146
149
|
status = "stalled";
|
|
147
150
|
} else {
|
|
148
151
|
status = "in-progress";
|
|
@@ -154,10 +157,44 @@ class SoftwareUpdateManager extends Behavior {
|
|
|
154
157
|
targetSoftwareVersion: entry.targetSoftwareVersion,
|
|
155
158
|
status,
|
|
156
159
|
lastProgressStatus: entry.lastProgressStatus,
|
|
157
|
-
lastProgressUpdateTime: entry.lastProgressUpdateTime
|
|
160
|
+
lastProgressUpdateTime: entry.lastProgressUpdateTime,
|
|
161
|
+
bdxTransferredBytes: status === "in-progress" ? bdxSession?.transferredBytes : void 0,
|
|
162
|
+
bdxDataLength: status === "in-progress" ? bdxSession?.dataLength : void 0
|
|
158
163
|
};
|
|
159
164
|
});
|
|
160
165
|
}
|
|
166
|
+
#bdxSessionFor(peerAddress) {
|
|
167
|
+
const { otaStorageScope } = this.internal;
|
|
168
|
+
if (otaStorageScope === void 0 || !this.env.has(BdxProtocol)) {
|
|
169
|
+
return void 0;
|
|
170
|
+
}
|
|
171
|
+
return this.env.get(BdxProtocol).sessionFor(peerAddress, otaStorageScope);
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* A retry of a failed download opens a fresh BDX session whose counter restarts below the one we recorded, so any
|
|
175
|
+
* change of the counter counts as liveness, not only growth.
|
|
176
|
+
*/
|
|
177
|
+
#isTransferring(entry, transferredBytes) {
|
|
178
|
+
return transferredBytes !== void 0 && transferredBytes !== (entry.lastBdxTransferredBytes ?? 0);
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* A download produces no OTA status transitions for as long as it runs, so a large image on a slow link looks
|
|
182
|
+
* stalled to a timestamp that only status changes refresh.
|
|
183
|
+
*/
|
|
184
|
+
#refreshBdxProgress(entry, now) {
|
|
185
|
+
const transferredBytes = this.#bdxSessionFor(entry.peerAddress)?.transferredBytes;
|
|
186
|
+
if (!this.#isTransferring(entry, transferredBytes)) {
|
|
187
|
+
return false;
|
|
188
|
+
}
|
|
189
|
+
entry.lastBdxTransferredBytes = transferredBytes;
|
|
190
|
+
entry.lastProgressUpdateTime = now;
|
|
191
|
+
return true;
|
|
192
|
+
}
|
|
193
|
+
#resetEntryProgress(entry) {
|
|
194
|
+
entry.lastProgressUpdateTime = void 0;
|
|
195
|
+
entry.lastProgressStatus = 0 /* Unknown */;
|
|
196
|
+
entry.lastBdxTransferredBytes = void 0;
|
|
197
|
+
}
|
|
161
198
|
/** Validate that we know the peer the update is requested for and the details match to what we know */
|
|
162
199
|
async #validatePeerDetails(peerAddress, details) {
|
|
163
200
|
const { softwareVersion, vendorId, productId } = details;
|
|
@@ -490,8 +527,7 @@ class SoftwareUpdateManager extends Behavior {
|
|
|
490
527
|
logger.info(
|
|
491
528
|
`Clearing in-progress update for node ${peerAddress.toString()} due to software version change. Last State was ${OtaUpdateStatus[entry.lastProgressStatus]}`
|
|
492
529
|
);
|
|
493
|
-
entry
|
|
494
|
-
entry.lastProgressStatus = 0 /* Unknown */;
|
|
530
|
+
this.#resetEntryProgress(entry);
|
|
495
531
|
}
|
|
496
532
|
const expectedVersion = entry.targetSoftwareVersion;
|
|
497
533
|
if (newVersion < expectedVersion) {
|
|
@@ -574,12 +610,14 @@ class SoftwareUpdateManager extends Behavior {
|
|
|
574
610
|
this.internal.updateQueueTimer.stop();
|
|
575
611
|
} else if (inProgressCount > 0) {
|
|
576
612
|
for (const entry of inProgressEntries) {
|
|
577
|
-
if (entry
|
|
613
|
+
if (this.#refreshBdxProgress(entry, now)) {
|
|
614
|
+
continue;
|
|
615
|
+
}
|
|
616
|
+
if (entry.lastProgressUpdateTime + OTA_PROGRESS_TIMEOUT < now) {
|
|
578
617
|
logger.info(
|
|
579
618
|
`Resetting stalled OTA update state for node ${entry.peerAddress.toString()} due to inactivity`
|
|
580
619
|
);
|
|
581
|
-
entry
|
|
582
|
-
entry.lastProgressStatus = 0 /* Unknown */;
|
|
620
|
+
this.#resetEntryProgress(entry);
|
|
583
621
|
inProgressCount--;
|
|
584
622
|
}
|
|
585
623
|
}
|
|
@@ -617,7 +655,7 @@ class SoftwareUpdateManager extends Behavior {
|
|
|
617
655
|
return;
|
|
618
656
|
}
|
|
619
657
|
const { endpoint, peerAddress } = entry;
|
|
620
|
-
if (this
|
|
658
|
+
if (this.#bdxSessionFor(peerAddress) !== void 0) {
|
|
621
659
|
logger.info(`BDX transfer still active for node ${peerAddress.toString()}, skipping announcement`);
|
|
622
660
|
return;
|
|
623
661
|
}
|
|
@@ -633,8 +671,7 @@ class SoftwareUpdateManager extends Behavior {
|
|
|
633
671
|
}
|
|
634
672
|
} catch (error) {
|
|
635
673
|
logger.warn(`Failed to announce OTA provider to node ${peerAddress.toString()}:`, error);
|
|
636
|
-
entry
|
|
637
|
-
entry.lastProgressStatus = 0 /* Unknown */;
|
|
674
|
+
this.#resetEntryProgress(entry);
|
|
638
675
|
this.#triggerQueuedUpdate();
|
|
639
676
|
}
|
|
640
677
|
}
|
|
@@ -652,7 +689,7 @@ class SoftwareUpdateManager extends Behavior {
|
|
|
652
689
|
);
|
|
653
690
|
if (existingEntry !== void 0) {
|
|
654
691
|
const bdxProtocol = this.env.get(BdxProtocol);
|
|
655
|
-
const activeSession =
|
|
692
|
+
const activeSession = this.#bdxSessionFor(peerAddress);
|
|
656
693
|
if (activeSession !== void 0) {
|
|
657
694
|
logger.info(
|
|
658
695
|
`Force update for node ${peerAddress.toString()} skipped: BDX transfer is actively in progress`
|
|
@@ -817,8 +854,7 @@ class SoftwareUpdateManager extends Behavior {
|
|
|
817
854
|
} else if (status === 7 /* Cancelled */) {
|
|
818
855
|
logger.info(`OTA update BDX cancelled for node ${peerAddress.toString()}, resetting for retry`);
|
|
819
856
|
this.internal.rebootResubscribeArmer?.disarm(peerAddress);
|
|
820
|
-
entry
|
|
821
|
-
entry.lastProgressStatus = 0 /* Unknown */;
|
|
857
|
+
this.#resetEntryProgress(entry);
|
|
822
858
|
this.#triggerQueuedUpdate();
|
|
823
859
|
} else {
|
|
824
860
|
logger.info(
|
|
@@ -857,6 +893,8 @@ class SoftwareUpdateManager extends Behavior {
|
|
|
857
893
|
/** Use this to pre-initialize consent to allow nodes to update automatically. The content will not be persisted! */
|
|
858
894
|
consents = new Array();
|
|
859
895
|
otaService;
|
|
896
|
+
/** Scope of the OTA storage, captured so a lookup cannot depend on the service still being constructed. */
|
|
897
|
+
otaStorageScope;
|
|
860
898
|
checkForUpdateTimer;
|
|
861
899
|
updateQueue = new Array();
|
|
862
900
|
updateQueueTimer;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/behavior/system/software-update/SoftwareUpdateManager.ts"],
|
|
4
|
-
"mappings": "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",
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["OtaUpdateStatus", "candidate", "consent", "softwareVersion", "triggerVersionChange", "triggerStartUp", "SoftwareUpdateManager"]
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/system/software-update/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,4BAA4B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/system/software-update/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC"}
|
package/dist/esm/behaviors/ota-software-update-provider/OtaSoftwareUpdateProviderServer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OtaSoftwareUpdateProviderServer.d.ts","sourceRoot":"","sources":["../../../../src/behaviors/ota-software-update-provider/OtaSoftwareUpdateProviderServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"OtaSoftwareUpdateProviderServer.d.ts","sourceRoot":"","sources":["../../../../src/behaviors/ota-software-update-provider/OtaSoftwareUpdateProviderServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACH,yBAAyB,EACzB,eAAe,EAElB,MAAM,2DAA2D,CAAC;AAKnE,OAAO,EAGH,QAAQ,EAGR,YAAY,EAIZ,SAAS,EACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAOH,WAAW,EACX,aAAa,EAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,qDAAqD,CAAC;AAChG,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAM3F,UAAU,0BAA0B;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,eAAe,CAAC;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,4FAA4F;IAC5F,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,oBAAY,6BAA6B;IACrC,OAAO,IAAA;IACP,MAAM,IAAA;IACN,SAAS,IAAA;IACT,OAAO,IAAA;CACV;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,+BAAgC,SAAQ,iCAAiC;;IAClF,SAAiB,QAAQ,EAAE,+BAA+B,CAAC,QAAQ,CAAC;IAErD,UAAU,kBAYxB;IAED,IAAI,aAAa,kBAKhB;IA8CD;;OAEG;IACY,UAAU,CACrB,OAAO,EAAE,yBAAyB,CAAC,iBAAiB,GACrD,OAAO,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,CA6OvD;IAED;;;OAGG;IACY,kBAAkB,CAAC,EAC9B,WAAW,EACX,UAAU,EACb,EAAE,yBAAyB,CAAC,kBAAkB,GAAG,OAAO,CAAC,yBAAyB,CAAC,mBAAmB,CAAC,CAoCvG;IAED;;OAEG;IACM,mBAAmB,CAAC,EACzB,WAAW,EACX,eAAe,EAClB,EAAE,yBAAyB,CAAC,0BAA0B,GAAG,IAAI,CAS7D;IAED;;;OAGG;IACH,SAAS,CAAC,2BAA2B,CACjC,QAAQ,EAAE,yBAAyB,CAAC,iBAAiB,EACrD,cAAc,EAAE,yBAAyB,EACzC,YAAY,EAAE,WAAW,GAC1B,YAAY,CAAC;QAAE,YAAY,EAAE,6BAA6B,CAAC;QAAC,SAAS,CAAC,EAAE,QAAQ,CAAA;KAAE,CAAC,CAErF;IAED;;;;;OAKG;IACH,SAAS,CAAC,oBAAoB,CAC1B,OAAO,EAAE,yBAAyB,CAAC,iBAAiB,EACpD,WAAW,EAAE,WAAW,GACzB,YAAY,CAAC,yBAAyB,GAAG,SAAS,CAAC,CAErD;CAmHJ;AAED,yBAAiB,+BAA+B,CAAC,CAAC;IAC9C,MAAa,QAAQ;QACjB,2DAA2D;QAC3D,iBAAiB,0CAAiD;QAElE,aAAa,EAAG,aAAa,CAAC;KACjC;IAEc,MAAM,kBAAkB,EAAE;QACrC;;;;;;;;;;WAUG;QACH,2BAA2B,CACvB,OAAO,EAAE,yBAAyB,CAAC,iBAAiB,EACpD,aAAa,EAAE,yBAAyB,EACxC,WAAW,EAAE,WAAW,GACzB,YAAY,CAAC;YAAE,YAAY,EAAE,6BAA6B,CAAC;YAAC,SAAS,CAAC,EAAE,QAAQ,CAAA;SAAE,CAAC,CAAC;QAEvF;;;;WAIG;QACH,oBAAoB,CAChB,OAAO,EAAE,yBAAyB,CAAC,iBAAiB,EACpD,WAAW,EAAE,WAAW,GACzB,YAAY,CAAC,yBAAyB,GAAG,SAAS,CAAC,CAAC;KAC1D,CAAC;CACL"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Copyright 2022-2026 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import { OTA_PROGRESS_TIMEOUT } from "#behavior/system/software-update/OtaProgress.js";
|
|
6
7
|
import {
|
|
7
8
|
OtaUpdateStatus,
|
|
8
9
|
SoftwareUpdateManager
|
|
@@ -206,8 +207,8 @@ class OtaSoftwareUpdateProviderServer extends OtaSoftwareUpdateProviderBehavior
|
|
|
206
207
|
if (scope !== this.updateStorage.scope || !PeerAddress.is(bdxSession.peerAddress, peerAddress)) {
|
|
207
208
|
return;
|
|
208
209
|
}
|
|
209
|
-
|
|
210
|
-
if (
|
|
210
|
+
const transferDetails = this.#inProgressDetailsForPeer(peerAddress, updateToken);
|
|
211
|
+
if (transferDetails === void 0) {
|
|
211
212
|
return;
|
|
212
213
|
}
|
|
213
214
|
this.#updateInProgressDetails(
|
|
@@ -216,6 +217,9 @@ class OtaSoftwareUpdateProviderServer extends OtaSoftwareUpdateProviderBehavior
|
|
|
216
217
|
OtaUpdateStatus.Downloading,
|
|
217
218
|
newSoftwareVersion
|
|
218
219
|
);
|
|
220
|
+
bdxSession.progressInfo.on(() => {
|
|
221
|
+
transferDetails.timestamp = Time.nowMs;
|
|
222
|
+
});
|
|
219
223
|
bdxSession.progressFinished.on(
|
|
220
224
|
() => this.#updateInProgressDetails(
|
|
221
225
|
peerAddress,
|
|
@@ -248,7 +252,9 @@ class OtaSoftwareUpdateProviderServer extends OtaSoftwareUpdateProviderBehavior
|
|
|
248
252
|
const details = this.internal.inProgressDetails.get(
|
|
249
253
|
`${peerAddress.nodeId}-${peerAddress.fabricIndex}-${Bytes.toHex(updateToken)}`
|
|
250
254
|
);
|
|
251
|
-
if (details
|
|
255
|
+
if (details === void 0) {
|
|
256
|
+
bdxProtocol.sessionStarted.off(sessionListener);
|
|
257
|
+
} else {
|
|
252
258
|
details.cleanup = () => bdxProtocol.sessionStarted.off(sessionListener);
|
|
253
259
|
}
|
|
254
260
|
imageUri = fileDesignator.asBdxUri(this.context.session.associatedFabric.rootNodeId);
|
|
@@ -363,7 +369,7 @@ class OtaSoftwareUpdateProviderServer extends OtaSoftwareUpdateProviderBehavior
|
|
|
363
369
|
}
|
|
364
370
|
}
|
|
365
371
|
#removeIfStale(key, details, peerAddress, now) {
|
|
366
|
-
if (details.timestamp +
|
|
372
|
+
if (details.timestamp + OTA_PROGRESS_TIMEOUT >= now) {
|
|
367
373
|
return false;
|
|
368
374
|
}
|
|
369
375
|
logger.info(
|
package/dist/esm/behaviors/ota-software-update-provider/OtaSoftwareUpdateProviderServer.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/behaviors/ota-software-update-provider/OtaSoftwareUpdateProviderServer.ts"],
|
|
4
|
-
"mappings": "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
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["OtaSoftwareUpdateConsentState", "details", "OtaSoftwareUpdateProviderServer"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter/node",
|
|
3
|
-
"version": "0.17.8
|
|
3
|
+
"version": "0.17.8",
|
|
4
4
|
"description": "API for building Matter nodes",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"iot",
|
|
@@ -36,14 +36,14 @@
|
|
|
36
36
|
"#*": "./src/*"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@matter/general": "0.17.8
|
|
40
|
-
"@matter/model": "0.17.8
|
|
41
|
-
"@matter/types": "0.17.8
|
|
42
|
-
"@matter/protocol": "0.17.8
|
|
39
|
+
"@matter/general": "0.17.8",
|
|
40
|
+
"@matter/model": "0.17.8",
|
|
41
|
+
"@matter/types": "0.17.8",
|
|
42
|
+
"@matter/protocol": "0.17.8"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@nacho-iot/js-tools": "^0.1.7",
|
|
46
|
-
"@matter/testing": "0.17.8
|
|
46
|
+
"@matter/testing": "0.17.8"
|
|
47
47
|
},
|
|
48
48
|
"files": [
|
|
49
49
|
"dist/**/*",
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { Minutes } from "@matter/general";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* An update without a status change or BDX transfer activity for this duration is considered stalled. The provider and
|
|
11
|
+
* the manager must expire an update at the same time or one retries while the other still tracks the transfer.
|
|
12
|
+
*
|
|
13
|
+
* Lives in a leaf module because both sides of an import cycle depend on it.
|
|
14
|
+
*/
|
|
15
|
+
export const OTA_PROGRESS_TIMEOUT = Minutes(15);
|
|
@@ -8,6 +8,7 @@ import { Behavior } from "#behavior/Behavior.js";
|
|
|
8
8
|
import type { ActionContext } from "#behavior/context/ActionContext.js";
|
|
9
9
|
import { DclBehavior } from "#behavior/system/dcl/DclBehavior.js";
|
|
10
10
|
import { OtaAnnouncements } from "#behavior/system/software-update/OtaAnnouncements.js";
|
|
11
|
+
import { OTA_PROGRESS_TIMEOUT } from "#behavior/system/software-update/OtaProgress.js";
|
|
11
12
|
import { BasicInformationClient } from "#behaviors/basic-information";
|
|
12
13
|
import { Endpoint } from "#endpoint/Endpoint.js";
|
|
13
14
|
import type { ClientNode } from "#node/ClientNode.js";
|
|
@@ -46,6 +47,7 @@ import {
|
|
|
46
47
|
PeerAddressMap,
|
|
47
48
|
RebootResubscribeArmer,
|
|
48
49
|
SessionManager,
|
|
50
|
+
StorageScope,
|
|
49
51
|
} from "@matter/protocol";
|
|
50
52
|
import { VendorId } from "@matter/types";
|
|
51
53
|
import { OtaSoftwareUpdateProvider } from "@matter/types/clusters/ota-software-update-provider";
|
|
@@ -64,6 +66,7 @@ interface UpdateQueueEntry extends UpdateConsent {
|
|
|
64
66
|
endpoint: Endpoint;
|
|
65
67
|
lastProgressUpdateTime?: Timestamp;
|
|
66
68
|
lastProgressStatus?: OtaUpdateStatus;
|
|
69
|
+
lastBdxTransferredBytes?: number;
|
|
67
70
|
}
|
|
68
71
|
|
|
69
72
|
interface UpdateConsentEntry extends DclOtaUpdateService.OtaUpdateListEntry {
|
|
@@ -130,11 +133,18 @@ export interface PendingUpdateInfo {
|
|
|
130
133
|
/**
|
|
131
134
|
* - `"queued"` — waiting for its turn; no announcement has been sent yet.
|
|
132
135
|
* - `"in-progress"` — the OTA provider has been announced to the node and we are waiting for it to complete.
|
|
133
|
-
* - `"stalled"` — no
|
|
136
|
+
* - `"stalled"` — no status update and no BDX transfer activity within {@link OTA_PROGRESS_TIMEOUT}. The entry
|
|
137
|
+
* will be automatically reset and retried.
|
|
134
138
|
*/
|
|
135
139
|
status: "queued" | "in-progress" | "stalled";
|
|
136
140
|
lastProgressStatus?: OtaUpdateStatus;
|
|
137
141
|
lastProgressUpdateTime?: Timestamp;
|
|
142
|
+
|
|
143
|
+
/** Bytes transferred by the BDX session of an in-progress update, undefined for any other status. */
|
|
144
|
+
bdxTransferredBytes?: number;
|
|
145
|
+
|
|
146
|
+
/** Size of the transfer of an in-progress update, undefined for any other status or while it is unknown. */
|
|
147
|
+
bdxDataLength?: number;
|
|
138
148
|
}
|
|
139
149
|
|
|
140
150
|
/**
|
|
@@ -163,6 +173,7 @@ export class SoftwareUpdateManager extends Behavior {
|
|
|
163
173
|
rootNode.behaviors.require(DclBehavior);
|
|
164
174
|
this.internal.otaService = rootNode.agentFor(this.context).get(DclBehavior).otaUpdateService;
|
|
165
175
|
await this.internal.otaService.construction;
|
|
176
|
+
this.internal.otaStorageScope = this.internal.otaService.storage.scope;
|
|
166
177
|
|
|
167
178
|
this.reactTo(rootNode.lifecycle.online, this.#nodeOnline);
|
|
168
179
|
this.reactTo(rootNode.lifecycle.goingOffline, this.#nodeGoingOffline);
|
|
@@ -266,10 +277,14 @@ export class SoftwareUpdateManager extends Behavior {
|
|
|
266
277
|
get queuedUpdates(): PendingUpdateInfo[] {
|
|
267
278
|
const now = Time.nowMs;
|
|
268
279
|
return this.internal.updateQueue.map(entry => {
|
|
280
|
+
const bdxSession = this.#bdxSessionFor(entry.peerAddress);
|
|
269
281
|
let status: PendingUpdateInfo["status"];
|
|
270
282
|
if (entry.lastProgressUpdateTime === undefined) {
|
|
271
283
|
status = "queued";
|
|
272
|
-
} else if (
|
|
284
|
+
} else if (
|
|
285
|
+
entry.lastProgressUpdateTime + OTA_PROGRESS_TIMEOUT < now &&
|
|
286
|
+
!this.#isTransferring(entry, bdxSession?.transferredBytes)
|
|
287
|
+
) {
|
|
273
288
|
status = "stalled";
|
|
274
289
|
} else {
|
|
275
290
|
status = "in-progress";
|
|
@@ -282,10 +297,48 @@ export class SoftwareUpdateManager extends Behavior {
|
|
|
282
297
|
status,
|
|
283
298
|
lastProgressStatus: entry.lastProgressStatus,
|
|
284
299
|
lastProgressUpdateTime: entry.lastProgressUpdateTime,
|
|
300
|
+
bdxTransferredBytes: status === "in-progress" ? bdxSession?.transferredBytes : undefined,
|
|
301
|
+
bdxDataLength: status === "in-progress" ? bdxSession?.dataLength : undefined,
|
|
285
302
|
};
|
|
286
303
|
});
|
|
287
304
|
}
|
|
288
305
|
|
|
306
|
+
#bdxSessionFor(peerAddress: PeerAddress) {
|
|
307
|
+
const { otaStorageScope } = this.internal;
|
|
308
|
+
if (otaStorageScope === undefined || !this.env.has(BdxProtocol)) {
|
|
309
|
+
return undefined;
|
|
310
|
+
}
|
|
311
|
+
return this.env.get(BdxProtocol).sessionFor(peerAddress, otaStorageScope);
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
/**
|
|
315
|
+
* A retry of a failed download opens a fresh BDX session whose counter restarts below the one we recorded, so any
|
|
316
|
+
* change of the counter counts as liveness, not only growth.
|
|
317
|
+
*/
|
|
318
|
+
#isTransferring(entry: UpdateQueueEntry, transferredBytes?: number) {
|
|
319
|
+
return transferredBytes !== undefined && transferredBytes !== (entry.lastBdxTransferredBytes ?? 0);
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
/**
|
|
323
|
+
* A download produces no OTA status transitions for as long as it runs, so a large image on a slow link looks
|
|
324
|
+
* stalled to a timestamp that only status changes refresh.
|
|
325
|
+
*/
|
|
326
|
+
#refreshBdxProgress(entry: UpdateQueueEntry, now: Timestamp) {
|
|
327
|
+
const transferredBytes = this.#bdxSessionFor(entry.peerAddress)?.transferredBytes;
|
|
328
|
+
if (!this.#isTransferring(entry, transferredBytes)) {
|
|
329
|
+
return false;
|
|
330
|
+
}
|
|
331
|
+
entry.lastBdxTransferredBytes = transferredBytes;
|
|
332
|
+
entry.lastProgressUpdateTime = now;
|
|
333
|
+
return true;
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
#resetEntryProgress(entry: UpdateQueueEntry) {
|
|
337
|
+
entry.lastProgressUpdateTime = undefined;
|
|
338
|
+
entry.lastProgressStatus = OtaUpdateStatus.Unknown;
|
|
339
|
+
entry.lastBdxTransferredBytes = undefined;
|
|
340
|
+
}
|
|
341
|
+
|
|
289
342
|
/** Validate that we know the peer the update is requested for and the details match to what we know */
|
|
290
343
|
async #validatePeerDetails(
|
|
291
344
|
peerAddress: PeerAddress,
|
|
@@ -713,8 +766,7 @@ export class SoftwareUpdateManager extends Behavior {
|
|
|
713
766
|
logger.info(
|
|
714
767
|
`Clearing in-progress update for node ${peerAddress.toString()} due to software version change. Last State was ${OtaUpdateStatus[entry.lastProgressStatus!]}`,
|
|
715
768
|
);
|
|
716
|
-
entry
|
|
717
|
-
entry.lastProgressStatus = OtaUpdateStatus.Unknown;
|
|
769
|
+
this.#resetEntryProgress(entry);
|
|
718
770
|
}
|
|
719
771
|
const expectedVersion = entry.targetSoftwareVersion;
|
|
720
772
|
if (newVersion < expectedVersion) {
|
|
@@ -815,14 +867,15 @@ export class SoftwareUpdateManager extends Behavior {
|
|
|
815
867
|
// No update in progress, stop timer
|
|
816
868
|
this.internal.updateQueueTimer.stop();
|
|
817
869
|
} else if (inProgressCount > 0) {
|
|
818
|
-
// Check if all last Status is at least 15 minutes old, reset them to unknown and no time
|
|
819
870
|
for (const entry of inProgressEntries) {
|
|
820
|
-
if (entry
|
|
871
|
+
if (this.#refreshBdxProgress(entry, now)) {
|
|
872
|
+
continue;
|
|
873
|
+
}
|
|
874
|
+
if (entry.lastProgressUpdateTime! + OTA_PROGRESS_TIMEOUT < now) {
|
|
821
875
|
logger.info(
|
|
822
876
|
`Resetting stalled OTA update state for node ${entry.peerAddress.toString()} due to inactivity`,
|
|
823
877
|
);
|
|
824
|
-
entry
|
|
825
|
-
entry.lastProgressStatus = OtaUpdateStatus.Unknown;
|
|
878
|
+
this.#resetEntryProgress(entry);
|
|
826
879
|
inProgressCount--;
|
|
827
880
|
}
|
|
828
881
|
}
|
|
@@ -870,7 +923,7 @@ export class SoftwareUpdateManager extends Behavior {
|
|
|
870
923
|
const { endpoint, peerAddress } = entry;
|
|
871
924
|
|
|
872
925
|
// Guard: skip the announcement if a BDX session is already active for this peer
|
|
873
|
-
if (this
|
|
926
|
+
if (this.#bdxSessionFor(peerAddress) !== undefined) {
|
|
874
927
|
logger.info(`BDX transfer still active for node ${peerAddress.toString()}, skipping announcement`);
|
|
875
928
|
return;
|
|
876
929
|
}
|
|
@@ -889,8 +942,7 @@ export class SoftwareUpdateManager extends Behavior {
|
|
|
889
942
|
} catch (error) {
|
|
890
943
|
logger.warn(`Failed to announce OTA provider to node ${peerAddress.toString()}:`, error);
|
|
891
944
|
// Reset entry state so the queue doesn't stay blocked
|
|
892
|
-
entry
|
|
893
|
-
entry.lastProgressStatus = OtaUpdateStatus.Unknown;
|
|
945
|
+
this.#resetEntryProgress(entry);
|
|
894
946
|
this.#triggerQueuedUpdate();
|
|
895
947
|
}
|
|
896
948
|
}
|
|
@@ -913,7 +965,7 @@ export class SoftwareUpdateManager extends Behavior {
|
|
|
913
965
|
if (existingEntry !== undefined) {
|
|
914
966
|
// Check whether a BDX session is still active for this peer
|
|
915
967
|
const bdxProtocol = this.env.get(BdxProtocol);
|
|
916
|
-
const activeSession =
|
|
968
|
+
const activeSession = this.#bdxSessionFor(peerAddress);
|
|
917
969
|
if (activeSession !== undefined) {
|
|
918
970
|
// Update is legitimately in progress, don't disrupt it
|
|
919
971
|
logger.info(
|
|
@@ -1134,8 +1186,7 @@ export class SoftwareUpdateManager extends Behavior {
|
|
|
1134
1186
|
// The intentional cancel path (#cancelUpdate) handles removal and updateFailed independently.
|
|
1135
1187
|
logger.info(`OTA update BDX cancelled for node ${peerAddress.toString()}, resetting for retry`);
|
|
1136
1188
|
this.internal.rebootResubscribeArmer?.disarm(peerAddress);
|
|
1137
|
-
entry
|
|
1138
|
-
entry.lastProgressStatus = OtaUpdateStatus.Unknown;
|
|
1189
|
+
this.#resetEntryProgress(entry);
|
|
1139
1190
|
this.#triggerQueuedUpdate();
|
|
1140
1191
|
} else {
|
|
1141
1192
|
logger.info(
|
|
@@ -1188,6 +1239,9 @@ export namespace SoftwareUpdateManager {
|
|
|
1188
1239
|
|
|
1189
1240
|
otaService!: DclOtaUpdateService;
|
|
1190
1241
|
|
|
1242
|
+
/** Scope of the OTA storage, captured so a lookup cannot depend on the service still being constructed. */
|
|
1243
|
+
otaStorageScope?: StorageScope;
|
|
1244
|
+
|
|
1191
1245
|
checkForUpdateTimer!: Timer;
|
|
1192
1246
|
|
|
1193
1247
|
updateQueue = new Array<UpdateQueueEntry>();
|