mirror of
https://github.com/schlagmichdoch/PairDrop.git
synced 2025-04-20 15:06:15 -04:00
Move beforeunload event to Peer class to include it to the WSPeer; Add reset method to Peer class to prevent returning the "unfinished-transfers" warning when closing the page after a peer has left during transfer
This commit is contained in:
parent
1df8fe258e
commit
da558ddceb
1 changed files with 36 additions and 27 deletions
|
@ -333,13 +333,44 @@ class Peer {
|
||||||
|
|
||||||
// evaluate auto accept
|
// evaluate auto accept
|
||||||
this._evaluateAutoAccept();
|
this._evaluateAutoAccept();
|
||||||
|
|
||||||
|
Events.on('beforeunload', e => this._onBeforeUnload(e));
|
||||||
|
Events.on('pagehide', _ => this._onPageHide());
|
||||||
}
|
}
|
||||||
|
|
||||||
_onServerSignalMessage(message) {}
|
_reset() {
|
||||||
|
this._state = 'idle';
|
||||||
|
this._busy = false;
|
||||||
|
this._chunker = null;
|
||||||
|
this._pendingRequest = null;
|
||||||
|
this._acceptedRequest = null;
|
||||||
|
this._digester = null;
|
||||||
|
this._filesReceived = [];
|
||||||
|
this._totalBytesReceived = 0;
|
||||||
|
}
|
||||||
|
|
||||||
_refresh() {}
|
_refresh() {}
|
||||||
|
|
||||||
_onDisconnected() {}
|
_disconnect() {
|
||||||
|
Events.fire('peer-disconnected', this._peerId);
|
||||||
|
}
|
||||||
|
|
||||||
|
_onDisconnected() {
|
||||||
|
this._reset();
|
||||||
|
}
|
||||||
|
|
||||||
|
_onBeforeUnload(e) {
|
||||||
|
if (this._busy) {
|
||||||
|
e.preventDefault();
|
||||||
|
return Localization.getTranslation("notifications.unfinished-transfers-warning");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
_onPageHide() {
|
||||||
|
this._disconnect();
|
||||||
|
}
|
||||||
|
|
||||||
|
_onServerSignalMessage(message) {}
|
||||||
|
|
||||||
_setIsCaller(isCaller) {
|
_setIsCaller(isCaller) {
|
||||||
this._isCaller = isCaller;
|
this._isCaller = isCaller;
|
||||||
|
@ -659,14 +690,7 @@ class Peer {
|
||||||
|
|
||||||
_abortTransfer() {
|
_abortTransfer() {
|
||||||
Events.fire('set-progress', {peerId: this._peerId, progress: 0, status: null});
|
Events.fire('set-progress', {peerId: this._peerId, progress: 0, status: null});
|
||||||
this._state = 'idle';
|
this._reset();
|
||||||
this._busy = false;
|
|
||||||
this._chunker = null;
|
|
||||||
this._pendingRequest = null;
|
|
||||||
this._acceptedRequest = null;
|
|
||||||
this._digester = null;
|
|
||||||
this._filesReceived = [];
|
|
||||||
this._totalBytesReceived = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_onChunkReceived(chunk) {
|
_onChunkReceived(chunk) {
|
||||||
|
@ -886,9 +910,6 @@ class RTCPeer extends Peer {
|
||||||
this.pendingInboundMessages = [];
|
this.pendingInboundMessages = [];
|
||||||
this.pendingOutboundMessages = [];
|
this.pendingOutboundMessages = [];
|
||||||
|
|
||||||
Events.on('beforeunload', e => this._onBeforeUnload(e));
|
|
||||||
Events.on('pagehide', _ => this._onPageHide());
|
|
||||||
|
|
||||||
this._connect();
|
this._connect();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1137,9 +1158,6 @@ class RTCPeer extends Peer {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_disconnect() {
|
|
||||||
Events.fire('peer-disconnected', this._peerId);
|
|
||||||
}
|
|
||||||
|
|
||||||
_refresh() {
|
_refresh() {
|
||||||
Events.fire('peer-connecting', this._peerId);
|
Events.fire('peer-connecting', this._peerId);
|
||||||
|
@ -1149,6 +1167,7 @@ class RTCPeer extends Peer {
|
||||||
}
|
}
|
||||||
|
|
||||||
_onDisconnected() {
|
_onDisconnected() {
|
||||||
|
super._onDisconnected();
|
||||||
this._closeChannelAndConnection();
|
this._closeChannelAndConnection();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1184,17 +1203,6 @@ class RTCPeer extends Peer {
|
||||||
this.remoteIceCandidatesReceived = false;
|
this.remoteIceCandidatesReceived = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
_onBeforeUnload(e) {
|
|
||||||
if (this._busy) {
|
|
||||||
e.preventDefault();
|
|
||||||
return Localization.getTranslation("notifications.unfinished-transfers-warning");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
_onPageHide() {
|
|
||||||
this._disconnect();
|
|
||||||
}
|
|
||||||
|
|
||||||
_sendMessage(message) {
|
_sendMessage(message) {
|
||||||
if (!this._stable() || this.pendingOutboundMessages.length > 0) {
|
if (!this._stable() || this.pendingOutboundMessages.length > 0) {
|
||||||
// queue messages if not connected OR if connected AND queue is not empty
|
// queue messages if not connected OR if connected AND queue is not empty
|
||||||
|
@ -1368,6 +1376,7 @@ class WSPeer extends Peer {
|
||||||
}
|
}
|
||||||
|
|
||||||
_onDisconnected() {
|
_onDisconnected() {
|
||||||
|
super._onDisconnected();
|
||||||
this.signalSuccessful = false;
|
this.signalSuccessful = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue