From d777439c7b9498f1db2d42595f1b793d266dfc89 Mon Sep 17 00:00:00 2001 From: Pitu <7425261+Pitu@users.noreply.github.com> Date: Sun, 16 Sep 2018 17:53:26 -0300 Subject: Flawed logic on the async retry --- src/api/utils/Util.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/api/utils/Util.js b/src/api/utils/Util.js index 46f56d5..d8ae735 100644 --- a/src/api/utils/Util.js +++ b/src/api/utils/Util.js @@ -96,7 +96,7 @@ class Util { }) + path.extname(name); const exists = jetpack.exists(path.join(__dirname, '..', '..', '..', config.uploads.uploadFolder, filename)); if (!exists) return filename; - if (i < config.uploads.retryFilenameTimes) return retry(i++); + if (i < config.uploads.retryFilenameTimes) return retry(i + 1); return null; }; return retry(); @@ -110,7 +110,11 @@ class Util { }); const exists = await db.table('links').where({ identifier }).first(); if (!exists) return identifier; - if (i < config.uploads.retryAlbumLinkTimes) return retry(i++); + /* + It's funny but if you do i++ the asignment never gets done resulting in an infinite loop + */ + if (i < config.uploads.retryAlbumLinkTimes) return retry(i + 1); + log.error('Couldnt allocate identifier for album'); return null; }; return retry(); -- cgit v1.2.3