     scrollBottom = @scrollHolder.scrollTop() + @scrollHolder.height()
     @scrolledToBottom = Math.abs(scrollBottom - @scrollHolder.prop('scrollHeight')) <= @scrollSnapTolerance
 
+  showScrollHint: ->
+    @scrollHint.removeClass('is-hidden')
+
   onScrollHintClick: ->
     # animate scroll
     @scrollHolder.animate({scrollTop: @scrollHolder.prop('scrollHeight')}, 300)
     @scrollHint.addClass('is-hidden')
 
-  scrollToBottom: ->
+  scrollToBottom: ({ showHint } = { showHint: false }) ->
     if @scrolledToBottom
       @scrollHolder.scrollTop(@scrollHolder.prop('scrollHeight'))
-    else
-      @scrollHint.removeClass('is-hidden')
+    else if showHint
+      @showScrollHint()
 
 class Setting extends App.ControllerModal
   buttonClose: true

      isNew: isNew
      timestamp: Date.now()

    @scrollToBottom()

  showWritingLoader: =>
    if !@isTyping

    @chat = App.Chat.find(@session.chat_id)
    @name = "#{@chat.displayName()} ##{@session.id}"

    @on 'layout-change', @onLayoutChange

    @bind('chat_session_typing', (data) =>
      return if data.session_id isnt @session.session_id
