From 2deb84aa4254c1108abfd1ac2431247942dde5cc Mon Sep 17 00:00:00 2001 From: Matthew Raymer Date: Tue, 11 Nov 2025 08:14:04 +0000 Subject: [PATCH] fix: Store starred plans in SharedPreferences when configuring native fetcher - Add updateStarredPlans call in configureNativeFetcher to store starred plan IDs in SharedPreferences for the native fetcher to use - Clear starred plans if none provided to ensure state consistency - Add starredPlansCount to configuration log for debugging This fixes the issue where the native fetcher was querying the API with an empty planIds array because starred plans weren't being stored in SharedPreferences. Now when configureNativeFetcher is called with starredPlanHandleIds, they are properly stored and available for background prefetch operations. Also updates package-lock.json for daily-notification-plugin v1.0.11. --- package-lock.json | 2 +- .../platforms/CapacitorPlatformService.ts | 23 +++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index be618479..912ecdc5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -152,7 +152,7 @@ }, "../daily-notification-plugin": { "name": "@timesafari/daily-notification-plugin", - "version": "1.0.8", + "version": "1.0.11", "license": "MIT", "workspaces": [ "packages/*" diff --git a/src/services/platforms/CapacitorPlatformService.ts b/src/services/platforms/CapacitorPlatformService.ts index 68d65bb5..ee50b0e6 100644 --- a/src/services/platforms/CapacitorPlatformService.ts +++ b/src/services/platforms/CapacitorPlatformService.ts @@ -1716,11 +1716,34 @@ export class CapacitorPlatformService jwtToken, }); + // Step 5: Update starred plans if provided + // This stores the starred plan IDs in SharedPreferences for the native fetcher + if ( + config.starredPlanHandleIds && + config.starredPlanHandleIds.length > 0 + ) { + await DailyNotification.updateStarredPlans({ + planIds: config.starredPlanHandleIds, + }); + logger.info( + `[CapacitorPlatformService] Updated starred plans: ${config.starredPlanHandleIds.length} plans`, + ); + } else { + // Clear starred plans if none provided + await DailyNotification.updateStarredPlans({ + planIds: [], + }); + logger.info( + "[CapacitorPlatformService] Cleared starred plans (none provided)", + ); + } + logger.info("[CapacitorPlatformService] Configured native fetcher", { activeDid, apiServer, tokenExpirationHours: 72, tokenExpirationMinutes: expirationMinutes, + starredPlansCount: config.starredPlanHandleIds?.length || 0, }); } catch (error) { logger.error(