Use pure sub_filter replacements instead of MutationObserver

FixKlusterServices
Shipped
April 17, 2026 at 5:10 PM UTC
Author
Kamo
Commit
c46b9ac

MutationObserver caused infinite loop (DOM change -> observer fires -> DOM change). Switch to direct nginx sub_filter string replacements targeting both static HTML and Next.js RSC payload strings for title, favicon, and logo. Only CSS injection remains for dashboard header.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing