From cefeed6a005625648477874903fb4223aa7fbb1b Mon Sep 17 00:00:00 2001 From: Mark Fitzgerald Date: Tue, 4 Feb 2025 13:48:00 -0800 Subject: [PATCH] [bugfix/LEMS-2805-blockquote-hidden-in-explanation-on-mobile] Add a comment to clarify "parentElement" usage. --- packages/perseus/src/components/zoomable.tsx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/perseus/src/components/zoomable.tsx b/packages/perseus/src/components/zoomable.tsx index 5391d2ceba..95f007e745 100644 --- a/packages/perseus/src/components/zoomable.tsx +++ b/packages/perseus/src/components/zoomable.tsx @@ -197,6 +197,9 @@ class Zoomable extends React.Component { let parentNode = this._node; let currentNode: HTMLElement | null = parentNode; while (currentNode && currentNode.offsetWidth === 0) { + // When traversing up the DOM tree, we need to start at the "parentElement" + // because "closest()" can match the current element, + // and if it does so, then we are stuck in an infinite loop. currentNode = currentNode.parentElement?.closest(".perseus-renderer") ?? null; }