Skip to content

v0.4.86

Choose a tag to compare

@github-actions github-actions released this 19 Jun 01:33
· 9 commits to main since this release

0.4.86

  • Improve badge rendering, assets and cache versions (a788141)
    Multiple fixes and enhancements to badge rendering, asset sources, and cache versions:

    • UI: default poster ratings layout changed from 'top' to 'bottom' and payload handling updated to ignore posterRatingsLayout when posterConfiguratorPreset is 'simple'.
    • SVG: add special-case SVG generation for badges with an icon but no label to render icon + rank properly (with glow layers and optional box).
    • Image pipeline: bump provider icon cache version (v17 -> v19).
    • Image renderer: several layout and collision-avoidance improvements — clamped quality badge height, row alignment options (left/center/right), track/align quality, ranking and genre positions so they can share rows when safe, adjust gaps/overlays, and move genre composition to avoid clipping.
    • Rating metadata: replace multiple stream badge icon URLs and adjust icon width ratios to new asset repository; exclude 'quality' and 'audio' categories when building stream badges from flags to avoid duplicates.
    • Routing/cache: bump final image renderer cache version to v220.
    • TMDB: simplify ranking label logic to default to 'Today' and return empty for WEEKLY/MONTHLY in some cases.
    • Misc: add /scripts to .gitignore and bump package version to 0.4.86.

    These changes address visual clipping, badge collisions, asset consistency, and cache invalidation for updated assets.

  • Update imageRenderer.ts (ce296c3)

  • Use cachedFetch for TMDB and fix dedupe timer (3d5194c)
    Replace manual in-memory TMDB/text fetch caches with fetchJsonCached/fetchTextCached (using TMDB_CACHE_TTL_MS) in proxyMetaTransform.ts, add PhaseDurations import and an emptyPhases helper, and simplify fetchTmdbJson/fetchText to use the cached fetch responses. Also fix a potential timeout handle leak in routeShared.ts by tracking the dedupe timeout timer and clearing it in finally. (tsbuildinfo updated by the build.)

  • Silently catch fetchPromise in withDedupe (c686fd1)
    Store the result of factory() in fetchPromise and use it in Promise.race to avoid invoking factory twice. Attach a silent .catch handler to fetchPromise to prevent unhandled rejection warnings in Node.js if the promise rejects after the race has already settled due to a timeout. Adds a brief explanatory comment.
    Full Changelog: v0.4.85...v0.4.86