hunk.code_window:         return (
               <div className="mentions--top" style={{height: height, width: width, bottom: bottom, left: left}}>
                   <div ref="mentionlist" className="mentions-box" style={{height: height, width: width}}>
                       { mentions }
                   </div>
               </div>
           );
  
hunk.labels: keep keep replace replace keep keep keep keep
hunk.after_edit:             <div className="mentions--top" style={style}>
                   <div ref="mentionlist" className="mentions-box">
  
hunk.file_path: web/react/components/mention_list.jsx
hunk.type: replace
file: // Copyright (c) 2015 Spinpunch, Inc. All Rights Reserved.
  // See License.txt for license information.
  
  package api
  
  import (
  	l4g "code.google.com/p/log4go"
  )
  
  type Hub struct {
  	teamHubs   map[string]*TeamHub
  	register   chan *WebConn
  	unregister chan *WebConn
  	stop       chan string
  }
  
  var hub = &Hub{
  	register:   make(chan *WebConn),
  	unregister: make(chan *WebConn),
  	teamHubs:   make(map[string]*TeamHub),
  	stop:       make(chan string),
  }
  
  func (h *Hub) Register(webConn *WebConn) {
  	h.register <- webConn
  }
  
  func (h *Hub) Unregister(webConn *WebConn) {
  	h.unregister <- webConn
  }
  
  func (h *Hub) Stop(teamId string) {
  	h.stop <- teamId
  }
  
  func (h *Hub) Start() {
  	go func() {
  		for {
  			select {
  
  			case c := <-h.register:
  				nh := h.teamHubs[c.TeamId]
  
  				if nh == nil {
  					nh = NewTeamHub(c.TeamId)
  					h.teamHubs[c.TeamId] = nh
  					nh.Start()
  				}
  
  				nh.Register(c)
  
  			case c := <-h.unregister:
  				if nh, ok := h.teamHubs[c.TeamId]; ok {
  					nh.Unregister(c)
  				}
  
  			case s := <-h.stop:
  				if len(s) == 0 {
  					l4g.Debug("stopping all connections")
  					for _, v := range h.teamHubs {
  						v.Stop()
  					}
  					return
  				} else if nh, ok := h.teamHubs[s]; ok {
  					delete(h.teamHubs, s)
  					nh.Stop()
  				}
  			}
  		}
  	}()
  }
  