   componentWillUnmount: =>
     $.unsubscribe ".#{@eventId}"
     @voteXhr?.abort()
+
+
+  componentDidUpdate: =>
+    _.each @tooltips, (tooltip, type) =>
+      @refreshTooltip(tooltip.qtip('api'), type)
 
 
   render: =>

      if @props.discussion.votes[type] < 1
        osu.trans "beatmaps.discussions.votes.none.#{type}"
      else
        [
          div className: 'user-list-popup__title',
            osu.trans("beatmaps.discussions.votes.latest.#{type}")
            ':'

          if @props.discussion.votes[type] > @props.discussion.votes['voters'][type].length
            div className: 'user-list-popup__remainder-count',
              osu.transChoice 'common.count.plus_others', @props.discussion.votes[type] - @props.discussion.votes['voters'][type].length


  getTooltipContent: (type) =>
    $(".js-user-list-popup--#{@props.discussion.id}-#{type}").html()


  refreshTooltip: (api, type) =>
    return unless api
    api.set('content.text', @getTooltipContent(type))


  showVoters: (event) =>
    target = event.currentTarget

    if @props.favcount < 1 || target._tooltip
