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

  1. Enable the rapid_diffs_default_on_mr_show feature flag.
  2. Open any merge request — the Changes tab renders Rapid Diffs.
  3. Set the rapid_diffs_enabled=false cookie — the Changes tab goes back to legacy diffs.
Edited by Stanislav Lashmanov

Merge request reports

Loading
Loading