Quick answer: Treat duplicates as votes on severity, not clutter. Group them under one issue, keep every reporter attached so you can notify them all when it ships, and use the duplicate count to prioritize. Never delete a duplicate outright.
When the same bug gets reported fifteen times, the instinct is to close fourteen of them as junk. That instinct throws away your best prioritization signal. Duplicate reports tell you exactly how many players are hitting an issue, and the people behind them all deserve to hear when it is fixed. The goal is not to suppress duplicates but to collapse them intelligently.
Why Duplicates Are Valuable
A bug reported once might be an edge case. The same bug reported fifty times is a five-alarm fire. The count of duplicate reports is a direct measure of how many players are affected, which is the single most useful input to prioritization. If you delete duplicates, you destroy that measurement and end up fixing whatever shouts loudest instead of whatever hurts most.
Each duplicate also carries a slightly different repro. One player mentions it only happens on the Steam Deck; another notices it follows a specific dialogue choice. Merged together, those variations often reveal the actual root cause that no single report contained.
Grouping Without Losing Reporters
The right move is to merge duplicates into a single canonical issue while keeping every reporter linked to it. That way the issue shows a clean count, the variations are preserved, and when you fix it you can notify all of them at once. Bugnet does this with occurrence grouping: matching crashes and reports automatically roll up under one issue, with a running count and every reporter retained.
Set up a fast manual-merge path too, because automated grouping never catches everything. When you spot two issues that are really one, merging them should combine their reporters and occurrence counts, not orphan one of them.
A Simple Duplicate-Handling Workflow
Keep it lightweight so it actually happens during a busy launch window:
- Check whether an open issue already matches before creating a new one
- Merge the new report into the existing issue, preserving its repro notes
- Bump the occurrence count so prioritization stays accurate
- Keep the reporter attached for the eventual fix notification
- Only mark a report invalid if it is genuinely not a bug, never just because it is a repeat
The one thing to avoid is silently closing duplicates with no link back to the canonical issue. The reporter sees "closed" and assumes you ignored them, when in fact their report is now part of your highest-priority issue.
A pile of duplicates is not noise. It is your priority list shouting at you.