release: 0.66.0 — E5 Plex epic (scoped search, HU localization, toolbar/header)

Ships the E5 sprint stack (S1–S7): field-scoped Plex search + typeahead, cast &
crew pages, the HU-overlay Hungarian metadata + language-aware serving, the
IMDb/audience rating split, the toolbar relocation, and the narrow/mobile header
fix — plus the underlying Plex-module refactors (feedquery/plex.cards/plex.query
extraction, db.query→2.0 select).

- VERSION 0.65.2 → 0.66.0
- releaseNotes.ts: 0.66.0 user-facing entry
- prettier-format the E5-touched frontend files (release hygiene)

Merged main (0.65.2 download-gc hotfix) in first; no code conflicts (E5 is
Plex-only, the hotfix was notifications/downloads).
This commit is contained in:
2026-08-17 22:18:07 +02:00
parent cee0bc95b6
commit b605c28b32
8 changed files with 42 additions and 28 deletions
@@ -19,7 +19,11 @@ vi.mock("react-i18next", async (importOriginal) => {
vi.mock("../lib/useDebounced", () => ({ useDebounced: (v: unknown) => v }));
// Controllable provider — PlexSearchBox reads q/scope/field and calls setQ/setField/setJumpTo.
const plexState = { scope: "both", field: "all", q: "" } as { scope: string; field: string; q: string };
const plexState = { scope: "both", field: "all", q: "" } as {
scope: string;
field: string;
q: string;
};
// setQ writes back to plexState.q so a typed value flows through to `dq` on the next render (the real
// provider persists it) — lets the reopen test assert a fresh query fires on retype, not just that
// the panel re-appears from cache.