@decentnetwork/lan 0.1.4 → 0.1.5

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.
Binary file
Binary file
Binary file
Binary file
@@ -76,7 +76,16 @@ export class DoraIntegration {
76
76
  new Promise((r) => setTimeout(() => r(null), 30_000)),
77
77
  ]);
78
78
  if (!anyOnline) {
79
- this.logger.warn("No dora server became reachable within 30s — falling back to config IP");
79
+ this.logger.warn("No dora server became reachable within 30s — falling back to config IP. Will retry in background.");
80
+ // Without this the daemon would never re-attempt registration
81
+ // after a cold-start where the dora friend session was slow
82
+ // to come up. Symptom: friends.status=online for dora a
83
+ // moment later, but ipam stays empty and packetsForwarded=0
84
+ // forever because we never called register/list. The 30s
85
+ // window expiring is the SAME failure class as register
86
+ // throwing AllRegistriesUnavailableError, so reuse the same
87
+ // retry timer.
88
+ this.scheduleBootstrapRetry();
80
89
  return this.opts.preferredIp ?? "";
81
90
  }
82
91
  this.logger.debug(`Dora friend online: ${anyOnline.id}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decentnetwork/lan",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "Private virtual LAN for self-hosted services and AI agents, built on Elastos Carrier. NAT-traversal, name service, ACL, all over a peer-to-peer mesh — no public IP required.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",