Back to Provenance

2980

.changelog/2980.md

3.3.11.7 KB
Original Source

Fixed

  • Spotlight/Siri Game Search — Games were not surfacing in Spotlight/Siri search results because CSSearchableItemAttributeSet.contentType was being overwritten with invalid non-UTI strings (e.g. "Nintendo Entertainment System") in four indexing paths, causing Spotlight to reject or deprioritize the entries. Save states were unaffected because their contentType remained the valid public.data UTI. The invalid contentType assignment is now removed; the existing subject field already captures the platform info. Also adds a missing supportsAppGroups guard in IndexRequestHandler.reindexAllSearchableItemsWithAcknowledgementHandler so that re-index requests correctly bail out when the shared Realm is unreachable from the extension sandbox. Additionally fixes save-state index entries to set the title attribute (not just displayName) for consistency with game entries.
  • Spotlight Content Types — Now uses the proper registered Provenance UTIs (com.provenance.rom for games, com.provenance.savestate for save states) instead of the generic public.data type. These UTIs are exported in the app's Info.plist via UTExportedTypeDeclarations (added in #2864), allowing Spotlight and Siri to classify and group Provenance content more precisely.
  • Per-Game Spotlight Indexing — Games are now indexed in Spotlight immediately when imported, and re-indexed when metadata or artwork is updated. Previously, games were only indexed during a full batch reindex at boot (with a 30-second timeout that silently dropped games in large libraries). The boot-time timeout is now 120 seconds, batch indexing runs off the main actor, and NSUserActivity.isEligibleForPrediction is set so Siri can proactively suggest games