ROOT CAUSE (proven by A/B test on-device): the small widget's custom intent (FuelBoardSmallWidgetConfigurationIntent with favouriteFuel + favourite AppEntity params) fails fresh-widget default-config resolution at the system level — the whole default config fails, no timeline is ever requested, makeEntry never runs, widget stays on the skeleton. A minimal small widget sharing the MEDIUM intent (fuel/sort/distance only) populated immediately in the same extension on the same device. Neither removing defaultResult() (4d35b08) nor the @IntentParameterDependency (8a9e775) helped — the extra entity params themselves break resolution. FIX: FuelPriceSmallWidget now uses FuelBoardWidgetConfigurationIntent exactly like the working test widget. FuelBoardSmallWidgetConfiguration Intent, FavouriteFuel(+Query), WidgetFavourite(+Query) deleted; the pinned-favourite picker is gone (approved tradeoff). Favourites sort still works on both faces via the list branch — the small face renders the cheapest favourite of the chosen fuel. Beacon tag distinguishes the small widget in diagnostics; test widget removed, gallery order restored (small, medium, live activity).
13 lines
289 B
Swift
13 lines
289 B
Swift
import WidgetKit
|
|
import SwiftUI
|
|
|
|
@main
|
|
struct FuelBoardWidgetsBundle: WidgetBundle {
|
|
var body: some Widget {
|
|
// Gallery order follows registration order: small first, then medium.
|
|
FuelPriceSmallWidget()
|
|
FuelPriceWidget()
|
|
FuelBoardLiveActivity()
|
|
}
|
|
}
|