     unfollowChannel channelId
 
 
+  componentWillUpdate: (nextProps, nextState) ->
+
+    channelId          = @state.channelThread.get 'channelId'
+    nextStateChannelId = nextState.channelThread.get 'channelId'
+
+    return @setState editingPurpose: no  if channelId isnt nextStateChannelId
+
+
   updatePurpose: ->
 
-    channelThread = @state.channelThread.set 'editingPurpose', yes
-    @setState channelThread: channelThread
+    @setState editingPurpose: yes
 
     input = @refs.purposeInput
 

      { updateChannel } = ActivityFlux.actions.channel

      updateChannel({ id, purpose }).then (response) =>
        thread  = thread.set 'editingPurpose', no
        return @setState channelThread: thread


  getPurposeAreaClassNames: -> classnames
    'ChannelThreadPane-purposeWrapper': yes
    'editing': @state.channelThread.get 'editingPurpose'


  handleChange: (newValue) ->

    super props

    @state =
      editingPurpose        : no
      originalPurpose       : ''
      showDropTarget        : no
      isComingSoonModalOpen : no
