From 31dc41be5c1531a9af8cd6f6b6973d3aca5ec9a2 Mon Sep 17 00:00:00 2001 From: Pluto Date: Fri, 16 Jan 2026 19:27:57 +0530 Subject: [PATCH] fix: git getting refreshed everytime when live preview is clicked --- src/extensions/default/Git/src/Main.js | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/extensions/default/Git/src/Main.js b/src/extensions/default/Git/src/Main.js index 1d05933d6d..89f94df33a 100644 --- a/src/extensions/default/Git/src/Main.js +++ b/src/extensions/default/Git/src/Main.js @@ -411,7 +411,30 @@ define(function (require, exports) { let scheduledRefresh = null; const REFRESH_DEDUPE_TIME = 3000; + // this variable tracks if user clicked on the live preview iframe + // this is done cause when live preview iframe is clicked in highlight/edit mode, + // we set cursor back to the editor because of which editor regains focus and refreshes git + let focusWentToLivePreview = false; + + // when editor window loses focus we check if focus went to live preview, + // if it did, then we just set the flag to true + $(window).on("blur", function () { + // delay to let activeElement update + setTimeout(function () { + const activeEl = document.activeElement; + if (activeEl && activeEl.id === "panel-live-preview-frame") { + focusWentToLivePreview = true; + } + }, 0); + }); + function refreshOnFocusChange() { + // ignore git refresh if focus went to live preview + if (focusWentToLivePreview) { + focusWentToLivePreview = false; + return; + } + // to sync external git changes after switching to app. if (gitEnabled) { const isGitPanelVisible = Panel.getPanel().is(":visible");