[PR #3114] [MERGED] Fix: tooltip global listener #3027

Closed
opened 2026-10-28 21:14:38 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/Comfy-Org/ComfyUI-Manager/pull/3114
Author: @r-vage
Created: 7/31/2026
Status: ✅ Merged
Merged: 8/2/2026
Merged by: @ltdrdata

Base: main ← Head: fix/tooltip-global-listener


📝 Commits (2)

📊 Changes

4 files changed (+6 additions, -65 deletions)

View changed files

📝 glob/cnr_utils.py (+2 -2)
📝 js/common.js (+0 -59)
📝 js/custom-nodes-manager.js (+3 -3)
📝 js/model-manager.js (+1 -1)

📄 Description

Summary

Remove Manager's legacy document-wide tooltip listener so it cannot interfere
with tooltips owned by ComfyUI or other extensions.

Changes

  • What: Replace Manager's three custom tooltip attributes with native
    title attributes, then remove the unused .cn-tooltip element,
    showTooltip/hideTooltip exports, and capture-phase mouseenter and
    mouseleave listeners. Manager's separate popover implementation is
    unchanged.
  • Breaking: Remove the undocumented showTooltip and hideTooltip
    exports. Manager has no internal consumers of either export.

Review Focus

  • Confirm Manager no longer registers document-wide tooltip mouse listeners
    or creates .cn-tooltip elements.
  • Confirm author activity, relative update time, and the direct model-download
    link retain native browser tooltip text.
  • Confirm showPopover/hidePopover, Manager dialogs, the custom-node grid,
    row and bulk model installation, and direct model-download controls remain
    unchanged.
  • node --check passes for all three modified JavaScript files, and
    git diff --check passes.
  • Chromium acceptance passes on frontend 1.45.19 and the current frontend
    build: five repeated hover/leave cycles on a frontend-owned Settings tooltip
    each create exactly one positioned .p-tooltip, remove it after leaving,
    and never create .cn-tooltip.
  • Pytest result: 37 passed, 14 skipped, 1 pre-existing failure. The remaining
    structural test expects two copies of the generic 403 message, while the
    fork's unchanged main already contains three.

Screenshots (if applicable)

tt

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/Comfy-Org/ComfyUI-Manager/pull/3114 **Author:** [@r-vage](https://github.com/r-vage) **Created:** 7/31/2026 **Status:** ✅ Merged **Merged:** 8/2/2026 **Merged by:** [@ltdrdata](https://github.com/ltdrdata) **Base:** `main` ← **Head:** `fix/tooltip-global-listener` --- ### 📝 Commits (2) - [`ebd1e6f`](https://github.com/Comfy-Org/ComfyUI-Manager/commit/ebd1e6f9fbee453df674867690114d8fcbb644f5) remove noise - [`40d235d`](https://github.com/Comfy-Org/ComfyUI-Manager/commit/40d235d1a37a1148bcc1db8f367e0b502b432b9a) fix: remove global tooltip listener ### 📊 Changes **4 files changed** (+6 additions, -65 deletions) <details> <summary>View changed files</summary> 📝 `glob/cnr_utils.py` (+2 -2) 📝 `js/common.js` (+0 -59) 📝 `js/custom-nodes-manager.js` (+3 -3) 📝 `js/model-manager.js` (+1 -1) </details> ### 📄 Description ## Summary Remove Manager's legacy document-wide tooltip listener so it cannot interfere with tooltips owned by ComfyUI or other extensions. ## Changes - **What**: Replace Manager's three custom `tooltip` attributes with native `title` attributes, then remove the unused `.cn-tooltip` element, `showTooltip`/`hideTooltip` exports, and capture-phase `mouseenter` and `mouseleave` listeners. Manager's separate popover implementation is unchanged. - **Breaking**: Remove the undocumented `showTooltip` and `hideTooltip` exports. Manager has no internal consumers of either export. ## Review Focus - Confirm Manager no longer registers document-wide tooltip mouse listeners or creates `.cn-tooltip` elements. - Confirm author activity, relative update time, and the direct model-download link retain native browser tooltip text. - Confirm `showPopover`/`hidePopover`, Manager dialogs, the custom-node grid, row and bulk model installation, and direct model-download controls remain unchanged. - `node --check` passes for all three modified JavaScript files, and `git diff --check` passes. - Chromium acceptance passes on frontend 1.45.19 and the current frontend build: five repeated hover/leave cycles on a frontend-owned Settings tooltip each create exactly one positioned `.p-tooltip`, remove it after leaving, and never create `.cn-tooltip`. - Pytest result: 37 passed, 14 skipped, 1 pre-existing failure. The remaining structural test expects two copies of the generic 403 message, while the fork's unchanged `main` already contains three. ## Screenshots (if applicable) <img width="1769" height="618" alt="tt" src="https://github.com/user-attachments/assets/05b039cb-b50b-4cfc-9f50-65bab18d8783" /> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-28 21:14:38 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Comfy-Org/ComfyUI-Manager#3027
No description provided.