@decentnetwork/peer 0.1.78 → 0.1.79
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/dist/compat/filetransfer.d.ts +1 -0
- package/dist/compat/filetransfer.js +14 -0
- package/dist/peer.d.ts +2 -0
- package/dist/peer.js +2 -0
- package/package.json +1 -1
|
@@ -54,6 +54,7 @@ export declare class FileTransferManager {
|
|
|
54
54
|
}): string | null;
|
|
55
55
|
accept(friendId: string, fileNumber: number): void;
|
|
56
56
|
cancel(friendId: string, fileNumber: number, isSending: boolean): void;
|
|
57
|
+
cancelByFileId(friendId: string, fileIdHex: string, isSending: boolean): boolean;
|
|
57
58
|
handlePacket(friendId: string, packetId: number, payload: Uint8Array): boolean;
|
|
58
59
|
clearFriend(friendId: string): void;
|
|
59
60
|
}
|
|
@@ -311,6 +311,20 @@ export class FileTransferManager {
|
|
|
311
311
|
else
|
|
312
312
|
this.#endRecv(friendId, fileNumber);
|
|
313
313
|
}
|
|
314
|
+
// Cancel by content fileId (hex) — the daemon/UI tracks transfers by fileId,
|
|
315
|
+
// not the internal fileNumber, so it can stop a specific in-flight transfer.
|
|
316
|
+
cancelByFileId(friendId, fileIdHex, isSending) {
|
|
317
|
+
const inner = (isSending ? this.#sending : this.#receiving).get(friendId);
|
|
318
|
+
if (!inner)
|
|
319
|
+
return false;
|
|
320
|
+
for (const [fileNumber, st] of inner) {
|
|
321
|
+
if (hex(st.fileId) === fileIdHex) {
|
|
322
|
+
this.cancel(friendId, fileNumber, isSending);
|
|
323
|
+
return true;
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
return false;
|
|
327
|
+
}
|
|
314
328
|
handlePacket(friendId, packetId, payload) {
|
|
315
329
|
if (packetId === PACKET_ID_FILE_SENDREQUEST) {
|
|
316
330
|
this.#onSendRequest(friendId, payload);
|
package/dist/peer.d.ts
CHANGED
|
@@ -111,6 +111,8 @@ export declare class Peer {
|
|
|
111
111
|
acceptFile(userid: string, fileNumber: number): void;
|
|
112
112
|
/** Cancel a transfer (isSending = true if we're the sender). */
|
|
113
113
|
cancelFile(userid: string, fileNumber: number, isSending?: boolean): void;
|
|
114
|
+
/** Cancel an in-flight transfer by its content fileId (hex). Returns true if found. */
|
|
115
|
+
cancelFileById(userid: string, fileId: string, isSending?: boolean): boolean;
|
|
114
116
|
/** Incoming file offer: { friendId, fileNumber, fileId, name, size, kind }. */
|
|
115
117
|
onFile(cb: (offer: {
|
|
116
118
|
friendId: string;
|
package/dist/peer.js
CHANGED
|
@@ -1032,6 +1032,8 @@ export class Peer {
|
|
|
1032
1032
|
acceptFile(userid, fileNumber) { this.#fileTransfer.accept(userid, fileNumber); }
|
|
1033
1033
|
/** Cancel a transfer (isSending = true if we're the sender). */
|
|
1034
1034
|
cancelFile(userid, fileNumber, isSending = false) { this.#fileTransfer.cancel(userid, fileNumber, isSending); }
|
|
1035
|
+
/** Cancel an in-flight transfer by its content fileId (hex). Returns true if found. */
|
|
1036
|
+
cancelFileById(userid, fileId, isSending = false) { return this.#fileTransfer.cancelByFileId(userid, fileId, isSending); }
|
|
1035
1037
|
/** Incoming file offer: { friendId, fileNumber, fileId, name, size, kind }. */
|
|
1036
1038
|
onFile(cb) { this.#events.on("file-offer", cb); }
|
|
1037
1039
|
/** Transfer progress: { friendId, fileId, received, total, sending? }. */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@decentnetwork/peer",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.79",
|
|
4
4
|
"description": "Pure TypeScript port of Elastos Carrier (toxcore-derived) P2P messaging. DHT, onion routing, TCP relay, FlatBuffers app payloads, Express offline relay. Wire-compatible with iOS Beagle and the Carrier C SDK.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|