diff --git a/src/sources/mastodon.js b/src/sources/mastodon.js index 1bdb51ffe49fe9aa7dca3a9d089826a2797a41d6..9b7757edbc9c319f3d167a88969b8825907daacd 100644 --- a/src/sources/mastodon.js +++ b/src/sources/mastodon.js @@ -98,14 +98,20 @@ export default { // results.progress = 0 // results.progressCount results.accounts = {} - let cont = true - while (cont) { + let tooOld = 0 + let maxOld = 5 + while (tooOld < maxOld) { let response = await client.get(url, {params: {limit: 40}}) response.data.forEach((f) => { let date = moment(f.created_at) + // ugly hack because we don't have any way to query favorite date, and mastodon + // return toots in reverse favorite date order, so favoriting a very old toot + // can result in little to no suggestions if (date.isBefore(dateLimit)) { - cont = false - return + tooOld += 1 + } else { + // we reset the counter + tooOld = 0 } handledFavorites += 1 results.progressCount += 1