DM Hover Peek (X + Facebook/Messenger) By DomfoRat
Overview
Preview your X (Twitter) and Facebook/Messenger messages on hover — faster inbox scanning, less clicking.
DM Hover Peek (X + Facebook/Messenger) 💬👀 — hover previews for DMs DM Hover Peek adds a floating tooltip that follows your cursor and displays text from the conversation item you’re hovering. It’s a “peek” layer that helps you read what’s already on the page without opening the thread. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ✅ What this extension does (exactly what the code implements) •Creates a tooltip element in the page (id: dmpeek-tooltip) •Creates a small on-screen badge (id: dmpeek-badge) in the bottom-right (enabled in this build) •Shows the tooltip on pointer hover over a matching conversation item / thread link •Updates tooltip position on pointer move so it follows your cursor •Hides the tooltip when the pointer leaves the active element •Displays text extracted from the hovered element (ARIA attributes / visible text) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🖥️ Tooltip UI details (from the injected CSS) •Fixed position, very high z-index (2147483647) •Max width: 640px •Max height: 380px •Scrollable when content exceeds the height (overflow:auto) •Padding: 10px 12px •Rounded corners: 12px •Background: rgba(15,15,15,.92) with blur (backdrop-filter: blur(10px)) •Text: white, 12px system-ui, pre-wrapped (white-space: pre-wrap) •Shadow: 0 12px 40px rgba(0,0,0,.35) •Pointer-events: none (the tooltip itself will not capture clicks) •Hidden by default (display:none) and toggled on hover ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🌍 Supported websites (where the extension is allowed to run) •x.com •twitter.com •www.facebook.com •www.messenger.com ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🐦 X (Twitter) behavior The X script runs ONLY if BOTH conditions are true: •Hostname is x.com or twitter.com •Path starts with /messages or /i/chat How it detects what you’re hovering: •It walks up the DOM from the hovered target (up to 12 parents) to find a “candidate” element •Candidate #1: data-testid starts with dm-conversation-item- •Candidate #2: aria-description contains “, @” (comma + space + at-sign), matching the inbox pattern What text it shows (priority order): •aria-description (first choice) •aria-label (fallback) •innerText (fallback) Message extraction on X (when aria-description is present): •The code attempts to extract the “MESSAGE” part from a pattern like: Name, @handle, MESSAGE, time… •It searches for common “time” tokens to decide where the message ends, including: min, h, j, sem, mois, hier, aujourd'hui, now, today, yesterday •If extraction succeeds, the tooltip shows the extracted MESSAGE •If extraction fails, it shows the full aria-description (trimmed) Result: depending on what X exposes in aria-description / aria-label, the tooltip may show a clean message snippet or a longer accessibility string. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 💙 Facebook / Messenger behavior The Facebook/Messenger script runs when: •Hostname is www.facebook.com OR www.messenger.com Where it triggers: •It looks for hovered links (a[role="link"]) that match message thread URL patterns •Facebook patterns include: /messages/e2ee/t/ /messages/t/ (and variations using href^= and href*=) •Messenger patterns include: /t/ (and variations using href^= and href*=) What text it shows (priority order): •Visible link text (innerText) •aria-label (fallback) •href (fallback) Result: depending on what Facebook/Messenger renders inside the link, the tooltip may show a name, snippet, or other text available in the link. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🔒 Privacy & “data safety” (only what the shipped files show) •No analytics SDK is present in these scripts •No chrome.storage usage is present (no chrome.storage / browser.storage calls) •No network calls are present in the content scripts (no fetch/XHR/WebSocket usage) •No background/service worker is included in the provided manifest •The extension’s logic is limited to: reading text/attributes from hovered elements rendering a tooltip + badge inside the page Important clarification: •X/Facebook/Messenger themselves may load message previews dynamically •This extension does not “pull” extra content from servers •It only displays what it can read from elements already present in the page at the moment you hover ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🔐 Permissions (from manifest.json) This extension requests access only to these host patterns: •https://x.com/ * •https://twitter.com/ * •https://www.facebook.com/ * •https://www.messenger.com/ * It does not request access to all websites. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🧭 How to use (what the code supports) •Open your inbox on X (Messages) or Facebook/Messenger •Move your mouse over a conversation item (X) or a thread link (Facebook/Messenger) •A tooltip appears near your cursor and follows it while you stay hovered •Move away and it disappears ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ⚠️ Limitations (directly implied by how the code works) •Hover-based: it relies on pointer events (pointerover/pointermove/pointerout) •X-only on DM pages: it does not run on other x.com pages (by design) •Facebook/Messenger: it only triggers on links that match the message thread URL patterns •If the site changes its DOM, aria strings, or URL patterns, the hover target may stop matching until the selectors are updated •The tooltip can only show text that exists in the DOM/attributes at hover time (no hidden “extra” messages) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🧩 Transparency: identifiers created by the extension •Tooltip element id: dmpeek-tooltip •Badge element id: dmpeek-badge •Badge text on X: “DMpeek ON (X)” •Badge text on Facebook/Messenger: “DMpeek ON (FB)” ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ❓ FAQ (kept strictly factual) Q: Does it send my messages to a server? A: The shipped content scripts contain no network calls and only render a tooltip in-page. Q: Does it store my messages? A: The shipped scripts contain no storage calls (no chrome.storage usage). Q: Does it run everywhere? A: No. The manifest limits it to x.com, twitter.com, facebook.com, and messenger.com. The X script also checks the path and exits unless you are on /messages or /i/chat. Q: Why might the tooltip show different text than expected? A: On X it prioritizes aria-description and may show the extracted message snippet or the full aria-description if extraction fails. On Facebook/Messenger it prioritizes the link’s innerText, then aria-label, then href. Q: Can it reveal content that isn’t visible on the page? A: It reads from DOM text/ARIA attributes. If the platform doesn’t provide preview text in those fields, there is nothing extra to display. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📌 Disclaimer •Not affiliated with X/Twitter or Meta/Facebook/Messenger. •This extension does not click buttons, send messages, or automate actions. It only displays a hover tooltip based on page text/attributes.
0 out of 5No ratings
Details
- Version1.0.2
- UpdatedJanuary 27, 2026
- Offered byleclercjweb
- Size65.71KiB
- LanguagesEnglish
- Developer
Email
leclercjweb@gmail.com - Non-traderThis developer has not identified itself as a trader. For consumers in the European Union, please note that consumer rights do not apply to contracts between you and this developer.
Privacy
This developer declares that your data is
- Not being sold to third parties, outside of the approved use cases
- Not being used or transferred for purposes that are unrelated to the item's core functionality
- Not being used or transferred to determine creditworthiness or for lending purposes