`viewed!` will now look like this:

`  def viewed!(page=nil)
    update_viewed_attributes
    discussion.viewed!
    set_read_items_count(page) if page
    save!
  rescue ActiveRecord::RecordInvalid
    # race condition occured.. find the original reader and mark it as viewed
    reader = self.class.where(user_id: user_id, discussion_id: discussion_id).first
    if reader
      reader.update_viewed_attributes
      set_read_items_count(page) if page
      save!
    end
  end`