hunk.code_window: 	go func() {
   		result := StoreResult{}
   		var data []channelIdWithCount
   		_, err := s.GetReplica().Select(&data, "SELECT Id, TotalMsgCount FROM Channels WHERE Id IN (SELECT ChannelId FROM ChannelMembers WHERE UserId = :UserId) AND TeamId = :TeamId AND DeleteAt = 0 ORDER BY DisplayName", map[string]interface{}{"TeamId": teamId, "UserId": userId})
   		if err != nil {
   			result.Err = model.NewAppError("SqlChannelStore.GetChannelCounts", "We couldn't get the channel counts", "teamId="+teamId+", userId="+userId+", err="+err.Error())
   		} else {
  
hunk.labels: keep keep keep keep replace replace keep keep keep keep
hunk.after_edit: 		var data []channelIdWithCountandUpdateAt
   		_, err := s.GetReplica().Select(&data, "SELECT Id, TotalMsgCount, UpdateAt FROM Channels WHERE Id IN (SELECT ChannelId FROM ChannelMembers WHERE UserId = :UserId) AND TeamId = :TeamId AND DeleteAt = 0 ORDER BY DisplayName", map[string]interface{}{"TeamId": teamId, "UserId": userId})
  
hunk.file_path: store/sql_channel_store.go
hunk.type: replace
file: // Copyright (c) 2015 Spinpunch, Inc. All Rights Reserved.
  // See License.txt for license information.
  
  var Client = require('../utils/client.jsx');
  var AsyncClient = require('../utils/async_client.jsx');
  var Textbox = require('./textbox.jsx');
  var BrowserStore = require('../stores/browser_store.jsx');
  
  module.exports = React.createClass({
      handleEdit: function(e) {
          var updatedPost = {};
          updatedPost.message = this.state.editText.trim();
  
          if (updatedPost.message.length === 0) {
              var tempState = this.state;
              delete tempState.editText;
              BrowserStore.setItem('edit_state_transfer', tempState);
              $("#edit_post").modal('hide');
              $("#delete_post").modal('show');
              return;
          }
  
          updatedPost.id = this.state.post_id;
          updatedPost.channel_id = this.state.channel_id;
  
          Client.updatePost(updatedPost,
              function(data) {
                  AsyncClient.getPosts(true, this.state.channel_id);
                  window.scrollTo(0, 0);
              }.bind(this),
              function(err) {
                  AsyncClient.dispatchError(err, "updatePost");
              }.bind(this)
          );
  
          $("#edit_post").modal('hide');
      },
      handleEditInput: function(editText) {
          this.setState({ editText: editText });
      },
      handleEditKeyPress: function(e) {
          if (e.which == 13 && !e.shiftKey && !e.altKey) {
              e.preventDefault();
              this.refs.editbox.getDOMNode().blur();
              this.handleEdit(e);
          }
      },
      handleUserInput: function(e) {
          this.setState({ editText: e.target.value });
      },
      componentDidMount: function() {
          var self = this;
  
          $(this.refs.modal.getDOMNode()).on('hidden.bs.modal', function(e) {
              self.setState({ editText: "", title: "", channel_id: "", post_id: "", comments: 0 });
          });
  
          $(this.refs.modal.getDOMNode()).on('show.bs.modal', function(e) {
              var button = e.relatedTarget;
              self.setState({ editText: $(button).attr('data-message'), title: $(button).attr('data-title'), channel_id: $(button).attr('data-channelid'), post_id: $(button).attr('data-postid'), comments: $(button).attr('data-comments') });
          });
  
          $(this.refs.modal.getDOMNode()).on('shown.bs.modal', function(e) {
              self.refs.editbox.resize();
          });
      },
      getInitialState: function() {
          return { editText: "", title: "", post_id: "", channel_id: "", comments: 0 };
      },
      render: function() {
          var error = this.state.error ? <div className='form-group has-error'><label className='control-label'>{ this.state.error }</label></div> : null;
  
          return (
              <div className="modal fade edit-modal" ref="modal" id="edit_post" role="dialog" tabIndex="-1" aria-hidden="true">
                <div className="modal-dialog modal-push-down">
                  <div className="modal-content">
                    <div className="modal-header">
                      <button type="button" className="close" data-dismiss="modal" aria-label="Close" onClick={this.handleEditClose}><span aria-hidden="true">&times;</span></button>
                      <h4 className="modal-title">Edit {this.state.title}</h4>
                    </div>
                    <div className="edit-modal-body modal-body">
                      <Textbox
                          onUserInput={this.handleEditInput}
                          onKeyPress={this.handleEditKeyPress}
                          messageText={this.state.editText}
                          createMessage="Edit the post..."
                          id="edit_textbox"
                          ref="editbox"
                      />
                      { error }
                    </div>
                    <div className="modal-footer">
                      <button type="button" className="btn btn-default" data-dismiss="modal">Cancel</button>
                      <button type="button" className="btn btn-primary" onClick={this.handleEdit}>Save</button>
                    </div>
                  </div>
                </div>
              </div>
          );
      }
  });
  