Skip to content

Commit c620f50

Browse files
authored
fix: migration fallback to ipfs (#2008)
this ensures that we clear the error state when go-ipfs attempts to download migrations from IPFS after HTTP failed
1 parent 296bf77 commit c620f50

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

Diff for: src/daemon/daemon.js

+11-4
Original file line numberDiff line numberDiff line change
@@ -96,15 +96,22 @@ async function startIpfsWithLogs (ipfsd) {
9696

9797
const stopListening = listenToIpfsLogs(ipfsd, data => {
9898
logs += data.toString()
99-
100-
isMigrating = isMigrating || logs.toLowerCase().includes('migration')
101-
isErrored = isErrored || logs.toLowerCase().includes('error')
102-
isFinished = isFinished || logs.toLowerCase().includes('daemon is ready')
99+
const line = data.toLowerCase()
100+
isMigrating = isMigrating || line.includes('migration')
101+
isErrored = isErrored || line.includes('error')
102+
isFinished = isFinished || line.includes('daemon is ready')
103103

104104
if (!isMigrating) {
105105
return
106106
}
107107

108+
// Undo error state if retrying after HTTP failure
109+
// https://github.com/ipfs/ipfs-desktop/issues/2003
110+
if (isErrored && line.includes('fetching with ipfs') && !line.includes('error')) {
111+
isErrored = false
112+
if (migrationPrompt) migrationPrompt.loadWindow(logs, isErrored, isFinished)
113+
}
114+
108115
if (!migrationPrompt) {
109116
logger.info('[daemon] ipfs data store is migrating')
110117
migrationPrompt = showMigrationPrompt(logs, isErrored, isFinished)

0 commit comments

Comments
 (0)