When xBlockOrigin detects a user from a blacklisted country, their posts are immediately hidden with an overlay. This page explains how to interact with these hidden posts.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/chefnaphtha/xBlockOrigin/llms.txt
Use this file to discover all available pages before exploring further.
What hidden posts look like
Hidden posts are covered with an overlay that:- Has 50% opacity matching your X.com theme (light, dim, or lights-out)
- Applies an 8px blur effect using CSS backdrop-filter
- Displays the message:
"Post by @username from Country hidden by xBlockOrigin" - Provides two action buttons: Unhide and Unmute and whitelist
- Keeps the original post intact underneath (all click handlers preserved)
The overlay adapts to your X.com theme automatically. It uses
getComputedStyle() to match the background color of your current theme.Unhiding a post
To temporarily reveal a hidden post without unmuting the user:Click Unhide
Click the Unhide button on the overlay.The overlay is removed and the post becomes fully visible.
Unhiding a post only removes the overlay for that specific post. The user remains muted on X.com, and their other posts will still be hidden.
Unmuting and whitelisting from the overlay
To immediately unmute a user and add them to your whitelist:Click 'Unmute and whitelist' on the overlay
On any hidden post, click the Unmute and whitelist button.
Extension performs multiple actions
The extension automatically:
- Unmutes the user via X.com’s API (
/i/api/1.1/mutes/users/destroy.json) - Adds the user to your whitelist (stored in
chrome.storage.local) - Unhides all posts by this user on the current page
- Sends a notification to other extension components
Unmuting from the unhidden notice
If you already clicked Unhide, you can still unmute and whitelist from the notice:Find the unhidden notice
Look for the notice below the unhidden post that says:
"Post unhidden, but user is still muted."Dismissing the notice
If you want to keep the post unhidden but don’t want to whitelist the user:- Click the × button on the right side of the notice
- The notice disappears, but the post remains visible
- The user stays muted on X.com
- Their other posts remain hidden
Technical details
How overlays are created
Overlays are created by thecreateHiddenPostNotice() function in packages/extension/src/Content/hiddenPostNotice.ts:
- The overlay is a
<div>element withposition: absolute - It covers the entire tweet element using
top: 0; left: 0; right: 0; bottom: 0 - The tweet element’s position is set to
relativeif it’sstatic - Theme colors are detected using
detectXTheme()fromUtils/themeDetector - Background color is extracted from
document.bodystyles
Post tracking
The extension tracks hidden posts using:- Finding all posts by a specific user
- Unhiding all posts when a user is whitelisted
- Efficient cleanup when posts are removed
Unhiding all posts by a user
When you click “Unmute and whitelist”, the extension:- Calls
unhideAllPostsByUserId(userId)frompostHider.ts - Finds all overlay elements for that userId
- Removes each overlay from the DOM
- Cleans up tracking data structures
The function uses
document.contains() to check if elements are still in the DOM before removing them, preventing errors if posts were already removed by X.com.Where hidden posts appear
The extension hides posts on all major X.com pages:- Timeline (home feed)
- Search results
- User profiles
- Post detail pages (including replies)
- Notifications
Content/ directory:
timelineScanner.ts- Timeline postssearchScanner.ts- Search resultsprofileScanner.ts- Profile pagesstatusScanner.ts- Post detail pagesreplyScanner.ts- Notifications and replies
What happens after unhiding
If you only unhide (don’t whitelist)
- The specific post becomes visible
- User remains muted on X.com
- Other posts by the same user stay hidden
- If you refresh the page, the post will be hidden again
- A notice reminds you the user is still muted
If you unmute and whitelist
- All posts by the user on the current page become visible
- User is unmuted on X.com (can see their posts in notifications, mentions, etc.)
- User is added to your whitelist (never muted again)
- All future posts by the user will appear normally
- Changes persist across page refreshes and browser restarts