@decentnetwork/lan 0.1.96 → 0.1.97

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
@@ -180,7 +180,17 @@ export class DaemonServer {
180
180
  keyFile,
181
181
  bootstrapNodes: this.config.carrier.bootstrapNodes,
182
182
  expressNodes: this.config.carrier.expressNodes ?? [],
183
- expressControlPlaneOnly: true,
183
+ // Express must stay enabled for the CHAT data plane (sendText, packet 64)
184
+ // so messages still reach a native iPad/Android friend whose Carrier
185
+ // session is down — their relay session flaps constantly under iOS
186
+ // suspension (see peer docs/IOS_INTEROP_PLAYBOOK.md §3d), and without the
187
+ // express store-and-forward our replies just throw "friend is offline".
188
+ // The IP data plane never touches express anyway: decentlan sends IP via
189
+ // sendCustomPacket (161/162/163), which goes straight to the messenger
190
+ // and fails fast when offline — so it needs no gate. The dora session-kick
191
+ // flood this used to guard against is already neutralised by the SDK
192
+ // dropping empty sendText before express (peer.ts). So: keep express on.
193
+ expressControlPlaneOnly: false,
184
194
  // Advertise this node's name so friends see "cn"/"tokyo"/"mac-dev"
185
195
  // instead of the generic "@decentnetwork/peer".
186
196
  nickname: this.config.node.name,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decentnetwork/lan",
3
- "version": "0.1.96",
3
+ "version": "0.1.97",
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",