Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
12f6f23314 | ||
|
|
a27488366b | ||
|
|
dd4c71c3bf | ||
|
|
715cd1a663 | ||
|
|
9371ed9a33 | ||
|
|
c21b2d3ede | ||
|
|
8ac0b9c003 |
@@ -180,4 +180,79 @@ jobs:
|
|||||||
git push
|
git push
|
||||||
else
|
else
|
||||||
echo "No changes to central manifest."
|
echo "No changes to central manifest."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Update Message in Seasonals Repository
|
||||||
|
- name: Checkout Seasonal Manifest Repo
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
with:
|
||||||
|
repository: ${{ github.repository_owner }}/jellyfin-plugin-manifest
|
||||||
|
path: seasonal-manifest
|
||||||
|
token: ${{ secrets.JELLYFIN_PLUGIN_MANIFEST_UPDATER_PAT }}
|
||||||
|
|
||||||
|
- name: Update Central Manifest
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
cd seasonal-manifest
|
||||||
|
|
||||||
|
# 1. Get info from previous steps
|
||||||
|
VERSION="${{ env.VERSION }}"
|
||||||
|
HASH="${{ env.ZIP_HASH }}"
|
||||||
|
TIME="${{ env.BUILD_TIME }}"
|
||||||
|
DOWNLOAD_URL="https://git.mahom03-spacecloud.de/${{ github.repository }}/releases/download/v$VERSION/Jellyfin.Plugin.MediaBarEnhanced.zip"
|
||||||
|
|
||||||
|
# 2. Get info from env
|
||||||
|
PLUGIN_GUID="${{ env.PLUGIN_GUID }}"
|
||||||
|
CHANGELOG="${{ env.CHANGELOG }}"
|
||||||
|
TARGET_ABI="${{ env.TARGET_ABI }}"
|
||||||
|
|
||||||
|
echo "Updating Seasonal Manifest for Plugin GUID: $PLUGIN_GUID"
|
||||||
|
|
||||||
|
# 3. Update/Prepend entry in seasonal manifest.json
|
||||||
|
# Logic:
|
||||||
|
# - If array is empty or new version != old version: PREPEND new entry
|
||||||
|
# - If new version == old version: OVERWRITE (update) existing entry (re-release)
|
||||||
|
|
||||||
|
jq --arg guid "$PLUGIN_GUID" \
|
||||||
|
--arg hash "$HASH" \
|
||||||
|
--arg time "$TIME" \
|
||||||
|
--arg url "$DOWNLOAD_URL" \
|
||||||
|
--arg ver "$VERSION" \
|
||||||
|
--arg changelog "$CHANGELOG" \
|
||||||
|
--arg abi "$TARGET_ABI" \
|
||||||
|
'map(if .guid == $guid then
|
||||||
|
if .versions[0].version != $ver then
|
||||||
|
# New Version -> Prepend
|
||||||
|
.versions = [{
|
||||||
|
"version": $ver,
|
||||||
|
"changelog": $changelog,
|
||||||
|
"targetAbi": $abi,
|
||||||
|
"sourceUrl": $url,
|
||||||
|
"checksum": $hash,
|
||||||
|
"timestamp": $time
|
||||||
|
}] + .versions
|
||||||
|
else
|
||||||
|
# Same Version -> Update existing (overwrite top)
|
||||||
|
.versions[0].changelog = $changelog |
|
||||||
|
.versions[0].targetAbi = $abi |
|
||||||
|
.versions[0].sourceUrl = $url |
|
||||||
|
.versions[0].checksum = $hash |
|
||||||
|
.versions[0].timestamp = $time
|
||||||
|
end
|
||||||
|
else . end)' \
|
||||||
|
manifest.json > manifest.json.tmp && mv manifest.json.tmp manifest.json
|
||||||
|
|
||||||
|
- name: Commit and Push Seasonal Manifest
|
||||||
|
run: |
|
||||||
|
cd seasonal-manifest
|
||||||
|
git config user.name "CodeDevMLH"
|
||||||
|
git config user.email "145071728+CodeDevMLH@users.noreply.github.com"
|
||||||
|
|
||||||
|
# Check if there are changes
|
||||||
|
if [[ -n $(git status -s) ]]; then
|
||||||
|
git add manifest.json
|
||||||
|
git commit -m "Auto-Update MediaBar Enhanced to v${{ env.VERSION }}"
|
||||||
|
git push
|
||||||
|
else
|
||||||
|
echo "No changes to seasonal manifest."
|
||||||
fi
|
fi
|
||||||
75
.github/workflows/release_automation.yml
vendored
75
.github/workflows/release_automation.yml
vendored
@@ -178,4 +178,79 @@ jobs:
|
|||||||
git push
|
git push
|
||||||
else
|
else
|
||||||
echo "No changes to central manifest."
|
echo "No changes to central manifest."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Update Message in Seasonals Repository
|
||||||
|
- name: Checkout Seasonal Manifest Repo
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
with:
|
||||||
|
repository: ${{ github.repository_owner }}/jellyfin-plugin-manifest
|
||||||
|
path: seasonal-manifest
|
||||||
|
token: ${{ secrets.JELLYFIN_PLUGIN_MANIFEST_UPDATER_PAT }}
|
||||||
|
|
||||||
|
- name: Update Central Manifest
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
cd seasonal-manifest
|
||||||
|
|
||||||
|
# 1. Get info from previous steps
|
||||||
|
VERSION="${{ env.VERSION }}"
|
||||||
|
HASH="${{ env.ZIP_HASH }}"
|
||||||
|
TIME="${{ env.BUILD_TIME }}"
|
||||||
|
DOWNLOAD_URL="https://github.com/$REPO_OWNER/$REPO_NAME/releases/download/v$VERSION/Jellyfin.Plugin.MediaBarEnhanced.zip"
|
||||||
|
|
||||||
|
# 2. Get info from env
|
||||||
|
PLUGIN_GUID="${{ env.PLUGIN_GUID }}"
|
||||||
|
CHANGELOG="${{ env.CHANGELOG }}"
|
||||||
|
TARGET_ABI="${{ env.TARGET_ABI }}"
|
||||||
|
|
||||||
|
echo "Updating Seasonal Manifest for Plugin GUID: $PLUGIN_GUID"
|
||||||
|
|
||||||
|
# 3. Update/Prepend entry in seasonal manifest.json
|
||||||
|
# Logic:
|
||||||
|
# - If array is empty or new version != old version: PREPEND new entry
|
||||||
|
# - If new version == old version: OVERWRITE (update) existing entry (re-release)
|
||||||
|
|
||||||
|
jq --arg guid "$PLUGIN_GUID" \
|
||||||
|
--arg hash "$HASH" \
|
||||||
|
--arg time "$TIME" \
|
||||||
|
--arg url "$DOWNLOAD_URL" \
|
||||||
|
--arg ver "$VERSION" \
|
||||||
|
--arg changelog "$CHANGELOG" \
|
||||||
|
--arg abi "$TARGET_ABI" \
|
||||||
|
'map(if .guid == $guid then
|
||||||
|
if .versions[0].version != $ver then
|
||||||
|
# New Version -> Prepend
|
||||||
|
.versions = [{
|
||||||
|
"version": $ver,
|
||||||
|
"changelog": $changelog,
|
||||||
|
"targetAbi": $abi,
|
||||||
|
"sourceUrl": $url,
|
||||||
|
"checksum": $hash,
|
||||||
|
"timestamp": $time
|
||||||
|
}] + .versions
|
||||||
|
else
|
||||||
|
# Same Version -> Update existing (overwrite top)
|
||||||
|
.versions[0].changelog = $changelog |
|
||||||
|
.versions[0].targetAbi = $abi |
|
||||||
|
.versions[0].sourceUrl = $url |
|
||||||
|
.versions[0].checksum = $hash |
|
||||||
|
.versions[0].timestamp = $time
|
||||||
|
end
|
||||||
|
else . end)' \
|
||||||
|
manifest.json > manifest.json.tmp && mv manifest.json.tmp manifest.json
|
||||||
|
|
||||||
|
- name: Commit and Push Seasonal Manifest
|
||||||
|
run: |
|
||||||
|
cd seasonal-manifest
|
||||||
|
git config user.name "CodeDevMLH"
|
||||||
|
git config user.email "145071728+CodeDevMLH@users.noreply.github.com"
|
||||||
|
|
||||||
|
# Check if there are changes
|
||||||
|
if [[ -n $(git status -s) ]]; then
|
||||||
|
git add manifest.json
|
||||||
|
git commit -m "Auto-Update MediaBar Enhanced to v${{ env.VERSION }}"
|
||||||
|
git push
|
||||||
|
else
|
||||||
|
echo "No changes to seasonal manifest."
|
||||||
fi
|
fi
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
<div class="sectionTitleContainer">
|
<div class="sectionTitleContainer">
|
||||||
<h2 class="sectionTitle">Media Bar Enhanced</h2>
|
<h2 class="sectionTitle">Media Bar Enhanced</h2>
|
||||||
<a is="emby-linkbutton" class="raised raised-mini emby-button" style="margin-left: 2em;"
|
<a is="emby-linkbutton" class="raised raised-mini emby-button" style="margin-left: 2em;"
|
||||||
target="_blank" href="https://github.com/CodeDevMLH/Jellyfin-Seasonals">
|
target="_blank" href="https://github.com/CodeDevMLH/jellyfin-plugin-media-bar-enhanced">
|
||||||
<i class="md-icon button-icon button-icon-left secondaryText"></i>
|
<i class="md-icon button-icon button-icon-left secondaryText"></i>
|
||||||
<span>Help</span>
|
<span>Help</span>
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
@@ -12,8 +12,8 @@
|
|||||||
<!-- <TreatWarningsAsErrors>false</TreatWarningsAsErrors> -->
|
<!-- <TreatWarningsAsErrors>false</TreatWarningsAsErrors> -->
|
||||||
<Title>Jellyfin Media Bar Enhanced Plugin</Title>
|
<Title>Jellyfin Media Bar Enhanced Plugin</Title>
|
||||||
<Authors>CodeDevMLH</Authors>
|
<Authors>CodeDevMLH</Authors>
|
||||||
<Version>1.0.0.1</Version>
|
<Version>1.0.0.2</Version>
|
||||||
<RepositoryUrl>https://git.mahom03-spacecloud.de/CodeDevMLH/Media-Bar-Plugin</RepositoryUrl>
|
<RepositoryUrl>https://github.com/CodeDevMLH/jellyfin-plugin-media-bar-enhanced</RepositoryUrl>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ using Microsoft.Extensions.Logging;
|
|||||||
namespace Jellyfin.Plugin.MediaBarEnhanced
|
namespace Jellyfin.Plugin.MediaBarEnhanced
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The main plugin.
|
/// The main plugin.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class MediaBarEnhancedPlugin : BasePlugin<PluginConfiguration>, IHasWebPages
|
public class MediaBarEnhancedPlugin : BasePlugin<PluginConfiguration>, IHasWebPages
|
||||||
{
|
{
|
||||||
|
|||||||
196
README.md
196
README.md
@@ -1 +1,195 @@
|
|||||||
# jellyfin-plugin-media-bar-enhanced
|
# Jellyfin Media Bar Enhanced Plugin
|
||||||
|
|
||||||
|
Media Bar Enhanced is a plugin for Jellyfin that introduces a customizable and interactive media bar to your dashboard view on Jellyfin web.
|
||||||
|
|
||||||
|
This plugin is a fork and enhancement of the original [Media Bar by MakD](https://github.com/MakD/Jellyfin-Media-Bar) media bar, but can be installed as plugin for easier installation and management/configuration.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Table of Contents
|
||||||
|
- [Jellyfin Media Bar Enhanced Plugin](#jellyfin-media-bar-enhanced-plugin)
|
||||||
|
- [Table of Contents](#table-of-contents)
|
||||||
|
- [Features](#features)
|
||||||
|
- [New Features \& Enhancements](#new-features--enhancements)
|
||||||
|
- [Core Features](#core-features)
|
||||||
|
- [Installation](#installation)
|
||||||
|
- [Client Compatibility](#client-compatibility)
|
||||||
|
- [Configuration](#configuration)
|
||||||
|
- [General Settings](#general-settings)
|
||||||
|
- [Custom Content](#custom-content)
|
||||||
|
- [Advanced Settings](#advanced-settings)
|
||||||
|
- [Build The Plugin By Yourself](#build-the-plugin-by-yourself)
|
||||||
|
- [Troubleshooting](#troubleshooting)
|
||||||
|
- [Effects Not Showing](#effects-not-showing)
|
||||||
|
- [Docker Permission Issues](#docker-permission-issues)
|
||||||
|
- [Contributing](#contributing)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
This plugin builds upon the original Media Bar with new capabilities and improvements:
|
||||||
|
|
||||||
|
### New Features & Enhancements
|
||||||
|
* **Video Backdrop Support**: Play trailer as background video directly in the slideshow
|
||||||
|
* **SponsorBlock Integration**: Automatically skip intro/outro segments in YouTube trailers
|
||||||
|
* **Enhanced Controls**:
|
||||||
|
* Keyboard shortcuts (Arrow keys to navigate, Space to pause, M to mute)
|
||||||
|
* Option to always show navigation arrows
|
||||||
|
* Standalone "Trailer" button (opens in a modal) if video backdrops are disabled
|
||||||
|
* **Smarter Playback**:
|
||||||
|
* Option to wait for the trailer to end before advancing the slide.
|
||||||
|
* Mute/Unmute controls
|
||||||
|
* **Customization**:
|
||||||
|
* **Custom Media IDs**: Manually specify which items (Movies, Series, Collections/Boxsets) to display. Easily configurable via the plugin settings
|
||||||
|
* **Seasonal Content Mode**: Define date-based lists for holidays and seasons (e.g., Halloween, Christmas)
|
||||||
|
* Pagination dots turn into a counter (e.g., 1/20) if the limit is exceeded
|
||||||
|
* Option to disable the loading screen
|
||||||
|
|
||||||
|
### Core Features
|
||||||
|
* **Immersive Slideshow**: Rotates through your media library
|
||||||
|
* **Metadata Display**: Shows title, rating, year, and plot summary
|
||||||
|
* **Direct Play**: Click "Play" to start watching immediately
|
||||||
|
* **Details View**: Click "Info" to jump to the item's detail page
|
||||||
|
* **Add To Favorites**: Click the heart to add the item to your favorites
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
This plugin is based on Jellyfin Version `10.11.x`
|
||||||
|
|
||||||
|
1. Open your **Jellyfin Dashboard**.
|
||||||
|
2. Navigate to **Plugins** > **Repositories**.
|
||||||
|
3. Click the **+** button to add a new repository.
|
||||||
|
4. Enter a name for the repo and paste the following URL:
|
||||||
|
```
|
||||||
|
https://raw.githubusercontent.com/CodeDevMLH/jellyfin-plugin-manifest/refs/heads/main/manifest.json
|
||||||
|
```
|
||||||
|
5. Click **Save**.
|
||||||
|
6. Go to the **Catalog** tab.
|
||||||
|
7. Find **Media Bar Enhanced** (Under **General**) and install it.
|
||||||
|
8. **Restart your Jellyfin server.**
|
||||||
|
9. **Refresh your browser** (Ctrl+F5) to load the new interface elements.
|
||||||
|
|
||||||
|
## Client Compatibility
|
||||||
|
|
||||||
|
Because this plugin relies on injecting JavaScript and CSS into the web interface, it works best on clients that use the web wrapper.
|
||||||
|
|
||||||
|
| Client Platform | Status | Notes |
|
||||||
|
| :--- | :---: | :--- |
|
||||||
|
| **Web Browsers** (Chrome, Firefox, Edge, etc.) | ✅ | Fully supported. |
|
||||||
|
| **Jellyfin Media Player** (Windows/Linux/macOS) | ✅ | Fully supported. |
|
||||||
|
| **Android App** | ✅ | Works (Web wrapper). |
|
||||||
|
| **iOS App** | ✅ | Works (Web wrapper). |
|
||||||
|
| **Android TV / Fire TV** | ❌ | **Not supported** (Native UI). |
|
||||||
|
| **Roku** | ❌ | **Not supported** (Native UI). |
|
||||||
|
| **Swiftfin** | ❌ | **Not supported** (Native UI). |
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
Configure the plugin via **Dashboard** > **Plugins** > **Media Bar Enhanced**.
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> You must refresh your browser window (F5 or Ctrl+R) after saving changes for them to take effect.
|
||||||
|
|
||||||
|
### General Settings
|
||||||
|
* **Enable Media Bar Enhanced Plugin**: Master switch to toggle the plugin.
|
||||||
|
* **Enable Video Backdrops**: Dynamically plays trailers in the background.
|
||||||
|
* **Wait For Trailer To End**: Prevents slide transition until the video finishes.
|
||||||
|
* **Enable Mobile Video**: specific setting to allow video playback on mobile devices (disabled by default to save data/battery).
|
||||||
|
* **Show Trailer Button**: Adds a button to open the trailer in a popup modal if video backdrops are disabled (e.g. on mobile if trailers are disabled there)
|
||||||
|
|
||||||
|
### Custom Content
|
||||||
|
Define exactly what shows up in your bar.
|
||||||
|
|
||||||
|
* **Enable Custom Media IDs**: Restrict the slideshow to a specific list of IDs.
|
||||||
|
* **Enable Seasonal Content Mode**: Advanced date-based scheduling.
|
||||||
|
* Format: `DD.MM-DD.MM | Name | ID1, ID2, ID3`
|
||||||
|
* Example: `20.10-31.10 | Halloween | <ID_OF_HALLOWEEN_COLLECTION>`
|
||||||
|
* If the current date matches a range, those IDs are used. Otherwise, it defaults to standard behavior or the Custom Media IDs list.
|
||||||
|
|
||||||
|
**How to get IDs:**
|
||||||
|
Check the URL of an item in the web interface:
|
||||||
|
`.../web/#/details?id=YOUR_ITEM_ID_HERE&...`
|
||||||
|
|
||||||
|
### Advanced Settings
|
||||||
|
* **Slide Animations**: Enable/disable the "Zoom In" effect.
|
||||||
|
* **Use SponsorBlock**: Skips non-content segments in YouTube trailers (if the data exists).
|
||||||
|
* **Start Muted**: Videos start without sound (user can unmute).
|
||||||
|
* **Full Width Video**: Stretches video to cover the entire width (good for desktop, crop on mobile).
|
||||||
|
* **Enable Loading Screen**: Enable/disable the loading indicator while the bar initializes.
|
||||||
|
* **Always Show Arrows**: Keeps navigation arrows visible instead of hiding them on mouse leave.
|
||||||
|
* **Enable Keyboard Controls**:
|
||||||
|
* `Left`/`Right`: Change slide
|
||||||
|
* `Space`: Pause/Play slideshow
|
||||||
|
* `M`: Mute/Unmute video
|
||||||
|
* **Content Limits**: Fine-tune performance by limiting the number of items (Movies, TV Shows) fetched.
|
||||||
|
|
||||||
|
## Build The Plugin By Yourself
|
||||||
|
|
||||||
|
If you want to build the plugin yourself:
|
||||||
|
|
||||||
|
1. Clone the repository.
|
||||||
|
2. Ensure you have the .NET SDK installed (NET 8 or 9 depending on your Jellyfin version).
|
||||||
|
3. Run the build command:
|
||||||
|
```powershell
|
||||||
|
dotnet build Jellyfin.Plugin.MediaBarEnhanced/Jellyfin.Plugin.MediaBarEnhanced.csproj --configuration Release --output bin/Publish
|
||||||
|
```
|
||||||
|
4. The compiled DLL and resources will be in bin/Publish.
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
### Effects Not Showing
|
||||||
|
1. **Verify plugin installation**:
|
||||||
|
- Check that the plugin appears in the jellyfin admin panel
|
||||||
|
- Ensure that the plugin is enabled and active
|
||||||
|
|
||||||
|
2. **Clear browser cache**:
|
||||||
|
- Force refresh browser (Ctrl+F5)
|
||||||
|
- Clear jellyfin web client cache (--> mostly you have to clear the whole browser cache)
|
||||||
|
|
||||||
|
### Docker Permission Issues
|
||||||
|
If you encounter the message `Access was denied when attempting to inject script into index.html. Automatic direct injection failed. Automatic direct insertion failed. The system will now attempt to use the File Transformation plugin.` in the log or similar permission errors in Docker:
|
||||||
|
|
||||||
|
**Option 1: Use File Transformation Plugin (Recommended)**
|
||||||
|
|
||||||
|
Media Bar Enhanced now automatically detects and uses the [File Transformation](https://github.com/IAmParadox27/jellyfin-plugin-file-transformation) plugin (v2.5.0.0+) if it's installed. This eliminates permission issues by transforming content at runtime without modifying files on disk.
|
||||||
|
|
||||||
|
**Installation Steps:**
|
||||||
|
1. Install the File Transformation plugin from the Jellyfin plugin catalog
|
||||||
|
2. Restart Jellyfin
|
||||||
|
3. Media Bar Enhanced will automatically detect and use it (no configuration needed)
|
||||||
|
4. Check logs to confirm: Look for "Successfully registered transformation with File Transformation plugin"
|
||||||
|
|
||||||
|
**Benefits:**
|
||||||
|
- No file permission issues in Docker environments
|
||||||
|
- Works with read-only web directories
|
||||||
|
- Survives Jellyfin updates without re-injection
|
||||||
|
- No manual file modifications required
|
||||||
|
|
||||||
|
**Option 2: Fix File Permissions**
|
||||||
|
```bash
|
||||||
|
# Find the actual index.html location
|
||||||
|
docker exec -it jellyfin find / -name index.html
|
||||||
|
|
||||||
|
# Fix ownership (replace 'jellyfin' with your container name and adjust user:group if needed)
|
||||||
|
docker exec -it --user root jellyfin chown jellyfin:jellyfin /jellyfin/jellyfin-web/index.html
|
||||||
|
|
||||||
|
# Restart container
|
||||||
|
docker restart jellyfin
|
||||||
|
```
|
||||||
|
|
||||||
|
**Option 3: Manual Volume Mapping**
|
||||||
|
```bash
|
||||||
|
# Extract index.html from container
|
||||||
|
docker cp jellyfin:/jellyfin/jellyfin-web/index.html /path/to/jellyfin/config/index.html
|
||||||
|
|
||||||
|
# Add to docker-compose.yml volumes section:
|
||||||
|
volumes:
|
||||||
|
- /path/to/jellyfin/config/index.html:/jellyfin/jellyfin-web/index.html
|
||||||
|
```
|
||||||
|
|
||||||
|
## Contributing
|
||||||
|
|
||||||
|
Feel free to contribute to this project by creating pull requests or reporting issues.
|
||||||
@@ -8,13 +8,21 @@
|
|||||||
"category": "General",
|
"category": "General",
|
||||||
"imageUrl": "https://git.mahom03-spacecloud.de/CodeDevMLH/jellyfin-plugin-media-bar-enhanced/raw/branch/main/logo.png",
|
"imageUrl": "https://git.mahom03-spacecloud.de/CodeDevMLH/jellyfin-plugin-media-bar-enhanced/raw/branch/main/logo.png",
|
||||||
"versions": [
|
"versions": [
|
||||||
|
{
|
||||||
|
"version": "1.0.0.2",
|
||||||
|
"changelog": "fixes",
|
||||||
|
"targetAbi": "10.11.0.0",
|
||||||
|
"sourceUrl": "https://git.mahom03-spacecloud.de/CodeDevMLH/jellyfin-plugin-media-bar-enhanced/releases/download/v1.0.0.2/Jellyfin.Plugin.MediaBarEnhanced.zip",
|
||||||
|
"checksum": "1041b403ec0193c2172a6fe15501afd3",
|
||||||
|
"timestamp": "2026-01-06T21:21:37Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"version": "1.0.0.1",
|
"version": "1.0.0.1",
|
||||||
"changelog": "Initial release",
|
"changelog": "fixes",
|
||||||
"targetAbi": "10.11.0.0",
|
"targetAbi": "10.11.0.0",
|
||||||
"sourceUrl": "https://git.mahom03-spacecloud.de/CodeDevMLH/jellyfin-plugin-media-bar-enhanced/releases/download/v1.0.0.1/Jellyfin.Plugin.MediaBarEnhanced.zip",
|
"sourceUrl": "https://git.mahom03-spacecloud.de/CodeDevMLH/jellyfin-plugin-media-bar-enhanced/releases/download/v1.0.0.1/Jellyfin.Plugin.MediaBarEnhanced.zip",
|
||||||
"checksum": "da9766deb7b81b2b41000ac139fa4d5b",
|
"checksum": "f4e6194a9cc72fdda7436161c73832de",
|
||||||
"timestamp": "2026-01-06T19:05:24Z"
|
"timestamp": "2026-01-06T21:18:33Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"version": "1.0.0.0",
|
"version": "1.0.0.0",
|
||||||
|
|||||||
Reference in New Issue
Block a user