Remove Issue#readable_by? custom implementation

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Summary

Due to performance reasons Issue class has custom readable_by?(user) which overrides default behaviour and assumes that all developers will update custom readable_by?(user) when updating logic for :read_issue policy.

This approach fails long term because developers just don't know that this custom method exists and you must keep it updated. It creates inconsistencies which can lead to data loss or data leak. E.g. current logic doesn't take into account any project feature configuration, but declarative policy does.

Suggestion

I'd suggest to return back to default behaviour and think of alternatives for performance improvement.

I'm assigning it to ~"group::delivery" for discussion since @yorickpeterse is the one who introduced this custom method long long time ago.

Edited by 🤖 GitLab Bot 🤖