@@ -75,6 +75,10 @@ class File {
7575 return this . _in_progress
7676 }
7777
78+ set in_progress ( value ) {
79+ this . _in_progress = value
80+ }
81+
7882 get aborted ( ) {
7983 return this . _aborted
8084 }
@@ -153,16 +157,19 @@ class File {
153157 document . getElementById ( `file-${ this . _id } -progress` ) . innerHTML = '0% | '
154158
155159 // Store peer data
156- this . _remotePeers [ data . peer_id ] = { "user_id" : data . requester_id , "user_name" : data . requester_name , "peer" : null , "conn" : null , "online" : true , "interval" : setInterval ( ( ) => this . _isAlive ( conn . peer ) , 1000 ) , "progress" : 0 , "aborted" : false }
160+ this . _remotePeers [ data . peer_id ] = { "user_id" : data . requester_id , "user_name" : data . requester_name , "peer" : null , "conn" : null , "online" : true , "interval" : null , "progress" : 0 , "aborted" : false }
157161
158162 // Connect to peer_id
159163 await this . connect ( data . peer_id )
160164
161165 // Get connection
162166 const conn = this . _remotePeers [ data . peer_id ] . conn
163167
168+ // Init interval to check connection status
169+ this . _remotePeers [ data . peer_id ] . interval = setInterval ( ( ) => this . _isAlive ( conn . peer ) , 500 )
170+
164171 // Define vars for chunk processing
165- const chunkSize = 1024 ** 2 // 1 MB
172+ const chunkSize = 65536 // 64 KB
166173 let offset = 0
167174
168175 // Recursive function to process each chunk
@@ -225,7 +232,6 @@ class File {
225232 this . _chunks = [ ]
226233 this . _transferred = 0
227234 this . _aborted = false
228- this . _in_progress = true
229235 }
230236 }
231237
@@ -305,7 +311,6 @@ class File {
305311
306312 // Update internal parameters
307313 this . _in_progress = false
308- this . _zip = false
309314
310315 // Close connection
311316 conn . close ( )
@@ -329,17 +334,16 @@ class File {
329334 // Update UI: Show the overall progress
330335 document . getElementById ( `file-${ this . _id } -progress` ) . innerHTML = `${ overall_progress } % | `
331336
332- if ( ! this . _aborted && onlinePeers . filter ( x => ! x . aborted ) . length == 0 ) {
333- document . getElementById ( `file-${ this . _id } -progress` ) . innerHTML = `${ overall_progress } % | `
334- document . getElementById ( `file-${ this . _id } -icon-loading` ) . style . display = 'none'
335- document . getElementById ( `file-${ this . _id } -error` ) . style . display = 'block'
336- document . getElementById ( `file-${ this . _id } -error` ) . innerHTML = 'All users stopped the file transfer.'
337- }
338- else if ( overall_progress == 100 ) {
337+ if ( overall_progress == 100 ) {
339338 document . getElementById ( `file-${ this . _id } -abort` ) . style . display = 'none'
340339 document . getElementById ( `file-${ this . _id } -icon-loading` ) . style . display = 'none'
341340 document . getElementById ( `file-${ this . _id } -icon-success` ) . style . display = 'block'
342341 }
342+ else if ( ! this . _aborted && onlinePeers . filter ( x => ! x . aborted ) . length == 0 ) {
343+ document . getElementById ( `file-${ this . _id } -icon-loading` ) . style . display = 'none'
344+ document . getElementById ( `file-${ this . _id } -error` ) . style . display = 'block'
345+ document . getElementById ( `file-${ this . _id } -error` ) . innerHTML = 'All users stopped the file transfer.'
346+ }
343347 }
344348
345349 _onFileAborted ( conn ) {
0 commit comments