Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion LoopFollow/ViewControllers/MainViewController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -145,29 +145,33 @@ class MainViewController: UIViewController, UITableViewDataSource, ChartViewDele
// Capture before migrations run: true for existing users, false for fresh installs.
let isExistingUser = Storage.shared.migrationStep.exists

// Step 1: Released in v3.0.0 (2025-07-07). Can be removed after 2026-07-07.
if Storage.shared.migrationStep.value < 1 {
Storage.shared.migrateStep1()
Storage.shared.migrationStep.value = 1
}

// Step 2: Released in v3.1.0 (2025-07-21). Can be removed after 2026-07-21.
if Storage.shared.migrationStep.value < 2 {
Storage.shared.migrateStep2()
Storage.shared.migrationStep.value = 2
}

// Step 3: Released in v4.5.0 (2026-02-01). Can be removed after 2027-02-01.
if Storage.shared.migrationStep.value < 3 {
Storage.shared.migrateStep3()
Storage.shared.migrationStep.value = 3
}

// TODO: This migration step can be deleted in March 2027. Check the commit for other places to cleanup.
// Step 4: Released in v5.0.0 (2026-03-20). Can be removed after 2027-03-20.
if Storage.shared.migrationStep.value < 4 {
// Existing users need to see the fat/protein order change banner.
// New users never saw the old order, so mark it as already seen.
Storage.shared.hasSeenFatProteinOrderChange.value = !isExistingUser
Storage.shared.migrationStep.value = 4
}

// Step 5: Released in v5.0.0 (2026-03-20). Can be removed after 2027-03-20.
if Storage.shared.migrationStep.value < 5 {
Storage.shared.migrateStep5()
Storage.shared.migrationStep.value = 5
Expand Down