@magicred-1/ble-mesh 1.2.7 → 1.3.0

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.
@@ -1050,12 +1050,12 @@ class BleMeshModule(reactContext: ReactApplicationContext) : ReactContextBaseJav
1050
1050
  offset: Int,
1051
1051
  value: ByteArray
1052
1052
  ) {
1053
- Log.d(TAG, "onCharacteristicWriteRequest: ${value.size} bytes from ${device.address}, uuid=${characteristic.uuid}")
1053
+ Log.d(TAG, "📥 onCharacteristicWriteRequest: ${value.size} bytes from ${device.address}, uuid=${characteristic.uuid}")
1054
1054
  if (characteristic.uuid == characteristicUUID) {
1055
- Log.d(TAG, "Characteristic matches, handling packet")
1055
+ Log.d(TAG, "Characteristic matches, handling packet (type: ${if (value.size > 1) value[1].toString() else "unknown"})")
1056
1056
  handleReceivedPacket(value, device.address)
1057
1057
  } else {
1058
- Log.d(TAG, "Characteristic UUID mismatch: expected $characteristicUUID")
1058
+ Log.w(TAG, "Characteristic UUID mismatch: expected $characteristicUUID, got ${characteristic.uuid}")
1059
1059
  }
1060
1060
  if (responseNeeded) {
1061
1061
  gattServer?.sendResponse(device, requestId, BluetoothGatt.GATT_SUCCESS, 0, null)
package/ios/BleMesh.swift CHANGED
@@ -1674,7 +1674,14 @@ extension BleMesh: CBPeripheralManagerDelegate {
1674
1674
  func peripheralManager(_ peripheral: CBPeripheralManager, didReceiveWrite requests: [CBATTRequest]) {
1675
1675
  for request in requests {
1676
1676
  if let data = request.value {
1677
- handleReceivedPacket(data, from: nil)
1677
+ NSLog("[BleMesh] 📥 didReceiveWrite: \(data.count) bytes from central, characteristic: \(request.characteristic.uuid)")
1678
+ if request.characteristic.uuid == BleMesh.characteristicUUID {
1679
+ let messageType = data.count > 1 ? data[1] : 0
1680
+ NSLog("[BleMesh] ✅ Characteristic matches, handling packet (type: \(messageType))")
1681
+ handleReceivedPacket(data, from: nil)
1682
+ } else {
1683
+ NSLog("[BleMesh] ❌ Characteristic UUID mismatch: expected \(BleMesh.characteristicUUID), got \(request.characteristic.uuid)")
1684
+ }
1678
1685
  }
1679
1686
  peripheral.respond(to: request, withResult: .success)
1680
1687
  }
@@ -169,19 +169,56 @@ class BleMeshService {
169
169
  * @param options.description - Description of the transaction
170
170
  * @param options.recipientPeerId - Specific peer to send to (optional, broadcasts to all if not specified)
171
171
  * @param options.ensureSession - Auto-initiate handshake if no encrypted session exists (default: true)
172
+ * @param options.waitForHandshake - Wait for handshake to complete before sending (default: false for better UX)
172
173
  */
173
174
  async sendTransaction(serializedTransaction, options) {
174
175
  this.ensureInitialized();
175
176
 
176
177
  // Auto-initiate handshakes if needed (default: true)
177
178
  const ensureSession = options?.ensureSession !== false;
178
- if (ensureSession) {
179
+ const waitForHandshake = options?.waitForHandshake === true; // Default: false for non-blocking
180
+
181
+ if (ensureSession && waitForHandshake) {
182
+ // Blocking mode: wait for handshakes to complete
179
183
  await this.ensureEncryptedSessions(options?.recipientPeerId);
184
+ } else if (ensureSession) {
185
+ // Non-blocking mode: initiate handshakes but don't wait (fire and forget)
186
+ this.initiateHandshakesAsync(options?.recipientPeerId);
180
187
  }
181
188
  const txId = Math.random().toString(36).substring(2, 15);
182
189
  return BleMeshModule.sendTransaction(txId, serializedTransaction, options?.recipientPeerId || null, options?.firstSignerPublicKey, options?.secondSignerPublicKey || null, options?.description || null);
183
190
  }
184
191
 
192
+ /**
193
+ * Initiate handshakes asynchronously without blocking (fire and forget).
194
+ * The native layer will queue the transaction and send it once sessions are established.
195
+ */
196
+ initiateHandshakesAsync(recipientPeerId) {
197
+ (async () => {
198
+ try {
199
+ if (recipientPeerId) {
200
+ const hasSession = await this.hasEncryptedSession(recipientPeerId);
201
+ if (!hasSession) {
202
+ console.log(`[BleMesh] Initiating handshake with ${recipientPeerId} (async)`);
203
+ await this.initiateHandshake(recipientPeerId);
204
+ }
205
+ } else {
206
+ const peers = await this.getPeers();
207
+ const connectedPeers = peers.filter(p => p.isConnected);
208
+ for (const peer of connectedPeers) {
209
+ const hasSession = await this.hasEncryptedSession(peer.peerId);
210
+ if (!hasSession) {
211
+ console.log(`[BleMesh] Initiating handshake with ${peer.nickname} (async)`);
212
+ await this.initiateHandshake(peer.peerId);
213
+ }
214
+ }
215
+ }
216
+ } catch (error) {
217
+ console.warn('[BleMesh] Async handshake initiation failed:', error);
218
+ }
219
+ })();
220
+ }
221
+
185
222
  /**
186
223
  * Ensure encrypted sessions exist with target peer(s) before sending transactions.
187
224
  * Auto-initiates handshakes for peers without active sessions.
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","BleMeshModule","NativeModules","BleMesh","Proxy","get","Error","eventEmitter","NativeEventEmitter","BleMeshService","isInitialized","requestPermissions","OS","requestAndroidPermissions","requestIOSPermissions","apiLevel","Version","permissions","PermissionsAndroid","PERMISSIONS","BLUETOOTH_ADVERTISE","BLUETOOTH_CONNECT","BLUETOOTH_SCAN","ACCESS_FINE_LOCATION","ACCESS_COARSE_LOCATION","results","requestMultiple","status","bluetooth","location","bluetoothAdvertise","bluetoothConnect","bluetoothScan","result","checkPermissions","checkAndroidPermissions","fineLocation","check","advertise","connect","scan","start","config","nickname","autoRequestPermissions","hasAllPermissions","stop","setNickname","ensureInitialized","getMyPeerId","getMyNickname","getPeers","sendMessage","content","channel","sendPrivateMessage","recipientPeerId","sendFile","filePath","options","sendTransaction","serializedTransaction","ensureSession","ensureEncryptedSessions","txId","Math","random","toString","substring","firstSignerPublicKey","secondSignerPublicKey","description","hasSession","hasEncryptedSession","console","log","initiateHandshake","maxAttempts","i","Promise","resolve","setTimeout","sessionEstablished","warn","peers","connectedPeers","filter","p","isConnected","length","peersNeedingHandshake","peer","peerId","push","remainingPeers","respondToTransaction","transactionId","response","signedTransaction","error","sendReadReceipt","messageId","sendSolanaNonceTransaction","transaction","getIdentityFingerprint","getPeerFingerprint","broadcastAnnounce","onPeerListUpdated","callback","subscription","addListener","remove","onMessageReceived","onFileReceived","onTransactionReceived","onTransactionResponse","onConnectionStateChanged","onReadReceipt","onDeliveryAck","onError","exports","_default"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","BleMeshModule","NativeModules","BleMesh","Proxy","get","Error","eventEmitter","NativeEventEmitter","BleMeshService","isInitialized","requestPermissions","OS","requestAndroidPermissions","requestIOSPermissions","apiLevel","Version","permissions","PermissionsAndroid","PERMISSIONS","BLUETOOTH_ADVERTISE","BLUETOOTH_CONNECT","BLUETOOTH_SCAN","ACCESS_FINE_LOCATION","ACCESS_COARSE_LOCATION","results","requestMultiple","status","bluetooth","location","bluetoothAdvertise","bluetoothConnect","bluetoothScan","result","checkPermissions","checkAndroidPermissions","fineLocation","check","advertise","connect","scan","start","config","nickname","autoRequestPermissions","hasAllPermissions","stop","setNickname","ensureInitialized","getMyPeerId","getMyNickname","getPeers","sendMessage","content","channel","sendPrivateMessage","recipientPeerId","sendFile","filePath","options","sendTransaction","serializedTransaction","ensureSession","waitForHandshake","ensureEncryptedSessions","initiateHandshakesAsync","txId","Math","random","toString","substring","firstSignerPublicKey","secondSignerPublicKey","description","hasSession","hasEncryptedSession","console","log","initiateHandshake","peers","connectedPeers","filter","p","isConnected","peer","peerId","error","warn","maxAttempts","i","Promise","resolve","setTimeout","sessionEstablished","length","peersNeedingHandshake","push","remainingPeers","respondToTransaction","transactionId","response","signedTransaction","sendReadReceipt","messageId","sendSolanaNonceTransaction","transaction","getIdentityFingerprint","getPeerFingerprint","broadcastAnnounce","onPeerListUpdated","callback","subscription","addListener","remove","onMessageReceived","onFileReceived","onTransactionReceived","onTransactionResponse","onConnectionStateChanged","onReadReceipt","onDeliveryAck","onError","exports","_default"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -163,19 +163,56 @@ class BleMeshService {
163
163
  * @param options.description - Description of the transaction
164
164
  * @param options.recipientPeerId - Specific peer to send to (optional, broadcasts to all if not specified)
165
165
  * @param options.ensureSession - Auto-initiate handshake if no encrypted session exists (default: true)
166
+ * @param options.waitForHandshake - Wait for handshake to complete before sending (default: false for better UX)
166
167
  */
167
168
  async sendTransaction(serializedTransaction, options) {
168
169
  this.ensureInitialized();
169
170
 
170
171
  // Auto-initiate handshakes if needed (default: true)
171
172
  const ensureSession = options?.ensureSession !== false;
172
- if (ensureSession) {
173
+ const waitForHandshake = options?.waitForHandshake === true; // Default: false for non-blocking
174
+
175
+ if (ensureSession && waitForHandshake) {
176
+ // Blocking mode: wait for handshakes to complete
173
177
  await this.ensureEncryptedSessions(options?.recipientPeerId);
178
+ } else if (ensureSession) {
179
+ // Non-blocking mode: initiate handshakes but don't wait (fire and forget)
180
+ this.initiateHandshakesAsync(options?.recipientPeerId);
174
181
  }
175
182
  const txId = Math.random().toString(36).substring(2, 15);
176
183
  return BleMeshModule.sendTransaction(txId, serializedTransaction, options?.recipientPeerId || null, options?.firstSignerPublicKey, options?.secondSignerPublicKey || null, options?.description || null);
177
184
  }
178
185
 
186
+ /**
187
+ * Initiate handshakes asynchronously without blocking (fire and forget).
188
+ * The native layer will queue the transaction and send it once sessions are established.
189
+ */
190
+ initiateHandshakesAsync(recipientPeerId) {
191
+ (async () => {
192
+ try {
193
+ if (recipientPeerId) {
194
+ const hasSession = await this.hasEncryptedSession(recipientPeerId);
195
+ if (!hasSession) {
196
+ console.log(`[BleMesh] Initiating handshake with ${recipientPeerId} (async)`);
197
+ await this.initiateHandshake(recipientPeerId);
198
+ }
199
+ } else {
200
+ const peers = await this.getPeers();
201
+ const connectedPeers = peers.filter(p => p.isConnected);
202
+ for (const peer of connectedPeers) {
203
+ const hasSession = await this.hasEncryptedSession(peer.peerId);
204
+ if (!hasSession) {
205
+ console.log(`[BleMesh] Initiating handshake with ${peer.nickname} (async)`);
206
+ await this.initiateHandshake(peer.peerId);
207
+ }
208
+ }
209
+ }
210
+ } catch (error) {
211
+ console.warn('[BleMesh] Async handshake initiation failed:', error);
212
+ }
213
+ })();
214
+ }
215
+
179
216
  /**
180
217
  * Ensure encrypted sessions exist with target peer(s) before sending transactions.
181
218
  * Auto-initiates handshakes for peers without active sessions.
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","NativeEventEmitter","Platform","PermissionsAndroid","LINKING_ERROR","select","ios","default","BleMeshModule","BleMesh","Proxy","get","Error","eventEmitter","BleMeshService","isInitialized","requestPermissions","OS","requestAndroidPermissions","requestIOSPermissions","apiLevel","Version","permissions","PERMISSIONS","BLUETOOTH_ADVERTISE","BLUETOOTH_CONNECT","BLUETOOTH_SCAN","ACCESS_FINE_LOCATION","ACCESS_COARSE_LOCATION","results","requestMultiple","status","bluetooth","location","bluetoothAdvertise","bluetoothConnect","bluetoothScan","result","checkPermissions","checkAndroidPermissions","fineLocation","check","advertise","connect","scan","start","config","nickname","autoRequestPermissions","hasAllPermissions","stop","setNickname","ensureInitialized","getMyPeerId","getMyNickname","getPeers","sendMessage","content","channel","sendPrivateMessage","recipientPeerId","sendFile","filePath","options","sendTransaction","serializedTransaction","ensureSession","ensureEncryptedSessions","txId","Math","random","toString","substring","firstSignerPublicKey","secondSignerPublicKey","description","hasSession","hasEncryptedSession","console","log","initiateHandshake","maxAttempts","i","Promise","resolve","setTimeout","sessionEstablished","warn","peers","connectedPeers","filter","p","isConnected","length","peersNeedingHandshake","peer","peerId","push","remainingPeers","respondToTransaction","transactionId","response","signedTransaction","error","sendReadReceipt","messageId","sendSolanaNonceTransaction","transaction","getIdentityFingerprint","getPeerFingerprint","broadcastAnnounce","onPeerListUpdated","callback","subscription","addListener","remove","onMessageReceived","onFileReceived","onTransactionReceived","onTransactionResponse","onConnectionStateChanged","onReadReceipt","onDeliveryAck","onError"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,SAASA,aAAa,EAAEC,kBAAkB,EAAEC,QAAQ,EAAEC,kBAAkB,QAAoB,cAAc;AAE1G,MAAMC,aAAa,GACjB,mEAAmE,GACnEF,QAAQ,CAACG,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,2EAA2E;AAE7E,MAAMC,aAAa,GAAGR,aAAa,CAACS,OAAO,GACvCT,aAAa,CAACS,OAAO,GACrB,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACR,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEL,MAAMS,YAAY,GAAG,IAAIZ,kBAAkB,CAACO,aAAa,CAAC;;AAE1D;;AA0FA;;AAUA;;AAGA,MAAMM,cAAc,CAAC;EACXC,aAAa,GAAG,KAAK;;EAE7B;EACA,MAAMC,kBAAkBA,CAAA,EAA8B;IACpD,IAAId,QAAQ,CAACe,EAAE,KAAK,SAAS,EAAE;MAC7B,OAAO,IAAI,CAACC,yBAAyB,CAAC,CAAC;IACzC,CAAC,MAAM,IAAIhB,QAAQ,CAACe,EAAE,KAAK,KAAK,EAAE;MAChC,OAAO,IAAI,CAACE,qBAAqB,CAAC,CAAC;IACrC;IACA,MAAM,IAAIP,KAAK,CAAC,sBAAsB,CAAC;EACzC;EAEA,MAAcM,yBAAyBA,CAAA,EAA8B;IACnE,MAAME,QAAQ,GAAGlB,QAAQ,CAACmB,OAAiB;IAE3C,IAAIC,WAAyB,GAAG,EAAE;IAElC,IAAIF,QAAQ,IAAI,EAAE,EAAE;MAClB;MACAE,WAAW,GAAG,CACZnB,kBAAkB,CAACoB,WAAW,CAACC,mBAAmB,EAClDrB,kBAAkB,CAACoB,WAAW,CAACE,iBAAiB,EAChDtB,kBAAkB,CAACoB,WAAW,CAACG,cAAc,EAC7CvB,kBAAkB,CAACoB,WAAW,CAACI,oBAAoB,CACpD;IACH,CAAC,MAAM;MACL;MACAL,WAAW,GAAG,CACZnB,kBAAkB,CAACoB,WAAW,CAACI,oBAAoB,EACnDxB,kBAAkB,CAACoB,WAAW,CAACK,sBAAsB,CACtD;IACH;IAEA,MAAMC,OAAO,GAAG,MAAM1B,kBAAkB,CAAC2B,eAAe,CAACR,WAAW,CAAC;IAErE,MAAMS,MAAwB,GAAG;MAC/BC,SAAS,EAAE,IAAI;MACfC,QAAQ,EAAEJ,OAAO,CAAC1B,kBAAkB,CAACoB,WAAW,CAACI,oBAAoB,CAAC,KAAK;IAC7E,CAAC;IAED,IAAIP,QAAQ,IAAI,EAAE,EAAE;MAClBW,MAAM,CAACG,kBAAkB,GAAGL,OAAO,CAAC1B,kBAAkB,CAACoB,WAAW,CAACC,mBAAmB,CAAC,KAAK,SAAS;MACrGO,MAAM,CAACI,gBAAgB,GAAGN,OAAO,CAAC1B,kBAAkB,CAACoB,WAAW,CAACE,iBAAiB,CAAC,KAAK,SAAS;MACjGM,MAAM,CAACK,aAAa,GAAGP,OAAO,CAAC1B,kBAAkB,CAACoB,WAAW,CAACG,cAAc,CAAC,KAAK,SAAS;MAC3FK,MAAM,CAACC,SAAS,GAAGD,MAAM,CAACG,kBAAkB,IAAIH,MAAM,CAACI,gBAAgB,IAAIJ,MAAM,CAACK,aAAa;IACjG;IAEA,OAAOL,MAAM;EACf;EAEA,MAAcZ,qBAAqBA,CAAA,EAA8B;IAC/D;IACA;IACA,MAAMkB,MAAM,GAAG,MAAM7B,aAAa,CAACQ,kBAAkB,CAAC,CAAC;IACvD,OAAO;MACLgB,SAAS,EAAEK,MAAM,CAACL,SAAS;MAC3BC,QAAQ,EAAEI,MAAM,CAACJ;IACnB,CAAC;EACH;;EAEA;EACA,MAAMK,gBAAgBA,CAAA,EAA8B;IAClD,IAAIpC,QAAQ,CAACe,EAAE,KAAK,SAAS,EAAE;MAC7B,OAAO,IAAI,CAACsB,uBAAuB,CAAC,CAAC;IACvC;IACA,OAAO/B,aAAa,CAAC8B,gBAAgB,CAAC,CAAC;EACzC;EAEA,MAAcC,uBAAuBA,CAAA,EAA8B;IACjE,MAAMnB,QAAQ,GAAGlB,QAAQ,CAACmB,OAAiB;IAE3C,MAAMmB,YAAY,GAAG,MAAMrC,kBAAkB,CAACsC,KAAK,CACjDtC,kBAAkB,CAACoB,WAAW,CAACI,oBACjC,CAAC;IAED,MAAMI,MAAwB,GAAG;MAC/BC,SAAS,EAAE,IAAI;MACfC,QAAQ,EAAEO;IACZ,CAAC;IAED,IAAIpB,QAAQ,IAAI,EAAE,EAAE;MAClB,MAAMsB,SAAS,GAAG,MAAMvC,kBAAkB,CAACsC,KAAK,CAC9CtC,kBAAkB,CAACoB,WAAW,CAACC,mBACjC,CAAC;MACD,MAAMmB,OAAO,GAAG,MAAMxC,kBAAkB,CAACsC,KAAK,CAC5CtC,kBAAkB,CAACoB,WAAW,CAACE,iBACjC,CAAC;MACD,MAAMmB,IAAI,GAAG,MAAMzC,kBAAkB,CAACsC,KAAK,CACzCtC,kBAAkB,CAACoB,WAAW,CAACG,cACjC,CAAC;MAEDK,MAAM,CAACG,kBAAkB,GAAGQ,SAAS;MACrCX,MAAM,CAACI,gBAAgB,GAAGQ,OAAO;MACjCZ,MAAM,CAACK,aAAa,GAAGQ,IAAI;MAC3Bb,MAAM,CAACC,SAAS,GAAGU,SAAS,IAAIC,OAAO,IAAIC,IAAI;IACjD;IAEA,OAAOb,MAAM;EACf;;EAEA;EACA,MAAMc,KAAKA,CAACC,MAAyB,GAAG,CAAC,CAAC,EAAiB;IACzD,MAAM;MAAEC,QAAQ,GAAG,MAAM;MAAEC,sBAAsB,GAAG;IAAK,CAAC,GAAGF,MAAM;IAEnE,IAAIE,sBAAsB,EAAE;MAC1B,MAAM1B,WAAW,GAAG,MAAM,IAAI,CAACN,kBAAkB,CAAC,CAAC;MACnD,MAAMiC,iBAAiB,GAAG3B,WAAW,CAACU,SAAS,IAAIV,WAAW,CAACW,QAAQ;MAEvE,IAAI,CAACgB,iBAAiB,EAAE;QACtB,MAAM,IAAIrC,KAAK,CAAC,oFAAoF,CAAC;MACvG;IACF;IAEA,MAAMJ,aAAa,CAACqC,KAAK,CAACE,QAAQ,CAAC;IACnC,IAAI,CAAChC,aAAa,GAAG,IAAI;EAC3B;;EAEA;EACA,MAAMmC,IAAIA,CAAA,EAAkB;IAC1B,IAAI,CAAC,IAAI,CAACnC,aAAa,EAAE;IACzB,MAAMP,aAAa,CAAC0C,IAAI,CAAC,CAAC;IAC1B,IAAI,CAACnC,aAAa,GAAG,KAAK;EAC5B;;EAEA;EACA,MAAMoC,WAAWA,CAACJ,QAAgB,EAAiB;IACjD,IAAI,CAACK,iBAAiB,CAAC,CAAC;IACxB,MAAM5C,aAAa,CAAC2C,WAAW,CAACJ,QAAQ,CAAC;EAC3C;;EAEA;EACA,MAAMM,WAAWA,CAAA,EAAoB;IACnC,IAAI,CAACD,iBAAiB,CAAC,CAAC;IACxB,OAAO5C,aAAa,CAAC6C,WAAW,CAAC,CAAC;EACpC;;EAEA;EACA,MAAMC,aAAaA,CAAA,EAAoB;IACrC,IAAI,CAACF,iBAAiB,CAAC,CAAC;IACxB,OAAO5C,aAAa,CAAC8C,aAAa,CAAC,CAAC;EACtC;;EAEA;EACA,MAAMC,QAAQA,CAAA,EAAoB;IAChC,IAAI,CAACH,iBAAiB,CAAC,CAAC;IACxB,OAAO5C,aAAa,CAAC+C,QAAQ,CAAC,CAAC;EACjC;;EAEA;EACA,MAAMC,WAAWA,CAACC,OAAe,EAAEC,OAAgB,EAAmB;IACpE,IAAI,CAACN,iBAAiB,CAAC,CAAC;IACxB,OAAO5C,aAAa,CAACgD,WAAW,CAACC,OAAO,EAAEC,OAAO,IAAI,IAAI,CAAC;EAC5D;;EAEA;EACA,MAAMC,kBAAkBA,CAACF,OAAe,EAAEG,eAAuB,EAAmB;IAClF,IAAI,CAACR,iBAAiB,CAAC,CAAC;IACxB,OAAO5C,aAAa,CAACmD,kBAAkB,CAACF,OAAO,EAAEG,eAAe,CAAC;EACnE;;EAEA;EACA,MAAMC,QAAQA,CACZC,QAAgB,EAChBC,OAAwD,EACvC;IACjB,IAAI,CAACX,iBAAiB,CAAC,CAAC;IACxB,OAAO5C,aAAa,CAACqD,QAAQ,CAACC,QAAQ,EAAEC,OAAO,EAAEH,eAAe,IAAI,IAAI,EAAEG,OAAO,EAAEL,OAAO,IAAI,IAAI,CAAC;EACrG;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMM,eAAeA,CACnBC,qBAA6B,EAC7BF,OAMC,EACgB;IACjB,IAAI,CAACX,iBAAiB,CAAC,CAAC;;IAExB;IACA,MAAMc,aAAa,GAAGH,OAAO,EAAEG,aAAa,KAAK,KAAK;IACtD,IAAIA,aAAa,EAAE;MACjB,MAAM,IAAI,CAACC,uBAAuB,CAACJ,OAAO,EAAEH,eAAe,CAAC;IAC9D;IAEA,MAAMQ,IAAI,GAAGC,IAAI,CAACC,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;IACxD,OAAOhE,aAAa,CAACwD,eAAe,CAClCI,IAAI,EACJH,qBAAqB,EACrBF,OAAO,EAAEH,eAAe,IAAI,IAAI,EAChCG,OAAO,EAAEU,oBAAoB,EAC7BV,OAAO,EAAEW,qBAAqB,IAAI,IAAI,EACtCX,OAAO,EAAEY,WAAW,IAAI,IAC1B,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,MAAcR,uBAAuBA,CAACP,eAA+B,EAAiB;IACpF,IAAIA,eAAe,EAAE;MACnB;MACA,MAAMgB,UAAU,GAAG,MAAM,IAAI,CAACC,mBAAmB,CAACjB,eAAe,CAAC;MAClE,IAAI,CAACgB,UAAU,EAAE;QACfE,OAAO,CAACC,GAAG,CAAC,uCAAuCnB,eAAe,2BAA2B,CAAC;QAC9F,MAAM,IAAI,CAACoB,iBAAiB,CAACpB,eAAe,CAAC;;QAE7C;QACA,MAAMqB,WAAW,GAAG,EAAE;QACtB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,WAAW,EAAEC,CAAC,EAAE,EAAE;UACpC,MAAM,IAAIC,OAAO,CAACC,OAAO,IAAIC,UAAU,CAACD,OAAO,EAAE,GAAG,CAAC,CAAC;UACtD,MAAME,kBAAkB,GAAG,MAAM,IAAI,CAACT,mBAAmB,CAACjB,eAAe,CAAC;UAC1E,IAAI0B,kBAAkB,EAAE;YACtBR,OAAO,CAACC,GAAG,CAAC,kDAAkDnB,eAAe,EAAE,CAAC;YAChF;UACF;UACAkB,OAAO,CAACC,GAAG,CAAC,uCAAuCG,CAAC,GAAG,CAAC,IAAID,WAAW,GAAG,CAAC;QAC7E;QACAH,OAAO,CAACS,IAAI,CAAC,uCAAuC3B,eAAe,sBAAsB,CAAC;MAC5F,CAAC,MAAM;QACLkB,OAAO,CAACC,GAAG,CAAC,qDAAqDnB,eAAe,EAAE,CAAC;MACrF;IACF,CAAC,MAAM;MACL;MACA,MAAM4B,KAAK,GAAG,MAAM,IAAI,CAACjC,QAAQ,CAAC,CAAC;MACnC,MAAMkC,cAAc,GAAGD,KAAK,CAACE,MAAM,CAACC,CAAC,IAAIA,CAAC,CAACC,WAAW,CAAC;MAEvDd,OAAO,CAACC,GAAG,CAAC,mCAAmCU,cAAc,CAACI,MAAM,qBAAqB,CAAC;MAE1F,MAAMC,qBAA+B,GAAG,EAAE;MAC1C,KAAK,MAAMC,IAAI,IAAIN,cAAc,EAAE;QACjC,MAAMb,UAAU,GAAG,MAAM,IAAI,CAACC,mBAAmB,CAACkB,IAAI,CAACC,MAAM,CAAC;QAC9D,IAAI,CAACpB,UAAU,EAAE;UACfE,OAAO,CAACC,GAAG,CAAC,uCAAuCgB,IAAI,CAAChD,QAAQ,KAAKgD,IAAI,CAACC,MAAM,4BAA4B,CAAC;UAC7G,MAAM,IAAI,CAAChB,iBAAiB,CAACe,IAAI,CAACC,MAAM,CAAC;UACzCF,qBAAqB,CAACG,IAAI,CAACF,IAAI,CAACC,MAAM,CAAC;QACzC,CAAC,MAAM;UACLlB,OAAO,CAACC,GAAG,CAAC,mCAAmCgB,IAAI,CAAChD,QAAQ,EAAE,CAAC;QACjE;MACF;;MAEA;MACA,IAAI+C,qBAAqB,CAACD,MAAM,GAAG,CAAC,EAAE;QACpCf,OAAO,CAACC,GAAG,CAAC,yBAAyBe,qBAAqB,CAACD,MAAM,8BAA8B,CAAC;QAChG,MAAMZ,WAAW,GAAG,EAAE;QAEtB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,WAAW,EAAEC,CAAC,EAAE,EAAE;UACpC,MAAM,IAAIC,OAAO,CAACC,OAAO,IAAIC,UAAU,CAACD,OAAO,EAAE,GAAG,CAAC,CAAC;;UAEtD;UACA,MAAMc,cAAc,GAAG,EAAE;UACzB,KAAK,MAAMF,MAAM,IAAIF,qBAAqB,EAAE;YAC1C,MAAMlB,UAAU,GAAG,MAAM,IAAI,CAACC,mBAAmB,CAACmB,MAAM,CAAC;YACzD,IAAI,CAACpB,UAAU,EAAE;cACfsB,cAAc,CAACD,IAAI,CAACD,MAAM,CAAC;YAC7B;UACF;UAEA,IAAIE,cAAc,CAACL,MAAM,KAAK,CAAC,EAAE;YAC/Bf,OAAO,CAACC,GAAG,CAAC,mDAAmD,CAAC;YAChE;UACF;UAEAD,OAAO,CAACC,GAAG,CAAC,wBAAwBmB,cAAc,CAACL,MAAM,0BAA0BX,CAAC,GAAG,CAAC,IAAID,WAAW,GAAG,CAAC;UAC3Ga,qBAAqB,CAACD,MAAM,GAAG,CAAC;UAChCC,qBAAqB,CAACG,IAAI,CAAC,GAAGC,cAAc,CAAC;QAC/C;QAEApB,OAAO,CAACS,IAAI,CAAC,gBAAgBO,qBAAqB,CAACD,MAAM,8CAA8C,CAAC;MAC1G;IACF;EACF;;EAEA;EACA,MAAMM,oBAAoBA,CACxBC,aAAqB,EACrBxC,eAAuB,EACvByC,QAGC,EACc;IACf,IAAI,CAACjD,iBAAiB,CAAC,CAAC;IACxB,MAAM5C,aAAa,CAAC2F,oBAAoB,CACtCC,aAAa,EACbxC,eAAe,EACfyC,QAAQ,CAACC,iBAAiB,IAAI,IAAI,EAClCD,QAAQ,CAACE,KAAK,IAAI,IACpB,CAAC;EACH;;EAEA;EACA,MAAMC,eAAeA,CAACC,SAAiB,EAAE7C,eAAuB,EAAiB;IAC/E,IAAI,CAACR,iBAAiB,CAAC,CAAC;IACxB,MAAM5C,aAAa,CAACgG,eAAe,CAACC,SAAS,EAAE7C,eAAe,CAAC;EACjE;;EAEA;EACA,MAAMiB,mBAAmBA,CAACmB,MAAc,EAAoB;IAC1D,IAAI,CAAC5C,iBAAiB,CAAC,CAAC;IACxB,OAAO5C,aAAa,CAACqE,mBAAmB,CAACmB,MAAM,CAAC;EAClD;;EAEA;EACA,MAAMhB,iBAAiBA,CAACgB,MAAc,EAAiB;IACrD,IAAI,CAAC5C,iBAAiB,CAAC,CAAC;IACxB,MAAM5C,aAAa,CAACwE,iBAAiB,CAACgB,MAAM,CAAC;EAC/C;EAEA,MAAMU,0BAA0BA,CAC9BC,WAAmC,EACnC/C,eAAuB,EACN;IACjB,IAAI,CAACR,iBAAiB,CAAC,CAAC;IACxB,OAAO5C,aAAa,CAACkG,0BAA0B,CAACC,WAAW,EAAE/C,eAAe,CAAC;EAC/E;;EAEA;EACA,MAAMgD,sBAAsBA,CAAA,EAAoB;IAC9C,IAAI,CAACxD,iBAAiB,CAAC,CAAC;IACxB,OAAO5C,aAAa,CAACoG,sBAAsB,CAAC,CAAC;EAC/C;;EAEA;EACA,MAAMC,kBAAkBA,CAACb,MAAc,EAA0B;IAC/D,IAAI,CAAC5C,iBAAiB,CAAC,CAAC;IACxB,OAAO5C,aAAa,CAACqG,kBAAkB,CAACb,MAAM,CAAC;EACjD;;EAEA;EACA,MAAMc,iBAAiBA,CAAA,EAAkB;IACvC,IAAI,CAAC1D,iBAAiB,CAAC,CAAC;IACxB,MAAM5C,aAAa,CAACsG,iBAAiB,CAAC,CAAC;EACzC;;EAEA;EACAC,iBAAiBA,CAACC,QAA6C,EAAc;IAC3E,MAAMC,YAAY,GAAGpG,YAAY,CAACqG,WAAW,CAAC,mBAAmB,EAAEF,QAAQ,CAAC;IAC5E,OAAO,MAAMC,YAAY,CAACE,MAAM,CAAC,CAAC;EACpC;EAEAC,iBAAiBA,CAACJ,QAA6C,EAAc;IAC3E,MAAMC,YAAY,GAAGpG,YAAY,CAACqG,WAAW,CAAC,mBAAmB,EAAEF,QAAQ,CAAC;IAC5E,OAAO,MAAMC,YAAY,CAACE,MAAM,CAAC,CAAC;EACpC;EAEAE,cAAcA,CAACL,QAA0C,EAAc;IACrE,MAAMC,YAAY,GAAGpG,YAAY,CAACqG,WAAW,CAAC,gBAAgB,EAAEF,QAAQ,CAAC;IACzE,OAAO,MAAMC,YAAY,CAACE,MAAM,CAAC,CAAC;EACpC;EAEAG,qBAAqBA,CAACN,QAAiD,EAAc;IACnF,MAAMC,YAAY,GAAGpG,YAAY,CAACqG,WAAW,CAAC,uBAAuB,EAAEF,QAAQ,CAAC;IAChF,OAAO,MAAMC,YAAY,CAACE,MAAM,CAAC,CAAC;EACpC;EAEAI,qBAAqBA,CAACP,QAAiD,EAAc;IACnF,MAAMC,YAAY,GAAGpG,YAAY,CAACqG,WAAW,CAAC,uBAAuB,EAAEF,QAAQ,CAAC;IAChF,OAAO,MAAMC,YAAY,CAACE,MAAM,CAAC,CAAC;EACpC;EAEAK,wBAAwBA,CAACR,QAAoD,EAAc;IACzF,MAAMC,YAAY,GAAGpG,YAAY,CAACqG,WAAW,CAAC,0BAA0B,EAAEF,QAAQ,CAAC;IACnF,OAAO,MAAMC,YAAY,CAACE,MAAM,CAAC,CAAC;EACpC;EAEAM,aAAaA,CAACT,QAAkE,EAAc;IAC5F,MAAMC,YAAY,GAAGpG,YAAY,CAACqG,WAAW,CAAC,eAAe,EAAEF,QAAQ,CAAC;IACxE,OAAO,MAAMC,YAAY,CAACE,MAAM,CAAC,CAAC;EACpC;EAEAO,aAAaA,CAACV,QAAkE,EAAc;IAC5F,MAAMC,YAAY,GAAGpG,YAAY,CAACqG,WAAW,CAAC,eAAe,EAAEF,QAAQ,CAAC;IACxE,OAAO,MAAMC,YAAY,CAACE,MAAM,CAAC,CAAC;EACpC;EAEAQ,OAAOA,CAACX,QAAmC,EAAc;IACvD,MAAMC,YAAY,GAAGpG,YAAY,CAACqG,WAAW,CAAC,SAAS,EAAEF,QAAQ,CAAC;IAClE,OAAO,MAAMC,YAAY,CAACE,MAAM,CAAC,CAAC;EACpC;EAEQ/D,iBAAiBA,CAAA,EAAS;IAChC,IAAI,CAAC,IAAI,CAACrC,aAAa,EAAE;MACvB,MAAM,IAAIH,KAAK,CAAC,sDAAsD,CAAC;IACzE;EACF;AACF;;AAEA;AACA,OAAO,MAAMH,OAAO,GAAG,IAAIK,cAAc,CAAC,CAAC;;AAE3C;AACA,SAASA,cAAc;;AAEvB;AACA,eAAeL,OAAO","ignoreList":[]}
1
+ {"version":3,"names":["NativeModules","NativeEventEmitter","Platform","PermissionsAndroid","LINKING_ERROR","select","ios","default","BleMeshModule","BleMesh","Proxy","get","Error","eventEmitter","BleMeshService","isInitialized","requestPermissions","OS","requestAndroidPermissions","requestIOSPermissions","apiLevel","Version","permissions","PERMISSIONS","BLUETOOTH_ADVERTISE","BLUETOOTH_CONNECT","BLUETOOTH_SCAN","ACCESS_FINE_LOCATION","ACCESS_COARSE_LOCATION","results","requestMultiple","status","bluetooth","location","bluetoothAdvertise","bluetoothConnect","bluetoothScan","result","checkPermissions","checkAndroidPermissions","fineLocation","check","advertise","connect","scan","start","config","nickname","autoRequestPermissions","hasAllPermissions","stop","setNickname","ensureInitialized","getMyPeerId","getMyNickname","getPeers","sendMessage","content","channel","sendPrivateMessage","recipientPeerId","sendFile","filePath","options","sendTransaction","serializedTransaction","ensureSession","waitForHandshake","ensureEncryptedSessions","initiateHandshakesAsync","txId","Math","random","toString","substring","firstSignerPublicKey","secondSignerPublicKey","description","hasSession","hasEncryptedSession","console","log","initiateHandshake","peers","connectedPeers","filter","p","isConnected","peer","peerId","error","warn","maxAttempts","i","Promise","resolve","setTimeout","sessionEstablished","length","peersNeedingHandshake","push","remainingPeers","respondToTransaction","transactionId","response","signedTransaction","sendReadReceipt","messageId","sendSolanaNonceTransaction","transaction","getIdentityFingerprint","getPeerFingerprint","broadcastAnnounce","onPeerListUpdated","callback","subscription","addListener","remove","onMessageReceived","onFileReceived","onTransactionReceived","onTransactionResponse","onConnectionStateChanged","onReadReceipt","onDeliveryAck","onError"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -138,6 +138,7 @@ declare class BleMeshService {
138
138
  * @param options.description - Description of the transaction
139
139
  * @param options.recipientPeerId - Specific peer to send to (optional, broadcasts to all if not specified)
140
140
  * @param options.ensureSession - Auto-initiate handshake if no encrypted session exists (default: true)
141
+ * @param options.waitForHandshake - Wait for handshake to complete before sending (default: false for better UX)
141
142
  */
142
143
  sendTransaction(serializedTransaction: string, options?: {
143
144
  firstSignerPublicKey: string;
@@ -145,7 +146,13 @@ declare class BleMeshService {
145
146
  description?: string;
146
147
  recipientPeerId?: string;
147
148
  ensureSession?: boolean;
149
+ waitForHandshake?: boolean;
148
150
  }): Promise<string>;
151
+ /**
152
+ * Initiate handshakes asynchronously without blocking (fire and forget).
153
+ * The native layer will queue the transaction and send it once sessions are established.
154
+ */
155
+ private initiateHandshakesAsync;
149
156
  /**
150
157
  * Ensure encrypted sessions exist with target peer(s) before sending transactions.
151
158
  * Auto-initiates handshakes for peers without active sessions.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@magicred-1/ble-mesh",
3
- "version": "1.2.7",
3
+ "version": "1.3.0",
4
4
  "description": "BLE Mesh networking library for React Native with seamless permissions",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
package/src/index.ts CHANGED
@@ -302,6 +302,7 @@ class BleMeshService {
302
302
  * @param options.description - Description of the transaction
303
303
  * @param options.recipientPeerId - Specific peer to send to (optional, broadcasts to all if not specified)
304
304
  * @param options.ensureSession - Auto-initiate handshake if no encrypted session exists (default: true)
305
+ * @param options.waitForHandshake - Wait for handshake to complete before sending (default: false for better UX)
305
306
  */
306
307
  async sendTransaction(
307
308
  serializedTransaction: string,
@@ -311,14 +312,21 @@ class BleMeshService {
311
312
  description?: string;
312
313
  recipientPeerId?: string;
313
314
  ensureSession?: boolean;
315
+ waitForHandshake?: boolean;
314
316
  }
315
317
  ): Promise<string> {
316
318
  this.ensureInitialized();
317
319
 
318
320
  // Auto-initiate handshakes if needed (default: true)
319
321
  const ensureSession = options?.ensureSession !== false;
320
- if (ensureSession) {
322
+ const waitForHandshake = options?.waitForHandshake === true; // Default: false for non-blocking
323
+
324
+ if (ensureSession && waitForHandshake) {
325
+ // Blocking mode: wait for handshakes to complete
321
326
  await this.ensureEncryptedSessions(options?.recipientPeerId);
327
+ } else if (ensureSession) {
328
+ // Non-blocking mode: initiate handshakes but don't wait (fire and forget)
329
+ this.initiateHandshakesAsync(options?.recipientPeerId);
322
330
  }
323
331
 
324
332
  const txId = Math.random().toString(36).substring(2, 15);
@@ -332,6 +340,37 @@ class BleMeshService {
332
340
  );
333
341
  }
334
342
 
343
+ /**
344
+ * Initiate handshakes asynchronously without blocking (fire and forget).
345
+ * The native layer will queue the transaction and send it once sessions are established.
346
+ */
347
+ private initiateHandshakesAsync(recipientPeerId?: string | null): void {
348
+ (async () => {
349
+ try {
350
+ if (recipientPeerId) {
351
+ const hasSession = await this.hasEncryptedSession(recipientPeerId);
352
+ if (!hasSession) {
353
+ console.log(`[BleMesh] Initiating handshake with ${recipientPeerId} (async)`);
354
+ await this.initiateHandshake(recipientPeerId);
355
+ }
356
+ } else {
357
+ const peers = await this.getPeers();
358
+ const connectedPeers = peers.filter(p => p.isConnected);
359
+
360
+ for (const peer of connectedPeers) {
361
+ const hasSession = await this.hasEncryptedSession(peer.peerId);
362
+ if (!hasSession) {
363
+ console.log(`[BleMesh] Initiating handshake with ${peer.nickname} (async)`);
364
+ await this.initiateHandshake(peer.peerId);
365
+ }
366
+ }
367
+ }
368
+ } catch (error) {
369
+ console.warn('[BleMesh] Async handshake initiation failed:', error);
370
+ }
371
+ })();
372
+ }
373
+
335
374
  /**
336
375
  * Ensure encrypted sessions exist with target peer(s) before sending transactions.
337
376
  * Auto-initiates handshakes for peers without active sessions.