     (render [_]
       (dom/div #js {:className "thread"}
         (om/build new-message-view {:placeholder "Start a new conversation..."
-                                   :thread-id (uuid/make-random-squuid)})))))
+                                    :new-thread true
+                                    :thread-id (uuid/make-random-squuid)})))))
 
 (defn tag-view [tag owner]
   (reify

                           :onKeyDown
                           (fn [e]
                             (when (and (= 13 e.keyCode) (= e.shiftKey false))
                               (let [text (.. e -target -value)]
                                 (if-let [tag (second (re-matches #"#(.*)" text))]
                                   (dispatch! :tag-thread {:thread-id (config :thread-id)
                                                           :tag-name tag})
                                   (dispatch! :new-message {:thread-id (config :thread-id)
                                                            :content text})))
                               (.preventDefault e)
                               (aset (.. e -target) "value" "")))})))))


        (dom/div #js {:className "content"}
          (message :content))))))

(def tag-pattern
  "Pattern to extract tags.  Would prefer for the first subpattern to be a
  zero-width assertion, but javascript doesn't support lookbehind. The last
  subpattern needs to be zero-width so that two adjacent tags will be removed
  for the tagless text. The tag name itself is the first capture group."
  #"(?:^|\s)#(\S+)(?=\s|$)")

(defn new-message-view [config owner]
  (reify
    om/IRender
