Fix issue file_list call continues indefinitely if a file is removed while downloading #2042
2 changed files with 16 additions and 13 deletions
|
@ -19,7 +19,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
||||||
* Credit card verification messaging ([#2025](https://github.com/lbryio/lbry-desktop/pull/2025))
|
* Credit card verification messaging ([#2025](https://github.com/lbryio/lbry-desktop/pull/2025))
|
||||||
* Reverse Order & Use System/Location Time/Date ([#2036]https://github.com/lbryio/lbry-desktop/pull/2036)
|
* Reverse Order & Use System/Location Time/Date ([#2036]https://github.com/lbryio/lbry-desktop/pull/2036)
|
||||||
* Limit file type can be uploaded as thumbnail for publishing ([#2034](https://github.com/lbryio/lbry-desktop/pull/2034))
|
* Limit file type can be uploaded as thumbnail for publishing ([#2034](https://github.com/lbryio/lbry-desktop/pull/2034))
|
||||||
* Change snackbar notification postion to bottom-left ([#2040](https://github.com/lbryio/lbry-desktop/pull/2040))
|
* Change snackbar notification postion to bottom-left ([#2040](https://github.com/lbryio/lbry-desktop/pull/2040))
|
||||||
|
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
@ -28,6 +28,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
||||||
* History styling on large screens and link issue with claims ([#1999](https://github.com/lbryio/lbry-desktop/pull/1999))
|
* History styling on large screens and link issue with claims ([#1999](https://github.com/lbryio/lbry-desktop/pull/1999))
|
||||||
* Satisfy console warnings in publishForm and validation messaging ([#2010](https://github.com/lbryio/lbry-desktop/pull/2010))
|
* Satisfy console warnings in publishForm and validation messaging ([#2010](https://github.com/lbryio/lbry-desktop/pull/2010))
|
||||||
* App crashing if invalid characters entered in LBRY URL ([#2026])(https://github.com/lbryio/lbry-desktop/pull/2026))
|
* App crashing if invalid characters entered in LBRY URL ([#2026])(https://github.com/lbryio/lbry-desktop/pull/2026))
|
||||||
|
* Fix issue file_list call continues indefinitely if a file is removed while downloading ([#2042])(https://github.com/lbryio/lbry-desktop/pull/2042))
|
||||||
|
|
||||||
## [0.25.1] - 2018-09-18
|
## [0.25.1] - 2018-09-18
|
||||||
|
|
||||||
|
|
|
@ -3,10 +3,7 @@ import * as NOTIFICATION_TYPES from 'constants/notification_types';
|
||||||
import { ipcRenderer } from 'electron';
|
import { ipcRenderer } from 'electron';
|
||||||
import { doAlertError } from 'redux/actions/app';
|
import { doAlertError } from 'redux/actions/app';
|
||||||
import { doNavigate } from 'redux/actions/navigation';
|
import { doNavigate } from 'redux/actions/navigation';
|
||||||
import {
|
import { setSubscriptionLatest, setSubscriptionNotification } from 'redux/actions/subscriptions';
|
||||||
setSubscriptionLatest,
|
|
||||||
setSubscriptionNotification,
|
|
||||||
} from 'redux/actions/subscriptions';
|
|
||||||
import { selectNotifications } from 'redux/selectors/subscriptions';
|
import { selectNotifications } from 'redux/selectors/subscriptions';
|
||||||
import { selectBadgeNumber } from 'redux/selectors/app';
|
import { selectBadgeNumber } from 'redux/selectors/app';
|
||||||
import {
|
import {
|
||||||
|
@ -18,6 +15,7 @@ import {
|
||||||
doFetchClaimListMine,
|
doFetchClaimListMine,
|
||||||
makeSelectCostInfoForUri,
|
makeSelectCostInfoForUri,
|
||||||
makeSelectFileInfoForUri,
|
makeSelectFileInfoForUri,
|
||||||
|
selectFileInfosByOutpoint,
|
||||||
selectDownloadingByOutpoint,
|
selectDownloadingByOutpoint,
|
||||||
selectTotalDownloadProgress,
|
selectTotalDownloadProgress,
|
||||||
selectBalance,
|
selectBalance,
|
||||||
|
@ -31,17 +29,24 @@ import analytics from 'analytics';
|
||||||
|
|
||||||
const DOWNLOAD_POLL_INTERVAL = 250;
|
const DOWNLOAD_POLL_INTERVAL = 250;
|
||||||
|
|
||||||
export function doUpdateLoadStatus(uri, outpoint) {
|
export function doUpdateLoadStatus(uri: string, outpoint: string) {
|
||||||
return (dispatch, getState) => {
|
return (dispatch, getState) => {
|
||||||
|
const setNextStatusUpdate = () =>
|
||||||
|
setTimeout(() => {
|
||||||
|
// We need to check if outpoint still exists first because user are able to delete file (outpoint) while downloading.
|
||||||
|
// If a file is already deleted, no point to still try update load status
|
||||||
|
const byOutpoint = selectFileInfosByOutpoint(getState());
|
||||||
|
if (byOutpoint[outpoint]) {
|
||||||
|
dispatch(doUpdateLoadStatus(uri, outpoint));
|
||||||
|
}
|
||||||
|
}, DOWNLOAD_POLL_INTERVAL);
|
||||||
Lbry.file_list({
|
Lbry.file_list({
|
||||||
outpoint,
|
outpoint,
|
||||||
full_status: true,
|
full_status: true,
|
||||||
}).then(([fileInfo]) => {
|
}).then(([fileInfo]) => {
|
||||||
if (!fileInfo || fileInfo.written_bytes === 0) {
|
if (!fileInfo || fileInfo.written_bytes === 0) {
|
||||||
// download hasn't started yet
|
// download hasn't started yet
|
||||||
setTimeout(() => {
|
setNextStatusUpdate();
|
||||||
dispatch(doUpdateLoadStatus(uri, outpoint));
|
|
||||||
}, DOWNLOAD_POLL_INTERVAL);
|
|
||||||
} else if (fileInfo.completed) {
|
} else if (fileInfo.completed) {
|
||||||
const state = getState();
|
const state = getState();
|
||||||
// TODO this isn't going to get called if they reload the client before
|
// TODO this isn't going to get called if they reload the client before
|
||||||
|
@ -124,10 +129,7 @@ export function doUpdateLoadStatus(uri, outpoint) {
|
||||||
|
|
||||||
const totalProgress = selectTotalDownloadProgress(getState());
|
const totalProgress = selectTotalDownloadProgress(getState());
|
||||||
setProgressBar(totalProgress);
|
setProgressBar(totalProgress);
|
||||||
|
setNextStatusUpdate();
|
||||||
setTimeout(() => {
|
|
||||||
dispatch(doUpdateLoadStatus(uri, outpoint));
|
|
||||||
}, DOWNLOAD_POLL_INTERVAL);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Reference in a new issue