Refine merge request widget
Resources
PM @victorwu | UX @dimitrieh | FE @fatihacet
Latest designs
see: https://gitlab.com/gitlab-org/gitlab-ce/issues/25424#note_23180548
Problems and scope
see: https://gitlab.com/gitlab-org/gitlab-ce/issues/25424#note_22751855
WIP
- https://gitlab.com/gitlab-org/gitlab-ce/issues/28185
- https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/9253
Frontend and Backend Checklist
Frontend
-
EE features -
Implement Squash commits. -
Implement Geo features. -
Implement Approvals.
-
-
Testing -
Write unit tests. -
Fix existing Rspec tests. -
Perform Cross Browser test.
-
-
Final checks and clean up -
Double check existing HAML template logics and make sure we covered every possible case in related widget states. -
Double check MRs to make sure that there is no unresolved discussions. -
Make sure that all TODO and FIXME comments are implemented and removed. -
Make sure that all requests are covered with a proper catch
statement. -
Remove existing widget and delete all related files. -
Check for deprecated CSS and remove if possible.
-
-
Handle "Couldn't connect to CI service" state for pipeline. -
Handle Coverage info. -
Handle Deployment info. -
Handle Koding integration. -
Handle pipeline succeed with warning state. -
Update widget when a discussion is resolved. -
Handle comment added to update widget for unresolved discussion state. -
Start polling server if the initial state is unchecked
. -
Implement polling after merge action. -
Do some styling, make widgets look better. -
Double check Merge immediately
andMerge when pipeline succeeds
actions . -
Double check Merge button for Pipeline passed with warnings state. -
Show loading icon in the merge button in build running state when Merge Immediately option clicked. -
Implement "Remove WIP status" button in WIP state. -
Implement "Remove source branch" in Merged state. -
Make sure that all UJSs are removed. @filipa would be upset otherwise. 🙂 -
"Source branch removed" and "being removed" is visible at the same time when Remove source branch is clicked in Merged state. -
Implement polling for Deployments. -
Implement "Stop environment" action. -
Display Prometheus sparkline. #26944 (closed) -
Add polling for CI status. -
Update widget when automatically when pipeline succeeds. -
Fix cosmetic issues. SS SS -
Add download attribute to download buttons. -
Handle merge error when merge failed. For example a new discussion added before merge. -
When MR automatically gets merged, if we cannot remove source branch before we update the widget, we stop updating widget to show branch removed. -
If page have resolved_conflicts=true
in query string check merge status. -
Revert and Cherry Pick buttons doesn't work when widget state changed to merged. -
Revert and Cherry Pick buttons are visible for anonymous user. -
Add loading icon for Merge button when while merging. -
Update merge button text to Merge in progress when Merge Immediately option selected. -
Styling bugs and missing pieces SS SS
Backend
-
Add "Couldn't connect to CI service" state into serializer. -
Add Coverage info into serializer.