From c10fa48bf59df14fad1f7f41a0aa3af686fa6da0 Mon Sep 17 00:00:00 2001 From: Atridad Lahiji Date: Mon, 6 Oct 2025 11:54:36 -0600 Subject: [PATCH] [iOS & Android] iOS 1.2.4 & Android 1.7.3 --- android/app/build.gradle.kts | 4 +- .../data/repository/ClimbRepository.kt | 13 +-- .../openclimb/data/sync/SyncService.kt | 48 +++++++++++- .../atridad/openclimb/SyncMergeLogicTest.kt | 57 ++++++++++++++ ios/OpenClimb.xcodeproj/project.pbxproj | 16 ++-- .../UserInterfaceState.xcuserstate | Bin 134000 -> 133094 bytes ios/OpenClimb/Services/SyncService.swift | 46 ++++++++++- .../ViewModels/ClimbingDataManager.swift | 40 ++-------- .../ViewModels/LiveActivityManager.swift | 1 - ios/OpenClimbTests/OpenClimbTests.swift | 74 ++++++++++++++++++ 10 files changed, 245 insertions(+), 54 deletions(-) diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts index 67111a1..4e36638 100644 --- a/android/app/build.gradle.kts +++ b/android/app/build.gradle.kts @@ -16,8 +16,8 @@ android { applicationId = "com.atridad.openclimb" minSdk = 31 targetSdk = 36 - versionCode = 31 - versionName = "1.7.2" + versionCode = 32 + versionName = "1.7.3" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } diff --git a/android/app/src/main/java/com/atridad/openclimb/data/repository/ClimbRepository.kt b/android/app/src/main/java/com/atridad/openclimb/data/repository/ClimbRepository.kt index 453df81..0dc748b 100644 --- a/android/app/src/main/java/com/atridad/openclimb/data/repository/ClimbRepository.kt +++ b/android/app/src/main/java/com/atridad/openclimb/data/repository/ClimbRepository.kt @@ -79,12 +79,18 @@ class ClimbRepository(database: OpenClimbDatabase, private val context: Context) suspend fun insertSession(session: ClimbSession) { sessionDao.insertSession(session) dataStateManager.updateDataState() - triggerAutoSync() + // Only trigger sync for completed sessions + if (session.status != SessionStatus.ACTIVE) { + triggerAutoSync() + } } suspend fun updateSession(session: ClimbSession) { sessionDao.updateSession(session) dataStateManager.updateDataState() - triggerAutoSync() + // Only trigger sync for completed sessions + if (session.status != SessionStatus.ACTIVE) { + triggerAutoSync() + } } suspend fun deleteSession(session: ClimbSession) { sessionDao.deleteSession(session) @@ -109,17 +115,14 @@ class ClimbRepository(database: OpenClimbDatabase, private val context: Context) suspend fun insertAttempt(attempt: Attempt) { attemptDao.insertAttempt(attempt) dataStateManager.updateDataState() - triggerAutoSync() } suspend fun updateAttempt(attempt: Attempt) { attemptDao.updateAttempt(attempt) dataStateManager.updateDataState() - triggerAutoSync() } suspend fun deleteAttempt(attempt: Attempt) { attemptDao.deleteAttempt(attempt) dataStateManager.updateDataState() - triggerAutoSync() } suspend fun exportAllDataToZipUri(context: Context, uri: android.net.Uri) { diff --git a/android/app/src/main/java/com/atridad/openclimb/data/sync/SyncService.kt b/android/app/src/main/java/com/atridad/openclimb/data/sync/SyncService.kt index 3619d49..f3856c5 100644 --- a/android/app/src/main/java/com/atridad/openclimb/data/sync/SyncService.kt +++ b/android/app/src/main/java/com/atridad/openclimb/data/sync/SyncService.kt @@ -10,6 +10,7 @@ import com.atridad.openclimb.data.format.BackupGym import com.atridad.openclimb.data.format.BackupProblem import com.atridad.openclimb.data.format.ClimbDataBackup import com.atridad.openclimb.data.migration.ImageMigrationService +import com.atridad.openclimb.data.model.SessionStatus import com.atridad.openclimb.data.repository.ClimbRepository import com.atridad.openclimb.data.state.DataStateManager import com.atridad.openclimb.utils.DateFormatUtils @@ -564,14 +565,25 @@ class SyncService(private val context: Context, private val repository: ClimbRep val allSessions = repository.getAllSessions().first() val allAttempts = repository.getAllAttempts().first() + // Filter out active sessions and their attempts from sync + val completedSessions = allSessions.filter { it.status != SessionStatus.ACTIVE } + val activeSessionIds = + allSessions.filter { it.status == SessionStatus.ACTIVE }.map { it.id }.toSet() + val completedAttempts = allAttempts.filter { !activeSessionIds.contains(it.sessionId) } + + Log.d( + TAG, + "Sync exclusions: ${allSessions.size - completedSessions.size} active sessions, ${allAttempts.size - completedAttempts.size} active session attempts" + ) + return ClimbDataBackup( exportedAt = dataStateManager.getLastModified(), version = "2.0", formatVersion = "2.0", gyms = allGyms.map { BackupGym.fromGym(it) }, problems = allProblems.map { BackupProblem.fromProblem(it) }, - sessions = allSessions.map { BackupClimbSession.fromClimbSession(it) }, - attempts = allAttempts.map { BackupAttempt.fromAttempt(it) } + sessions = completedSessions.map { BackupClimbSession.fromClimbSession(it) }, + attempts = completedAttempts.map { BackupAttempt.fromAttempt(it) } ) } @@ -579,6 +591,20 @@ class SyncService(private val context: Context, private val repository: ClimbRep backup: ClimbDataBackup, imagePathMapping: Map = emptyMap() ) { + // Store active sessions and their attempts before reset + val activeSessions = + repository.getAllSessions().first().filter { it.status == SessionStatus.ACTIVE } + val activeSessionIds = activeSessions.map { it.id }.toSet() + val activeAttempts = + repository.getAllAttempts().first().filter { + activeSessionIds.contains(it.sessionId) + } + + Log.d( + TAG, + "Preserving ${activeSessions.size} active sessions and ${activeAttempts.size} active attempts during import" + ) + repository.resetAllData() backup.gyms.forEach { backupGym -> @@ -646,6 +672,24 @@ class SyncService(private val context: Context, private val repository: ClimbRep } } + // Restore active sessions and their attempts after import + activeSessions.forEach { session -> + try { + Log.d(TAG, "Restoring active session: ${session.id}") + repository.insertSessionWithoutSync(session) + } catch (e: Exception) { + Log.e(TAG, "Failed to restore active session '${session.id}': ${e.message}") + } + } + + activeAttempts.forEach { attempt -> + try { + repository.insertAttemptWithoutSync(attempt) + } catch (e: Exception) { + Log.e(TAG, "Failed to restore active attempt '${attempt.id}': ${e.message}") + } + } + dataStateManager.setLastModified(backup.exportedAt) Log.d(TAG, "Data state synchronized to imported timestamp: ${backup.exportedAt}") } diff --git a/android/app/src/test/java/com/atridad/openclimb/SyncMergeLogicTest.kt b/android/app/src/test/java/com/atridad/openclimb/SyncMergeLogicTest.kt index 27699f2..e73c549 100644 --- a/android/app/src/test/java/com/atridad/openclimb/SyncMergeLogicTest.kt +++ b/android/app/src/test/java/com/atridad/openclimb/SyncMergeLogicTest.kt @@ -454,4 +454,61 @@ class SyncMergeLogicTest { dateString1 > dateString2 } } + + @Test + fun `test active sessions excluded from sync`() { + // Test scenario: Active sessions should not be included in sync data + // This tests the new behavior where active sessions are excluded from sync + // until they are completed + + val allLocalSessions = + listOf( + BackupClimbSession( + id = "active_session_1", + gymId = "gym1", + date = "2024-01-01", + startTime = "2024-01-01T10:00:00", + endTime = null, + duration = null, + status = SessionStatus.ACTIVE, + notes = null, + createdAt = "2024-01-01T10:00:00", + updatedAt = "2024-01-01T10:00:00" + ), + BackupClimbSession( + id = "completed_session_1", + gymId = "gym1", + date = "2023-12-31", + startTime = "2023-12-31T15:00:00", + endTime = "2023-12-31T17:00:00", + duration = 7200000, + status = SessionStatus.COMPLETED, + notes = "Previous session", + createdAt = "2023-12-31T15:00:00", + updatedAt = "2023-12-31T17:00:00" + ) + ) + + // Simulate filtering that would happen in createBackupFromRepository + val sessionsForSync = allLocalSessions.filter { it.status != SessionStatus.ACTIVE } + + // Only completed sessions should be included in sync + assertEquals("Should only include completed sessions in sync", 1, sessionsForSync.size) + + // Active session should be excluded + assertFalse( + "Should not contain active session in sync", + sessionsForSync.any { + it.id == "active_session_1" && it.status == SessionStatus.ACTIVE + } + ) + + // Completed session should be included + assertTrue( + "Should contain completed session in sync", + sessionsForSync.any { + it.id == "completed_session_1" && it.status == SessionStatus.COMPLETED + } + ) + } } diff --git a/ios/OpenClimb.xcodeproj/project.pbxproj b/ios/OpenClimb.xcodeproj/project.pbxproj index 09f6bcc..93a7176 100644 --- a/ios/OpenClimb.xcodeproj/project.pbxproj +++ b/ios/OpenClimb.xcodeproj/project.pbxproj @@ -465,7 +465,7 @@ CODE_SIGN_ENTITLEMENTS = OpenClimb/OpenClimb.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 14; + CURRENT_PROJECT_VERSION = 15; DEVELOPMENT_TEAM = 4BC9Y2LL4B; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; @@ -485,7 +485,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.2.3; + MARKETING_VERSION = 1.2.4; PRODUCT_BUNDLE_IDENTIFIER = com.atridad.OpenClimb; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -508,7 +508,7 @@ CODE_SIGN_ENTITLEMENTS = OpenClimb/OpenClimb.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 14; + CURRENT_PROJECT_VERSION = 15; DEVELOPMENT_TEAM = 4BC9Y2LL4B; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; @@ -528,7 +528,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.2.3; + MARKETING_VERSION = 1.2.4; PRODUCT_BUNDLE_IDENTIFIER = com.atridad.OpenClimb; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -592,7 +592,7 @@ ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground; CODE_SIGN_ENTITLEMENTS = SessionStatusLiveExtension.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 14; + CURRENT_PROJECT_VERSION = 15; DEVELOPMENT_TEAM = 4BC9Y2LL4B; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = SessionStatusLive/Info.plist; @@ -603,7 +603,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.2.3; + MARKETING_VERSION = 1.2.4; PRODUCT_BUNDLE_IDENTIFIER = com.atridad.OpenClimb.SessionStatusLive; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -622,7 +622,7 @@ ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground; CODE_SIGN_ENTITLEMENTS = SessionStatusLiveExtension.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 14; + CURRENT_PROJECT_VERSION = 15; DEVELOPMENT_TEAM = 4BC9Y2LL4B; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = SessionStatusLive/Info.plist; @@ -633,7 +633,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.2.3; + MARKETING_VERSION = 1.2.4; PRODUCT_BUNDLE_IDENTIFIER = com.atridad.OpenClimb.SessionStatusLive; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; diff --git a/ios/OpenClimb.xcodeproj/project.xcworkspace/xcuserdata/atridad.xcuserdatad/UserInterfaceState.xcuserstate b/ios/OpenClimb.xcodeproj/project.xcworkspace/xcuserdata/atridad.xcuserdatad/UserInterfaceState.xcuserstate index 942517724692490ede78dafcbbdc5dbd5d2168b0..a1aaa33b7af7f9b023644289d1572f46fdf85542 100644 GIT binary patch literal 133094 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

bSJQW(;?nTWzJ4&j^NSZ_uH@vZna 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
(f8AG9?A`!c*} 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

Oe3# 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 GkNyMGjjb2} diff --git a/ios/OpenClimb/Services/SyncService.swift b/ios/OpenClimb/Services/SyncService.swift index 3187b57..d4f5518 100644 --- a/ios/OpenClimb/Services/SyncService.swift +++ b/ios/OpenClimb/Services/SyncService.swift @@ -378,7 +378,6 @@ class SyncService: ObservableObject { print("Renamed local image: \(filename) -> \(consistentFilename)") // Update problem's image path in memory for consistency - // Note: This would require updating the problem in the data manager } catch { print("Failed to rename local image, using original: \(error)") } @@ -397,12 +396,24 @@ class SyncService: ObservableObject { private func createBackupFromDataManager(_ dataManager: ClimbingDataManager) -> ClimbDataBackup { + // Filter out active sessions and their attempts from sync + let completedSessions = dataManager.sessions.filter { $0.status != .active } + let activeSessionIds = Set( + dataManager.sessions.filter { $0.status == .active }.map { $0.id }) + let completedAttempts = dataManager.attempts.filter { + !activeSessionIds.contains($0.sessionId) + } + + print( + "iOS SYNC: Excluding \(dataManager.sessions.count - completedSessions.count) active sessions and \(dataManager.attempts.count - completedAttempts.count) active session attempts from sync" + ) + return ClimbDataBackup( exportedAt: DataStateManager.shared.getLastModified(), gyms: dataManager.gyms.map { BackupGym(from: $0) }, problems: dataManager.problems.map { BackupProblem(from: $0) }, - sessions: dataManager.sessions.map { BackupClimbSession(from: $0) }, - attempts: dataManager.attempts.map { BackupAttempt(from: $0) } + sessions: completedSessions.map { BackupClimbSession(from: $0) }, + attempts: completedAttempts.map { BackupAttempt(from: $0) } ) } @@ -412,6 +423,17 @@ class SyncService: ObservableObject { ) throws { do { + // Store active sessions and their attempts before import + let activeSessions = dataManager.sessions.filter { $0.status == .active } + let activeSessionIds = Set(activeSessions.map { $0.id }) + let activeAttempts = dataManager.attempts.filter { + activeSessionIds.contains($0.sessionId) + } + + print( + "iOS IMPORT: Preserving \(activeSessions.count) active sessions and \(activeAttempts.count) active attempts during import" + ) + // Update problem image paths to point to downloaded images let updatedBackup: ClimbDataBackup if !imagePathMapping.isEmpty { @@ -456,6 +478,24 @@ class SyncService: ObservableObject { // Use existing import method which properly handles data restoration try dataManager.importData(from: zipData, showSuccessMessage: false) + // Restore active sessions and their attempts after import + for session in activeSessions { + print("iOS IMPORT: Restoring active session: \(session.id)") + dataManager.sessions.append(session) + if session.id == dataManager.activeSession?.id { + dataManager.activeSession = session + } + } + + for attempt in activeAttempts { + dataManager.attempts.append(attempt) + } + + // Save restored data + dataManager.saveSessions() + dataManager.saveAttempts() + dataManager.saveActiveSession() + // Update local data state to match imported data timestamp DataStateManager.shared.setLastModified(backup.exportedAt) print("Data state synchronized to imported timestamp: \(backup.exportedAt)") diff --git a/ios/OpenClimb/ViewModels/ClimbingDataManager.swift b/ios/OpenClimb/ViewModels/ClimbingDataManager.swift index 4ee65b9..b35b34f 100644 --- a/ios/OpenClimb/ViewModels/ClimbingDataManager.swift +++ b/ios/OpenClimb/ViewModels/ClimbingDataManager.swift @@ -158,7 +158,7 @@ class ClimbingDataManager: ObservableObject { } } - private func saveSessions() { + internal func saveSessions() { if let data = try? encoder.encode(sessions) { userDefaults.set(data, forKey: Keys.sessions) // Share with widget - convert to widget format @@ -176,7 +176,7 @@ class ClimbingDataManager: ObservableObject { } } - private func saveAttempts() { + internal func saveAttempts() { if let data = try? encoder.encode(attempts) { userDefaults.set(data, forKey: Keys.attempts) // Share with widget - convert to widget format @@ -197,7 +197,7 @@ class ClimbingDataManager: ObservableObject { } } - private func saveActiveSession() { + internal func saveActiveSession() { if let activeSession = activeSession, let data = try? encoder.encode(activeSession) { @@ -326,9 +326,6 @@ class ClimbingDataManager: ObservableObject { saveSessions() DataStateManager.shared.updateDataState() - successMessage = "Session started successfully" - clearMessageAfterDelay() - // MARK: - Start Live Activity for new session if let gym = gym(withId: gymId) { Task { @@ -336,9 +333,6 @@ class ClimbingDataManager: ObservableObject { for: newSession, gymName: gym.name) } } - - // Trigger auto-sync if enabled - syncService.triggerAutoSync(dataManager: self) } func endSession(_ sessionId: UUID) { @@ -356,8 +350,6 @@ class ClimbingDataManager: ObservableObject { saveActiveSession() saveSessions() DataStateManager.shared.updateDataState() - successMessage = "Session completed successfully" - clearMessageAfterDelay() // Trigger auto-sync if enabled syncService.triggerAutoSync(dataManager: self) @@ -380,14 +372,14 @@ class ClimbingDataManager: ObservableObject { saveSessions() DataStateManager.shared.updateDataState() - successMessage = "Session updated successfully" - clearMessageAfterDelay() // Update Live Activity when session is updated updateLiveActivityForActiveSession() - // Trigger auto-sync if enabled - syncService.triggerAutoSync(dataManager: self) + // Only trigger sync if session is completed + if session.status != .active { + syncService.triggerAutoSync(dataManager: self) + } } } @@ -406,8 +398,6 @@ class ClimbingDataManager: ObservableObject { sessions.removeAll { $0.id == session.id } saveSessions() DataStateManager.shared.updateDataState() - successMessage = "Session deleted successfully" - clearMessageAfterDelay() // Update Live Activity when session is deleted updateLiveActivityForActiveSession() @@ -435,12 +425,6 @@ class ClimbingDataManager: ObservableObject { saveAttempts() DataStateManager.shared.updateDataState() - successMessage = "Attempt logged successfully" - - // Trigger auto-sync if enabled - syncService.triggerAutoSync(dataManager: self) - clearMessageAfterDelay() - // Update Live Activity when new attempt is added updateLiveActivityForActiveSession() } @@ -450,14 +434,9 @@ class ClimbingDataManager: ObservableObject { attempts[index] = attempt saveAttempts() DataStateManager.shared.updateDataState() - successMessage = "Attempt updated successfully" - clearMessageAfterDelay() // Update Live Activity when attempt is updated updateLiveActivityForActiveSession() - - // Trigger auto-sync if enabled - syncService.triggerAutoSync(dataManager: self) } } @@ -465,14 +444,9 @@ class ClimbingDataManager: ObservableObject { attempts.removeAll { $0.id == attempt.id } saveAttempts() DataStateManager.shared.updateDataState() - successMessage = "Attempt deleted successfully" - clearMessageAfterDelay() // Update Live Activity when attempt is deleted updateLiveActivityForActiveSession() - - // Trigger auto-sync if enabled - syncService.triggerAutoSync(dataManager: self) } func attempts(forSession sessionId: UUID) -> [Attempt] { diff --git a/ios/OpenClimb/ViewModels/LiveActivityManager.swift b/ios/OpenClimb/ViewModels/LiveActivityManager.swift index 980967d..7e6f4e3 100644 --- a/ios/OpenClimb/ViewModels/LiveActivityManager.swift +++ b/ios/OpenClimb/ViewModels/LiveActivityManager.swift @@ -131,7 +131,6 @@ final class LiveActivityManager { ) await currentActivity.update(.init(state: updatedContentState, staleDate: nil)) - print("Live Activity updated successfully") } /// Call this when a ClimbSession ends to end the Live Activity diff --git a/ios/OpenClimbTests/OpenClimbTests.swift b/ios/OpenClimbTests/OpenClimbTests.swift index 84f3b66..51b4159 100644 --- a/ios/OpenClimbTests/OpenClimbTests.swift +++ b/ios/OpenClimbTests/OpenClimbTests.swift @@ -252,4 +252,78 @@ final class OpenClimbTests: XCTestCase { XCTAssertNotNil(parsedDate) XCTAssertEqual(date.timeIntervalSince1970, parsedDate!.timeIntervalSince1970, accuracy: 1.0) } + + // MARK: - Active Session Preservation Tests + + func testActiveSessionPreservationDuringImport() throws { + // Test that active sessions are preserved during import operations + // This tests the fix for the bug where active sessions disappear after sync + + // Simulate an active session that exists locally but not in import data + let activeSessionId = UUID() + let gymId = UUID() + + // Test data structure representing local active session + let localActiveSession: [String: Any] = [ + "id": activeSessionId.uuidString, + "gymId": gymId.uuidString, + "status": "active", + "date": "2024-01-01", + "startTime": "2024-01-01T10:00:00Z", + ] + + // Test data structure representing server sessions (without the active one) + let serverSessions: [[String: Any]] = [ + [ + "id": UUID().uuidString, + "gymId": gymId.uuidString, + "status": "completed", + "date": "2023-12-31", + "startTime": "2023-12-31T15:00:00Z", + "endTime": "2023-12-31T17:00:00Z", + ] + ] + + // Verify test setup + XCTAssertEqual(localActiveSession["status"] as? String, "active") + XCTAssertEqual(serverSessions.count, 1) + XCTAssertEqual(serverSessions[0]["status"] as? String, "completed") + + // Verify that the active session ID is not in the server sessions + let serverSessionIds = serverSessions.compactMap { $0["id"] as? String } + XCTAssertFalse(serverSessionIds.contains(activeSessionId.uuidString)) + + // Test that we can identify an active session + if let status = localActiveSession["status"] as? String { + XCTAssertTrue(status == "active") + } else { + XCTFail("Failed to extract session status") + } + + // Test session ID validation + if let sessionIdString = localActiveSession["id"] as? String, + let sessionId = UUID(uuidString: sessionIdString) + { + XCTAssertEqual(sessionId, activeSessionId) + } else { + XCTFail("Failed to parse session ID") + } + + // Test that combining sessions preserves both local active and server completed + var combinedSessions = serverSessions + combinedSessions.append(localActiveSession) + + XCTAssertEqual(combinedSessions.count, 2) + + // Verify both session types are present + let hasActiveSession = combinedSessions.contains { session in + (session["status"] as? String) == "active" + } + let hasCompletedSession = combinedSessions.contains { session in + (session["status"] as? String) == "completed" + } + + XCTAssertTrue(hasActiveSession, "Combined sessions should contain active session") + XCTAssertTrue(hasCompletedSession, "Combined sessions should contain completed session") + } }