Repository navigation
0.1.3
User-reported bug fixes (0.1.2 → 0.1.3)
🌐 Most titles came back as English even with Metadata language = zh-CN
Root cause (took some research to nail): TMDB moderators sometimes lock the title field on a zh-CN translation row to blank — especially for movies without an official mainland release. The API does not auto-fall-back to other Chinese variants when this happens; it returns the English original. The TMDB website does fall back, which is why https://www.themoviedb.org/movie/772?language=zh-CN shows "小鬼当家2" but the API call returned "Home Alone 2".
Fix: switched the TMDB request to ?language=X&append_to_response=translations and added a client-side picker that walks the translations array. For zh-CN we now try CN → TW → HK → SG → any other zh entry until a non-empty title is found. Same pattern Jellyfin / Radarr / tinyMediaManager all use.
After upgrading: re-sync to pull the corrected titles.
🖼️ Posters mostly missing after enabling Metadata language
Same root cause as above — TMDB returns poster_path: null for movies without a poster tagged in the requested language. Fix: when a localized request returns null, the plugin now retries the same call without the language parameter to get the default poster. One extra call only for items missing a localized poster; most items don't pay this cost.
⏳ Sync felt frozen on large libraries
Replaced the Promise.all burst (1000+ simultaneous TMDB requests) with a bounded-concurrency pool (5 in flight). What changed:
- Live progress in the status bar —
⟳ Loading metadata: 200/1231updates as items complete - Massively less rate-limit risk — previously the burst could saturate TMDB's 50 req/s bucket and silently drop posters / translations to swallowed 429s. This is likely a contributing factor to the missing-poster reports
- Same treatment applied to the Trakt
/translationsfallback path
📊 Obsidian Bases support — already works, just needed docs
Your trakt_poster_url field is out-of-the-box compatible with Obsidian Bases (1.9.3+). No code change needed — added a "View in Bases" section to all 9 README languages explaining:
- Card view: set Image property to
trakt_poster_url - Table view (1.9.4+): formula column
image(note.trakt_poster_url)
📝 Title / Tagline template confusion
Clarified in the MANUAL (4 languages) that:
- There's no separate "Title" field — title is the filename (controlled by Filename template) and
{{title}}variable for the body. Add# {{title}}to your template to show it as a heading - Tagline format is fully editable in the Movie template directly (
> {{tagline}}is just one option)
Tests
132/132 smoke tests passing — 15 new cases covering pickBestTranslation (blank-title fallback, main-response trust, no-translation null, TV name vs title) and processWithConcurrency (bounded in-flight count, progress callback per completion).
Coexistence note
If you're upgrading from 0.1.2 with existing notes, just re-sync — the plugin will pick up corrected Chinese titles and update each note's frontmatter in place. Your hand-written body content is not touched.