From 61801934935626a5db77612c2076b96a483a0f00 Mon Sep 17 00:00:00 2001 From: Lilia <30478020+LiliaDoe@users.noreply.github.com> Date: Mon, 30 Dec 2024 22:26:47 -0600 Subject: [PATCH 1/8] Fix: loadFullSizeImageImageTimeout not clearing when mouse leaves image --- js/hoverzoom.js | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/js/hoverzoom.js b/js/hoverzoom.js index 6067eb30..2433120b 100644 --- a/js/hoverzoom.js +++ b/js/hoverzoom.js @@ -981,6 +981,11 @@ var hoverZoom = { } var lastMousePosTop = -1, lastMousePosLeft = -1, cursorHideTimeout = 0; + let loadHoveredImage = false; + + function setLoadImage(load) { + loadHoveredImage = load; + } function documentMouseMove(event) { if (!options.extensionEnabled || fullZoomKeyDown || isExcludedSite() || wnd.height() < 30 || wnd.width() < 30) { @@ -1067,23 +1072,26 @@ var hoverZoom = { srcDetails.url = src; srcDetails.audioUrl = audioSrc; clearTimeout(loadFullSizeImageTimeout); - - // if the action key has been pressed over an image, no delay is applied - const delay = actionKeyDown || explicitCall ? 0 : (isVideoLink(srcDetails.url) ? options.displayDelayVideo : options.displayDelay); if (audioSrc) { chrome.runtime.sendMessage({action:'isImageBanned', url:audioSrc}, function (result) { + setLoadImage(false); if (!result) { - loadFullSizeImageTimeout = setTimeout(loadFullSizeImage, delay); + setLoadImage(true); } }); } else if (src) { chrome.runtime.sendMessage({action:'isImageBanned', url:src}, function (result) { + setLoadImage(false); if (!result) { - loadFullSizeImageTimeout = setTimeout(loadFullSizeImage, delay); + setLoadImage(true); } }); } + + // if the action key has been pressed over an image, no delay is applied + const delay = actionKeyDown || explicitCall ? 0 : (isVideoLink(srcDetails.url) ? options.displayDelayVideo : options.displayDelay); + if (loadHoveredImage) loadFullSizeImageTimeout = setTimeout(loadFullSizeImage, delay); loading = true; } From 5838a0cc4903ff61a65839ede435bea12681cfcd Mon Sep 17 00:00:00 2001 From: Lilia <30478020+LiliaDoe@users.noreply.github.com> Date: Mon, 30 Dec 2024 22:35:34 -0600 Subject: [PATCH 2/8] Add comment --- js/hoverzoom.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/js/hoverzoom.js b/js/hoverzoom.js index 2433120b..2a4b936c 100644 --- a/js/hoverzoom.js +++ b/js/hoverzoom.js @@ -1073,6 +1073,8 @@ var hoverZoom = { srcDetails.audioUrl = audioSrc; clearTimeout(loadFullSizeImageTimeout); + // setLoadImage used to set loadHoveredImage within callack so timeout can be set outside of callback + // This makes clearTimeout use the correct timeout ID if (audioSrc) { chrome.runtime.sendMessage({action:'isImageBanned', url:audioSrc}, function (result) { setLoadImage(false); From b81de22f88a519ca736b67b43f0d60a91b4d03d7 Mon Sep 17 00:00:00 2001 From: Lilia <30478020+LiliaDoe@users.noreply.github.com> Date: Mon, 30 Dec 2024 22:44:34 -0600 Subject: [PATCH 3/8] fix typo --- js/hoverzoom.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/hoverzoom.js b/js/hoverzoom.js index 2a4b936c..15575d7a 100644 --- a/js/hoverzoom.js +++ b/js/hoverzoom.js @@ -1073,7 +1073,7 @@ var hoverZoom = { srcDetails.audioUrl = audioSrc; clearTimeout(loadFullSizeImageTimeout); - // setLoadImage used to set loadHoveredImage within callack so timeout can be set outside of callback + // setLoadImage used to set loadHoveredImage within callback so timeout can be set outside of callback // This makes clearTimeout use the correct timeout ID if (audioSrc) { chrome.runtime.sendMessage({action:'isImageBanned', url:audioSrc}, function (result) { From d285a98966255d21d725bd14aec39b74ba11eb6d Mon Sep 17 00:00:00 2001 From: Lilia <30478020+LiliaDoe@users.noreply.github.com> Date: Mon, 30 Dec 2024 22:58:55 -0600 Subject: [PATCH 4/8] Revert "Fix: loadFullSizeImageImageTimeout not clearing when mouse leaves image" This reverts commit 61801934935626a5db77612c2076b96a483a0f00. --- js/hoverzoom.js | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/js/hoverzoom.js b/js/hoverzoom.js index 15575d7a..4a264f1f 100644 --- a/js/hoverzoom.js +++ b/js/hoverzoom.js @@ -981,11 +981,6 @@ var hoverZoom = { } var lastMousePosTop = -1, lastMousePosLeft = -1, cursorHideTimeout = 0; - let loadHoveredImage = false; - - function setLoadImage(load) { - loadHoveredImage = load; - } function documentMouseMove(event) { if (!options.extensionEnabled || fullZoomKeyDown || isExcludedSite() || wnd.height() < 30 || wnd.width() < 30) { @@ -1072,28 +1067,25 @@ var hoverZoom = { srcDetails.url = src; srcDetails.audioUrl = audioSrc; clearTimeout(loadFullSizeImageTimeout); + + // if the action key has been pressed over an image, no delay is applied + const delay = actionKeyDown || explicitCall ? 0 : (isVideoLink(srcDetails.url) ? options.displayDelayVideo : options.displayDelay); // setLoadImage used to set loadHoveredImage within callback so timeout can be set outside of callback // This makes clearTimeout use the correct timeout ID if (audioSrc) { chrome.runtime.sendMessage({action:'isImageBanned', url:audioSrc}, function (result) { - setLoadImage(false); if (!result) { - setLoadImage(true); + loadFullSizeImageTimeout = setTimeout(loadFullSizeImage, delay); } }); } else if (src) { chrome.runtime.sendMessage({action:'isImageBanned', url:src}, function (result) { - setLoadImage(false); if (!result) { - setLoadImage(true); + loadFullSizeImageTimeout = setTimeout(loadFullSizeImage, delay); } }); } - - // if the action key has been pressed over an image, no delay is applied - const delay = actionKeyDown || explicitCall ? 0 : (isVideoLink(srcDetails.url) ? options.displayDelayVideo : options.displayDelay); - if (loadHoveredImage) loadFullSizeImageTimeout = setTimeout(loadFullSizeImage, delay); loading = true; } From 2f2017a5e4e1ddea8fbb4c73e8699032803ba811 Mon Sep 17 00:00:00 2001 From: Lilia <30478020+LiliaDoe@users.noreply.github.com> Date: Mon, 30 Dec 2024 23:00:47 -0600 Subject: [PATCH 5/8] Temporarily remove message sending block --- js/hoverzoom.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/js/hoverzoom.js b/js/hoverzoom.js index 4a264f1f..8d62ee0c 100644 --- a/js/hoverzoom.js +++ b/js/hoverzoom.js @@ -1071,8 +1071,7 @@ var hoverZoom = { // if the action key has been pressed over an image, no delay is applied const delay = actionKeyDown || explicitCall ? 0 : (isVideoLink(srcDetails.url) ? options.displayDelayVideo : options.displayDelay); - // setLoadImage used to set loadHoveredImage within callback so timeout can be set outside of callback - // This makes clearTimeout use the correct timeout ID + /** Temporarily removing until a better fix is found if (audioSrc) { chrome.runtime.sendMessage({action:'isImageBanned', url:audioSrc}, function (result) { if (!result) { @@ -1086,7 +1085,7 @@ var hoverZoom = { } }); } - + */ loading = true; } } else { From 415a662022739f80fba994fca833f10f970645ee Mon Sep 17 00:00:00 2001 From: Lilia <30478020+LiliaDoe@users.noreply.github.com> Date: Mon, 30 Dec 2024 23:00:59 -0600 Subject: [PATCH 6/8] add timeout --- js/hoverzoom.js | 1 + 1 file changed, 1 insertion(+) diff --git a/js/hoverzoom.js b/js/hoverzoom.js index 8d62ee0c..d00e202e 100644 --- a/js/hoverzoom.js +++ b/js/hoverzoom.js @@ -1070,6 +1070,7 @@ var hoverZoom = { // if the action key has been pressed over an image, no delay is applied const delay = actionKeyDown || explicitCall ? 0 : (isVideoLink(srcDetails.url) ? options.displayDelayVideo : options.displayDelay); + loadFullSizeImageTimeout = setTimeout(loadFullSizeImage, delay); /** Temporarily removing until a better fix is found if (audioSrc) { From 7dd42b7ecaf2a3543c5c3aaebf77b86e30bc5d42 Mon Sep 17 00:00:00 2001 From: Lilia <30478020+LiliaDoe@users.noreply.github.com> Date: Mon, 30 Dec 2024 23:04:09 -0600 Subject: [PATCH 7/8] Format change --- js/hoverzoom.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/js/hoverzoom.js b/js/hoverzoom.js index d00e202e..548eecf8 100644 --- a/js/hoverzoom.js +++ b/js/hoverzoom.js @@ -1072,8 +1072,8 @@ var hoverZoom = { const delay = actionKeyDown || explicitCall ? 0 : (isVideoLink(srcDetails.url) ? options.displayDelayVideo : options.displayDelay); loadFullSizeImageTimeout = setTimeout(loadFullSizeImage, delay); - /** Temporarily removing until a better fix is found - if (audioSrc) { + // Temporarily removing until a better fix is found + /*if (audioSrc) { chrome.runtime.sendMessage({action:'isImageBanned', url:audioSrc}, function (result) { if (!result) { loadFullSizeImageTimeout = setTimeout(loadFullSizeImage, delay); @@ -1085,8 +1085,8 @@ var hoverZoom = { loadFullSizeImageTimeout = setTimeout(loadFullSizeImage, delay); } }); - } - */ + }*/ + loading = true; } } else { From bf18f5ee2cddf38e5b9a8b8e099ba85a9add27aa Mon Sep 17 00:00:00 2001 From: Oleg Anashkin Date: Mon, 30 Dec 2024 21:08:36 -0800 Subject: [PATCH 8/8] Update hoverzoom.js --- js/hoverzoom.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/hoverzoom.js b/js/hoverzoom.js index 548eecf8..b20fd2df 100644 --- a/js/hoverzoom.js +++ b/js/hoverzoom.js @@ -1072,7 +1072,7 @@ var hoverZoom = { const delay = actionKeyDown || explicitCall ? 0 : (isVideoLink(srcDetails.url) ? options.displayDelayVideo : options.displayDelay); loadFullSizeImageTimeout = setTimeout(loadFullSizeImage, delay); - // Temporarily removing until a better fix is found + // Temporarily removing until a better fix is found: sendMessage is async so it can't be used to set local variables /*if (audioSrc) { chrome.runtime.sendMessage({action:'isImageBanned', url:audioSrc}, function (result) { if (!result) {