From e04a029f0ef93b91fc1dbc3a064792af03d69dc1 Mon Sep 17 00:00:00 2001 From: MohamedEmirHajji Date: Wed, 10 Dec 2025 15:54:00 +0100 Subject: [PATCH 1/2] Markdown preview: filter hidden elements from scroll sync (fix #281247) --- .../preview-src/scroll-sync.ts | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/extensions/markdown-language-features/preview-src/scroll-sync.ts b/extensions/markdown-language-features/preview-src/scroll-sync.ts index cba22fc48d5..d6a18685187 100644 --- a/extensions/markdown-language-features/preview-src/scroll-sync.ts +++ b/extensions/markdown-language-features/preview-src/scroll-sync.ts @@ -20,7 +20,21 @@ export class CodeLineElement { } get isVisible(): boolean { - return !this._detailParentElements.some(x => !x.open); + if (this._detailParentElements.some(x => !x.open)) { + return false; + } + + const style = window.getComputedStyle(this.element); + if (style.display === 'none' || style.visibility === 'hidden') { + return false; + } + + const bounds = this.element.getBoundingClientRect(); + if (bounds.height === 0 && bounds.width === 0) { + return false; + } + + return true; } } From 7da4bbe808e55ab43bfbe2e003f4f0ac6a4260ff Mon Sep 17 00:00:00 2001 From: MohamedEmirHajji Date: Wed, 10 Dec 2025 17:01:55 +0100 Subject: [PATCH 2/2] Markdown preview: filter hidden elements from scroll sync (fix microsoft#281247) --- .../markdown-language-features/preview-src/scroll-sync.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/markdown-language-features/preview-src/scroll-sync.ts b/extensions/markdown-language-features/preview-src/scroll-sync.ts index d6a18685187..33d81094cb5 100644 --- a/extensions/markdown-language-features/preview-src/scroll-sync.ts +++ b/extensions/markdown-language-features/preview-src/scroll-sync.ts @@ -30,7 +30,7 @@ export class CodeLineElement { } const bounds = this.element.getBoundingClientRect(); - if (bounds.height === 0 && bounds.width === 0) { + if (bounds.height === 0 || bounds.width === 0) { return false; }