fix(plex): summaries and taglines are stored as plain text

A Plex agent can hand a summary over as HTML (<p> paragraphs, &aacute;
entities); the info page and the hover card showed the tags. One cleaner,
app/plex/plaintext.py, now runs on every summary and tagline the sync, the
Hungarian overlay and the rich-detail fetch store, and migration 0101 cleans
the rows written before through the same function. Paragraph breaks survive
as newlines, which the info page and the hover card now keep.
This commit is contained in:
2026-10-09 00:06:02 +02:00
parent 75f4efde98
commit 6dd82ef5e2
8 changed files with 216 additions and 8 deletions
+1 -1
View File
@@ -468,7 +468,7 @@ export default function PlexInfo({
{detail.summary && (
<p
className={`measure mt-3 text-sm leading-relaxed ${overlay ? "text-white/85 line-clamp-5" : ""}`}
className={`measure mt-3 whitespace-pre-line text-sm leading-relaxed ${overlay ? "text-white/85 line-clamp-5" : ""}`}
>
{detail.summary}
</p>
+5 -1
View File
@@ -36,7 +36,11 @@ export function MediaPreview({
>
<p className="text-sm font-semibold leading-snug text-fg">{title}</p>
{facts && <div className="mt-0.5 text-xs text-muted">{facts}</div>}
{summary && <p className="mt-2 line-clamp-8 text-xs leading-relaxed text-fg">{summary}</p>}
{summary && (
<p className="mt-2 line-clamp-8 whitespace-pre-line text-xs leading-relaxed text-fg">
{summary}
</p>
)}
</PopoverSurface>
);
}