@magicred-1/ble-mesh 1.2.4 → 1.2.6

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/README.md CHANGED
@@ -108,6 +108,35 @@ interface MeshServiceConfig {
108
108
 
109
109
  Stops the mesh service and disconnects from all peers.
110
110
 
111
+ ##### `requestPermissions(): Promise<PermissionStatus>`
112
+
113
+ Requests all required Bluetooth and location permissions. Called automatically by `start()` unless `autoRequestPermissions: false`.
114
+
115
+ ```typescript
116
+ interface PermissionStatus {
117
+ bluetooth: boolean;
118
+ bluetoothAdvertise?: boolean; // Android 12+
119
+ bluetoothConnect?: boolean; // Android 12+
120
+ bluetoothScan?: boolean; // Android 12+
121
+ location: boolean;
122
+ }
123
+
124
+ const permissions = await BleMesh.requestPermissions();
125
+ if (!permissions.bluetooth || !permissions.location) {
126
+ console.error('Required permissions not granted');
127
+ }
128
+ ```
129
+
130
+ ##### `checkPermissions(): Promise<PermissionStatus>`
131
+
132
+ Checks current permission status without requesting. Useful for showing permission UI state.
133
+
134
+ ```typescript
135
+ const permissions = await BleMesh.checkPermissions();
136
+ console.log('Bluetooth enabled:', permissions.bluetooth);
137
+ console.log('Location enabled:', permissions.location);
138
+ ```
139
+
111
140
  ##### `setNickname(nickname: string): Promise<void>`
112
141
 
113
142
  Updates your nickname and broadcasts the change to peers.
@@ -226,23 +255,76 @@ await BleMesh.respondToTransaction(txId, senderPeerId, {
226
255
 
227
256
  ##### `hasEncryptedSession(peerId: string): Promise<boolean>`
228
257
 
229
- Checks if an encrypted session exists with the specified peer.
258
+ Checks if an encrypted session exists with the specified peer. Useful for verifying secure communication is established before sending sensitive data.
259
+
260
+ ```typescript
261
+ const hasSession = await BleMesh.hasEncryptedSession(peerId);
262
+ if (hasSession) {
263
+ console.log('Secure session active');
264
+ } else {
265
+ console.log('No encrypted session - need handshake');
266
+ }
267
+ ```
230
268
 
231
269
  ##### `initiateHandshake(peerId: string): Promise<void>`
232
270
 
233
- Initiates a Noise handshake with a peer for encrypted communication.
271
+ Initiates a Noise handshake with a peer for encrypted communication. Required before sending private messages or transactions.
272
+
273
+ ```typescript
274
+ // Manually establish encrypted session
275
+ await BleMesh.initiateHandshake(peerId);
276
+ await new Promise(resolve => setTimeout(resolve, 500)); // Wait for completion
277
+
278
+ // Now send encrypted data
279
+ await BleMesh.sendPrivateMessage('Secret data', peerId);
280
+ ```
281
+
282
+ ##### `sendSolanaNonceTransaction(transaction: SolanaNonceTransaction, recipientPeerId: string): Promise<string>`
283
+
284
+ Sends a durable transaction using Solana nonce accounts for offline transaction signing.
285
+
286
+ ```typescript
287
+ interface SolanaNonceTransaction {
288
+ recentBlockhash: string;
289
+ nonceAccount: string;
290
+ nonceAuthority: string;
291
+ feePayer: string;
292
+ instructions: Array<{
293
+ programId: string;
294
+ keys: Array<{ pubkey: string; isSigner: boolean; isWritable: boolean }>;
295
+ data: string; // base64 encoded
296
+ }>;
297
+ }
298
+
299
+ const txId = await BleMesh.sendSolanaNonceTransaction({
300
+ recentBlockhash: nonceAccountValue,
301
+ nonceAccount: nonceAccountPubkey,
302
+ nonceAuthority: authorityPubkey,
303
+ feePayer: feePayerPubkey,
304
+ instructions: [/* ... */]
305
+ }, recipientPeerId);
306
+ ```
234
307
 
235
308
  ##### `getIdentityFingerprint(): Promise<string>`
236
309
 
237
- Returns your identity fingerprint for verification.
310
+ Returns your identity fingerprint for verification. Share this with peers to verify your identity.
238
311
 
239
312
  ##### `getPeerFingerprint(peerId: string): Promise<string | null>`
240
313
 
241
- Returns a peer's identity fingerprint for verification.
314
+ Returns a peer's identity fingerprint for verification. Compare with their shared fingerprint to verify identity.
315
+
316
+ ```typescript
317
+ const peerFingerprint = await BleMesh.getPeerFingerprint(peerId);
318
+ if (peerFingerprint === sharedFingerprint) {
319
+ console.log('Identity verified!');
320
+ } else {
321
+ console.warn('Identity mismatch - possible MITM attack');
322
+ }
323
+ ```
242
324
 
243
325
  ##### `broadcastAnnounce(): Promise<void>`
244
326
 
245
- Forces a broadcast announce to refresh your presence on the mesh.
327
+ Forces a broadcast announce to refresh your presence on the mesh. Useful for re-announcing after network connectivity changes.
246
328
 
247
329
  #### Events
248
330
 
@@ -195,25 +195,63 @@ class BleMeshService {
195
195
  if (!hasSession) {
196
196
  console.log(`[BleMesh] No encrypted session with ${recipientPeerId}, initiating handshake...`);
197
197
  await this.initiateHandshake(recipientPeerId);
198
- // Wait briefly for handshake to complete
199
- await new Promise(resolve => setTimeout(resolve, 500));
198
+
199
+ // Wait and verify handshake completion (max 5 seconds)
200
+ const maxAttempts = 10;
201
+ for (let i = 0; i < maxAttempts; i++) {
202
+ await new Promise(resolve => setTimeout(resolve, 500));
203
+ const sessionEstablished = await this.hasEncryptedSession(recipientPeerId);
204
+ if (sessionEstablished) {
205
+ console.log(`[BleMesh] ✅ Encrypted session established with ${recipientPeerId}`);
206
+ return;
207
+ }
208
+ console.log(`[BleMesh] Waiting for handshake... (${i + 1}/${maxAttempts})`);
209
+ }
210
+ console.warn(`[BleMesh] ⚠️ Handshake timeout with ${recipientPeerId} - proceeding anyway`);
211
+ } else {
212
+ console.log(`[BleMesh] ✅ Encrypted session already exists with ${recipientPeerId}`);
200
213
  }
201
214
  } else {
202
215
  // Check all connected peers
203
216
  const peers = await this.getPeers();
204
217
  const connectedPeers = peers.filter(p => p.isConnected);
205
218
  console.log(`[BleMesh] Checking sessions for ${connectedPeers.length} connected peers...`);
219
+ const peersNeedingHandshake = [];
206
220
  for (const peer of connectedPeers) {
207
221
  const hasSession = await this.hasEncryptedSession(peer.peerId);
208
222
  if (!hasSession) {
209
223
  console.log(`[BleMesh] No encrypted session with ${peer.nickname} (${peer.peerId}), initiating handshake...`);
210
224
  await this.initiateHandshake(peer.peerId);
225
+ peersNeedingHandshake.push(peer.peerId);
226
+ } else {
227
+ console.log(`[BleMesh] ✅ Session exists with ${peer.nickname}`);
211
228
  }
212
229
  }
213
230
 
214
- // Wait for handshakes to complete
215
- if (connectedPeers.length > 0) {
216
- await new Promise(resolve => setTimeout(resolve, 1000));
231
+ // Wait and verify all handshakes complete
232
+ if (peersNeedingHandshake.length > 0) {
233
+ console.log(`[BleMesh] Waiting for ${peersNeedingHandshake.length} handshake(s) to complete...`);
234
+ const maxAttempts = 10;
235
+ for (let i = 0; i < maxAttempts; i++) {
236
+ await new Promise(resolve => setTimeout(resolve, 500));
237
+
238
+ // Check which peers now have sessions
239
+ const remainingPeers = [];
240
+ for (const peerId of peersNeedingHandshake) {
241
+ const hasSession = await this.hasEncryptedSession(peerId);
242
+ if (!hasSession) {
243
+ remainingPeers.push(peerId);
244
+ }
245
+ }
246
+ if (remainingPeers.length === 0) {
247
+ console.log(`[BleMesh] ✅ All handshakes completed successfully`);
248
+ return;
249
+ }
250
+ console.log(`[BleMesh] Waiting... ${remainingPeers.length} handshake(s) pending (${i + 1}/${maxAttempts})`);
251
+ peersNeedingHandshake.length = 0;
252
+ peersNeedingHandshake.push(...remainingPeers);
253
+ }
254
+ console.warn(`[BleMesh] ⚠️ ${peersNeedingHandshake.length} handshake(s) incomplete - proceeding anyway`);
217
255
  }
218
256
  }
219
257
  }
@@ -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","Promise","resolve","setTimeout","peers","connectedPeers","filter","p","isConnected","length","peer","peerId","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","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":[]}
@@ -189,25 +189,63 @@ class BleMeshService {
189
189
  if (!hasSession) {
190
190
  console.log(`[BleMesh] No encrypted session with ${recipientPeerId}, initiating handshake...`);
191
191
  await this.initiateHandshake(recipientPeerId);
192
- // Wait briefly for handshake to complete
193
- await new Promise(resolve => setTimeout(resolve, 500));
192
+
193
+ // Wait and verify handshake completion (max 5 seconds)
194
+ const maxAttempts = 10;
195
+ for (let i = 0; i < maxAttempts; i++) {
196
+ await new Promise(resolve => setTimeout(resolve, 500));
197
+ const sessionEstablished = await this.hasEncryptedSession(recipientPeerId);
198
+ if (sessionEstablished) {
199
+ console.log(`[BleMesh] ✅ Encrypted session established with ${recipientPeerId}`);
200
+ return;
201
+ }
202
+ console.log(`[BleMesh] Waiting for handshake... (${i + 1}/${maxAttempts})`);
203
+ }
204
+ console.warn(`[BleMesh] ⚠️ Handshake timeout with ${recipientPeerId} - proceeding anyway`);
205
+ } else {
206
+ console.log(`[BleMesh] ✅ Encrypted session already exists with ${recipientPeerId}`);
194
207
  }
195
208
  } else {
196
209
  // Check all connected peers
197
210
  const peers = await this.getPeers();
198
211
  const connectedPeers = peers.filter(p => p.isConnected);
199
212
  console.log(`[BleMesh] Checking sessions for ${connectedPeers.length} connected peers...`);
213
+ const peersNeedingHandshake = [];
200
214
  for (const peer of connectedPeers) {
201
215
  const hasSession = await this.hasEncryptedSession(peer.peerId);
202
216
  if (!hasSession) {
203
217
  console.log(`[BleMesh] No encrypted session with ${peer.nickname} (${peer.peerId}), initiating handshake...`);
204
218
  await this.initiateHandshake(peer.peerId);
219
+ peersNeedingHandshake.push(peer.peerId);
220
+ } else {
221
+ console.log(`[BleMesh] ✅ Session exists with ${peer.nickname}`);
205
222
  }
206
223
  }
207
224
 
208
- // Wait for handshakes to complete
209
- if (connectedPeers.length > 0) {
210
- await new Promise(resolve => setTimeout(resolve, 1000));
225
+ // Wait and verify all handshakes complete
226
+ if (peersNeedingHandshake.length > 0) {
227
+ console.log(`[BleMesh] Waiting for ${peersNeedingHandshake.length} handshake(s) to complete...`);
228
+ const maxAttempts = 10;
229
+ for (let i = 0; i < maxAttempts; i++) {
230
+ await new Promise(resolve => setTimeout(resolve, 500));
231
+
232
+ // Check which peers now have sessions
233
+ const remainingPeers = [];
234
+ for (const peerId of peersNeedingHandshake) {
235
+ const hasSession = await this.hasEncryptedSession(peerId);
236
+ if (!hasSession) {
237
+ remainingPeers.push(peerId);
238
+ }
239
+ }
240
+ if (remainingPeers.length === 0) {
241
+ console.log(`[BleMesh] ✅ All handshakes completed successfully`);
242
+ return;
243
+ }
244
+ console.log(`[BleMesh] Waiting... ${remainingPeers.length} handshake(s) pending (${i + 1}/${maxAttempts})`);
245
+ peersNeedingHandshake.length = 0;
246
+ peersNeedingHandshake.push(...remainingPeers);
247
+ }
248
+ console.warn(`[BleMesh] ⚠️ ${peersNeedingHandshake.length} handshake(s) incomplete - proceeding anyway`);
211
249
  }
212
250
  }
213
251
  }
@@ -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","Promise","resolve","setTimeout","peers","connectedPeers","filter","p","isConnected","length","peer","peerId","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":"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","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","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":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,IAAI;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,wEAAwE;IACxE,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qDAAqD;IACrD,YAAY,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,oBAAoB,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,gCAAgC;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,KAAK,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,KAAK,CAAC;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,OAAO,CAAC;YAAC,UAAU,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;QACxE,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,UAAU,CAAC;AAEvF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAGD,MAAM,MAAM,oBAAoB,GAAG;IAAE,KAAK,EAAE,IAAI,EAAE,CAAA;CAAE,CAAC;AACrD,MAAM,MAAM,oBAAoB,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AACxD,MAAM,MAAM,iBAAiB,GAAG;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,CAAC;AACvD,MAAM,MAAM,wBAAwB,GAAG;IAAE,WAAW,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAC1E,MAAM,MAAM,wBAAwB,GAAG;IAAE,QAAQ,EAAE,mBAAmB,CAAA;CAAE,CAAC;AACzE,MAAM,MAAM,2BAA2B,GAAG;IAAE,KAAK,EAAE,eAAe,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AACxF,MAAM,MAAM,uBAAuB,GAAG;IAAE,WAAW,EAAE,gBAAgB,CAAA;CAAE,CAAC;AACxE,MAAM,MAAM,UAAU,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAG3D,KAAK,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;AAE1C,cAAM,cAAc;IAClB,OAAO,CAAC,aAAa,CAAS;IAGxB,kBAAkB,IAAI,OAAO,CAAC,gBAAgB,CAAC;YASvC,yBAAyB;YAsCzB,qBAAqB;IAW7B,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC;YAOrC,uBAAuB;IAiC/B,KAAK,CAAC,MAAM,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBpD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAOrB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5C,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAM9B,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAMhC,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAM3B,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAM/D,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAM7E,QAAQ,CACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GACvD,OAAO,CAAC,MAAM,CAAC;IAKlB;;;;;;;;;;OAUG;IACG,eAAe,CACnB,qBAAqB,EAAE,MAAM,EAC7B,OAAO,CAAC,EAAE;QACR,oBAAoB,EAAE,MAAM,CAAC;QAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,GACA,OAAO,CAAC,MAAM,CAAC;IAoBlB;;;;;OAKG;YACW,uBAAuB;IAiC/B,oBAAoB,CACxB,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE;QACR,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GACA,OAAO,CAAC,IAAI,CAAC;IAWV,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM1E,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMrD,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhD,0BAA0B,CAC9B,WAAW,EAAE,sBAAsB,EACnC,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,CAAC;IAMZ,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC;IAMzC,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAM1D,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAMxC,iBAAiB,CAAC,QAAQ,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAAG,MAAM,IAAI;IAK5E,iBAAiB,CAAC,QAAQ,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAAG,MAAM,IAAI;IAK5E,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,iBAAiB,CAAC,GAAG,MAAM,IAAI;IAKtE,qBAAqB,CAAC,QAAQ,EAAE,aAAa,CAAC,wBAAwB,CAAC,GAAG,MAAM,IAAI;IAKpF,qBAAqB,CAAC,QAAQ,EAAE,aAAa,CAAC,wBAAwB,CAAC,GAAG,MAAM,IAAI;IAKpF,wBAAwB,CAAC,QAAQ,EAAE,aAAa,CAAC,2BAA2B,CAAC,GAAG,MAAM,IAAI;IAK1F,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,MAAM,IAAI;IAK7F,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,MAAM,IAAI;IAK7F,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,MAAM,IAAI;IAKxD,OAAO,CAAC,iBAAiB;CAK1B;AAGD,eAAO,MAAM,OAAO,gBAAuB,CAAC;AAG5C,OAAO,EAAE,cAAc,EAAE,CAAC;AAG1B,eAAe,OAAO,CAAC"}
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.4",
3
+ "version": "1.2.6",
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
@@ -345,8 +345,21 @@ class BleMeshService {
345
345
  if (!hasSession) {
346
346
  console.log(`[BleMesh] No encrypted session with ${recipientPeerId}, initiating handshake...`);
347
347
  await this.initiateHandshake(recipientPeerId);
348
- // Wait briefly for handshake to complete
349
- await new Promise(resolve => setTimeout(resolve, 500));
348
+
349
+ // Wait and verify handshake completion (max 5 seconds)
350
+ const maxAttempts = 10;
351
+ for (let i = 0; i < maxAttempts; i++) {
352
+ await new Promise(resolve => setTimeout(resolve, 500));
353
+ const sessionEstablished = await this.hasEncryptedSession(recipientPeerId);
354
+ if (sessionEstablished) {
355
+ console.log(`[BleMesh] ✅ Encrypted session established with ${recipientPeerId}`);
356
+ return;
357
+ }
358
+ console.log(`[BleMesh] Waiting for handshake... (${i + 1}/${maxAttempts})`);
359
+ }
360
+ console.warn(`[BleMesh] ⚠️ Handshake timeout with ${recipientPeerId} - proceeding anyway`);
361
+ } else {
362
+ console.log(`[BleMesh] ✅ Encrypted session already exists with ${recipientPeerId}`);
350
363
  }
351
364
  } else {
352
365
  // Check all connected peers
@@ -355,17 +368,46 @@ class BleMeshService {
355
368
 
356
369
  console.log(`[BleMesh] Checking sessions for ${connectedPeers.length} connected peers...`);
357
370
 
371
+ const peersNeedingHandshake: string[] = [];
358
372
  for (const peer of connectedPeers) {
359
373
  const hasSession = await this.hasEncryptedSession(peer.peerId);
360
374
  if (!hasSession) {
361
375
  console.log(`[BleMesh] No encrypted session with ${peer.nickname} (${peer.peerId}), initiating handshake...`);
362
376
  await this.initiateHandshake(peer.peerId);
377
+ peersNeedingHandshake.push(peer.peerId);
378
+ } else {
379
+ console.log(`[BleMesh] ✅ Session exists with ${peer.nickname}`);
363
380
  }
364
381
  }
365
382
 
366
- // Wait for handshakes to complete
367
- if (connectedPeers.length > 0) {
368
- await new Promise(resolve => setTimeout(resolve, 1000));
383
+ // Wait and verify all handshakes complete
384
+ if (peersNeedingHandshake.length > 0) {
385
+ console.log(`[BleMesh] Waiting for ${peersNeedingHandshake.length} handshake(s) to complete...`);
386
+ const maxAttempts = 10;
387
+
388
+ for (let i = 0; i < maxAttempts; i++) {
389
+ await new Promise(resolve => setTimeout(resolve, 500));
390
+
391
+ // Check which peers now have sessions
392
+ const remainingPeers = [];
393
+ for (const peerId of peersNeedingHandshake) {
394
+ const hasSession = await this.hasEncryptedSession(peerId);
395
+ if (!hasSession) {
396
+ remainingPeers.push(peerId);
397
+ }
398
+ }
399
+
400
+ if (remainingPeers.length === 0) {
401
+ console.log(`[BleMesh] ✅ All handshakes completed successfully`);
402
+ return;
403
+ }
404
+
405
+ console.log(`[BleMesh] Waiting... ${remainingPeers.length} handshake(s) pending (${i + 1}/${maxAttempts})`);
406
+ peersNeedingHandshake.length = 0;
407
+ peersNeedingHandshake.push(...remainingPeers);
408
+ }
409
+
410
+ console.warn(`[BleMesh] ⚠️ ${peersNeedingHandshake.length} handshake(s) incomplete - proceeding anyway`);
369
411
  }
370
412
  }
371
413
  }