github ZL154/AchievementBadges_for_Jellyfin v1.7.14
v1.7.14 - simple mode CSS + destroy-DOM when friends disabled + force-hide on refresh

latest releases: v2.4.0, v2.3.1, v2.3.0...
5 months ago

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:

  1. /public-config is now [AllowAnonymous]. It only returns feature flags + default language + the already-public custom logo. No sensitive data.
  2. resolveShowcaseEnabled keeps the flag null when BOTH fetches fail (instead of defaulting to true), 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.

Don't miss a new AchievementBadges_for_Jellyfin release

NewReleases is sending notifications on new releases.