Replace existing renamed diff viewer FSM with global GitLab FSM
What does this MR do?
Replaces an existing FSM with the RFC#65 FSM implementation.
The basic changes here are:
- Move the constants from a global
diffsconstants file into the more specificdiff_viewersconstants file - Create a file just for the Renamed Diff Viewer State Machine
- Remove the state tests from the component and test the new Renamed-Diff-Viewer-specific state machine
- Update the component to have a state machine attached instead of ad hoc
isandtransitionmethods
Roadmap
Right now, the GitLab product contains a base finite state machine implementation that is unused.
I know of two ad hoc implementations of finite state machines in the codebase, and this is one of the MRs I had opened (a long time ago) to update them.
Since the past MRs were closed for lack of availability, this is a re-opened (rebase, tweaked, etc.) version of the original MR.
| MR | Notes |
|---|---|
| !32365 (merged) | Implement a basic Finite State Machine (that intentionally emulates xstate/fsm in many regards) |
| !37285 (closed) | Update Cluster FSM |
| We're here |
Update Renamed Diff Viewer FSM |
Screenshots
N/A, all ~"feature::maintenance"
Does this MR meet the acceptance criteria?
Conformity
- [-] Changelog entry
- [-] Documentation (if required)
-
Code review guidelines -
Merge request performance guidelines -
Style guides - [-] Database guides
- [-] Separation of EE specific content
Availability and Testing
Edited by Thomas Randolph