 
   renderBody: ->
 
-    return null  unless @props.messages?.size
+    return null  unless @props.thread
 
     <Scroller
       ref="scrollContainer"
       onTopThresholdReached={@bound 'onTopThresholdReached'}>
       {@renderChannelInfoContainer()}
       <ChatList
-        isMessagesLoading={@props.thread?.getIn ['flags', 'isMessagesLoading']}
-        loadedWithScroll={@props.thread?.getIn ['flags', 'loadedWithScroll']}
-        messages={@props.messages}
+        isMessagesLoading={@isThresholdReached}
+        messages={@props.thread.get 'messages'}
         showItemMenu={@props.showItemMenu}
         channelId={@channel 'id'}
         channelName={@channel 'name'}

    title             : null
    messages          : null
    isDataLoading     : no
    onLoadMore        : kd.noop
    afterInviteOthers : kd.noop
    showItemMenu      : yes



    { thread } = nextProps

    isMessageBeingSubmitted = thread.getIn ['flags', 'isMessageBeingSubmitted']

    if isMessageBeingSubmitted
      @shouldScrollToBottom   = yes
      @isPageLoaded           = no


  onTopThresholdReached: (event) ->

    messages = @props.thread.get 'messages'
    @isPageLoaded = no

    return  if @isThresholdReached

    return  unless messages.size

    @isThresholdReached = yes

    from = messages.first().get('createdAt')
    kd.utils.wait 500, => ActivityFlux.actions.message.loadMessages @channel('id'), { from }


  afterInviteOthers: -> @props.afterInviteOthers()
