Commit Graph

10 Commits

Author SHA1 Message Date
alexandrev-tibco f4e1aef8d5 1.1.4 (50): TestFlight upload — switch to ASC API key auth
Build 50 uploaded to TestFlight. Also migrates Fastfile from
Apple ID + app-specific-password to App Store Connect API key
(via pass) to avoid session expiry on future uploads.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-27 19:36:49 +02:00
alexandrev-tibco 0103ee98c6 1.1.2: add EULA link to app descriptions (6 languages)
Required by App Store for apps with auto-renewable subscriptions.
Uses standard Apple EULA: https://www.apple.com/legal/internet-services/itunes/dev/stdeula/

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21 23:00:36 +02:00
alexandrev-tibco d09e8a7bee 1.1.2 (47): fix subscription purchase button fallback
Remove legacy CONSUMABLE fallback from monthlyProduct — when the
subscription fails to load, the UI now shows the retry state instead
of silently offering the legacy one-time product for purchase.
Legacy purchasers retain access via hasActiveSubscription() as before.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21 19:58:57 +02:00
alexandrev-tibco 89b35dc4ae 1.1.1 (46): subscription IAP, export compliance, metadata
- Switch premium to AutoRenewable subscription (com.mealmood.premium.monthly.sub);
  legacy one-time purchasers retain lifetime access via StoreManager fallback
- Add ITSAppUsesNonExemptEncryption=false to Info.plist (no custom encryption)
- Update storekit config with both legacy NonConsumable and new subscription
- Bump version 1.1.1 build 46; update fastlane metadata and release notes (6 langs)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 11:28:14 +02:00
alexandrev-tibco 4ac81d6223 1.0.6: Fix widget version, bump to build 41, fix Fastfile signing
- MealMoodWidget CFBundleShortVersionString: 1.0.3 → 1.0.6 (fixes ITMS-90473)
- App + Widget build number: 40 → 41 (App Store release build)
- Fastfile: add manageAppVersionAndBuildNumber: false to EXPORT_OPTIONS
  to prevent xcodebuild from requiring App Store Connect during export

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 08:36:31 +02:00
alexandrev-tibco 237394c7d5 1.0.6: App Store metadata — release notes and promotional texts in 6 languages
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 00:02:13 +02:00
alexandrev-tibco 92f97f855d Fix: trim promotional_text to ≤170 chars for App Store Connect
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 23:30:32 +02:00
alexandrev-tibco 797b5cfa24 1.0.5: Update App Store metadata in 6 languages with Eating Out and Rule Violations features
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 18:35:31 +02:00
alexandrev-tibco 110807d239 1.0.5: Eating out slots, rule violations panel, Crashlytics, search bar fix
- Eating out: tap any empty slot → "Mark as eating out"; shows teal indicator,
  skipped by auto-assign, counts as complete, tap again to unmark
- Rule violations panel: access via wand long-press context menu when conflicts exist;
  shows all isRuleOverridden slots with Fix (clear) or Ignore (acknowledge) actions
- Firebase Crashlytics integrated: CrashlyticsService + dSYM upload build phase,
  isPremium property tracked per session
- PremiumSyncService: extracted premium state machine, StoreKit Transaction.updates
  listener, isPremium no longer synced via iCloud to avoid stale state
- StoreManager: analytics on purchase/restore, bundle ID fallback for product ID lookup
- Search bar contrast bug fixed: TextField now has explicit foreground color for dark mode
- WelcomeStepView: redesigned onboarding welcome screen with week preview
- Version bump: 1.0.5 build 22

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 09:48:20 +02:00
alexandrev-tibco 6c7e12b41f 1.0.4: Smarter auto-assign, quick dish entry, calendar fix, frictionless onboarding
- AutocompleteEngine: no-repeat rule now applies to all dishes (not just tagless ones); fallback still allows repeats when no alternative exists
- CalendarService: update existing events instead of delete+create to prevent duplicates; fix weekStartDate using plan date instead of currentWeekStart
- DishFormView: form stays open after saving in create mode for quick multi-dish entry; Done button to close; saved feedback banner
- OnboardingViewModel/FirstDishesStepView: dishes are now optional during onboarding; Finish button always enabled
- AnalyticsService: new events — onboarding_step_viewed(step) and auto_assign_used(filled, unfilled)
- Localization: dish_done and first_dishes_optional_hint added in 6 languages; release notes updated in all 6 languages
- Version bump: 1.0.3 → 1.0.4 (build 19)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 11:35:50 +02:00