Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions src/CleanMyPosts/Scripts/delete-all-youtube-likes.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,18 @@ async function DeleteAllYouTubeLikes(waitAfterDelete = 1000, waitBetweenDeleteAt
console.log(`[${new Date().toLocaleTimeString()}] ${msg}`);
}

// A Google feedback/survey dialog can pop up mid-run and, being modal, blocks
// the next click. Dismiss it whenever it appears.
function dismissSurveyBanner() {
const closeBtn = document.querySelector('button[aria-label="Close this dialog"]');
if (closeBtn && closeBtn.getBoundingClientRect().width > 0) {
closeBtn.click();
log("[dismissSurveyBanner] Dismissed feedback/survey banner.");
return true;
}
return false;
}

// Multilingual patterns for "Remove from Liked videos"
const removePatterns = [
// English
Expand Down Expand Up @@ -299,6 +311,7 @@ async function DeleteAllYouTubeLikes(waitAfterDelete = 1000, waitBetweenDeleteAt
let videoNumber = 1;

while (failures < maxFailures) {
dismissSurveyBanner();
const found = await waitForVideo(5000, 300);
if (!found) {
failures++;
Expand Down
13 changes: 13 additions & 0 deletions src/CleanMyPosts/Scripts/delete-all-youtube-posts.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,18 @@ async function DeleteAllYouTubeComments(waitAfterDelete = 1000, waitBetweenDelet
console.log(`[${new Date().toLocaleTimeString()}] ${msg}`);
}

// A Google feedback/survey dialog can pop up mid-run and, being modal, blocks
// the next delete click. Dismiss it whenever it appears.
function dismissSurveyBanner() {
const closeBtn = document.querySelector('button[aria-label="Close this dialog"]');
if (closeBtn && closeBtn.getBoundingClientRect().width > 0) {
closeBtn.click();
log("[dismissSurveyBanner] Dismissed feedback/survey banner.");
return true;
}
return false;
}

async function waitForDeleteButton(maxWait = 5000, interval = 300) {
const start = Date.now();
while (true) {
Expand Down Expand Up @@ -113,6 +125,7 @@ async function DeleteAllYouTubeComments(waitAfterDelete = 1000, waitBetweenDelet
let commentNumber = 1;

while (failures < maxFailures) {
dismissSurveyBanner();
const found = await waitForDeleteButton(5000, 300);
if (!found) {
failures++;
Expand Down
Loading