4d35b085339e570427ce81e85912c2259824e56a
The small-widget skeleton (fresh widget stranded on the placeholder while the medium populated in the gallery) traced to the small intent's default configuration resolution: FavouriteFuelQuery/WidgetFavouriteQuery defaultResult() read keychain in the gallery-preview/fresh-add path, failing the whole default config and leaving no timeline. Configured widgets bypassed defaultResult (stored values → lenient entities) — the exact favourites-works/cheapest-closest-doesn't split. - Remove defaultResult() from both queries: fresh configs now resolve from the static @Parameter(default:) values through lenient entities(for:) with ZERO storage reads. - WidgetFavouriteQuery.entities(for:) skips the keychain name lookup for id-only (empty station) values. - Auto-populate moves to makeEntry: empty pinned favourite → first favourite of the fuel (same rendered result as the old sheet default). - Sheet keeps the dependent picker via suggestedEntities() + dependency; fresh widgets show static defaults until picked (approved tradeoff).
Description
FuelBoard iOS app - England-wide petrol station prices (widget + app)
150 MiB
Languages
Swift
99%
Shell
1%