Compare commits

...

2 Commits

Author SHA1 Message Date
Anselm
c4e2053f22 Use logger instead of console 2025-06-26 21:59:47 +01:00
Anselm
3ac403c1f9 Hotfix for loop in sendNewContentIncludingDependencies 2025-06-26 21:57:39 +01:00

View File

@@ -207,7 +207,21 @@ export class SyncManager {
}
}
sendNewContentIncludingDependencies(id: RawCoID, peer: PeerState) {
sendNewContentIncludingDependencies(
id: RawCoID,
peer: PeerState,
seen: Set<RawCoID> = new Set(),
) {
if (seen.has(id)) {
logger.error("unexpected loop in sendNewContentIncludingDependencies", {
id,
seen: Array.from(seen),
});
return;
}
seen.add(id);
const coValue = this.local.getCoValue(id);
if (!coValue.isAvailable()) {
@@ -215,7 +229,11 @@ export class SyncManager {
}
for (const dependency of coValue.getDependedOnCoValues()) {
this.sendNewContentIncludingDependencies(dependency, peer);
this.sendNewContentIncludingDependencies(
dependency,
peer,
new Set(seen.values()),
);
}
const newContentPieces = coValue.verified.newContentSince(