       console.warn "Attempt to delete nonexistant tag '#{tag}' from message #{message._id}"
   onTagAdd = (e) ->
     e.preventDefault()
-    e.stopPropagation()
     tag = e.target.getAttribute 'data-tag'
     if tag of message.tags
       console.warn "Attempt to add duplicate tag '#{tag}' to message #{message._id}"
     else
       Meteor.call 'messageUpdate', message._id,
         tags: Object.assign {}, message.tags ? {}, {"#{escapeTag tag}": true}
-    dropdownToggle e
   onTagNew = (e) ->
     e.preventDefault()
-    e.stopPropagation()
     textTag = $(e.target).parents('form').first().find('.tagAddText')[0]
     tag = textTag.value.trim()
     textTag.value = ''  ## reset custom tag

            }
          </span>
          <span className="btn-group">
            <button className="btn btn-default label label-default dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
              <span className="fas fa-plus"/>
              Tag
            </button>
            <ul className="dropdown-menu tagMenu" role="menu">
              <li className="disabled">
                <a>
                  <form className="input-group input-group-sm">
                    <input className="tagAddText form-control" type="text" placeholder="New Tag..."/>
                    <div className="input-group-btn">
                      <button className="btn btn-default tagAddNew" type="submit" onClick={onTagNew}>
                        <span className="fas fa-plus"/>
                      </button>
                    </div>
                  </form>
                </a>
              </li>
              {if absentTags.length
                <>
                  <li className="divider" role="separator"/>
                  {for tag in absentTags
                    <li key={tag.key}>
                      <a className="tagAdd" href="#" data-tag={tag.key} onClick={onTagAdd}>{tag.key}</a>
                    </li>
                  }
                </>
              }
            </ul>
          </span>
          <MessageLabels message={message}/>
          <span className="lower-strut"/>

  , [message._id]
  ref = useRef()
  messageBodyRef = useRef()
  addTagRef = useRef()

  ## Support dragging rendered attachment like dragging message itself
  messageFileRef = useRef()
