   orphans = useTracker ->
     messageOrphans messageID
   , [messageID]
-  authors = mentions = subscribers = '' # TODO
+  {authors, mentions} = useTracker ->
+    authors: authorCount 'threadAuthors'
+    mentions: authorCount 'threadMentions'
+  , []
+  subscribers = '' # TODO
 
   <div className="row">
     <div className="col-md-9" role="main">

  , [message._id]
  history = historyAll = null if read
  historified = history ? message
  [editTitle, setEditTitle] = useState()
  [editBody, setEditBody] = useState()
  [editStopping, setEditStopping] = useState()
  safeToStopEditing = ->
    message.title == editTitle and message.body == editBody
  useEffect ->
    if editStopping and safeToStopEditing()
      Meteor.call 'messageEditStop', message._id, (error, result) ->
        if error?
          console.error error
        else
          setEditStopping false
    undefined
  preview = useTracker ->
    if history?
      on: true

        setEditStopping true
    else
      Meteor.call 'messageEditStart', message._id
  onChangeTitle = (e) ->
    newTitle = e.target.value
    setEditTitle newTitle
    Meteor.clearTimeout timer.current
    messageID = message._id
    timer.current = Meteor.setTimeout ->
      savedTitles.current.push newTitle
      Meteor.call 'messageUpdate', messageID,
        title: newTitle
    , idle

  return null unless visible or here
  <div className="panel message #{messagePanelClass message, editing}" data-message={message._id} id={message._id} ref={ref}>
    <div className="panel-heading clearfix">
      {if editing and not history?
        <input className="push-down form-control title" type="text" placeholder="Title" value={editTitle} onChange={onChangeTitle} tabIndex={tabindex0+18}/>
      else
        <span className="message-title">
          <span className="message-left-buttons push-down btn-group btn-group-xs">
