Draft: Verify INFECTION_FORCELIST unblocks the MR rapid diffs migration
What does this MR do and why?
Do not merge this. It exists only to prove that !252665 (merged) unblocks the migration, by running a full pipeline with both changes present. The real migration is !252389 (merged) and should merge from there.
The two migration commits are cherry-picked from tor/vue3/mr-rapid-diffs with their
original authorship intact. This MR adds nothing of its own.
It targets 625296-vue3-infection-forcelist rather than master, so the diff shows only
the migration and the pipeline runs with the forcelist applied.
Why a pipeline proves something
!252389 (merged) was blocked because the merge
request page loaded 11 module-scope singletons in both Vue realms at once. The visible
symptom was the review drawer toggle never rendering: the notes and batch-comments stores
were populated on the Vue 3 side, while the sidebar and notes app read a separate, empty
Pinia instance. A store getter returned undefined, which produced an axios request with
no URL, which was reported to Sentry, which tripped the browser-console guard in the
feature specs.
So the merge request feature specs are the assertion. They fail on !252389 (merged) alone and should pass here.
Labelled ~"pipeline::tier-3" to get the full suite rather than the tier-1 subset, because
the evidence wanted is exactly the slow feature specs.
What to look at
rspec systemandrspec-ee systemshards coveringspec/features/merge_request/- specifically the review drawer and the notes/discussions specs on the rapid diffs page
- no
getActivePinia() was called but there was no active piniain any job log
Local pre-check
With the migration YAML present, the rapid diffs page becomes a real migrated page. Against
a scanner graph regenerated on this branch, simulated through the real createIsInfectable:
| page | Vue 3 modules | split singletons |
|---|---|---|
pages/projects/merge_requests/rapid_diffs |
1074 | 0 |
pages/projects/merge_requests/show |
1075 | 0 |
ee/.../pages/projects/issues/show |
863 | 0 |
Without the forcelist those same pages carry 11, 11 and 6.
References
- Proves !252665 (merged) works
- Verification copy of !252389 (merged), authored by @thomasrandolph
- Root cause analysis: #625296 (comment 3760799545)
- Blocked migration issue: #611465