diff --git a/app/src/main/java/kr/co/vividnext/sodalive/chat/talk/room/ChatRoomActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/chat/talk/room/ChatRoomActivity.kt index 19a725c6..8ed0ef70 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/chat/talk/room/ChatRoomActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/chat/talk/room/ChatRoomActivity.kt @@ -423,7 +423,7 @@ class ChatRoomActivity : BaseActivity( // 페이지 상태 갱신 hasMoreMessages = response.hasMoreMessages - nextCursor = sorted.firstOrNull()?.createdAt + nextCursor = sorted.firstOrNull()?.messageId // 최신 메시지 위치로 scrollToBottom() @@ -491,15 +491,15 @@ class ChatRoomActivity : BaseActivity( isLoading = true val token = "Bearer ${SharedPreferenceManager.token}" - // 커서: API에서 내려준 nextCursor 우선, 없으면 현재 목록 중 가장 오래된 createdAt - val fallbackOldestCreatedAt: Long? = items.firstOrNull()?.let { + // 커서: API에서 내려준 nextCursor 우선, 없으면 현재 목록 중 가장 오래된 messageId + val fallbackOldestMessageId: Long? = items.firstOrNull()?.let { when (it) { - is ChatListItem.UserMessage -> it.data.createdAt - is ChatListItem.AiMessage -> it.data.createdAt + is ChatListItem.UserMessage -> it.data.messageId + is ChatListItem.AiMessage -> it.data.messageId else -> null } } - val cursor: Long? = nextCursor ?: fallbackOldestCreatedAt + val cursor: Long? = nextCursor ?: fallbackOldestMessageId val disposable = chatRepository.loadMoreMessages(token = token, roomId = roomId, cursor = cursor) @@ -532,8 +532,8 @@ class ChatRoomActivity : BaseActivity( hasMoreMessages = response.hasMore nextCursor = response.nextCursor ?: newChatItems.firstOrNull()?.let { when (it) { - is ChatListItem.UserMessage -> it.data.createdAt - is ChatListItem.AiMessage -> it.data.createdAt + is ChatListItem.UserMessage -> it.data.messageId + is ChatListItem.AiMessage -> it.data.messageId else -> null } }