     internal var subscription: Subscription? {
         didSet {
             guard let subscription = subscription?.validated() else { return }
-            lastSeen = subscription.lastSeen ?? Date()
+            lastSeen = lastSeen == nil ? subscription.lastSeen : lastSeen
             subscribe(for: subscription)
             messagesQuery = subscription.fetchMessagesQueryResults()
             messagesQueryToken = messagesQuery?.observe(handleDataUpdates)


            let message = messageSection1.message
            let collpsibleItemsState = (object.base as? MessageSection)?.collapsibleItemsState ?? [:]
            let unreadMarker = !hasUnreadMarker && message.createdAt > lastSeen
            var separator: Date?
            var sequential = false
            var loader = false

    /**
     Last time user read the messages from the Subscription from this view model.
     */
    internal var lastSeen: Date?
    internal var hasUnreadMarker = false
    internal var unreadMarkerObjectIdentifier: String?

    /**
     If the view model is requesting new data from the API.
