github c4lyp5o/eziarr v1.2.0

2 hours ago

Non-English grabs now work (#41)

Every non-English force-grab used to be dead in the water — Radarr rejected with English is wanted, but found <lang> and the bypass only swapped qualityProfileId, never the language that actually lives on qualityProfile.language.

  • Guarded language gate, run before any mutation: reads release/push's languages vs the title's originalLanguage. A wrong-language release is refused outright with the reason — no profile swap, no API writes — unless forceLanguage: true is passed.
  • Radarr bypass: swaps the movie onto a temporary Any-language (id -1) quality profile, re-pushes, then restores the original profile and deletes the temp profile in finally (no leak — verified 6 → 6).
  • Sonarr fails honestly: its languageprofile POST/PUT return 202 but never persist, so there is no writable path; it now reports why instead of silently no-oping. Dead languageProfileId branch removed.

Import verification (#40)

Scan the drop folder, not the file path, and verify the import actually produced a file rather than trusting an accepted command.

Housekeeping

  • In-range dependency updates (axios 1.20, elysia 1.4.30, react 19.3.0, vite 8.3.2, …). Majors deliberately held back: typescript 5→7, vitest 4→5, @types/bun.
  • Version bump to 1.2.0.

Verification

  • bun test → 64 pass / 0 fail, 8 files on the promoted tip.
  • vite build ✓.
  • Live end-to-end on Radarr: Run Lola Run (German) force-grabbed — grabbed in Radarr history, queue downloading, temp profile cleaned up, movie restored to its original profile and tags.

Don't miss a new eziarr release

NewReleases is sending notifications on new releases.