@bobfrankston/rmfmail 1.2.250 → 1.2.252

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/client/app.js CHANGED
@@ -4620,6 +4620,22 @@ function closeToolbarDropdowns() {
4620
4620
  hideDropdownHard(dd);
4621
4621
  }
4622
4622
  }
4623
+ // Clicking in the MESSAGE PREVIEW left the menu open. The preview body is an
4624
+ // iframe, so its pointerdown never reaches this document's capture-phase
4625
+ // listener above — and the transparent shield that solves this is only built
4626
+ // when a compose/popout overlay exists, which the plain three-pane view has
4627
+ // none of. Half the window is that iframe, so "click outside the settings
4628
+ // menu but it does not go away" was the common case (Bob 2026-08-11).
4629
+ // The iframe already posts `iframePointerDown` for the context menu's benefit;
4630
+ // listen to the same signal instead of shielding the whole viewport (a shield
4631
+ // would eat the click that should also select a row).
4632
+ window.addEventListener("message", (e) => {
4633
+ if (e.data?.type !== "iframePointerDown")
4634
+ return;
4635
+ closeToolbarDropdowns();
4636
+ document.getElementById("rail-menu-backdrop")?.remove();
4637
+ refreshToolbarOverlayShield();
4638
+ });
4623
4639
  function refreshToolbarOverlayShield() {
4624
4640
  const dropdownOpen = ["settings-dropdown", "view-dropdown", "restart-dropdown"]
4625
4641
  .some(id => {