Skip to content

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

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 and Merge 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.