Back to Provenance

3312

.changelog/3312.md

3.3.11.7 KB
Original Source

Fixed

  • ThumbnailProvider double-handler bug — Extension previously called the completion handler twice, causing undefined behaviour; now calls it exactly once in all code paths.

Added

  • ROM artwork thumbnails in Files app — ThumbnailExtension now looks up the matching game in the shared Realm database by ROM filename and returns the cached box art as the QuickLook thumbnail. Falls back to a branded "P" placeholder when no artwork is available.
  • CPDI abstraction for ThumbnailExtension — Introduced ThumbnailArtworkDriver (Core Persistence Driver Interface) protocol so the persistence backend (Realm today, SwiftData in future) can be swapped without touching QL thumbnail logic. RealmThumbnailArtworkDriver provides the Realm implementation. Save state screenshot lookup added alongside ROM artwork lookup.
  • App Group–aware artwork URL resolutionThumbnailProvider now checks the App Group container (<group>/Documents/PVCache/<hash>) before falling back to local documents, ensuring extensions in the shared group reliably find cached artwork written by the main app regardless of extension-process UserDefaults state.
  • PVLibrary framework linkage for ThumbnailExtension — Wired PVLibrary into the ThumbnailExtension Xcode target so Realm and PVMediaCache are accessible from the extension process.
  • QuickLookPreview data-based preview scaffolding — Updated PreviewProvider.swift with a complete HTML card implementation (box art, title, system, developer/year, genre, play count) ready for use once the build target is created (#3310). Updated Info.plist to use QLIsDataBasedPreview = true and NSExtensionPrincipalClass.