Your calm window into the Atmosphere. Mirror of https://github.com/hfrdmnk/morgenblau morgen.blue

Design polish: Newsreader serif, newspaper consume, deferred fetch #21

Merged dominikhofer.me
targeting main
Merged opened by and assigned to dominikhofer.me
targeting main

Summary #

  • Type & atmosphere polish: introduce Newsreader serif (drop Caveat), thinner scrollbars, deeper atmosphere blue
  • Rebuild /consume as a newspaper-style digest with favicons, content-type icons, and inline microblogs
  • Replace client-side digest-status polling with an Inertia deferred-prop wait — the skeleton stays up until pending feed fetches resolve, then entries drop in
  • Server-side favicon discovery via php-feed-io/favicon-io
  • Drop the manual SourceType flag; let each entry's ContentType drive its UI
  • Consolidate migrations to one file per table

Bug fixes along the way #

  • Atom feeds: prefer <published> over <updated> for the entry date
  • dispatchFetches: stamp last_dispatched_at per iteration (was stamped once outside the loop, so wait predicates missed mid-batch dispatches)

Architecture #

  • FeedEntryRepository → EntriesQuery (app/Queries/Digest)
  • Extract FeedJobDispatcher from FeedRefreshScheduler; add FeedRefreshScheduler::waitForPendingFetches (18s deadline)
  • Extract FaviconDiscovererInterface for cleaner test doubles
  • Add MicroblogBodyNormalizer for Mastodon-style feeds

This pull request has no versions submitted yet.