Strengthen backwards compatibility guidance in developer docs
What does this MR do and why?
This merge request updates the documentation on real-time features in GitLab, focusing on WebSocket usage.
It adds a new section on working safely with WebSockets, emphasizing the importance of backwards compatibility and graceful degradation. The changes stress the need for defensive coding and caution when introducing new WebSocket connections, especially at scale.
The update also reorganizes existing content, moving deployment-related information earlier in the document and providing more detailed guidance on estimating the impact of new features on WebSocket connections. Overall, these changes aim to improve the safety and reliability of real-time features in GitLab while providing developers with clearer guidelines for implementation and deployment.
References
Please include cross links to any resources that are relevant to this MR. This will give reviewers and future readers helpful context to give an efficient review of the changes introduced.
Quoting from this Slack thread (as they are ephemeral):
I’ve tested the notes with disabled subscription and the note isn’t added since we don’t have a logic to update notes after the mutation, we fully rely on GraphQL subscription for that.
In short, a feature was built relying solely on WebSockets, which malfunctioned when they weren't available.
MR acceptance checklist
Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Screenshots or screen recordings
Screenshots are required for UI changes, and strongly recommended for all other merge requests.
| Before | After | 
|---|---|
How to set up and validate locally
Numbered steps to set up and validate the change are strongly suggested.