6c7e12b41f
- 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>
32 lines
933 B
Ruby
32 lines
933 B
Ruby
default_platform(:ios)
|
|
|
|
# Credentials are managed via `pass` (GPG + Gitea).
|
|
# Usage: pass show apple/mealmood/<key>
|
|
# Required before running lanes:
|
|
# export FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD=$(pass show apple/mealmood/app-specific-password-fastlane)
|
|
|
|
platform :ios do
|
|
desc "Push a new beta build to TestFlight"
|
|
lane :beta do
|
|
increment_build_number(xcodeproj: "MealMood.xcodeproj")
|
|
build_app(
|
|
scheme: "MealMood",
|
|
export_method: "app-store",
|
|
sdk: "iphoneos26.4",
|
|
export_xcargs: "-allowProvisioningUpdates"
|
|
)
|
|
upload_to_testflight(skip_waiting_for_build_processing: true)
|
|
end
|
|
|
|
desc "Push a new release build to the App Store"
|
|
lane :release do
|
|
increment_build_number(xcodeproj: "MealMood.xcodeproj")
|
|
build_app(
|
|
scheme: "MealMood",
|
|
sdk: "iphoneos26.4",
|
|
export_xcargs: "-allowProvisioningUpdates"
|
|
)
|
|
upload_to_app_store(force: true)
|
|
end
|
|
end
|