Three real fixes
⚙️ Simple mode Requests + Find tabs stay hidden
Was using inline style="display:none" toggling which other scripts/themes could override. Switched to a CSS class rule with !important:
#abFriendsDrawer.ab-fd-drawer-simple [data-ab-hide-in-simple] { display: none !important; }Class re-asserted on every drawer open and on mode flip, so nothing can sneak it back.
👥 Friends disabled now actually hides the button
Previously I toggled display:none which raced with the 500ms sync loop and the corner-apply logic — button kept reappearing. Now _destroyAllFriendsDom() physically removes button + drawer + backdrop from the DOM. When admin re-enables, the reconcile loop mounts fresh.
🏆 Force-hide showcase on refresh
Real root cause found. /public-config required authentication. On a hard refresh, the sidebar.js fetch sometimes fired before ApiClient mounted → 401 → resolveShowcaseEnabled got null for both fetches → fallback path flipped _showcaseEnabled to true → showcase stayed visible.
Two-part fix:
/public-configis now[AllowAnonymous]. It only returns feature flags + default language + the already-public custom logo. No sensitive data.resolveShowcaseEnabledkeeps the flagnullwhen BOTH fetches fail (instead of defaulting totrue), so the periodic retry catches up.
Plus: watchdog is installed unconditionally on script load, so the moment the flag resolves to false the DOM gets swept — no more "showcase visible during the ~500ms while fetches are in flight". Reconcile tightened to 5s for faster admin-flip propagation.
MD5: 1510545776DB5E69CC1644A74BD023EB
Version stamp on DOM nodes bumped to 1.7.14 so stale-script cleanup from v1.7.13 still kicks in on upgrade.