From 782e7b36691a3fab17285d3ccd5f450d00d90c31 Mon Sep 17 00:00:00 2001 From: Oleh Bespalov Date: Tue, 4 Mar 2025 13:31:41 +0100 Subject: [PATCH 1/5] Fix: unable to delete unread conversation --- bulkDeleteConversations.js | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/bulkDeleteConversations.js b/bulkDeleteConversations.js index f4cb21e..f7bff86 100644 --- a/bulkDeleteConversations.js +++ b/bulkDeleteConversations.js @@ -62,17 +62,15 @@ async function deleteConversation(checkbox) { console.log("conversationElement", conversationElement); - // Look for hoverable element within the conversation element - const hoverableDiv = conversationElement.querySelector( - "div.can-hover\\:group-hover\\:visible" - ); - if (!hoverableDiv) { - console.log("Skipping conversation - no hoverable element found"); + // Look for draggable element within the conversation element + const draggableElement = conversationElement.querySelector("[draggable=\"true\"]"); + if (!draggableElement) { + console.log("Skipping conversation - no interactive elements found"); // Show notification to user const title = conversationElement.querySelector(Selectors.TITLE_SELECTOR) ?.textContent || "this conversation"; - alert(`Unable to delete unread conversation: "${title}".`); + alert(`Unable to delete the conversation: "${title}".`); return false; } @@ -83,7 +81,7 @@ async function deleteConversation(checkbox) { }); console.log("1. Hovering over conversation...", conversationElement); - conversationElement.dispatchEvent(hoverEvent); + draggableElement.dispatchEvent(hoverEvent); await delay(200); // Try to find the three dot button From 50736dd0c126c4be8f0c0537b9e243fa4758c9b0 Mon Sep 17 00:00:00 2001 From: Oleh Bespalov Date: Tue, 4 Mar 2025 13:35:57 +0100 Subject: [PATCH 2/5] Fix: unable to delete unread conversation --- bulkDeleteConversations.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bulkDeleteConversations.js b/bulkDeleteConversations.js index f7bff86..4635f5d 100644 --- a/bulkDeleteConversations.js +++ b/bulkDeleteConversations.js @@ -63,8 +63,8 @@ async function deleteConversation(checkbox) { console.log("conversationElement", conversationElement); // Look for draggable element within the conversation element - const draggableElement = conversationElement.querySelector("[draggable=\"true\"]"); - if (!draggableElement) { + const interactiveElement = conversationElement.querySelector("[draggable=\"true\"]"); + if (!interactiveElement) { console.log("Skipping conversation - no interactive elements found"); // Show notification to user const title = @@ -81,7 +81,7 @@ async function deleteConversation(checkbox) { }); console.log("1. Hovering over conversation...", conversationElement); - draggableElement.dispatchEvent(hoverEvent); + interactiveElement.dispatchEvent(hoverEvent); await delay(200); // Try to find the three dot button From f554ed469586b0ae42e6475ebe7d31b7a35247cf Mon Sep 17 00:00:00 2001 From: Oleh Bespalov Date: Tue, 4 Mar 2025 13:36:31 +0100 Subject: [PATCH 3/5] Fix: unable to delete unread conversation --- bulkDeleteConversations.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bulkDeleteConversations.js b/bulkDeleteConversations.js index 4635f5d..22760b9 100644 --- a/bulkDeleteConversations.js +++ b/bulkDeleteConversations.js @@ -62,7 +62,7 @@ async function deleteConversation(checkbox) { console.log("conversationElement", conversationElement); - // Look for draggable element within the conversation element + // Look for interactive element within the conversation element const interactiveElement = conversationElement.querySelector("[draggable=\"true\"]"); if (!interactiveElement) { console.log("Skipping conversation - no interactive elements found"); From 6fcf055451d66daab88eb4ed30f73a3a4384cd50 Mon Sep 17 00:00:00 2001 From: Oleh Bespalov Date: Tue, 4 Mar 2025 13:56:16 +0100 Subject: [PATCH 4/5] update version to 5.9 --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index 5ebcecd..f8839eb 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 3, "name": "ChatGPT Bulk Delete", - "version": "5.8", + "version": "5.9", "description": "A Chrome extension to bulk delete ChatGPT conversations", "icons": { "48": "icon48.png" From c7fdeea1422e7ab85e0e63350fe50d608b35bd0b Mon Sep 17 00:00:00 2001 From: qcrao Date: Wed, 5 Mar 2025 15:15:41 +0800 Subject: [PATCH 5/5] fix archive --- bulkArchiveConversations.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/bulkArchiveConversations.js b/bulkArchiveConversations.js index d4997d2..b84fa69 100644 --- a/bulkArchiveConversations.js +++ b/bulkArchiveConversations.js @@ -49,7 +49,19 @@ async function archiveConversation(checkbox) { }); console.log("1. Hovering over conversation...", conversationElement); - conversationElement.dispatchEvent(hoverEvent); + + const interactiveElement = conversationElement.querySelector("[draggable=\"true\"]"); + if (!interactiveElement) { + console.log("Skipping conversation - no interactive elements found"); + // Show notification to user + const title = + conversationElement.querySelector(Selectors.TITLE_SELECTOR) + ?.textContent || "this conversation"; + alert(`Unable to archive the conversation: "${title}".`); + return false; + } + + interactiveElement.dispatchEvent(hoverEvent); await delay(200); const pointerDownEvent = new PointerEvent("pointerdown", {