Move `#update_project_counter_caches?` out of `Issue`/`MergeRequest`
It's not the responsibility of an Issuable to know when a project's issuables counter should be refreshed.
This logic should be moved to IssuableBaseService
, something like:
In IssuableBaseService
:
def update_project_counter_caches?(issuable)
issuable.state_changed?
end
In Issues::BaseService
:
def update_project_counter_caches?(issuable)
super || issuable.confidential_changed?
end