From 08f3fb3886242eda632d92b866e27f8ed604a23d Mon Sep 17 00:00:00 2001 From: Jason Lyons <204281+jfl88@users.noreply.github.com> Date: Wed, 25 Sep 2024 14:59:58 -0700 Subject: [PATCH 01/15] Change 5sec delay to 7sec --- powerdeletesuite.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/powerdeletesuite.js b/powerdeletesuite.js index bfca90d..cd51120 100644 --- a/powerdeletesuite.js +++ b/powerdeletesuite.js @@ -909,7 +909,7 @@ var pd = { pd.task.after = pd.task.items[0].data.name; pd.actions.children.handleSingle(); } - }, 5000); + }, 7000); }, edit: function (item) { setTimeout(() => { @@ -950,7 +950,7 @@ var pd = { pd.task.items[0].pdEdited = true; pd.actions.children.handleSingle(); } - }, 5000); + }, 7000); }, }, ui: { From 86936e7d67cfcb3ea70a1caa5107ab2f8562989a Mon Sep 17 00:00:00 2001 From: Jason Lyons <204281+jfl88@users.noreply.github.com> Date: Wed, 25 Sep 2024 15:08:30 -0700 Subject: [PATCH 02/15] Add rate limit recognition --- powerdeletesuite.js | 163 ++++++++++++++++++++++++-------------------- 1 file changed, 90 insertions(+), 73 deletions(-) diff --git a/powerdeletesuite.js b/powerdeletesuite.js index cd51120..9f4b5c4 100644 --- a/powerdeletesuite.js +++ b/powerdeletesuite.js @@ -872,87 +872,104 @@ var pd = { }, }, delete: function (item) { - setTimeout(() => { - if (pd.performActions) { - $.ajax({ - url: "/api/del", - method: "post", - data: { - id: item.data.name, - executed: "deleted", - uh: pd.config.uh, - renderstyle: "html", - }, - }).then( - function () { + if (pd.performActions) { + $.ajax({ + url: "/api/del", + method: "post", + data: { + id: item.data.name, + executed: "deleted", + uh: pd.config.uh, + renderstyle: "html", + }, + complete: function (xhr) { + // Read headers + var rateLimitRemaining = parseInt(xhr.getResponseHeader('x-ratelimit-remaining'), 10); + var rateLimitReset = parseInt(xhr.getResponseHeader('x-ratelimit-reset'), 10); + + // Determine timeout + var timeout = 3000; // default timeout + if (rateLimitRemaining <= 5) { + timeout = (rateLimitReset + 1) * 1000; + } + + // Set the next action with the calculated timeout + setTimeout(() => { pd.task.items[0].pdDeleted = true; pd.actions.children.handleSingle(); - }, - function () { - pd.task.info.errors++; - if ( - confirm( - "Error deleting " + - (item.kind == "t3" ? "post" : "comment") + - ", would you like to retry?" - ) - ) { - pd.actions.children.handleSingle(); - } else { - pd.actions.children.finishItem(); - pd.actions.children.handleGroup(); - } - } - ); - } else { - pd.task.items[0].pdDeleted = true; - pd.task.after = pd.task.items[0].data.name; - pd.actions.children.handleSingle(); - } - }, 7000); + }, timeout); + } + }).fail(function () { + pd.task.info.errors++; + if ( + confirm( + "Error deleting " + + (item.kind == "t3" ? "post" : "comment") + + ", would you like to retry?" + ) + ) { + pd.actions.children.handleSingle(); + } else { + pd.actions.children.finishItem(); + pd.actions.children.handleGroup(); + } + }); + } else { + pd.task.items[0].pdDeleted = true; + pd.task.after = pd.task.items[0].data.name; + pd.actions.children.handleSingle(); + } }, edit: function (item) { - setTimeout(() => { - if (pd.performActions) { - var editString = pd.task.config.editText || - pd.editStrings[Math.floor(Math.random() * pd.editStrings.length)]; - $.ajax({ - url: "/api/editusertext", - method: "post", - data: { - thing_id: item.data.name, - text: editString, - id: "#form-" + item.data.name, - r: item.data.subreddit, - uh: pd.config.uh, - renderstyle: "html", - }, - }).then( - function () { + if (pd.performActions) { + var editString = pd.task.config.editText || + pd.editStrings[Math.floor(Math.random() * pd.editStrings.length)]; + $.ajax({ + url: "/api/editusertext", + method: "post", + data: { + thing_id: item.data.name, + text: editString, + id: "#form-" + item.data.name, + r: item.data.subreddit, + uh: pd.config.uh, + renderstyle: "html", + }, + complete: function (xhr) { + // Read headers + var rateLimitRemaining = parseInt(xhr.getResponseHeader('x-ratelimit-remaining'), 10); + var rateLimitReset = parseInt(xhr.getResponseHeader('x-ratelimit-reset'), 10); + + // Determine timeout + var timeout = 3000; // default timeout + if (rateLimitRemaining <= 5) { + timeout = (rateLimitReset + 1) * 1000; + } + + // Set the next action with the calculated timeout + setTimeout(() => { pd.task.items[0].pdEdited = true; pd.actions.children.handleSingle(); - }, - function () { - pd.task.info.errors++; - if ( - !confirm( - "Error editing " + - (item.kind == "t3" ? "post" : "comment") + - ", would you like to retry?" - ) - ) { - item.pdEdited = true; - } - pd.actions.children.handleSingle(); - } - ); - } else { - pd.task.items[0].pdEdited = true; + }, timeout); + } + }).fail(function () { + pd.task.info.errors++; + if ( + !confirm( + "Error editing " + + (item.kind == "t3" ? "post" : "comment") + + ", would you like to retry?" + ) + ) { + item.pdEdited = true; + } pd.actions.children.handleSingle(); - } - }, 7000); + }); + } else { + pd.task.items[0].pdEdited = true; + pd.actions.children.handleSingle(); + } }, - }, ui: { updateDisplay: function () { $("#pd__central h2") From ef7c8097b897efda9effc178f9ba5d51867afa67 Mon Sep 17 00:00:00 2001 From: Jason Lyons <204281+jfl88@users.noreply.github.com> Date: Wed, 25 Sep 2024 15:37:14 -0700 Subject: [PATCH 03/15] correct bracket issue --- powerdeletesuite.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/powerdeletesuite.js b/powerdeletesuite.js index 9f4b5c4..af513f2 100644 --- a/powerdeletesuite.js +++ b/powerdeletesuite.js @@ -882,7 +882,7 @@ var pd = { uh: pd.config.uh, renderstyle: "html", }, - complete: function (xhr) { + }).complete: function (xhr) { // Read headers var rateLimitRemaining = parseInt(xhr.getResponseHeader('x-ratelimit-remaining'), 10); var rateLimitReset = parseInt(xhr.getResponseHeader('x-ratelimit-reset'), 10); @@ -935,7 +935,7 @@ var pd = { uh: pd.config.uh, renderstyle: "html", }, - complete: function (xhr) { + }).complete: function (xhr) { // Read headers var rateLimitRemaining = parseInt(xhr.getResponseHeader('x-ratelimit-remaining'), 10); var rateLimitReset = parseInt(xhr.getResponseHeader('x-ratelimit-reset'), 10); From 1e43135137b11e62882b286a3dfb0e1137bd116b Mon Sep 17 00:00:00 2001 From: Jason Lyons <204281+jfl88@users.noreply.github.com> Date: Wed, 25 Sep 2024 15:41:01 -0700 Subject: [PATCH 04/15] fix bracket issue --- powerdeletesuite.js | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/powerdeletesuite.js b/powerdeletesuite.js index af513f2..9e8cf60 100644 --- a/powerdeletesuite.js +++ b/powerdeletesuite.js @@ -882,7 +882,8 @@ var pd = { uh: pd.config.uh, renderstyle: "html", }, - }).complete: function (xhr) { + }).complete( + function (xhr) { // Read headers var rateLimitRemaining = parseInt(xhr.getResponseHeader('x-ratelimit-remaining'), 10); var rateLimitReset = parseInt(xhr.getResponseHeader('x-ratelimit-reset'), 10); @@ -899,7 +900,8 @@ var pd = { pd.actions.children.handleSingle(); }, timeout); } - }).fail(function () { + }).fail( + function () { pd.task.info.errors++; if ( confirm( @@ -935,7 +937,8 @@ var pd = { uh: pd.config.uh, renderstyle: "html", }, - }).complete: function (xhr) { + }).complete( + function (xhr) { // Read headers var rateLimitRemaining = parseInt(xhr.getResponseHeader('x-ratelimit-remaining'), 10); var rateLimitReset = parseInt(xhr.getResponseHeader('x-ratelimit-reset'), 10); @@ -952,19 +955,21 @@ var pd = { pd.actions.children.handleSingle(); }, timeout); } - }).fail(function () { - pd.task.info.errors++; - if ( - !confirm( - "Error editing " + - (item.kind == "t3" ? "post" : "comment") + - ", would you like to retry?" - ) - ) { - item.pdEdited = true; + }).fail( + function () { + pd.task.info.errors++; + if ( + !confirm( + "Error editing " + + (item.kind == "t3" ? "post" : "comment") + + ", would you like to retry?" + ) + ) { + item.pdEdited = true; + } + pd.actions.children.handleSingle(); } - pd.actions.children.handleSingle(); - }); + ); } else { pd.task.items[0].pdEdited = true; pd.actions.children.handleSingle(); From 25fd4d8293492c20c5f67fcb11ae14befa3eaa5f Mon Sep 17 00:00:00 2001 From: Jason Lyons <204281+jfl88@users.noreply.github.com> Date: Wed, 25 Sep 2024 15:51:11 -0700 Subject: [PATCH 05/15] fixing brackets --- powerdeletesuite.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/powerdeletesuite.js b/powerdeletesuite.js index 9e8cf60..8e0edfd 100644 --- a/powerdeletesuite.js +++ b/powerdeletesuite.js @@ -900,7 +900,7 @@ var pd = { pd.actions.children.handleSingle(); }, timeout); } - }).fail( + ).fail( function () { pd.task.info.errors++; if ( @@ -955,7 +955,7 @@ var pd = { pd.actions.children.handleSingle(); }, timeout); } - }).fail( + ).fail( function () { pd.task.info.errors++; if ( From 3930500cfe4dd672c800fb6301185825fafd790b Mon Sep 17 00:00:00 2001 From: Jason Lyons <204281+jfl88@users.noreply.github.com> Date: Wed, 25 Sep 2024 15:52:40 -0700 Subject: [PATCH 06/15] final bracket fix --- powerdeletesuite.js | 1 + 1 file changed, 1 insertion(+) diff --git a/powerdeletesuite.js b/powerdeletesuite.js index 8e0edfd..e591eee 100644 --- a/powerdeletesuite.js +++ b/powerdeletesuite.js @@ -975,6 +975,7 @@ var pd = { pd.actions.children.handleSingle(); } }, + }, ui: { updateDisplay: function () { $("#pd__central h2") From 0ed1e1e221309571bc66b90271d6a237da968232 Mon Sep 17 00:00:00 2001 From: Jason Lyons <204281+jfl88@users.noreply.github.com> Date: Wed, 25 Sep 2024 15:59:31 -0700 Subject: [PATCH 07/15] increase default timeout --- powerdeletesuite.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/powerdeletesuite.js b/powerdeletesuite.js index e591eee..3aac6f7 100644 --- a/powerdeletesuite.js +++ b/powerdeletesuite.js @@ -889,7 +889,7 @@ var pd = { var rateLimitReset = parseInt(xhr.getResponseHeader('x-ratelimit-reset'), 10); // Determine timeout - var timeout = 3000; // default timeout + var timeout = 5000; // default timeout if (rateLimitRemaining <= 5) { timeout = (rateLimitReset + 1) * 1000; } @@ -944,7 +944,7 @@ var pd = { var rateLimitReset = parseInt(xhr.getResponseHeader('x-ratelimit-reset'), 10); // Determine timeout - var timeout = 3000; // default timeout + var timeout = 5000; // default timeout if (rateLimitRemaining <= 5) { timeout = (rateLimitReset + 1) * 1000; } From b1649c92845e4d2aa9bca3efa140f6db3b4c95d8 Mon Sep 17 00:00:00 2001 From: Jason Lyons <204281+jfl88@users.noreply.github.com> Date: Wed, 25 Sep 2024 16:17:23 -0700 Subject: [PATCH 08/15] add debug --- powerdeletesuite.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/powerdeletesuite.js b/powerdeletesuite.js index 3aac6f7..d2fecf0 100644 --- a/powerdeletesuite.js +++ b/powerdeletesuite.js @@ -887,13 +887,14 @@ var pd = { // Read headers var rateLimitRemaining = parseInt(xhr.getResponseHeader('x-ratelimit-remaining'), 10); var rateLimitReset = parseInt(xhr.getResponseHeader('x-ratelimit-reset'), 10); - + console.log('remaining: ' + rateLimitRemaining); + console.log('reset: ' + rateLimitReset); // Determine timeout var timeout = 5000; // default timeout if (rateLimitRemaining <= 5) { timeout = (rateLimitReset + 1) * 1000; } - + console.log('timeout: ' + timeout); // Set the next action with the calculated timeout setTimeout(() => { pd.task.items[0].pdDeleted = true; @@ -942,13 +943,14 @@ var pd = { // Read headers var rateLimitRemaining = parseInt(xhr.getResponseHeader('x-ratelimit-remaining'), 10); var rateLimitReset = parseInt(xhr.getResponseHeader('x-ratelimit-reset'), 10); - + console.log('remaining: ' + rateLimitRemaining); + console.log('reset: ' + rateLimitReset); // Determine timeout var timeout = 5000; // default timeout if (rateLimitRemaining <= 5) { timeout = (rateLimitReset + 1) * 1000; } - + console.log('timeout: ' + timeout); // Set the next action with the calculated timeout setTimeout(() => { pd.task.items[0].pdEdited = true; From 6f7634d0f3c6068ae94304e08f28496fd8d6fe04 Mon Sep 17 00:00:00 2001 From: Jason Lyons <204281+jfl88@users.noreply.github.com> Date: Wed, 25 Sep 2024 16:27:08 -0700 Subject: [PATCH 09/15] add rate-limited to handle function --- powerdeletesuite.js | 38 ++++++++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/powerdeletesuite.js b/powerdeletesuite.js index d2fecf0..a72571f 100644 --- a/powerdeletesuite.js +++ b/powerdeletesuite.js @@ -714,21 +714,35 @@ var pd = { sort: pd.task.paths.sorts[0], t: pd.task.paths.timeframes[0], }, - }).then( + }).then( function (resp) { if (resp.data) { - var children = resp.data.children; - pd.task.info.donePages++; - if (children.length > 0) { - pd.task.info.doneItems = 0; - pd.task.info.numItems = children.length; - pd.task.items = children; - pd.actions.children.handleGroup(); - } else { - pd.task.after = ""; - pd.actions.page.shift(); - pd.actions.page.next(); + // Read headers + var rateLimitRemaining = parseInt(resp.getResponseHeader('x-ratelimit-remaining'), 10); + var rateLimitReset = parseInt(resp.getResponseHeader('x-ratelimit-reset'), 10); + console.log('remaining: ' + rateLimitRemaining); + console.log('reset: ' + rateLimitReset); + // Determine timeout + var timeout = 5000; // default timeout + if (rateLimitRemaining <= 5) { + timeout = (rateLimitReset + 1) * 1000; } + console.log('timeout: ' + timeout); + // Set the next action with the calculated timeout + setTimeout(() => { + var children = resp.data.children; + pd.task.info.donePages++; + if (children.length > 0) { + pd.task.info.doneItems = 0; + pd.task.info.numItems = children.length; + pd.task.items = children; + pd.actions.children.handleGroup(); + } else { + pd.task.after = ""; + pd.actions.page.shift(); + pd.actions.page.next(); + } + }, timeout); } else { pd.task.info.errors++; if ( From 2decea5147a5d0ffa4ee53c04c6db1ae67cc4765 Mon Sep 17 00:00:00 2001 From: Jason Lyons <204281+jfl88@users.noreply.github.com> Date: Sat, 4 Jan 2025 16:01:52 -0800 Subject: [PATCH 10/15] Update powerdeletesuite.js --- powerdeletesuite.js | 1 + 1 file changed, 1 insertion(+) diff --git a/powerdeletesuite.js b/powerdeletesuite.js index a72571f..4cec990 100644 --- a/powerdeletesuite.js +++ b/powerdeletesuite.js @@ -717,6 +717,7 @@ var pd = { }).then( function (resp) { if (resp.data) { + console.log(resp); // Read headers var rateLimitRemaining = parseInt(resp.getResponseHeader('x-ratelimit-remaining'), 10); var rateLimitReset = parseInt(resp.getResponseHeader('x-ratelimit-reset'), 10); From 4af902117ab6413c7557e0a21af3049bd793582c Mon Sep 17 00:00:00 2001 From: Jason Lyons <204281+jfl88@users.noreply.github.com> Date: Sat, 4 Jan 2025 16:05:52 -0800 Subject: [PATCH 11/15] Update powerdeletesuite.js replace handle .then with .complete --- powerdeletesuite.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/powerdeletesuite.js b/powerdeletesuite.js index 4cec990..2c19ae2 100644 --- a/powerdeletesuite.js +++ b/powerdeletesuite.js @@ -714,8 +714,9 @@ var pd = { sort: pd.task.paths.sorts[0], t: pd.task.paths.timeframes[0], }, - }).then( - function (resp) { + }).complete( + function (xhr) { + console.log(xhr); if (resp.data) { console.log(resp); // Read headers From 78d5f986c468fe204d20395116feb14a36ec8a2d Mon Sep 17 00:00:00 2001 From: Jason Lyons <204281+jfl88@users.noreply.github.com> Date: Sat, 4 Jan 2025 16:29:05 -0800 Subject: [PATCH 12/15] Update powerdeletesuite.js --- powerdeletesuite.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/powerdeletesuite.js b/powerdeletesuite.js index 2c19ae2..75e5b24 100644 --- a/powerdeletesuite.js +++ b/powerdeletesuite.js @@ -717,11 +717,11 @@ var pd = { }).complete( function (xhr) { console.log(xhr); + resp = xhr.responseJSON; if (resp.data) { - console.log(resp); // Read headers - var rateLimitRemaining = parseInt(resp.getResponseHeader('x-ratelimit-remaining'), 10); - var rateLimitReset = parseInt(resp.getResponseHeader('x-ratelimit-reset'), 10); + var rateLimitRemaining = parseInt(xhr.getResponseHeader('x-ratelimit-remaining'), 10); + var rateLimitReset = parseInt(xhr.getResponseHeader('x-ratelimit-reset'), 10); console.log('remaining: ' + rateLimitRemaining); console.log('reset: ' + rateLimitReset); // Determine timeout From b13a26f375d66379ed636c85447fafbbf529d607 Mon Sep 17 00:00:00 2001 From: Jason Lyons <204281+jfl88@users.noreply.github.com> Date: Sat, 4 Jan 2025 16:34:48 -0800 Subject: [PATCH 13/15] Update powerdeletesuite.js --- powerdeletesuite.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/powerdeletesuite.js b/powerdeletesuite.js index 75e5b24..98deb92 100644 --- a/powerdeletesuite.js +++ b/powerdeletesuite.js @@ -758,7 +758,7 @@ var pd = { pd.ui.done(); } } - }, + }).fail( function () { pd.task.info.errors++; if ( From 4a29c184277a698fb850b7ba2996647ae9fd0ec2 Mon Sep 17 00:00:00 2001 From: Jason Lyons <204281+jfl88@users.noreply.github.com> Date: Sat, 4 Jan 2025 17:01:53 -0800 Subject: [PATCH 14/15] Update powerdeletesuite.js --- powerdeletesuite.js | 47 ++++++++++++++++----------------------------- 1 file changed, 17 insertions(+), 30 deletions(-) diff --git a/powerdeletesuite.js b/powerdeletesuite.js index 98deb92..d6e9d57 100644 --- a/powerdeletesuite.js +++ b/powerdeletesuite.js @@ -623,6 +623,20 @@ var pd = { csvCell: function (str) { return '"' + str + '",'; }, + // Read headers + getRateLimitTimeout: function(xhr) { + const rateLimitRemaining = parseInt(xhr.getResponseHeader('x-ratelimit-remaining'), 10); + const rateLimitReset = parseInt(xhr.getResponseHeader('x-ratelimit-reset'), 10); + // Determine timeout + let timeout; + if (rateLimitRemaining <= 5) { + timeout = (rateLimitReset + 1) * 1000; + } else { + // Randomize timeout between 1.5 to 3 seconds + timeout = Math.floor(Math.random() * 1500) + 1500; + } + return timeout; + }, getSettings: function () { return localStorage.getItem("pd_storage") ? JSON.parse(localStorage.getItem("pd_storage")) @@ -719,16 +733,7 @@ var pd = { console.log(xhr); resp = xhr.responseJSON; if (resp.data) { - // Read headers - var rateLimitRemaining = parseInt(xhr.getResponseHeader('x-ratelimit-remaining'), 10); - var rateLimitReset = parseInt(xhr.getResponseHeader('x-ratelimit-reset'), 10); - console.log('remaining: ' + rateLimitRemaining); - console.log('reset: ' + rateLimitReset); - // Determine timeout - var timeout = 5000; // default timeout - if (rateLimitRemaining <= 5) { - timeout = (rateLimitReset + 1) * 1000; - } + const timeout = pd.helpers.getRateLimitTimeout(xhr); console.log('timeout: ' + timeout); // Set the next action with the calculated timeout setTimeout(() => { @@ -900,16 +905,7 @@ var pd = { }, }).complete( function (xhr) { - // Read headers - var rateLimitRemaining = parseInt(xhr.getResponseHeader('x-ratelimit-remaining'), 10); - var rateLimitReset = parseInt(xhr.getResponseHeader('x-ratelimit-reset'), 10); - console.log('remaining: ' + rateLimitRemaining); - console.log('reset: ' + rateLimitReset); - // Determine timeout - var timeout = 5000; // default timeout - if (rateLimitRemaining <= 5) { - timeout = (rateLimitReset + 1) * 1000; - } + const timeout = pd.helpers.getRateLimitTimeout(xhr); console.log('timeout: ' + timeout); // Set the next action with the calculated timeout setTimeout(() => { @@ -956,16 +952,7 @@ var pd = { }, }).complete( function (xhr) { - // Read headers - var rateLimitRemaining = parseInt(xhr.getResponseHeader('x-ratelimit-remaining'), 10); - var rateLimitReset = parseInt(xhr.getResponseHeader('x-ratelimit-reset'), 10); - console.log('remaining: ' + rateLimitRemaining); - console.log('reset: ' + rateLimitReset); - // Determine timeout - var timeout = 5000; // default timeout - if (rateLimitRemaining <= 5) { - timeout = (rateLimitReset + 1) * 1000; - } + const timeout = pd.helpers.getRateLimitTimeout(xhr); console.log('timeout: ' + timeout); // Set the next action with the calculated timeout setTimeout(() => { From 333303c0c905024d5f182849268776b1479a885b Mon Sep 17 00:00:00 2001 From: Jason Lyons <204281+jfl88@users.noreply.github.com> Date: Sat, 4 Jan 2025 17:05:43 -0800 Subject: [PATCH 15/15] Update powerdeletesuite.js --- powerdeletesuite.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/powerdeletesuite.js b/powerdeletesuite.js index d6e9d57..92c800e 100644 --- a/powerdeletesuite.js +++ b/powerdeletesuite.js @@ -623,12 +623,13 @@ var pd = { csvCell: function (str) { return '"' + str + '",'; }, - // Read headers getRateLimitTimeout: function(xhr) { + // Read headers const rateLimitRemaining = parseInt(xhr.getResponseHeader('x-ratelimit-remaining'), 10); const rateLimitReset = parseInt(xhr.getResponseHeader('x-ratelimit-reset'), 10); // Determine timeout let timeout; + // if ratelimit low, set the timeout to wait based on the reset time if (rateLimitRemaining <= 5) { timeout = (rateLimitReset + 1) * 1000; } else { @@ -730,7 +731,6 @@ var pd = { }, }).complete( function (xhr) { - console.log(xhr); resp = xhr.responseJSON; if (resp.data) { const timeout = pd.helpers.getRateLimitTimeout(xhr);