@trap_stevo/filetide 0.0.43 → 0.0.44

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.
@@ -236,7 +236,7 @@ class FileMessager {
236
236
  console.log(`[FileTide ~ File Messager] ~ File transfer completed: ${fileName} from ${senderID} to ${recipientId}`);
237
237
  const tidingTransfers = this.currentTidingTransfers.get(senderID);
238
238
  if (tidingTransfers) {
239
- tidingTransfers.delete(recipientId);
239
+ tidingTransfers.delete(senderID);
240
240
  }
241
241
  }
242
242
  }
@@ -280,7 +280,7 @@ class FileMessager {
280
280
  console.log(`[FileTide ~ File Messager] ~ File transfer completed: ${fileName} from ${senderID} to ${recipientId}`);
281
281
  const tidingTransfers = this.currentTidingTransfers.get(senderID);
282
282
  if (tidingTransfers) {
283
- tidingTransfers.delete(recipientId);
283
+ tidingTransfers.delete(senderID);
284
284
  }
285
285
  }
286
286
  } catch (error) {
@@ -490,26 +490,23 @@ class FileMessager {
490
490
  const currentOnlineClients = Object.fromEntries(FileNetClientManager.getOnlineClients());
491
491
  this.fileNet.emit("current-online-clients", currentOnlineClients);
492
492
  this.fileNet.emit("current-clients", currentOnlineClients);
493
- this.fileNet.emit("save-current-transfer-states", {
493
+ const senderClient = this.getClientFromID(clientDetails.id);
494
+ this.fileNet.emitToTide(senderClient.tideID, "save-current-transfer-states", {
494
495
  clientID: clientData.clientID
495
496
  });
496
497
  const tidingTransfers = this.currentTidingTransfers.get(clientData.clientID);
497
498
  if (tidingTransfers && tidingTransfers.size > 0) {
498
499
  for (let recipientID of tidingTransfers.keys()) {
499
- try {
500
- const recipientConnectionID = FileNetClientManager.getOnlineClient(data.recipientID).id;
501
- const client = this.getClientFromID(recipientConnectionID);
502
- if (client) {
503
- this.fileNet.emitToTide(client.tideID, "save-current-transfer-states", {
504
- clientID: recipientID
505
- });
506
- }
507
- } catch (error) {
508
- console.log(`[FileTide ~ Net Activity] ~ Did not save current transfer state signal to ~ ${recipientID}\n\t${error}`);
500
+ const recipientConnectionID = FileNetClientManager.getOnlineClient(data.recipientID).id;
501
+ const client = this.getClientFromID(recipientConnectionID);
502
+ if (client) {
503
+ this.fileNet.emitToTide(client.tideID, "save-current-transfer-states", {
504
+ clientID: recipientID
505
+ });
509
506
  }
510
507
  }
508
+ this.currentTidingTransfers.delete(clientData.clientID);
511
509
  }
512
- this.currentTidingTransfers.delete(clientData.clientID);
513
510
  } catch (error) {
514
511
  console.log(`[FileTide ~ Net Activity] ~ Did not process client ~ ${clientData} offline signal ~ ${error}`);
515
512
  }
@@ -189,7 +189,7 @@ class FileMessagerClient {
189
189
  },
190
190
  onComplete: () => {
191
191
  return new Promise((resolve, reject) => {
192
- FileTransferRecoveryManager.clearTransferState(recipientId, clientID, `${filePath}-${fileName}`);
192
+ FileTransferRecoveryManager.clearTransferState(clientID, recipientId, `${filePath}-${fileName}`);
193
193
  this.clientTide.emitEvent(clientID, "transfer-complete", {
194
194
  senderID: clientID,
195
195
  recipientId,
@@ -295,7 +295,7 @@ class FileMessagerClient {
295
295
  });
296
296
  chunkBatch.length = 0;
297
297
  }
298
- FileTransferRecoveryManager.clearTransferState(recipientId, clientID, `${filePath}-${fileName}`);
298
+ FileTransferRecoveryManager.clearTransferState(clientID, recipientId, `${filePath}-${fileName}`);
299
299
  this.clientTide.emitEvent(clientID, "transfer-complete", {
300
300
  senderID: clientID,
301
301
  recipientId,
@@ -360,7 +360,7 @@ class FileMessagerClient {
360
360
  },
361
361
  onComplete: () => {
362
362
  return new Promise((resolve, reject) => {
363
- FileTransferRecoveryManager.clearTransferState(recipientId, clientID, `${filePath}-${fileName}`);
363
+ FileTransferRecoveryManager.clearTransferState(clientID, recipientId, `${filePath}-${fileName}`);
364
364
  this.clientTide.emitEvent(clientID, "transfer-complete", {
365
365
  senderID: clientID,
366
366
  recipientId,
@@ -113,6 +113,9 @@ class FileTide {
113
113
  getTidePath(inputPath) {
114
114
  return FileUtilityManager.getTidePath(inputPath);
115
115
  }
116
+ getTidingTransferStates() {
117
+ return FileTransferRecoveryManager.memoryStorage;
118
+ }
116
119
  saveTransferStates() {
117
120
  FileTransferRecoveryManager.flushToDisk();
118
121
  }
@@ -178,6 +178,7 @@ async function _startTransfer(file, transferId, fileDetails, originDetails, onSe
178
178
  transferState.activeChunks++;
179
179
  try {
180
180
  await onSendChunk(transferId, chunkIndex, this.chunkSize, chunk, transferState.totalChunks, transferState.completedChunks + 1);
181
+ transferState.transferredSize += this.chunkSize;
181
182
  transferState.completedChunks++;
182
183
  transferState.activeChunks--;
183
184
  updateProgress();
@@ -190,7 +191,7 @@ async function _startTransfer(file, transferId, fileDetails, originDetails, onSe
190
191
  resolve();
191
192
  }
192
193
  } catch (error) {
193
- console.error(`Did not send chunk ${chunkIndex} ~ ${error.message}`);
194
+ console.error(`[FileTide ~ File Messager] ~ Did not send chunk ${chunkIndex} ~ ${error.message}`);
194
195
  transferState.activeChunks--;
195
196
  const retryCount = (transferState.failedChunks.get(chunkIndex) || 0) + 1;
196
197
  if (retryCount > this.maxRetries) {
@@ -47,9 +47,9 @@ class FileTransferRecoveryManager {
47
47
  if (transferState) {
48
48
  try {
49
49
  fs.writeFileSync(storageFile, JSON.stringify(transferState, null, 2));
50
- console.log(`Saved transfer state to disk: ${storageFile}`);
50
+ console.log(`Saved transfer state to disk ~ ${storageFile}`);
51
51
  } catch (error) {
52
- console.error(`Error saving transfer state for ${key}: ${error.message}`);
52
+ console.error(`Error saving transfer state for ${key} ~ ${error.message}`);
53
53
  }
54
54
  }
55
55
  }
@@ -84,7 +84,7 @@ class FileTransferRecoveryManager {
84
84
  senderName,
85
85
  filePath
86
86
  } = state;
87
- console.log("Saving current state ~ ", state);
87
+ console.log("Saving current state ~ ", key);
88
88
  this.saveToDisk(clientName, senderName, filePath);
89
89
  }
90
90
  ;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trap_stevo/filetide",
3
- "version": "0.0.43",
3
+ "version": "0.0.44",
4
4
  "description": "Revolutionizing real-time file transfer with seamless, instant communication across any device. Deliver files instantly, regardless of platform, and experience unparalleled speed and control in managing transfers. Elevate your file-sharing capabilities with a tool designed for precision, efficiency, and effortless connectivity.",
5
5
  "main": "dist/cjs/FileTide.js",
6
6
  "scripts": {