diff --git a/AIStudyApp/AIStudyApp.xcodeproj/project.xcworkspace/xcuserdata/Admin1.xcuserdatad/UserInterfaceState.xcuserstate b/AIStudyApp/AIStudyApp.xcodeproj/project.xcworkspace/xcuserdata/Admin1.xcuserdatad/UserInterfaceState.xcuserstate index d9f3afe..9089d94 100644 Binary files a/AIStudyApp/AIStudyApp.xcodeproj/project.xcworkspace/xcuserdata/Admin1.xcuserdatad/UserInterfaceState.xcuserstate and b/AIStudyApp/AIStudyApp.xcodeproj/project.xcworkspace/xcuserdata/Admin1.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/AIStudyApp/AIStudyApp/Features/MaterialReader/ReadingEventUploadQueue.swift b/AIStudyApp/AIStudyApp/Features/MaterialReader/ReadingEventUploadQueue.swift index 468eaf7..898e88c 100644 --- a/AIStudyApp/AIStudyApp/Features/MaterialReader/ReadingEventUploadQueue.swift +++ b/AIStudyApp/AIStudyApp/Features/MaterialReader/ReadingEventUploadQueue.swift @@ -48,7 +48,7 @@ final class ReadingEventUploadQueue { // MARK: - Public API /// Enqueue a batch of upload items. Deduplicates by eventId. - func enqueue(_ uploadItems: [ReadingEventUploadItem], userId: String = AuthManager.shared.currentUserId ?? "unknown") { + func enqueue(_ uploadItems: [ReadingEventUploadItem], userId: String = (KeychainHelper.getUserId() ?? "unknown") ?? "unknown") { let existingIds = Set(items.map(\.eventId)) let now = Date() let newItems = uploadItems @@ -73,7 +73,7 @@ final class ReadingEventUploadQueue { /// Fetch a batch of pending items (max `limit`). func fetchPendingBatch(limit: Int = 100, userId: String? = nil) -> [ReadingEventQueueItem] { - let uid = userId ?? AuthManager.shared.currentUserId ?? "unknown" + let uid = userId ?? (KeychainHelper.getUserId() ?? "unknown") ?? "unknown" return Array( items .filter { $0.status == .pending && $0.userId == uid }