Your feed stays where you left it.
A Chrome extension that stops social feeds from auto-refreshing when you switch back to the tab.
Some sites reload the feed whenever you return to the tab. If you were halfway through a post, or kept a tab open to read later, it's gone. Feed Anchor makes the page think you never left, so nothing triggers the refresh.
| Site | Status |
|---|---|
| ✅ Supported | |
| X (Twitter) | ✅ Supported |
More platforms are planned. See CONTRIBUTING.md to add one.
Install from the Chrome Web Store, then:
- Click Add to Chrome.
- Pin it: click the puzzle-piece icon next to the address bar, then the pin next to Feed Anchor.
Done. Open LinkedIn or X, and your feed will stay put when you switch tabs.
Install manually from a release
- Download: go to the latest release and click feed-anchor-x.x.x.zip under Assets.
- Unzip it: double-click the downloaded file. You'll get a folder. Move it somewhere it can stay (like Documents). If you delete it, the extension stops working.
- Open the extensions page: type
chrome://extensionsin the address bar and press Enter. - Turn on Developer mode: the switch in the top-right corner.
- Click "Load unpacked" (top-left) and choose the folder from step 2.
A manual install doesn't update itself. Repeat these steps to get a new version.
For developers: install from source
- Clone this repo.
- Open
chrome://extensionsand turn on Developer mode. - Click Load unpacked and select the
src/folder.
Sites usually refresh on return by listening for the Page Visibility API and window focus events. On supported sites Feed Anchor:
- Reports the tab as always visible and focused.
inject.jsruns in the page's own context atdocument_startand overridesdocument.hidden,document.visibilityStateanddocument.hasFocus(). - Stops the events. It catches
visibilitychangeand window-levelfocus/blurevents before the site's listeners see them. Focus events on inputs and other elements are left alone. - Keeps the tab loaded. It marks supported tabs as not auto-discardable, so Chrome's Memory Saver doesn't unload them in the background.
The popup switch turns all of this off and on live. When it's off, the page sees the real visibility and focus values again and tabs can be discarded normally.
src/
manifest.json Manifest V3
sites.js list of supported sites
inject.js page-context script (visibility/focus overrides)
bridge.js passes the on/off setting to inject.js
background.js Memory Saver protection, OFF badge
popup.html/js the popup UI
There is no data collection, network requests, analytics or remote code. The only thing stored is the on/off setting, in local extension storage. See PRIVACY.md.
| Permission | Why |
|---|---|
storage |
Saves the on/off setting on your device. |
Access to supported sites (linkedin.com, x.com) |
Runs the scripts above and keeps those tabs from being discarded. |
scripts/package.sh # build dist/feed-anchor-<version>.zip for the store
scripts/build-icons.sh # regenerate src/icons from assets/*.svg
scripts/build-store-assets.sh # regenerate store screenshots and promo tileThe scripts need macOS or Linux with Google Chrome (used headless to render images), zip and jq.
Feed Anchor is an independent project. It is not affiliated with, endorsed by or sponsored by LinkedIn Corporation or X Corp. LinkedIn is a trademark of LinkedIn Corporation. X is a trademark of X Corp.
