Muting issues from the UI

Being able to dismiss issues from the codebeat user interface, rather than using code annotations, was one of the features most frequently requested by our customers.

You can mute an issue wherever you see it using one of the two buttons on the right hand side of each issue:

Two distinct actions are available to you - you can either acknowledge an issue ("Mute") or dismiss it ("Report"). Acknowledging an issue means that in principle you agree with it but you do not find it worth of your immediate attention. Dismissing an issue means marking it as a false positive, which is a signal for us that our algorithms are not calibrated as they should be.

📘

Why two actions?

Our vision at codebeat is to use machine learning to detect code quality issues and provide valuable feedback to our customers. By acknowledging or dismissing you're sending a different signal to our classifiers. Dismissing an issue is simply a much stronger signal.

When an issue is acknowledge or dismissed, it does not disappear from the list of issues. Instead, it is visually marked according to your decision and sent into the background:

Note that by clicking on the now-highlighted decision button you can change it and either unmute an issue, or mute it with a different signal.

How muting works

As you may have noticed, muting an issue does not make it disappear completely. What's more, muting an issue does not affect GPA or grade - it's more of a 'note to self'. Muting an individual issue affects this particular instance of an issue, as well as all of its future instances. It does not pay attention to the level, so if you mute an issue with an INFO level, it will still be muted when it reaches a CRITICAL level. Note that muted issues will no longer appear in the Quick Wins section of the project - hence, acknowledging issues you don't intend to immediately fix is a good way of turning your Quick Wins section into an actionable TODO list.

In Pull Requests each muting or unmuting action will trigger a re-evaluation of the Pull Request and, in consequence, a new build status being sent. You can use it in your development workflow to achieve green build status from codebeat without necessarily addressing all the issues. Note that muting decisions from Pull Requests are sticky and apply to your entire project, so an issue muted there will still be muted when the code under review is merged to your tracked branch.

Muting similarities

At this stage the UI-driven muting does not apply to similarities, which are much more tricky to make deterministically sticky. In general we believe that copy pasta is pretty much always an error, but we will be looking for a way to provide this functionality, too.