Optimize cross ref system notes check

What does this MR do?

This MR optimizes system note visibility checking by memoizing the visible reference count, reducing the overhead of calling Note#cross_reference_not_visible_for?.

Are there points in the code the reviewer needs to double check?

Note that since a cross reference message contains, "Mentioned in XYZ", we EXPECT that there is at least one reference. That's why using the ref count > 0 works.

Why was this MR needed?

The previous implementation relied on Note#cross_reference_not_visible_for?, which essentially tries to render all the Markdown references in a system note and only displays the note if the user can see the referring project. But this duplicated the work that Banzai::NotesRenderer was doing already. This shaves about 0.8 s from the load time from gitlab-com/operations#42 (closed).

What are the relevant issue numbers?

#19273 (closed)

Screenshots (if relevant)

Does this MR meet the acceptance criteria?

Merge request reports

Loading