diff --git a/Jellyfin.Plugin.ShareLinks/Configuration/PluginConfiguration.cs b/Jellyfin.Plugin.ShareLinks/Configuration/PluginConfiguration.cs index d639ce5..a3af8d0 100644 --- a/Jellyfin.Plugin.ShareLinks/Configuration/PluginConfiguration.cs +++ b/Jellyfin.Plugin.ShareLinks/Configuration/PluginConfiguration.cs @@ -45,8 +45,9 @@ public class PluginConfiguration : BasePluginConfiguration /// /// Gets or sets a comma-separated list of CSS selectors that are hidden from guest /// sessions in the web client. Used to suppress other plugins' injected UI (search - /// bars, floating buttons) so a guest only sees the shared title. Defaults to the - /// AI Search plugin's elements. + /// bars, floating buttons) so a guest only sees the shared title. The default value + /// hides the elements of a plugin that injects its own floating button and panel + /// into the web client; edit or clear it to match whatever else you run. /// public string GuestHiddenSelectors { get; set; } = ".ais-fab,.ais-overlay,#ais-styles"; } diff --git a/Jellyfin.Plugin.ShareLinks/Web/configPage.html b/Jellyfin.Plugin.ShareLinks/Web/configPage.html index 8a0808b..05bd89d 100644 --- a/Jellyfin.Plugin.ShareLinks/Web/configPage.html +++ b/Jellyfin.Plugin.ShareLinks/Web/configPage.html @@ -125,7 +125,7 @@
-
Elements hidden from guest sessions, e.g. other plugins' buttons. Default hides the AI Search UI.
+
Elements hidden from guest sessions, e.g. other plugins' buttons. The default hides a plugin I had installed that injects its own floating UI into the web client.
diff --git a/Jellyfin.Plugin.ShareLinks/Web/sharelinks.js b/Jellyfin.Plugin.ShareLinks/Web/sharelinks.js index 07b0746..d82069d 100644 --- a/Jellyfin.Plugin.ShareLinks/Web/sharelinks.js +++ b/Jellyfin.Plugin.ShareLinks/Web/sharelinks.js @@ -2,7 +2,7 @@ var pluginId = '68540b76-ee74-436d-85ff-2abc884bbea6'; var copyLabel = 'Copy Stream URL'; var actionLabel = 'ShareLink'; - var clientVersion = '1.0.0-ui-modal-9'; + var clientVersion = '1.0.0-ui-modal-10'; var allowedItemStorageKey = 'sharelinks.allowedItemId'; var guestClassName = 'sharelinks-guest'; var hiddenAttr = 'data-sharelinks-hidden'; @@ -233,12 +233,15 @@ + ' body.' + guestClassName + ' .mainDrawerButton,' + ' body.' + guestClassName + ' .headerSearchButton,' + ' body.' + guestClassName + ' [data-action="addtoplaylist"],' - + ' body.' + guestClassName + ' [data-action="addtocollection"] { display: none !important; }' + + ' body.' + guestClassName + ' [data-action="addtocollection"],' + + ' body.' + guestClassName + ' [data-id="playlist"],' + + ' body.' + guestClassName + ' [data-id="addtocollection"] { display: none !important; }' + ' body.' + guestClassName + ' .card,' + ' body.' + guestClassName + ' #castCollapsible a,' + ' body.' + guestClassName + ' .detailsGroupItem a,' + ' body.' + guestClassName + ' .genresGroup a,' + ' body.' + guestClassName + ' .studiosGroup a,' + + ' body.' + guestClassName + ' .itemTags a,' + ' body.' + guestClassName + ' .mediaInfoItem a { pointer-events: none !important; cursor: default !important; }'; document.head.appendChild(style); } diff --git a/README.md b/README.md index 2932820..0ab3bcd 100644 --- a/README.md +++ b/README.md @@ -62,11 +62,12 @@ gone. ## Hiding other plugins from guests If you run other plugins that inject their own UI into the web client (a search -bar, a floating button), you probably do not want a guest to see them. The -**Guest hidden selectors** setting is a comma-separated list of CSS selectors -that get hidden in guest sessions. It ships with a default that hides the -[AI Search](https://github.com/Franciskid) button; add any other plugin's -selector and it disappears for guests too, no code change needed. +bar, a floating button), you probably do not want a guest to see them. I had +exactly that problem with a different plugin of mine, so the **Guest hidden +selectors** setting is a comma-separated list of CSS selectors that get hidden +in guest sessions. It ships with a default that hides that plugin's floating +button and panel; add any other plugin's selector and it disappears for guests +too, no code change needed. ## Security stance diff --git a/manifest.json b/manifest.json index de048b5..ccf5cf4 100644 --- a/manifest.json +++ b/manifest.json @@ -10,10 +10,10 @@ "versions": [ { "version": "1.0.0.0", - "changelog": "Initial release: ShareLink button on the item menu, temporary guest users confined by tag policy, expiring one-use links, admin dashboard with revoke, and a configurable guest lockdown that hides other plugins' UI.", + "changelog": "Initial release: ShareLink button on the item menu, temporary guest users confined by tag policy, expiring one-use links, admin dashboard with revoke, and a configurable guest lockdown that hides tag/genre/studio/cast links, the add-to-playlist and add-to-collection actions, and other plugins' UI.", "targetAbi": "10.11.0.0", "sourceUrl": "https://github.com/Franciskid/jellyfin-plugin-sharelinks/releases/download/v1.0.0.0/sharelinks_1.0.0.0.zip", - "checksum": "4475c3952625eda228e70938293459cf", + "checksum": "992bec11d21d0c4c1823ec32a7d325df", "timestamp": "2026-07-07T00:00:00Z" } ]