github hankscafe/omnibus v1.4.3
Omnibus v1.4.3

3 hours ago

v1.4.3 - series follows, the Updates feed, My Pull List, faster covers, ComicInfo defaults, Search Match

🚀 Highlights

  • Follow your series: every user can now follow the series they care about - a bell button lives on the series page, library cards, the selection bar, calendar entries, and the Recently Added shelf. Following is personal curation and never touches monitoring or downloads. Requesting a series follows it automatically, and existing requests are backfilled as follows on first boot.
  • The Updates feed: a new page showing which issues arrived in your followed series over the last 30 days - grouped by day, same-day arrivals clustered per series, with unread dots and an unread-only filter. Your profile gains a collapsible Updates section with the latest arrivals and a View All doorway to the full feed.
  • Follow arrivals light the bell: the header notification bell shows one summary line - "N New Issues In Your Follows" - and clears once you visit the feed.
  • My Pull List: the release calendar's new default tab shows upcoming releases for the series you follow - your personal pull list. The classic server-wide monitored view is unchanged, one tab over.
  • Covers load light and cache hard: library views now request right-sized WebP thumbnails (a 3 MB stored cover arrives as ~120 KB), rendered once and cached on disk server-side, with proper ETags - so a next-day refresh is a handful of 304s instead of re-downloading every cover. OPDS cover responses are byte-for-byte unchanged.
  • ComicInfo defaults, everywhere: set series-level defaults for the full ComicInfo tag set (imprint, age rating, language, credits, tags and more - 28 fields) in a new tabbed editor, available in both the Smart Matcher and the series editor. Values embed into ComicInfo.xml, scans read them back, and series.json carries imprint and age rating - so even a wipe-and-rescan restores everything. Built for libraries the providers don't cover. (#199, concept and prototype by CapitanoNemo78)
  • UMASK support: both containers honor the standard UMASK environment variable and create new library folders accordingly - no more read-only series folders on shared storage. Opt-in; unset keeps today's behavior exactly. (#199)
  • Search Match: manually matching an item in the Smart Matcher now starts with a name search - type the series, pick from a results list with covers, publisher, year and issue count - instead of hunting a provider ID on ComicVine or Metron. The exact-ID lookup is still there, one click deeper under "Match by exact provider ID". (#199, concept by CapitanoNemo78)

🛠️ More fixes and improvements

  • No more surprise logouts when the database blips: a failed session check now defers to the next cycle instead of signing everyone out
  • ComicVine synopsis links no longer 404: relative wiki links in descriptions resolve against the provider's site, and descriptions from all providers are sanitized consistently
  • Smart Matcher: choosing the comic's own cover art no longer re-embeds that page into the archive as a duplicate 000_cover page - only uploaded covers embed (#199)
  • Metron volume lookups now return their real issue list, so the Smart Matcher's Issue Mapping auto-fills exact issue IDs on Metron just like on ComicVine (#199)
  • Reading lists: a toolbar Refresh re-runs server linking (admins also refresh linked series metadata), plus per-row missing re-check and resync actions
  • Reading history: search, five sort orders, and grid/compact/list views, all remembered between visits
  • Story-arc requests can add the series the arc needs: an opt-in Auto-Build toggle adds every missing series as monitored so the arc can actually fill
  • Under the hood: the test suite was overhauled and runs about twice as fast, and the v1.4.2 library-scroll fix now has its client-side behavior pinned by tests

📦 Upgrading

Standard three-service compose: docker compose pull && docker compose down && docker compose up -d. Schema changes are additive and apply automatically on boot; SQLite and PostgreSQL both covered. Optional: set UMASK (e.g. UMASK=002 in your .env with the bundled compose) if your library lives on shared storage. The web container keeps its new cover-thumbnail cache under /config/cache - it grows on first browse, then plateaus (unused entries are reaped weekly).

Thanks to CapitanoNemo78 for the reports, the ComicInfo defaults concept and prototype, and same-day field testing throughout this cycle.

Don't miss a new omnibus release

NewReleases is sending notifications on new releases.