- {t("plex.player.loading")}
+
+ {loadError ? (
+ {loadError}
+ ) : (
+ {t("plex.player.loading")}
+ )}
)}
diff --git a/frontend/src/i18n/locales/de/config.json b/frontend/src/i18n/locales/de/config.json
index 21c34bf..ee35d7f 100644
--- a/frontend/src/i18n/locales/de/config.json
+++ b/frontend/src/i18n/locales/de/config.json
@@ -194,6 +194,8 @@
"plexTestOk": "Verbunden mit {{name}}",
"plexTestFailed": "Plex-Verbindung fehlgeschlagen — prüfe URL und Token",
"plexConnected": "Verbunden mit {{name}} {{version}}",
+ "plexMediaOk": "Medieneinbindung OK — eine Beispieldatei wurde auf der Festplatte gefunden.",
+ "plexMediaMissing": "Medien unter {{path}} nicht lesbar — prüfe, ob die Plex-Medien in den Container eingebunden sind und die Pfadzuordnung stimmt. Die Wiedergabe schlägt fehl, bis dies behoben ist.",
"plexPickLibraries": "Anzuzeigende Bibliotheken:",
"plexPickHint": "Keine auszuwählen entspricht dem Anzeigen aller Bibliotheken. Nicht vergessen zu speichern.",
"plexMovies": "Filme",
diff --git a/frontend/src/i18n/locales/de/plex.json b/frontend/src/i18n/locales/de/plex.json
index 89c013c..9a6ab69 100644
--- a/frontend/src/i18n/locales/de/plex.json
+++ b/frontend/src/i18n/locales/de/plex.json
@@ -47,7 +47,10 @@
"tracks": "Audio & Untertitel",
"audio": "Audio",
"subtitles": "Untertitel",
- "subOff": "Aus"
+ "subOff": "Aus",
+ "errNotFound": "Diese Datei kann nicht abgespielt werden — die Medien sind auf dem Server nicht erreichbar (die Plex-Medieneinbindung fehlt oder die Pfadzuordnung ist falsch). Bitte den Administrator, die Plex-Konfiguration zu prüfen.",
+ "errTranscode": "Das Format dieser Datei erfordert eine Transkodierung, die noch nicht unterstützt wird.",
+ "errGeneric": "Die Wiedergabe konnte nicht gestartet werden. Bitte erneut versuchen."
},
"playable": {
"direct": "Spielt direkt im Browser",
diff --git a/frontend/src/i18n/locales/en/config.json b/frontend/src/i18n/locales/en/config.json
index dc4242a..ac00434 100644
--- a/frontend/src/i18n/locales/en/config.json
+++ b/frontend/src/i18n/locales/en/config.json
@@ -194,6 +194,8 @@
"plexTestOk": "Connected to {{name}}",
"plexTestFailed": "Plex connection failed — check the URL and token",
"plexConnected": "Connected to {{name}} {{version}}",
+ "plexMediaOk": "Media mount OK — a sample file was found on disk.",
+ "plexMediaMissing": "Media not readable at {{path}} — check that the Plex media is bind-mounted into the container and that the path map is correct. Playback will fail until this is fixed.",
"plexPickLibraries": "Libraries to expose:",
"plexPickHint": "Unchecking all is the same as exposing every library. Remember to Save.",
"plexMovies": "Movies",
diff --git a/frontend/src/i18n/locales/en/plex.json b/frontend/src/i18n/locales/en/plex.json
index 1570159..d99d03e 100644
--- a/frontend/src/i18n/locales/en/plex.json
+++ b/frontend/src/i18n/locales/en/plex.json
@@ -47,7 +47,10 @@
"tracks": "Audio & subtitles",
"audio": "Audio",
"subtitles": "Subtitles",
- "subOff": "Off"
+ "subOff": "Off",
+ "errNotFound": "This file can't be played — the media isn't reachable on the server (the Plex media mount is missing or the path map is wrong). Ask the admin to check the Plex configuration.",
+ "errTranscode": "This file's format needs transcoding, which isn't supported yet.",
+ "errGeneric": "Playback couldn't start. Please try again."
},
"playable": {
"direct": "Plays directly in the browser",
diff --git a/frontend/src/i18n/locales/hu/config.json b/frontend/src/i18n/locales/hu/config.json
index 2bcee67..f4e165a 100644
--- a/frontend/src/i18n/locales/hu/config.json
+++ b/frontend/src/i18n/locales/hu/config.json
@@ -194,6 +194,8 @@
"plexTestOk": "Kapcsolódva: {{name}}",
"plexTestFailed": "A Plex-kapcsolat sikertelen — ellenőrizd az URL-t és a tokent",
"plexConnected": "Kapcsolódva: {{name}} {{version}}",
+ "plexMediaOk": "A media-mount rendben — egy mintafájl megtalálható a lemezen.",
+ "plexMediaMissing": "A média nem olvasható itt: {{path}} — ellenőrizd, hogy a Plex média be van-e mountolva a konténerbe, és hogy helyes-e az útvonal-leképezés. A lejátszás addig nem fog működni, amíg ez nincs javítva.",
"plexPickLibraries": "Megjelenítendő könyvtárak:",
"plexPickHint": "Ha egyiket sem jelölöd be, az az összes könyvtár megjelenítésével egyenértékű. Ne feledj menteni.",
"plexMovies": "Filmek",
diff --git a/frontend/src/i18n/locales/hu/plex.json b/frontend/src/i18n/locales/hu/plex.json
index 490e3ed..60c58ae 100644
--- a/frontend/src/i18n/locales/hu/plex.json
+++ b/frontend/src/i18n/locales/hu/plex.json
@@ -47,7 +47,10 @@
"tracks": "Audió és felirat",
"audio": "Audió",
"subtitles": "Felirat",
- "subOff": "Ki"
+ "subOff": "Ki",
+ "errNotFound": "Ez a fájl nem játszható le — a média nem érhető el a szerveren (hiányzik a Plex media-mount, vagy hibás az útvonal-leképezés). Kérd meg az adminisztrátort, hogy ellenőrizze a Plex beállításait.",
+ "errTranscode": "Ennek a fájlnak a formátuma transzkódolást igényel, ami még nem támogatott.",
+ "errGeneric": "A lejátszást nem sikerült elindítani. Próbáld újra."
},
"playable": {
"direct": "Közvetlenül játszható a böngészőben",
diff --git a/frontend/src/lib/api.ts b/frontend/src/lib/api.ts
index 492da09..7a8df7d 100644
--- a/frontend/src/lib/api.ts
+++ b/frontend/src/lib/api.ts
@@ -622,6 +622,14 @@ export interface PlexTestResult {
server_name: string;
version?: string;
sections: PlexSection[];
+ // Whether a sample media file resolved + was readable through the local mount (bind-mount +
+ // path-map check). checked=false when the library is empty (nothing to probe yet).
+ media_check?: {
+ checked: boolean;
+ ok?: boolean;
+ plex_path?: string;
+ local_path?: string;
+ };
}
// Plex browse/search/drill-down (the mirrored catalog rendered as feed-style cards).
diff --git a/frontend/src/lib/releaseNotes.ts b/frontend/src/lib/releaseNotes.ts
index e5585f0..c89c59a 100644
--- a/frontend/src/lib/releaseNotes.ts
+++ b/frontend/src/lib/releaseNotes.ts
@@ -14,6 +14,17 @@ export interface ReleaseEntry {
}
export const RELEASE_NOTES: ReleaseEntry[] = [
+ {
+ version: "0.23.1",
+ date: "2026-07-05",
+ summary: "Clearer Plex playback errors, and an admin media-mount check.",
+ fixes: [
+ "Plex player: when a video can't start, it now explains why — the media file isn't reachable on the server, or its format needs transcoding — instead of showing “Loading…” forever.",
+ ],
+ features: [
+ "Admins: the Plex “Test connection” now also checks that a real media file is readable through the configured mount, so a missing media mount or a wrong path map is caught immediately.",
+ ],
+ },
{
version: "0.23.0",
date: "2026-07-05",