Commit Graph
76 Commits
Author SHA1 Message Date
IAmParadox27 19e96571ab Corrected auto copy target in csproj 2026-08-26 22:07:52 +01:00
IAmParadox27 30c7611ed0 Add ability to enable/disable sync page backdrop introduced in MakD/Jellyfin-Media-Bar#114. Fixes #174 2026-08-26 22:07:23 +01:00
IAmParadox27 aaa0dfee2b Update assembly to 3.0.0.0 to match plugin version 2026-08-26 22:06:07 +01:00
IAmParadox27 c15ae8ef29 Merge branch 'main' into v12
# Conflicts:
#	src/Jellyfin.Plugin.MediaBar/Jellyfin.Plugin.MediaBar.csproj
2026-08-26 21:50:48 +01:00
Skyler Shaw f060f32b35 Reword the Version and early-updates settings for non-technical admins
The descriptions leaned on git and packaging vocabulary ("unpinned refs",
"tag or commit", "unversioned") that most people configuring a media
server don't have. Same behaviour, said in terms of consequences: what
you get, what the risk is, and how to get back ("turn this off").
"Allow unpinned refs" becomes "Get updates early".
2026-08-26 11:01:29 -07:00
Skyler Shaw ac1047ccb8 Add opt-in AllowUnpinnedRefs so main/latest can track jsDelivr again
Follow-up to #175, which made "main" and "latest" resolve to the embedded
assets. Requested in review: an option, default disabled, for users who want
those refs to load live from jsDelivr as before.

When AllowUnpinnedRefs is enabled, "main" and "latest" are treated as git
refs ("latest" mapping to the main branch, as it always has); disabled, they
keep meaning embedded. Explicit values are unaffected either way: "embedded"
is always embedded, and a tag or commit always fetches from jsDelivr. The
config page gains a checkbox spelling out what enabling it means: unreleased
code, arriving within about 12 hours of a push, unversioned.
2026-08-26 10:11:21 -07:00
Skyler Shaw 40cfd4ba63 Treat main and latest as embedded, drop the unreachable 10.11 fallback
An "embedded" default only helps fresh installs: every existing server has
"main" or "latest" saved and would keep fetching a moving branch ref
forever. Those values never named a version, they meant "newest", and the
newest that matches the installed plugin is now the embedded copy. A tag
or commit still resolves to jsDelivr.

This makes the 10.11 fallback unreachable ("main" resolves to embedded
before the guard), and it was already dead: it compares
JellyfinVersionAttribute.GetVersion() to "10.11" by equality while the
assembly declares "10.11.2". Remove it, along with the config page's
client-side copy of the latest-to-main rewrite.
2026-08-26 05:32:44 -07:00
Skyler Shaw c7a4a47735 Serve slideshowpure.js/css from the plugin instead of jsDelivr
The injected index.html loaded both files from cdn.jsdelivr.net at
{{Config.VersionString}}, default "main". A branch ref is not a version:
jsDelivr re-resolves it at request time, so browser-side changes reach
every install the day they land, with no release and no way to decline,
and the code in the browser drifts from the installed plugin version. It
also leaves the media bar broken on servers without internet access.

Embed the files in the assembly and serve them from the existing
/MediaBar/{file} route:

- slideshowpure.js/css become EmbeddedResource under the Inject namespace
- Inject/index.html templates an asset base URL instead of a bare ref
- VersionString defaults to "embedded", which resolves to ../MediaBar
  (relative, so it works when Jellyfin is hosted under a base path)

