 extension ChatMessageCollectionAdapter: ChatDataSourceDelegateProtocol {
     public func chatDataSourceDidUpdate(_ chatDataSource: ChatDataSourceProtocol) {
         self.enqueueModelUpdate(updateType: .normal)
+        self.isFirstUpdate = false
     }
 
     public func chatDataSourceDidUpdate(_ chatDataSource: ChatDataSourceProtocol, updateType: UpdateType) {
+        if !self.configuration.isRegisteringPresentersAutomatically
+            && self.isFirstUpdate,
+           let collectionView = self.collectionView {
+            self.chatItemPresenterFactory.configure(withCollectionView: collectionView)
+        }
+        
         self.enqueueModelUpdate(updateType: updateType)
     }
 

    private let updateQueue: SerialTaskQueueProtocol

    private var nextDidEndScrollingAnimationHandlers: [() -> Void]
    private weak var collectionView: UICollectionView?

    public weak var delegate: ChatMessageCollectionAdapterDelegate?

        self.configuration = configuration
        self.updateQueue = updateQueue

        self.isFirstUpdate = true
        self.isLoadingContents = true
        self.nextDidEndScrollingAnimationHandlers = []

