Support merging of 2 topics with voting

I had people two topics in a voting category which were essentially the same request, so I merged all comments from Topic B to Topic A, and now Topic A has no votes.

Has anyone seen an issue where votes on Topic A are lost/reset after moving a number of commits into it from Topic B?

I think I did, but don’t know if there’s any place I can tell if a Topic A ever got votes. If they were logged anywhere, I’d love to know so I can check.

7 Likes

Agree we should fix this, for now pr-welcome

4 Likes

Hello,

This PR should fix this.

Let’s say we have topics A and B. When topic A is merged into topic B, all users who voted topic A will automatically vote B and their votes for A will be removed.

6 Likes

Are there any exceptions to this rule? I’ve noticed some inconsistent behaviour e.g. when I merged this topic:

Let users specify number of shares while buying - Ideas 💡 - Freetrade Community

into this one:

Buy an specific number of shares rather than a £ amount - Ideas 💡 - Freetrade Community

not all of the votes were carried across the latter topic. IIRC only 16 made it across.

Yes, I’ve experienced the same thing. We’re regularly merging topics. Our process is to merge to the oldest topic to preserve the chronological order of the posts. When this happen we lose the votes for the other topics.

@dan any ideas about these issues?

There is one exception I can think of.

Let’s say we have two topics: A and B, each with 100 votes, but 20 of the users who voted for A also voted B. If the two topics are merged, it is not guaranteed that the final topic will have 200 votes because there might be some users who voted on both of the topics and the votes will not be duplicated.

The final count will be = users count who voted A + users count who voted B - users count who voted both A and B. In the example above (100 + 100 - 20 = 180).

2 Likes

I have made a few changes here and just submitted a pull request to make things clearer. After this pull request will be accepted, the moderator post that is added to the original topic will be edited to contain how many votes were moved and how many votes were not moved (because user already voted for the
destination topic).

https://github.com/discourse/discourse-voting/pull/42

4 Likes