Any other value is still treated as a git ref and fetched from jsDelivr.
2026-08-26 05:32:44 -07:00
Skyler Shaw f8b52288db Stop index.html requests rewriting the saved VersionString
IndexHtml() normalised VersionString in place ("latest" to "main", and
"main" to "10.11" on 10.11 builds). Those assignments mutate the live
configuration, so every home page load overwrote the value the
administrator saved, and concurrent requests raced over the field.
Compute the resolved version into a local instead.
2026-08-26 05:32:43 -07:00
Skyler Shaw 48f620a6a8 Return 404 when GetFile is asked for a resource that is not embedded
The manifest resource stream was null-forgiven, so a request for any file
outside the embedded Inject.* set threw mid-action and surfaced as a 400
with a stack trace in the server log. Return NotFound instead, and dispose
the reader.
2026-08-26 05:32:43 -07:00
IAmParadox27 96b43ed72d Removed support for 10.10.7 and removed legacy 10.11.x verions 2026-07-01 21:34:10 +01:00
IAmParadox27 00ba03940a Added 12.0 support to Media Bar 2026-06-24 19:13:48 +01:00
IAmParadox27 c7018299c8 Moved JF version declaration only to csproj, which generates the assembly attribute, like HSS does 2026-06-24 19:01:49 +01:00
IAmParadox27 ae878fd763 Added support for 10.11.11 - need to change this to a nicer more future proofed solution in the future 2026-06-11 11:01:56 +01:00
IAmParadox27 27eedf38f3 Minor compile error for 10.10.7 and 10.11.x (not .9+) 2026-05-25 21:05:58 +01:00
IAmParadox27 0ca9bd0622 Added support for 10.11.10 2026-05-25 20:57:28 +01:00
IAmParadox27 69ca89e385 Added support for 10.11.9 2026-05-25 20:37:47 +01:00
IAmParadox27 6ed1f7277a The actually hooking of the config var was missed from previous PR. Adding now 2026-02-08 11:23:49 +00:00
Pavan Thanuj Upadrasta c494c1dbc4 Revert "Update index.html"
This reverts commit b5b7a0298b.
2026-02-08 10:25:56 +00:00
Pavan Thanuj Upadrasta b5b7a0298b Update index.html 2026-02-06 22:53:58 +00:00
Pavan Thanuj Upadrasta 912e23cb67 Add Enable Trailers to Plugin Config 2026-02-06 22:32:53 +00:00
IAmParadox27 b2447485bf Updated plugin to support 10.11.2 2025-11-03 22:24:54 +00:00
IAmParadox27 5f671b0cdd Lil' ol' whoopsy on the versioning 2025-10-28 00:48:13 +00:00
IAmParadox27 e3acc3b1c8 Updated plugin to 10.11.1 2025-10-27 22:57:38 +00:00
IAmParadox27 462ddcf418 Fixed issue for now where if the user is using 10.11 they should use a different URL for the banner image and as such, if they're configured to use the default main branch, then we'll change it to the 10.11 branch to solve it until it's solved properly in the js 2025-10-21 00:40:31 +01:00
IAmParadox27 ca193daf59 Update to 10.11 proper 2025-10-20 10:36:46 +01:00
IAmParadox27 28c280ad57 Added support for customising the media bar's configuration variables from the admin plugin page 2025-10-15 22:37:22 +01:00
IAmParadox27 1f832402c3 Changed 10.11 pre-release code to target rc8 not rc5 2025-10-03 21:18:22 +01:00
IAmParadox27 19bbcfeef1 Preparing for a seamless upgrade to 10.11.0 proper 2025-08-27 19:13:45 +01:00
IAmParadox27 8656479c36 Force the plugin to use "main" instead of "latest" for the version string since changing CDN 2025-08-26 08:09:32 +01:00
IAmParadox27 6559962c43 Changed src for assets to be directly from this fork rather than the original - this allows for changes to be made here before they are made in the original repo and still allows for syncing from the original repo for updates 2025-08-24 22:17:50 +01:00
IAmParadox27 523f9e113a Updated media bar to support 10.11 2025-08-24 22:05:18 +01:00
IAmParadox27 13c2884d61 Changed TargetFramework logic for 10.11 to use StartsWith functionality instead of == to allow for more RC to be released and just update by updating <JellyfinVersion> instead of lots of places 2025-08-23 19:22:17 +01:00
IAmParadox27 10a9e121f4 Missed file 2025-08-23 11:50:05 +01:00
IAmParadox27 fa4338965e Changes required to support multiple versions at the same time 2025-08-23 11:49:43 +01:00
IAmParadox27 ad2abb1060 Added dynamic target framework since 10.11 updates to net9.0 2025-08-23 02:12:35 +01:00
IAmParadox27 549f95cd26 Merge branch 'feature/multi-version-builds' into updates/10.11
# Conflicts:
#	src/Jellyfin.Plugin.MediaBar/Jellyfin.Plugin.MediaBar.csproj
2025-08-23 01:41:37 +01:00
IAmParadox27 982c0f9b6d Adding a framework for being able to support multiple jellyfin versions simultaneously without having to stop support for previous versions when a new one releases. 2025-08-23 01:35:59 +01:00
IAmParadox27 482f6a595d Started work to support 10.11 2025-08-22 23:41:48 +01:00
IAmParadox27 b638751e53 Fixed issue where checkbox isn't displayed for using physical avatars file 2025-08-20 01:03:50 +01:00
IAmParadox27 8d87eb7d88 Removed restricting to 15 entries now that lazy loading has been added to MediaBar 2025-08-20 01:03:50 +01:00
IAmParadox27 1c2e8b086b Updated to support 10.10.7 2025-08-20 01:03:50 +01:00
IAmParadox27 529a96dd0c Removed GUID - from item IDs in avatars list. 2025-08-20 01:03:50 +01:00
IAmParadox27 05e76a0e73 Should probably actually honour the plugin being disabled setting 2025-08-20 01:03:50 +01:00
IAmParadox27 f4851d4d1c Changed plugin to use js and css from jsdelivr rather than embedded directly. Added setting for user to specify which release should be used (or "latest", default) 2025-08-20 01:03:50 +01:00
IAmParadox27 af4c78d016 Updated media bar plugin from upstream 2025-08-20 01:03:50 +01:00
IAmParadox27 0afc35503f Stopped support for HTTP and NamedPipes in favour of the much more stable reflection. Will require FileTransformation 2.2.1.0 when it's available 2025-08-20 01:03:50 +01:00
IAmParadox27 c1542b3a8f Limit to 15 for playlist count and fix the config button and checkbox 2025-08-20 01:03:50 +01:00
IAmParadox27 66ed5358ee Added support for avatars/list.txt to be served from a playlist. Added an option to use the physical file or the playlist, and a text box to name the playlist. 2025-08-20 01:03:50 +01:00
IAmParadox27 767be18e47 Updated pipe path code to be platform agnostic. 2025-08-20 01:03:50 +01:00