Handle rendering very large Markdown files better in the Wiki
Release notes
Problem to solve
As outlined in #276401 (closed), very large (~2.5 MB, ~11,000 lines) Markdown files can take a painfully long time to render in the Wiki. These files sometimes fail to load entirely, resulting in a 500
or 502
error.
The root of the problem is in the performance of the backend Banzai pipeline, the process used by the Wiki to render the Markdown for display. However, optimizations there will likely be complex and have diminishing returns for edge cases such as these. Still, it's not acceptable to wait 30+ seconds for a page to load.
Proposal
Asynchronously load the Markdown content on the wiki page. Load the GitLab common UI first, followed by the wiki sidebar, then show the rendered Markdown content.
A loading state for the rendered Markdown content should indicate that something is happening.