{"id":29100148,"url":"https://github.com/phpmacher/mastodon-hide-interacted-posts","last_synced_at":"2026-04-13T11:01:38.546Z","repository":{"id":301742155,"uuid":"1010175367","full_name":"phpmacher/mastodon-hide-interacted-posts","owner":"phpmacher","description":"A Tampermonkey script that hides posts, the user already interacted with","archived":false,"fork":false,"pushed_at":"2025-06-28T14:30:50.000Z","size":29,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-28T15:29:10.145Z","etag":null,"topics":["fediverse","greasemonkey","greasemonkey-script","greasemonkey-userscript","mastodon","opensource","socialmediatools","tampermonkey","tampermonkey-userscript","userscript","userscripts"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/phpmacher.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-28T14:09:30.000Z","updated_at":"2025-06-28T14:30:53.000Z","dependencies_parsed_at":"2025-06-28T15:30:20.416Z","dependency_job_id":"aefabdf6-b0e8-4d57-bef8-a8f5e142e1d2","html_url":"https://github.com/phpmacher/mastodon-hide-interacted-posts","commit_stats":null,"previous_names":["phpmacher/mastodon-hide-interacted-posts"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/phpmacher/mastodon-hide-interacted-posts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phpmacher%2Fmastodon-hide-interacted-posts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phpmacher%2Fmastodon-hide-interacted-posts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phpmacher%2Fmastodon-hide-interacted-posts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phpmacher%2Fmastodon-hide-interacted-posts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/phpmacher","download_url":"https://codeload.github.com/phpmacher/mastodon-hide-interacted-posts/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phpmacher%2Fmastodon-hide-interacted-posts/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31749763,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T09:16:15.125Z","status":"ssl_error","status_checked_at":"2026-04-13T09:16:05.023Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fediverse","greasemonkey","greasemonkey-script","greasemonkey-userscript","mastodon","opensource","socialmediatools","tampermonkey","tampermonkey-userscript","userscript","userscripts"],"created_at":"2025-06-28T18:00:51.445Z","updated_at":"2026-04-13T11:01:38.541Z","avatar_url":"https://github.com/phpmacher.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mastodon Hide Interacted Posts (Toggleable)\n\nThis userscript hides all Mastodon posts that you've **already liked or boosted**, to help reduce visual clutter in your timeline.\\\nThe behavior is **toggleable via a floating button** in the UI, and the setting is remembered across sessions.\nIf the feature is switched to ON, the posts are hidden after 4,5s.\n\n---\n\n## 🧹 Features\n\n- Automatically hides posts you've liked ⭐ or boosted ♻️\n- Adds a small floating toggle in the bottom-right corner\n- Persists your ON/OFF setting using localStorage\n- Debug-friendly styling before hiding (orange dashed border)\n- Works on `sueden.social`, `mastodon.social`, and any `*.social` instance\n\n---\n\n## 📸 Screenshots\n\nToggle the feature on and off:\n![Feature toggle in Mastodon UI](./assets/mastodon-hide-post-toggle-feature.png)\n\nExample of a marked post:\n![Feature toggle in Mastodon UI](./assets/mastodon-hide-post-example.png)\n\n---\n\n## ⚙️ How It Works\n\nThe script observes all `.status` elements and checks whether:\n\n- The post was **liked** (button with `.star-icon.active`)\n- The post was **boosted** (button with `title` or `aria-label` like *\"Beitrag nicht mehr teilen\"* or *\"Unboost\"*)\n\nIf either is true, the surrounding `\u003carticle\u003e` element is marked and eventually hidden.\\\nIt uses `MutationObserver` to work with infinite scrolling.\n\n---\n\n## 👡️ Toggle Behavior\n\nA small button appears in the bottom-right corner:\n\n| State       | Appearance                            |\n| ----------- | ------------------------------------- |\n| ON (active) | Blue button: `Interacted-Hiding: ON`  |\n| OFF         | Gray button: `Interacted-Hiding: OFF` |\n\nClick the button to toggle the hiding logic.\n\n---\n\n## ⏱️ Delay Before Hiding\n\nTo help with debugging and testing, there's a short delay (default: 4.5 seconds) before a post gets hidden.\\\nThis gives you time to verify that the detection worked.\n\n```ts\nconst HIDE_DELAY_MS = 4500;\n```\n\n---\n\n## 💻 Installation\n\nInstall via [Tampermonkey](https://www.tampermonkey.net/) or a compatible userscript manager.\n\n- [Install this script from GitHub](https://github.com/phpmacher/mastodon-hide-interacted-posts/raw/main/mastodon-hide-interacted-posts.user.js)\n\n---\n\n## 🛠️ Customization\n\nYou can easily adjust the `HIDE_DELAY_MS` constant in the script if you prefer instant hiding.\n\n```ts\nconst HIDE_DELAY_MS = 4500;\n```\n\n---\n\n## 📜 License\n\nMIT – free to use, modify, share. – see the [LICENSE](LICENSE) file for details.\n\n---\n\n## 😋 Author\n\n[@phpmacher](https://sueden.social/@phpmacher)\n\n---\n\n## Contributions\n\nPlease feel free to submit issues or pull requests if you'd like to improve the script.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphpmacher%2Fmastodon-hide-interacted-posts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphpmacher%2Fmastodon-hide-interacted-posts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphpmacher%2Fmastodon-hide-interacted-posts/lists"}