Migrate merge request feature specs to Rapid Diffs
What
Runs the spec/features/merge_request suite against the Rapid Diffs Changes tab instead of legacy diffs. Specs only — no app changes.
The suite-wide stub that forced rapid_diffs_default_on_mr_show off is gone, so specs get Rapid Diffs by default. The request specs that document the opt-in (flag off) behaviour stub the flag off themselves, so both modes stay covered.
Rapid Diffs spec helpers are centralized in spec/support/helpers/rapid_diffs_helpers.rb and spec/support/helpers/rapid_diffs_discussion_helpers.rb.
21 of the 28 quarantine declarations on these specs are removed, so those examples now run against Rapid Diffs. The 7 that remain keep master's quarantine.
Because the flag is enabled on GitLab.com, the legacy diffs page keeps no feature-spec coverage after this change, while the rapid_diffs_enabled=false cookie still works as an opt-out. Deliberate trade-off, recorded here rather than left implicit.
Spec status
704 examples: 657 enabled, 44 skipped on a Rapid Diffs gap, 3 skipped before this MR.
Every skipped example names its gap inline and links its tracking issue or fix MR, so the gap is findable from the spec. All gap issues are in &19381 Rapid Diffs maintenance.
| Gap | Examples | Tracked by |
|---|---|---|
| Resolving a thread does not stay resolved | 24 | #628497 |
| Diff comment permalink does not scroll | 2 | #628498 |
| Fork merge request diff stream never finishes | 2 | #628499 |
| File browser cannot scroll to its last entry | 3 | #628500 |
| Fork-this-file suggestion missing | 1 | #628501 |
| No diffs for a deleted source branch | 1 | #628502 |
| Multi-line drag across diff sides unreliable | 1 | #628503 |
| No warning when the diff file limit is exceeded | 1 | #628508 |
| No warning when suggestion metadata fails to load | 1 | #628509 |
| Image comments cannot join a batch review | 1 | #628510 (!254773) |
| Image overlay alignment / onion-skin drag | 2 | !248300 |
| Version self-compare empty state | 2 | !248325 (closed) |
| Suggestion onboarding popover | 1 | !254149 |
| Code suggestions in thread replies | 1 | !254150 |
| Legacy file-hash fragment in file-by-file mode | 1 | !254151 |
Reproduction
- Enable the
rapid_diffs_default_on_mr_showfeature flag. - Open any merge request — the Changes tab renders Rapid Diffs.
- Set the
rapid_diffs_enabled=falsecookie — the Changes tab goes back to legacy diffs.