Dirty webtorrent fix to wait FS sync
authorChocobozzz <me@florianbigard.com>
Tue, 25 Sep 2018 17:42:05 +0000 (19:42 +0200)
committerChocobozzz <me@florianbigard.com>
Tue, 25 Sep 2018 17:42:05 +0000 (19:42 +0200)
server/helpers/webtorrent.ts

index d35b3a7108d643f2e3110c514dd76d8978cc7ee0..87c029fcd09cc77959e53eec93988b248770af50 100644 (file)
@@ -1,5 +1,4 @@
 import { logger } from './logger'
-import { generateVideoTmpPath } from './utils'
 import * as WebTorrent from 'webtorrent'
 import { remove } from 'fs-extra'
 import { CONFIG } from '../initializers'
@@ -26,7 +25,10 @@ function downloadWebTorrentVideo (target: { magnetUri: string, torrentName?: str
           .then(() => rej(new Error('Cannot import torrent ' + torrentId + ': there are multiple files in it')))
       }
 
-      torrent.on('done', () => res(join(CONFIG.STORAGE.VIDEOS_DIR, torrent.files[ 0 ].path)))
+      torrent.on('done', () => {
+        // FIXME: Dirty fix, we need to wait the FS sync but webtorrent does not provide such method
+        setTimeout(() => res(join(CONFIG.STORAGE.VIDEOS_DIR, torrent.files[ 0 ].name)), 1000)
+      })
     })
 
     torrent.on('error', err => rej(err))