Merge request widget redesign
Merge request reports
Activity
@fatihacet or @oswaldo will you make a comment / ping me when conflicts are resolved here, so I can begin a patch for EE?
Edited by username-removed-408230Sure thing @brycepj.
@fatihacet Have started adjusting the conflicts. Feel free to push the conflicts that you're not able to fix and ping me Fatih.
added 534 commits
-
8c6d68be...f7fefe82 - 458 commits from branch
master
- 55137c45 - Expose more information in merge request serializer
- f618a231 - Make sure source_project is set when call MergeRequest#can_remove_source_branch? method
- b05386a1 - Refactor MergeRequestEntity for serializer
- 2f4675ab - MRWidget: Initial commit.
- 1f498ed8 - MRWidget: Merged and Closed states with Store.
- 1f69120d - MRWidget: Add locked state.
- 825cbb33 - MRWidget: Add WIP state.
- 38f47c47 - MRWidget: Add archived state.
- 9ebec0c1 - MRWidget: Address MR feedbacks.
- 16b3f184 - MRWidget: Linter fixes.
- d96b7445 - MRWidget: MR changes. Mostly import and export.
- a9f5fc9f - Replace stubbed data in merge request entity with real one
- e263425c - MRWidget: Resurrect lost files and add new states.
- 8082dec4 - MRWidget: Refactor store to set MR state properly.
- 02d2ec58 - MRWidget: Add conflict resolution path.
- 25e99ec0 - MRWidget: Show buttons in WIP widget if user can update MR.
- 5155d5c4 - MRWidget: Implement remove source branch.
- 9e8d8730 - MRWidget: Use component tag to remove multiple component tags.
- e78a710b - MRWidget: Slightly refactor existing widget code to work only for old widget.
- b4e69964 - MRWidget: Implemented ready to merge widget.
- 6fcdee7d - MRWidget: Implement service and pass to components.
- 25c65569 - MRWidget: Implement merge action with current state of backend.
- da920237 - MRWidget: Address minor MR feedbacks.
- dee01c0b - MRWidget: Implemented checking state.
- 505d9441 - MRWidget: Add help widget to RTM state.
- df4d373a - MRWidget: Export new fields and add them to store.
- c17be8f7 - MRWidget: Implement missing features in header.
- cfddb7a0 - MRWidget: Rename files for consistency.
- 9e2deb99 - MRWidget: Expose MR pipeline using PipelineEntity.
- 53422e26 - MRWidget: Implement CI status in MR widget.
- b9f7f5ac - MRWidget: Make SVG computed to update dynamically.
- a08e73b9 - MRWidget: Slightly refactor SVG icon imports to reuse.
- a55880ef - MRWidget: Review fixes. Mostly remove default data from required props.
- 1f88a98f - MRWidget: Add TODO and FIXME comments for backend changes.
- 3b241d61 - MRWidget: Show pipeline status for conflicts state.
- 24f5273a - MRWidget: Make merge button red if pipeline failed.
- 2f8a67c4 - MRWidget: Advanced options for merge button.
- 806542f0 - Add tests to MergeRequestSerializer
- 7ca283bd - MRWidget: Advanced options for merge button.
- a59df620 - MRWidget: Handle failed pipeline if project is only MWPS.
- 62e203de - Adjust target_branch_path link
- 6d1497a1 - Remove TODO comment
- bf69cf17 - MRWidget: Make remove branch default.
- 7806d0a1 - MRWidget: Review fixes for !9877 (merged).
- 36a56a8f - MRWidget: Implemented unresolved discussions state.
- 16eefda8 - MRWidget: Fix unresolved discussion state.
- 6f03bba7 - MRWidget: Implement blocked pipeline state.
- fa82e1f7 - Add related/closing issues sentences data to MergeRequestSerializer
- 50109d54 - Add tests for can_update_merge_request info on MergeRequestSerializer
- 8f7f3d71 - Use current_user instead user for request objects used on Entities
- c98b8111 - Handle JSON requests for "/merge"
- 42d191dd - Alter TODO comments to further improve their trackability
- 8e311508 - Adjust "new issue to resolve discussions" link on MergeRequestEntity
- 4933e2dc - MRWidget: Refactor to move merge help widget into main component.
- 453ead69 - MRWidget: Refactor to move pipelines into main component.
- d87b31ae - MRWidget: Implemented related links widget.
- 3c117949 - Handle JSON requests properly on cancel_merge_when_pipeline_succeeds endpoint
- 29dfae14 - MRWidget: Make issue and verb text methods easier.
- aa75ec66 - VuePipelines: Refactor code to reuse svg maps.
- 859cab5a - MR Widget Refactor Part 7
- eb2d969c - Handle JSON requests for branch removal
- e241d7c9 - MRWidget: Implemented remove WIP.
- 3f505b43 - MRWidget: Fix missing prop in locked state.
- 7e463d2b - MRWidget: Fix pipeline passed icon color.
- 4b466de4 - MRWidget: Implement remove source branch in Merged state.
- 855c8f30 - Add basic MergeRequest serializer
- cf22cb11 - MRWidget: Improve code styling and remove some eslint flags.
- 92fa2e41 - MRWidget: Prefer group info in pipeline status icon.
- 31cc7945 - MRWidget: Implemented deployments component.
- a1381a46 - MRWidget: Remove polling.
- 82e66cee - MRWidget: Minor code styling.
- 8706854a - MRWidget: Import datetime utils.
- 3800d037 - MRWidget: Only render template element if there is a relatead link.
- f7c4645a - MRWidget: Group merge conflict buttons.
-
f509919c - MRWidget: Make things good looking
😎 - 415378ce - MRWidget: Fix unresolved discussions state.
Toggle commit list-
8c6d68be...f7fefe82 - 458 commits from branch
added 27 commits
- 0616d633 - MRWidget: Fix existing widget JS bug.
- fdefef84 - MRWidget: Improve deployment component template and methods.
- c7c71beb - MRWidget: Added component tests.
- ae4ab5a1 - Move CI related info to MR / Pipeline serializers
- 23ffee44 - MRWidget: Fixed and improved tests.
- 0007d5d0 - MRWidget: Fix locked component reference error.
- a1298d76 - MRWidget: Fix deployment spec datetime issue.
- ff783d7f - MRWidget: Add new tests for widget states.
- 8f91b326 - MRWidget: Fix status icon in the deploy widget.
- 94bfafb5 - MRWidget: Fix coverage info on existing MR.
- 3f21a19a - MRWidget: Implemented coverage info.
- 21689fea - MRWidget: Remove unused component in deployment component.
- e7e03162 - MRWidget: Implement CI error state in pipeline component.
- 60eda891 - Return the updated MR as json on merge_check endpoint
- 6a0d8227 - MRWidget: Fetch merge data if the MR status is unchecked.
- e29f6ba2 - MRWidget: Move deployment endpoint data set to root component.
- bb06eadc - MRWidget: ESLint fixes.
- 6d780f60 - MRWidget: Export checkStatus method.
- 4fc42b0f - MRWidget: Call checkStatus to update widget in necessary places.
- daea61e3 - MRWidget: Styling improvements.
- 0154948a - MRWidget: Change merge button class to danger.
- de91c103 - MRWidget: Update widget when note is added.
- c62d4ce4 - MRWidget: Fix some styling.
- 543ee3d3 - MRWidget: Use deployments data if exists.
- 444d80e8 - MRWidget: Minor code styling.
- 8723fa43 - MRWidget: Add nofollow to links.
- 599eb654 - Merge branch 'mr-widget-redesign' into 'mr-widget-redesign-review'
Toggle commit list@brycepj this MR is ready for you to move EE. Latest waiting part is already merged and included in here.
@fatihacet There are several conflicts that occur when I try applying the diff to EE:
Having looked at some of the conflicts, I don't think it's going to be easy to resolve them without involving the people who committed the conflicts.
We're going to have to resolve these at some point, but I'm not sure: should we do it now? The way I see it, it would be good to start now, unless many more conflicts will arise when we remove the original mr widget code or if some of the current conflicts will be resolved when the old code is removed.
Maybe it will be easier to backport approvals frontend code to CE and work on it there. I wouldn't be able to actually work with the server or database, but at least I'd be able to start integrating it directly with your code without having to first resolve these conflicts.
WDYT?
Edited by username-removed-408230Maybe it will be easier to backport approvals frontend code to CE and work on it there. I wouldn't be able to actually work with the server or database, but at least I'd be able to start integrating it directly with your code without having to first resolve these conflicts.
That sounds like a good plan. I think let's do it first then start working on the conflicts ASAP.
@brycepj @fatihacet wdyt on pushing those conflicts so we can address these together on the EE branch?
@oswaldo I opened an MR here: https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/1548
Edited by username-removed-408230When I started trying to integrate approvals components, I realized that there are a few entities in the MR widget code that need to be extensible for EE. Since this isn't my MR and I'm just trying to help out, I wanted to run my thoughts by you, @fatihacet, and see what you think.
The more I think about it, the more I believe we want to avoid using conditionals (e.g. by setting and getting an
isEE
property), because we'll end up writingif/else
blocks any time the behavior in CE differs from EE. That will become conflict-prone and error-prone quickly I think.We also need to be able to extend CE code in multiple ways, which will require more than conditional checks. As far as I can tell, EE code will need to extend the CE MR Widget in the following places:
- MR Widget Store
- MR Widget Service
- Adding top-level components (deployments/pipelines/approvals)
- Adding state components (conflics/locked/geo)
- Extending state components (squash)
- State Maps ( stateToComponentMap, statesToShowHelpWidget )
- Vue config properties ( components, methods, template )
- setting the order of if blocks evaluated in
setState
The following is how I propose we keep EE code separate from CE code, so that CE code needs to know nothing about EE code, while allowing us to keep EE code completely DRY.
1. Limit potential CE/EE conflicts to one file
Currently,
index.js
explicitly imports all of its own dependencies:import Vue from 'vue'; import WidgetHeader from './components/mr_widget_header'; // ... import MergedState from './components/states/mr_widget_merged'; // ... import MergeWhenPipelineSucceedsState from './components/states/mr_widget_merge_when_pipeline_succeeds'; import MRWidgetStore from './stores/mr_widget_store'; import MRWidgetService from './services/mr_widget_service'; import { stateToComponentMap, statesToShowHelpWidget } from './stores/state_maps';
Instead, we could add one layer of abstraction, moving file declarations to a
dependencies_index.js
file.In CE
dependencies_index.js
would look like this:export MergeRequestStore from './stores/mr_widget_store'; export MergeRequestService from './stores/mr_widget_store'; export { stateToComponentMap, statesToShowHelpWidget } from './stores/mr_widget_store'; export * from './components/states' export * from './components/' export VueConfig from './ee/vue_config' // all other dependencies...
While in EE it would look like this (note different file paths):
export MergeRequestStore from './ee/stores/mr_widget_store' export MergeRequestService from './ee/stores/mr_widget_store'; export { stateToComponentMap, statesToShowHelpWidget } from './ee/stores/mr_widget_store'; export * from './ee/components/states' export * from './ee/components' export VueConfig from './ee/vue_config' // all other dependencies...
That way,
index.js
will look the same for EE and CE (but we can keep all EE code in a separate folder).import { MergeRequestStore, MergeRequestService, stateToComponentMap, statesToShowHelpWidget, VueConfig } from 'dependencies.js'
2. Subclassing
We could pretty easily extend
MergeRequestStore
andMergeRequestService
in EE this way:MergeRequestStore
in CE (./stores/mr_widget_store'):export default class MergeRequestStore { // ... }
MergeRequestStore
in EE ('./ee/stores/mr_widget_store')import MergeRequestStore as CEMergeRequestStore from '../stores/mr_widget_store' export default class MergeRequestStore extends CEMergeRequestStore { // ... }
Then we'd just import them in
depencies_index.js
using their different paths. We could extend the MergeRequestService in the same way.3. Extending plain object and arrays
I believe we'll need to make
stateToComponentMap
andstateToShowHelpWidget
extensible, as well as all of the Vue config properties. We'd need to make these values import-able, and allow EE modules to extend them (withObject.assign
and/or[].push
) and then export them throughdependencies_index.js
.It can be more complicated than using
Object.assign
or[].push
in some cases. For example, we need to be able to run through the chain ofif
blocks insetState
in an explicit order. In order to make this extensible, we could replaceif
blocks with an iterable for EE can extend:stateReducers in CE:
export const stateReducers = [ (data) => data.project_archived ? 'archived' : false, (data) => (this.onlyAllowMergeIfPipelineSucceeds && this.isPipelineFailed) ? 'pipelineFailed' : false, ]
stateReducers in EE:
import stateReducers as from './stores/state_reducers'; const geoReducer = (data) => data.geo ? 'geo' : false; stateReducers.splice(3, 0, geoReducer) export default stateReducers;
setState
in theMergeRequestStore
:import StateReducers from '../ee/stores/state_reducers' ... setState() { if (this.isOpen) { stateReducers.find((reducer) => { const stateKey = reducer.apply(this, data); return stateKey ? this.state = stateKey : stateKey; }); } }
Currently, it's a little tricky if we need to add a 'top-level component' to the main template string, which we need to do for approvals. We could make it extensible this way:
template_string.js
in CE:export default [ '<mr-widget-header :mr="mr" />', '<mr-widget-pipeline v-if="shouldRenderPipelines" :mr="mr" />', '<mr-widget-deployment v-if="shouldRenderDeployments" :mr="mr" />', '<component :is="componentName" :mr="mr" :service="service" />', '<mr-widget-related-links v-if="shouldRenderRelatedLinks" :related-links="mr.relatedLinks" />' '<mr-widget-merge-help v-if="shouldRenderMergeHelp" />' ]
template_string.js
in EE:import templateString as from './config/template_string'; const approvalsTemplate = '<mr-widget-approvals v-if="shouldRenderApprovals" :mr="mr" :service="service"/>'; templateString.splice(3, 0, approvalsTemplate) export default templateString;
The Vue template property in index.js:
const componentHead = '<div class="mr-state-widget prepend-top-default">'; const componentTail = '</div>'; template: `${templateHead}${templateString.join('')}${templateTail}`;
Okay, that's all for now! Thanks for reading. A quick disclaimer: I could probably have gone into more detail, but I didn't want to spend too much time on this without feedback. The code samples probably have errors and aren't necessarily exactly how I'd write things if I gave it more thought. I just wanted to give you a general idea of what I have in mind.
Edited by username-removed-408230@brycepj thank you for this great research. Here is my comments.
I'm just trying to help out
You are the king
👑 by setting and getting an
isEE
propertyThat's right. This will make CE code unnecessarily complicated, hard to maintain and error prone.
- Limit potential CE/EE conflicts to one file
That'a great idea and will help us a lot to avoid conflicts. Big
👍 - Subclassing
I really love this idea. Especially the
import ... as ...
part. I was wondering how we can start using EEMergeRequestStore instead of CE one. Because I was thinking two of them will live at the same time but your approach is better. We don't need to have MergeRequestStore in CE so we can completely override it. Makes a lot sense👍 - Extending plain object and arrays
This seems quite complicated and error prone. I think it's complicated because all those reducers and error prone because
splice
. This will be quite hidden logic in EE and if we want to add a new state to EE, this will probably misleading or buggy becausestateReducers.splice(3, 0, geoReducer)
. I propose something like this.I believe the only part we will need to change is the ordered if block inside the
setState
method of store.if (this.isOpen) { if (data.project_archived) { this.state = 'archived'; } else if (data.branch_missing) { this.state = 'missingBranch'; } ... ... }
What if we make the inner
if
statements a function and move to another file and in the store we call that function to return us the littlestate
string. Then we will refactor CE code to call that function and set state. In the EE part we will override that function like you proposed in second item and we will be free to change it. The only disadvantage of this approach is probably we will need to have c/p of the sameif/else if
blocks in two project but I think the outcome of it will be huge. Easy to understand and easy to change etc. Let me know WDYT?Currently, it's a little tricky if we need to add a 'top-level component' to the main template string
I am not sure what you mean with 'top-level-component' but I think all of the EE states will be plug and play to current architecture and we don't need to change the
template
string in theindex
file. It's because you will create your component in EE, and add it tostateToComponentMap
then existing code will know which component to render. If MR state is related with Geo it will render EE Geo component or if MR state is related with Approvals it will render EE Approvals component etc. I think all we need to is add state and component tostateToComponentMap
and require the component you will write in EE as you proposed in first item. Is that correct? What am I missing here?A quick disclaimer: I could probably have gone into more detail, but I didn't want to spend too much time on this without feedback.
I thought you wrote this all in details and when I see your comment I was like
😮 The code samples probably have errors and aren't necessarily exactly how I'd write things if I gave it more thought.
I totally understand and the same for me :)
I just wanted to give you a general idea of what I have in mind.
Thank you for doing this I appreciated
👍 👍 👍 added 11 commits
- 8ee7b727 - MRWidget: TODO messages for error handling.
- 6185ced3 - MRWidget: Introduce eventHub.
- 1b41181d - MRWidget: Update widget when MWPS set.
- bbddc405 - MRWidget: Add callback support to eventHub's MRWidgetUpdateRequested event.
- e40721dd - MRWidget: Update widget after remove source branch.
- 8c99c59c - Utils: Added simple poll utility.
- 4380299c - MRWidget: Expose state and source_branch_exists in basic serializer.
- 04894a84 - MRWidget: Implement polling after merge action.
- 7e46d6ce - MRWidget: Initially do merge_check request.
- f674af04 - MRWidget: Add loading icon to merge button.
- 60cd0485 - Merge branch 'mr-widget-redesign' into 'mr-widget-redesign-review'
Toggle commit listadded 181 commits
-
60cd0485...53b21c1e - 69 commits from branch
master
- 772ebb5b - Expose more information in merge request serializer
- 13a88edb - Make sure source_project is set when call MergeRequest#can_remove_source_branch? method
- acde932e - Refactor MergeRequestEntity for serializer
- 394add99 - MRWidget: Initial commit.
- b2b19e83 - MRWidget: Merged and Closed states with Store.
- 0a0d8f38 - MRWidget: Add locked state.
- 5362a62b - MRWidget: Add WIP state.
- 239a12b0 - MRWidget: Add archived state.
- 60184f67 - MRWidget: Address MR feedbacks.
- c2af9f69 - MRWidget: Linter fixes.
- eaa33821 - MRWidget: MR changes. Mostly import and export.
- 53607d25 - Replace stubbed data in merge request entity with real one
- 14400507 - MRWidget: Resurrect lost files and add new states.
- 5c7e3ebc - MRWidget: Refactor store to set MR state properly.
- b3087185 - MRWidget: Add conflict resolution path.
- 2fac8283 - MRWidget: Show buttons in WIP widget if user can update MR.
- 798d094a - MRWidget: Implement remove source branch.
- 9cd97026 - MRWidget: Use component tag to remove multiple component tags.
- af03510a - MRWidget: Slightly refactor existing widget code to work only for old widget.
- c63e757c - MRWidget: Implemented ready to merge widget.
- 0a2f31c9 - MRWidget: Implement service and pass to components.
- 14fb0833 - MRWidget: Implement merge action with current state of backend.
- 9bd4f0ca - MRWidget: Address minor MR feedbacks.
- f32efbf0 - MRWidget: Implemented checking state.
- cd8e869e - MRWidget: Add help widget to RTM state.
- 31125738 - MRWidget: Export new fields and add them to store.
- 2a3f9af4 - MRWidget: Implement missing features in header.
- a10eaab0 - MRWidget: Rename files for consistency.
- 02f72cd9 - MRWidget: Expose MR pipeline using PipelineEntity.
- 9370bd0b - MRWidget: Implement CI status in MR widget.
- 5accecdb - MRWidget: Make SVG computed to update dynamically.
- b838b0b1 - MRWidget: Slightly refactor SVG icon imports to reuse.
- 4e6b0123 - MRWidget: Review fixes. Mostly remove default data from required props.
- 2c08d9dc - MRWidget: Add TODO and FIXME comments for backend changes.
- ecfd8cba - MRWidget: Show pipeline status for conflicts state.
- 46bc9988 - MRWidget: Make merge button red if pipeline failed.
- 3341cd24 - MRWidget: Advanced options for merge button.
- a6aab101 - Add tests to MergeRequestSerializer
- 363b16eb - MRWidget: Advanced options for merge button.
- 3a781890 - MRWidget: Handle failed pipeline if project is only MWPS.
- ab3eef8e - Adjust target_branch_path link
- b6e8770f - Remove TODO comment
- 126a5fd7 - MRWidget: Make remove branch default.
- 88606ce9 - MRWidget: Review fixes for !9877 (merged).
- cd0507bb - MRWidget: Implemented unresolved discussions state.
- f989a126 - MRWidget: Fix unresolved discussion state.
- 3e9a8bf9 - MRWidget: Implement blocked pipeline state.
- 316b3f13 - Add related/closing issues sentences data to MergeRequestSerializer
- 15b84970 - Add tests for can_update_merge_request info on MergeRequestSerializer
- abf88efa - Use current_user instead user for request objects used on Entities
- 3cadbfd8 - Handle JSON requests for "/merge"
- 3ce1d4ef - Alter TODO comments to further improve their trackability
- ce7f5b73 - Adjust "new issue to resolve discussions" link on MergeRequestEntity
- 806dbb51 - MRWidget: Refactor to move merge help widget into main component.
- ff73a48a - MRWidget: Refactor to move pipelines into main component.
- c20c2a9e - MRWidget: Implemented related links widget.
- 0b3a13f3 - Handle JSON requests properly on cancel_merge_when_pipeline_succeeds endpoint
- 12efd389 - MRWidget: Make issue and verb text methods easier.
- 031927ab - VuePipelines: Refactor code to reuse svg maps.
- 966a21ba - MR Widget Refactor Part 7
- 2af4c248 - Handle JSON requests for branch removal
- eb15d446 - MRWidget: Implemented remove WIP.
- 5b6fcdad - MRWidget: Fix missing prop in locked state.
- 198a0f6d - MRWidget: Fix pipeline passed icon color.
- 30b69300 - MRWidget: Implement remove source branch in Merged state.
- 3058c601 - Add basic MergeRequest serializer
- bf2c120e - MRWidget: Improve code styling and remove some eslint flags.
- eb9e92c3 - MRWidget: Prefer group info in pipeline status icon.
- d64c7323 - MRWidget: Implemented deployments component.
- 64f60231 - MRWidget: Remove polling.
- a2124ba7 - MRWidget: Minor code styling.
- f0e227bb - MRWidget: Import datetime utils.
- 5dd3047e - MRWidget: Only render template element if there is a relatead link.
- 366a1ec3 - MRWidget: Group merge conflict buttons.
-
489e92b3 - MRWidget: Make things good looking
😎 - 8444f99c - MRWidget: Fix unresolved discussions state.
- 24fbf6e6 - MRWidget: Fix existing widget JS bug.
- 66e49002 - MRWidget: Improve deployment component template and methods.
- 1c97d8da - MRWidget: Added component tests.
- 76690a57 - Move CI related info to MR / Pipeline serializers
- 903d72d5 - MRWidget: Fixed and improved tests.
- 9169ed8b - MRWidget: Fix locked component reference error.
- 1a31e672 - MRWidget: Fix deployment spec datetime issue.
- a95dfea3 - MRWidget: Add new tests for widget states.
- 314fb89d - MRWidget: Fix status icon in the deploy widget.
- d5047249 - MRWidget: Fix coverage info on existing MR.
- 60e7bb84 - MRWidget: Implemented coverage info.
- ed7fc326 - MRWidget: Remove unused component in deployment component.
- 7c5b2e08 - MRWidget: Implement CI error state in pipeline component.
- d1d4ed14 - Return the updated MR as json on merge_check endpoint
- 7343069b - MRWidget: Fetch merge data if the MR status is unchecked.
- c5b2b532 - MRWidget: Move deployment endpoint data set to root component.
- 0afc2442 - MRWidget: ESLint fixes.
- 4e3738be - MRWidget: Export checkStatus method.
- 676599cd - MRWidget: Call checkStatus to update widget in necessary places.
- 6b7d612f - MRWidget: Styling improvements.
- 85b9b43d - MRWidget: Change merge button class to danger.
- a05a2d51 - MRWidget: Update widget when note is added.
- 9bafdcb7 - MRWidget: Fix some styling.
- 647e9ce5 - MRWidget: Use deployments data if exists.
- b3ba6631 - MRWidget: Minor code styling.
- a4f810da - MRWidget: Add nofollow to links.
- ccaf712c - MRWidget: TODO messages for error handling.
- 09564897 - MRWidget: Introduce eventHub.
- f42fcdf1 - MRWidget: Update widget when MWPS set.
- 2d95d54d - MRWidget: Add callback support to eventHub's MRWidgetUpdateRequested event.
- 5eea53c1 - MRWidget: Update widget after remove source branch.
- cb07a28f - Utils: Added simple poll utility.
- c21a6f6e - MRWidget: Expose state and source_branch_exists in basic serializer.
- 4bde3620 - MRWidget: Implement polling after merge action.
- 5525d902 - MRWidget: Initially do merge_check request.
- bc45d86c - MRWidget: Add loading icon to merge button.
Toggle commit list-
60cd0485...53b21c1e - 69 commits from branch
- Resolved by username-removed-408230
@fatihacet I think most of this work will need to happen in CE... would you like me to work on it now, or would that just make things more complicated for you?
Edited by username-removed-408230@brycepj that would be harder for me. If you need those changes at this moment I can start doing that, let me know.
@fatihacet I don't have a lot I can do on this before then. Yesterday, I went through the approvals code and moved things around so that they're more or less ready to pull in, once CE is extensible. I could also do the same with other EE components in the meantime, if that would help.
Edited by username-removed-408230- Resolved by username-removed-502136
Regarding the logic for showing "Revert" and "Cherry-pick" buttons.
@fatihacet Please take a look on
merge_requests/widget/_merged_buttons.html.haml
.Today we have a logic on backend to handle the building for each of those links. I.e. checking if a user can collaborate on a project to show the button, if not, check if one can Fork a project. This way we can properly show those actions for the current MR, or proceed with it on a fork. I'm yet not convinced that we should move all this logic (https://gitlab.com/gitlab-org/gitlab-ce/blob/master/app/helpers/commits_helper.rb#L175-195) to FE, but also not completely happy by returning HTML on JSON, but for a first step I'd go for the latter. I'd really appreciate a BE perspective here, wdyt @smcgivern?
Also, feel free to express your opinion on the comment above @brycepj
😄 What if we make the inner
if
statements a function and move to another file and in the store we call that function to return us the littlestate
string. Then we will refactor CE code to call that function and set state. In the EE part we will override that function like you proposed in second item and we will be free to change it. The only disadvantage of this approach is probably we will need to have c/p of the sameif/else if
blocks in two project but I think the outcome of it will be huge. Easy to understand and easy to change etc. Let me know WDYT?@fatihacet Yeah, this is similar to the issue we're discussing here. It could work that way -- it just means having to maintain two copies of the same code. I agree with you that the breaking up the
if
blocks/reducers into an array and iterating over them and/or splicing in additional if blocks/reducers in EE might be confusing. So there are pros and cons either way.I think if I had to choose, I'd avoid having to maintain two copies of the code, but I can understand if that's less preferable to you. Maybe we can start with having two copies, and if there start to be maintenance headaches, we can work on finding a better abstraction.
Edited by username-removed-408230Maybe we can start with having two copies, and if there start to be maintenance headaches, we can work on finding a better abstraction.
@brycepj that sounds a great plan to me. We should always focus on the developer time and ease of maintenance in the first place. And this way should be much faster to change.
@oswaldo can you describe the problem in more detail, please? From the method you linked, I think we could return this from the backend:
can_collaborate_with_project?
can?(current_user, :fork_project, @project)
fork_path
And that would be enough information for the frontend to reconstruct these links. Does that make sense to you? Is that even what you were asking?
😃 Thanks @smcgivern, it's not exactly a problem, would just like a second opinion on that particular case (moving this logic to FE or not). You got the idea
😄 added 18 commits
- d82e6a7d - MRWidget: Don't prefer array destructuring.
- c83a0a3b - MRWidget: Change prop name to avoid confusions.
- 47b40c51 - MRWidget: Improve merge buttons.
- 0a98b45f - Expose stages in ci_status endpoint.
- 55dea41e - MRWidget: Expose ci_status_path.
- bd6d1756 - MRWidget: Make pipelines empty object as default.
- 5088a03f - MRWidget: Implement CI polling.
- 6cf342c2 - Move MR widget imports to dependencies.js.
- 889e26c0 - Abstract out deviseState from setState.
- b9e7f779 - Make dependencies import multi-line.
- ea5c0d93 - Break BaseTemplate, stateToComponentMap and statesToShowHelpWidget into separate config files.
- bc054ffd - Make baseComputed extensible.
- 4bf6e1d7 - Make mrWidgetOptions extensible and revert config dir.
- 1b4edc8c - Handle environment stopping as JSON
- 7754e379 - Pipelines: Make stage svg a computed property.
- 94fa6ea7 - MRWidget: Update pipelines data only if we have new status.
- 990532cd - MRWidget: Show some respect to ESLint.
- e2f4edc0 - Merge branch 'mr-widget-redesign' into 'mr-widget-redesign-review'
Toggle commit listadded 200 commits
-
e2f4edc0...97c49b84 - 69 commits from branch
master
- bc4f0fe5 - Expose more information in merge request serializer
- b1b8b95b - Make sure source_project is set when call MergeRequest#can_remove_source_branch? method
- 81cb52d1 - Refactor MergeRequestEntity for serializer
- 9f9c8f34 - MRWidget: Initial commit.
- 449a9b9b - MRWidget: Merged and Closed states with Store.
- da00461f - MRWidget: Add locked state.
- 63415440 - MRWidget: Add WIP state.
- bcaba2b6 - MRWidget: Add archived state.
- 92548b39 - MRWidget: Address MR feedbacks.
- 581d5c60 - MRWidget: Linter fixes.
- 46093c94 - MRWidget: MR changes. Mostly import and export.
- 5c01935e - Replace stubbed data in merge request entity with real one
- ee3981d2 - MRWidget: Resurrect lost files and add new states.
- a6c37c55 - MRWidget: Refactor store to set MR state properly.
- 69bb11a0 - MRWidget: Add conflict resolution path.
- 93518087 - MRWidget: Show buttons in WIP widget if user can update MR.
- 50cef3e6 - MRWidget: Implement remove source branch.
- 91fb83b2 - MRWidget: Use component tag to remove multiple component tags.
- ee6c9f57 - MRWidget: Slightly refactor existing widget code to work only for old widget.
- d2f60258 - MRWidget: Implemented ready to merge widget.
- beb1e65a - MRWidget: Implement service and pass to components.
- 9ae05e0e - MRWidget: Implement merge action with current state of backend.
- 1596b612 - MRWidget: Address minor MR feedbacks.
- 9b4d5c2c - MRWidget: Implemented checking state.
- 67736d73 - MRWidget: Add help widget to RTM state.
- 615f6550 - MRWidget: Export new fields and add them to store.
- 15561d37 - MRWidget: Implement missing features in header.
- 6d7083cd - MRWidget: Rename files for consistency.
- 3945e42b - MRWidget: Expose MR pipeline using PipelineEntity.
- d23f4985 - MRWidget: Implement CI status in MR widget.
- 70739603 - MRWidget: Make SVG computed to update dynamically.
- 44c8f1d0 - MRWidget: Slightly refactor SVG icon imports to reuse.
- c1df1e31 - MRWidget: Review fixes. Mostly remove default data from required props.
- 8b474506 - MRWidget: Add TODO and FIXME comments for backend changes.
- bf56d45f - MRWidget: Show pipeline status for conflicts state.
- a44db2bb - MRWidget: Make merge button red if pipeline failed.
- 8e9c09f9 - MRWidget: Advanced options for merge button.
- 62d89b05 - Add tests to MergeRequestSerializer
- bfbcbc2a - MRWidget: Advanced options for merge button.
- 1676d55e - MRWidget: Handle failed pipeline if project is only MWPS.
- fffe7575 - Adjust target_branch_path link
- bf6ae946 - Remove TODO comment
- ce421124 - MRWidget: Make remove branch default.
- 9c45cb21 - MRWidget: Review fixes for !9877 (merged).
- 8d89756f - MRWidget: Implemented unresolved discussions state.
- 224c705c - MRWidget: Fix unresolved discussion state.
- 30df33f6 - MRWidget: Implement blocked pipeline state.
- 3b30df19 - Add related/closing issues sentences data to MergeRequestSerializer
- 3def1dd1 - Add tests for can_update_merge_request info on MergeRequestSerializer
- f7c97caa - Use current_user instead user for request objects used on Entities
- ec3f30a8 - Handle JSON requests for "/merge"
- b00d05c9 - Alter TODO comments to further improve their trackability
- ceeafde1 - Adjust "new issue to resolve discussions" link on MergeRequestEntity
- e01db37e - MRWidget: Refactor to move merge help widget into main component.
- d965838e - MRWidget: Refactor to move pipelines into main component.
- 8968e443 - MRWidget: Implemented related links widget.
- a3c133be - Handle JSON requests properly on cancel_merge_when_pipeline_succeeds endpoint
- 62024aad - MRWidget: Make issue and verb text methods easier.
- f54addad - VuePipelines: Refactor code to reuse svg maps.
- c54ffe9a - MR Widget Refactor Part 7
- a0238d00 - Handle JSON requests for branch removal
- 167e3c94 - MRWidget: Implemented remove WIP.
- c5d339b9 - MRWidget: Fix missing prop in locked state.
- e67f9225 - MRWidget: Fix pipeline passed icon color.
- a125fd10 - MRWidget: Implement remove source branch in Merged state.
- 8c6045b2 - Add basic MergeRequest serializer
- d8037162 - MRWidget: Improve code styling and remove some eslint flags.
- a33901a3 - MRWidget: Prefer group info in pipeline status icon.
- 4683b790 - MRWidget: Implemented deployments component.
- 5ba66481 - MRWidget: Remove polling.
- cb7f2776 - MRWidget: Minor code styling.
- 2cb9a781 - MRWidget: Import datetime utils.
- 321082e6 - MRWidget: Only render template element if there is a relatead link.
- fde0cb23 - MRWidget: Group merge conflict buttons.
-
41bb9515 - MRWidget: Make things good looking
😎 - 604d3d41 - MRWidget: Fix unresolved discussions state.
- 15ad7ba1 - MRWidget: Fix existing widget JS bug.
- 51ebd0eb - MRWidget: Improve deployment component template and methods.
- a940ce14 - MRWidget: Added component tests.
- 1543578f - Move CI related info to MR / Pipeline serializers
- 5341669b - MRWidget: Fixed and improved tests.
- a27c739e - MRWidget: Fix locked component reference error.
- 41cd395c - MRWidget: Fix deployment spec datetime issue.
- 74bf2cb9 - MRWidget: Add new tests for widget states.
- d0e749f1 - MRWidget: Fix status icon in the deploy widget.
- 4b92961f - MRWidget: Fix coverage info on existing MR.
- c0670b85 - MRWidget: Implemented coverage info.
- 011671c2 - MRWidget: Remove unused component in deployment component.
- 9077a4d7 - MRWidget: Implement CI error state in pipeline component.
- 1b6970ac - Return the updated MR as json on merge_check endpoint
- c818bac4 - MRWidget: Fetch merge data if the MR status is unchecked.
- 0c301ca2 - MRWidget: Move deployment endpoint data set to root component.
- e3eef189 - MRWidget: ESLint fixes.
- 2f77fea0 - MRWidget: Export checkStatus method.
- da14dee4 - MRWidget: Call checkStatus to update widget in necessary places.
- 1d661e14 - MRWidget: Styling improvements.
- 679d3f11 - MRWidget: Change merge button class to danger.
- f237f6eb - MRWidget: Update widget when note is added.
- 2f1314aa - MRWidget: Fix some styling.
- 9ed8cfff - MRWidget: Use deployments data if exists.
- 8e9b3fe2 - MRWidget: Minor code styling.
- 6820ac6e - MRWidget: Add nofollow to links.
- fdceebdc - MRWidget: TODO messages for error handling.
- f9dea1eb - MRWidget: Introduce eventHub.
- 8d4d8cd9 - MRWidget: Update widget when MWPS set.
- deb85d2d - MRWidget: Add callback support to eventHub's MRWidgetUpdateRequested event.
- bbcd7c61 - MRWidget: Update widget after remove source branch.
- d7594547 - Utils: Added simple poll utility.
- 16d9f865 - MRWidget: Expose state and source_branch_exists in basic serializer.
- 7c2930ee - MRWidget: Implement polling after merge action.
- 357699fb - MRWidget: Initially do merge_check request.
- e2b876fa - MRWidget: Add loading icon to merge button.
- 027b7bde - MRWidget: Don't prefer array destructuring.
- dbf1601a - MRWidget: Change prop name to avoid confusions.
- dc7f03d3 - MRWidget: Improve merge buttons.
- 8ec28b91 - Adjust MR controller specs
- aaa2bd27 - Adjust PipelineSerializer specs
- 8a48432b - Expose stages in ci_status endpoint.
- 82e72ab4 - MRWidget: Expose ci_status_path.
- a9619ce3 - MRWidget: Make pipelines empty object as default.
- d18e04b3 - MRWidget: Implement CI polling.
- 804b9fd0 - Move MR widget imports to dependencies.js.
- 140e6e70 - Abstract out deviseState from setState.
- 7fdcba16 - Make dependencies import multi-line.
- e6f570e8 - Break BaseTemplate, stateToComponentMap and statesToShowHelpWidget into separate config files.
- 8fae07ce - Make baseComputed extensible.
- bb285dcc - Make mrWidgetOptions extensible and revert config dir.
- b8cfadbf - Handle environment stopping as JSON
- 61f9f41b - Pipelines: Make stage svg a computed property.
- e3863027 - MRWidget: Update pipelines data only if we have new status.
- c3b60142 - MRWidget: Show some respect to ESLint.
Toggle commit list-
e2f4edc0...97c49b84 - 69 commits from branch
mentioned in merge request !10324 (merged)
mentioned in merge request !10440 (merged)
added 38 commits
- 507fea8a - MRWidget: Add download attribute to MR widget download buttons.
- 0ea82215 - MRWidget: Implement failed to merge state.
- ab78aa40 - MRWidget: Implement stopEnvironment.
- 06613b09 - MRWidget: Implement polling for deployments.
- 2a873461 - MRWidget: Change icon of the Merge immediately option.
- 3ce42235 - MRWidget: Fix tree view for MWPS state.
- cf35b080 - Properly show Cherry-pick and Revert links (Action on current MR or Fork)
- 7399d288 - Add commit_change_content endpoint for loading Cherry-pick / Revert modal content
- 30276c93 - Add metrics URL to ci_environments_status endpoint
- 352cd0f8 - MRWidget: Add tests for failed to merge state.
- 46e8d19b - MRWidget: Add missing tests for deployment widget.
- a08d1384 - MRWidget: Tell main component to update store.
- f8b54575 - MRWidget: Remove unnecessary test.
- 1834c399 - MRWidget: Add tests for WIP component.
- db6c0ee1 - MRWidget: Add more tests.
- 680bed73 - Reuse MR ci status logic by creating a MergeRequestPresenter
- a900ed8a - Move MR serializer specs to Entity level
- 884d4ceb - Adjust Rubocop offenses
- a7c12790 - Add light gray shade
- a1af02ae - Styling enhancements for MR Widget
- d6cfa504 - Several updates to MR widget header
-
a1758421 - Add
with stage
for finished pipelines - 31ddf904 - ESLint: Add missing semi-colon
- 66697229 - Update styling as per UI specs
- aafbc5fc - Update styling as per UI specs
- d096ac1a - Update icon styles for MR ready dropdown
- 5ed911b7 - Adjust Rubocop offenses
- bd9a656c - MRWidget: Handle response and update widget in MWPS state.
- c971d957 - MRWidget: Add tests for missing branch state.
- 3c5a8742 - MRWidget: ESLint fixes.
- d3172ed8 - MRWidget: Improve and simplfy deployment spec.
- 3160cdb9 - MRWidget: Add tests for MWPS state.
- 5e40cdb9 - Merge branch 'mr-widget-redesign-styling-updates' into 'mr-widget-redesign'
- 7952f8a2 - Fix specs and some code styling after merged MR.
- 606feb53 - MRWidget: Add tests for merged state.
- 65a46084 - MRWidget: Fix broken header spec.
- 7d2e7132 - MRWidget: Add type attrbute to button.
- 65ef926c - Merge branch 'mr-widget-redesign' into 'mr-widget-redesign-review'
Toggle commit listadded 422 commits
-
65ef926c...514dc1a0 - 255 commits from branch
master
- 23c51a27 - Expose more information in merge request serializer
- c0277c84 - Make sure source_project is set when call MergeRequest#can_remove_source_branch? method
- 4ab424e3 - Refactor MergeRequestEntity for serializer
- 4841d605 - MRWidget: Initial commit.
- 4a263045 - MRWidget: Merged and Closed states with Store.
- 577e1b01 - MRWidget: Add locked state.
- f794985b - MRWidget: Add WIP state.
- 911e1692 - MRWidget: Add archived state.
- eddb0efd - MRWidget: Address MR feedbacks.
- f9ea9cbb - MRWidget: Linter fixes.
- c706dd67 - MRWidget: MR changes. Mostly import and export.
- 4e3aef18 - Replace stubbed data in merge request entity with real one
- 1750a839 - MRWidget: Resurrect lost files and add new states.
- 5044c486 - MRWidget: Refactor store to set MR state properly.
- dde5517e - MRWidget: Add conflict resolution path.
- bbfc8c3c - MRWidget: Show buttons in WIP widget if user can update MR.
- 86b6fb23 - MRWidget: Implement remove source branch.
- 8edfc49b - MRWidget: Use component tag to remove multiple component tags.
- 59110c46 - MRWidget: Slightly refactor existing widget code to work only for old widget.
- c604c301 - MRWidget: Implemented ready to merge widget.
- 15f51130 - MRWidget: Implement service and pass to components.
- 37bd4eb6 - MRWidget: Implement merge action with current state of backend.
- 23961991 - MRWidget: Address minor MR feedbacks.
- edcfec2a - MRWidget: Implemented checking state.
- 67206afa - MRWidget: Add help widget to RTM state.
- e67d07cc - MRWidget: Export new fields and add them to store.
- d4186999 - MRWidget: Implement missing features in header.
- aeedc267 - MRWidget: Rename files for consistency.
- ca70af28 - MRWidget: Expose MR pipeline using PipelineEntity.
- 88ff320e - MRWidget: Implement CI status in MR widget.
- fc6c6fc3 - MRWidget: Make SVG computed to update dynamically.
- 5f26adc1 - MRWidget: Slightly refactor SVG icon imports to reuse.
- 311cbffb - MRWidget: Review fixes. Mostly remove default data from required props.
- 8b5c421e - MRWidget: Add TODO and FIXME comments for backend changes.
- d47c919e - MRWidget: Show pipeline status for conflicts state.
- fb080663 - MRWidget: Make merge button red if pipeline failed.
- 6cfe0db9 - MRWidget: Advanced options for merge button.
- 3698abc5 - Add tests to MergeRequestSerializer
- f38b61c1 - MRWidget: Advanced options for merge button.
- afcba250 - MRWidget: Handle failed pipeline if project is only MWPS.
- 1203066a - Adjust target_branch_path link
- f6b857fe - Remove TODO comment
- 81ad185a - MRWidget: Make remove branch default.
- 3a51e12b - MRWidget: Review fixes for !9877 (merged).
- f0e68832 - MRWidget: Implemented unresolved discussions state.
- 148d2aa1 - MRWidget: Fix unresolved discussion state.
- d51bf22e - MRWidget: Implement blocked pipeline state.
- 432f733c - Add related/closing issues sentences data to MergeRequestSerializer
- 5c27c355 - Add tests for can_update_merge_request info on MergeRequestSerializer
- dd471714 - Use current_user instead user for request objects used on Entities
- 2dbfa607 - Handle JSON requests for "/merge"
- 08bfa1f7 - Alter TODO comments to further improve their trackability
- 5f2db619 - Adjust "new issue to resolve discussions" link on MergeRequestEntity
- 36010f64 - MRWidget: Refactor to move merge help widget into main component.
- 6f5e1037 - MRWidget: Refactor to move pipelines into main component.
- 48de3bf9 - MRWidget: Implemented related links widget.
- e1ab9007 - Handle JSON requests properly on cancel_merge_when_pipeline_succeeds endpoint
- 9500c581 - MRWidget: Make issue and verb text methods easier.
- 71dbc359 - VuePipelines: Refactor code to reuse svg maps.
- 9777b938 - MR Widget Refactor Part 7
- a0933f73 - Handle JSON requests for branch removal
- cc75f8c4 - MRWidget: Implemented remove WIP.
- 6a9b0a44 - MRWidget: Fix missing prop in locked state.
- 4f57c6f3 - MRWidget: Fix pipeline passed icon color.
- 737331c6 - MRWidget: Implement remove source branch in Merged state.
- 51842c45 - Add basic MergeRequest serializer
- b3912886 - MRWidget: Improve code styling and remove some eslint flags.
- 4dc7444b - MRWidget: Prefer group info in pipeline status icon.
- 5ef59ccf - MRWidget: Implemented deployments component.
- ad2fbdfa - MRWidget: Remove polling.
- 9ddf967b - MRWidget: Minor code styling.
- 758566b4 - MRWidget: Import datetime utils.
- 119cdb35 - MRWidget: Only render template element if there is a relatead link.
- d72509c2 - MRWidget: Group merge conflict buttons.
-
a613878d - MRWidget: Make things good looking
😎 - ca39fb1e - MRWidget: Fix unresolved discussions state.
- 4c0252fc - MRWidget: Fix existing widget JS bug.
- f8e7477b - MRWidget: Improve deployment component template and methods.
- c16850bd - MRWidget: Added component tests.
- db057b71 - Move CI related info to MR / Pipeline serializers
- 57e49451 - MRWidget: Fixed and improved tests.
- 4413875a - MRWidget: Fix locked component reference error.
- 9b0fc2aa - MRWidget: Fix deployment spec datetime issue.
- e6c8d67e - MRWidget: Add new tests for widget states.
- 82cb16ae - MRWidget: Fix status icon in the deploy widget.
- 12c83401 - MRWidget: Implemented coverage info.
- 6fe864c2 - MRWidget: Remove unused component in deployment component.
- a55faadb - MRWidget: Implement CI error state in pipeline component.
- 6bece429 - Return the updated MR as json on merge_check endpoint
- 472d12a6 - MRWidget: Fetch merge data if the MR status is unchecked.
- 494c6bed - MRWidget: Move deployment endpoint data set to root component.
- 7805df23 - MRWidget: ESLint fixes.
- 29e9f9e0 - MRWidget: Export checkStatus method.
- 87230452 - MRWidget: Call checkStatus to update widget in necessary places.
- dbe4faf5 - MRWidget: Styling improvements.
- f1201065 - MRWidget: Change merge button class to danger.
- 530845db - MRWidget: Update widget when note is added.
- cfdc0098 - MRWidget: Fix some styling.
- d8c69701 - MRWidget: Use deployments data if exists.
- 80ff36df - MRWidget: Minor code styling.
- 33ea8575 - MRWidget: Add nofollow to links.
- 3f7a19b0 - MRWidget: TODO messages for error handling.
- 77d995cc - MRWidget: Introduce eventHub.
- 644f854e - MRWidget: Update widget when MWPS set.
- c8176d16 - MRWidget: Add callback support to eventHub's MRWidgetUpdateRequested event.
- 0d2d4218 - MRWidget: Update widget after remove source branch.
- a70ebb4e - Utils: Added simple poll utility.
- 3ea063d0 - MRWidget: Expose state and source_branch_exists in basic serializer.
- f200ad3a - MRWidget: Implement polling after merge action.
- 03a0e36e - MRWidget: Initially do merge_check request.
- 1319abcf - MRWidget: Add loading icon to merge button.
- aa3e6a9e - MRWidget: Don't prefer array destructuring.
- c3cbc2a5 - MRWidget: Change prop name to avoid confusions.
- 21b4789e - MRWidget: Improve merge buttons.
- e0014f0e - Adjust MR controller specs
- 23136da6 - Adjust PipelineSerializer specs
- b3fb0129 - Expose stages in ci_status endpoint.
- 6c543e2f - MRWidget: Expose ci_status_path.
- 1bf7812b - MRWidget: Make pipelines empty object as default.
- 3109c18d - MRWidget: Implement CI polling.
- 42c4e2fa - Move MR widget imports to dependencies.js.
- afc91a92 - Abstract out deviseState from setState.
- 3d6a5aa4 - Make dependencies import multi-line.
- 69948084 - Break BaseTemplate, stateToComponentMap and statesToShowHelpWidget into separate config files.
- 2e2fc2f9 - Make baseComputed extensible.
- a04739b0 - Make mrWidgetOptions extensible and revert config dir.
- 68c122c0 - Handle environment stopping as JSON
- 1bf52e80 - Pipelines: Make stage svg a computed property.
- 86db9faa - MRWidget: Update pipelines data only if we have new status.
- fb67e404 - MRWidget: Show some respect to ESLint.
- aac8908c - MRWidget: Add download attribute to MR widget download buttons.
- fc89a1e3 - MRWidget: Implement failed to merge state.
- a293167a - MRWidget: Implement stopEnvironment.
- 73b0c93e - MRWidget: Implement polling for deployments.
- 71475201 - MRWidget: Change icon of the Merge immediately option.
- ae3725f2 - MRWidget: Fix tree view for MWPS state.
- 9c6a562d - Properly show Cherry-pick and Revert links (Action on current MR or Fork)
- 2f65bfe7 - Add commit_change_content endpoint for loading Cherry-pick / Revert modal content
- d8951981 - Add metrics URL to ci_environments_status endpoint
- 0225b3ec - MRWidget: Add tests for failed to merge state.
- 9c2eb743 - MRWidget: Add missing tests for deployment widget.
- d55cb623 - MRWidget: Tell main component to update store.
- d138801e - MRWidget: Remove unnecessary test.
- fbb1f320 - MRWidget: Add tests for WIP component.
- 799f85c9 - MRWidget: Add more tests.
- d80e9e3f - Reuse MR ci status logic by creating a MergeRequestPresenter
- 1245befc - Move MR serializer specs to Entity level
- a2e246f4 - Adjust Rubocop offenses
- c03418a2 - Add light gray shade
- 175ea2b0 - Styling enhancements for MR Widget
- 3490ee02 - Several updates to MR widget header
-
4ab2bdfa - Add
with stage
for finished pipelines - e1816870 - ESLint: Add missing semi-colon
- 52ae3e22 - Update styling as per UI specs
- d707cfb1 - Update styling as per UI specs
- 4d5356b7 - Update icon styles for MR ready dropdown
- c9588fe5 - Adjust Rubocop offenses
- fb406539 - MRWidget: Handle response and update widget in MWPS state.
- 10d1f167 - MRWidget: Add tests for missing branch state.
- 6bf97144 - MRWidget: ESLint fixes.
- e9c3a22e - MRWidget: Improve and simplfy deployment spec.
- 30265403 - MRWidget: Add tests for MWPS state.
- 936d68c8 - Fix specs and some code styling after merged MR.
- eed03901 - MRWidget: Add tests for merged state.
- fc941f1c - MRWidget: Fix broken header spec.
- 3c970954 - MRWidget: Add type attrbute to button.
- d54f2def - Extend prometheus service to be able to make queries using specific timeframes
Toggle commit list-
65ef926c...514dc1a0 - 255 commits from branch
added 171 commits
- bc4f0fe5 - Expose more information in merge request serializer
- b1b8b95b - Make sure source_project is set when call MergeRequest#can_remove_source_branch? method
- 81cb52d1 - Refactor MergeRequestEntity for serializer
- 9f9c8f34 - MRWidget: Initial commit.
- 449a9b9b - MRWidget: Merged and Closed states with Store.
- da00461f - MRWidget: Add locked state.
- 63415440 - MRWidget: Add WIP state.
- bcaba2b6 - MRWidget: Add archived state.
- 92548b39 - MRWidget: Address MR feedbacks.
- 581d5c60 - MRWidget: Linter fixes.
- 46093c94 - MRWidget: MR changes. Mostly import and export.
- 5c01935e - Replace stubbed data in merge request entity with real one
- ee3981d2 - MRWidget: Resurrect lost files and add new states.
- a6c37c55 - MRWidget: Refactor store to set MR state properly.
- 69bb11a0 - MRWidget: Add conflict resolution path.
- 93518087 - MRWidget: Show buttons in WIP widget if user can update MR.
- 50cef3e6 - MRWidget: Implement remove source branch.
- 91fb83b2 - MRWidget: Use component tag to remove multiple component tags.
- ee6c9f57 - MRWidget: Slightly refactor existing widget code to work only for old widget.
- d2f60258 - MRWidget: Implemented ready to merge widget.
- beb1e65a - MRWidget: Implement service and pass to components.
- 9ae05e0e - MRWidget: Implement merge action with current state of backend.
- 1596b612 - MRWidget: Address minor MR feedbacks.
- 9b4d5c2c - MRWidget: Implemented checking state.
- 67736d73 - MRWidget: Add help widget to RTM state.
- 615f6550 - MRWidget: Export new fields and add them to store.
- 15561d37 - MRWidget: Implement missing features in header.
- 6d7083cd - MRWidget: Rename files for consistency.
- 3945e42b - MRWidget: Expose MR pipeline using PipelineEntity.
- d23f4985 - MRWidget: Implement CI status in MR widget.
- 70739603 - MRWidget: Make SVG computed to update dynamically.
- 44c8f1d0 - MRWidget: Slightly refactor SVG icon imports to reuse.
- c1df1e31 - MRWidget: Review fixes. Mostly remove default data from required props.
- 8b474506 - MRWidget: Add TODO and FIXME comments for backend changes.
- bf56d45f - MRWidget: Show pipeline status for conflicts state.
- a44db2bb - MRWidget: Make merge button red if pipeline failed.
- 8e9c09f9 - MRWidget: Advanced options for merge button.
- 62d89b05 - Add tests to MergeRequestSerializer
- bfbcbc2a - MRWidget: Advanced options for merge button.
- 1676d55e - MRWidget: Handle failed pipeline if project is only MWPS.
- fffe7575 - Adjust target_branch_path link
- bf6ae946 - Remove TODO comment
- ce421124 - MRWidget: Make remove branch default.
- 9c45cb21 - MRWidget: Review fixes for !9877 (merged).
- 8d89756f - MRWidget: Implemented unresolved discussions state.
- 224c705c - MRWidget: Fix unresolved discussion state.
- 30df33f6 - MRWidget: Implement blocked pipeline state.
- 3b30df19 - Add related/closing issues sentences data to MergeRequestSerializer
- 3def1dd1 - Add tests for can_update_merge_request info on MergeRequestSerializer
- f7c97caa - Use current_user instead user for request objects used on Entities
- ec3f30a8 - Handle JSON requests for "/merge"
- b00d05c9 - Alter TODO comments to further improve their trackability
- ceeafde1 - Adjust "new issue to resolve discussions" link on MergeRequestEntity
- e01db37e - MRWidget: Refactor to move merge help widget into main component.
- d965838e - MRWidget: Refactor to move pipelines into main component.
- 8968e443 - MRWidget: Implemented related links widget.
- a3c133be - Handle JSON requests properly on cancel_merge_when_pipeline_succeeds endpoint
- 62024aad - MRWidget: Make issue and verb text methods easier.
- f54addad - VuePipelines: Refactor code to reuse svg maps.
- c54ffe9a - MR Widget Refactor Part 7
- a0238d00 - Handle JSON requests for branch removal
- 167e3c94 - MRWidget: Implemented remove WIP.
- c5d339b9 - MRWidget: Fix missing prop in locked state.
- e67f9225 - MRWidget: Fix pipeline passed icon color.
- a125fd10 - MRWidget: Implement remove source branch in Merged state.
- 8c6045b2 - Add basic MergeRequest serializer
- d8037162 - MRWidget: Improve code styling and remove some eslint flags.
- a33901a3 - MRWidget: Prefer group info in pipeline status icon.
- 4683b790 - MRWidget: Implemented deployments component.
- 5ba66481 - MRWidget: Remove polling.
- cb7f2776 - MRWidget: Minor code styling.
- 2cb9a781 - MRWidget: Import datetime utils.
- 321082e6 - MRWidget: Only render template element if there is a relatead link.
- fde0cb23 - MRWidget: Group merge conflict buttons.
-
41bb9515 - MRWidget: Make things good looking
😎 - 604d3d41 - MRWidget: Fix unresolved discussions state.
- 15ad7ba1 - MRWidget: Fix existing widget JS bug.
- 51ebd0eb - MRWidget: Improve deployment component template and methods.
- a940ce14 - MRWidget: Added component tests.
- 1543578f - Move CI related info to MR / Pipeline serializers
- 5341669b - MRWidget: Fixed and improved tests.
- a27c739e - MRWidget: Fix locked component reference error.
- 41cd395c - MRWidget: Fix deployment spec datetime issue.
- 74bf2cb9 - MRWidget: Add new tests for widget states.
- d0e749f1 - MRWidget: Fix status icon in the deploy widget.
- 4b92961f - MRWidget: Fix coverage info on existing MR.
- c0670b85 - MRWidget: Implemented coverage info.
- 011671c2 - MRWidget: Remove unused component in deployment component.
- 9077a4d7 - MRWidget: Implement CI error state in pipeline component.
- 1b6970ac - Return the updated MR as json on merge_check endpoint
- c818bac4 - MRWidget: Fetch merge data if the MR status is unchecked.
- 0c301ca2 - MRWidget: Move deployment endpoint data set to root component.
- e3eef189 - MRWidget: ESLint fixes.
- 2f77fea0 - MRWidget: Export checkStatus method.
- da14dee4 - MRWidget: Call checkStatus to update widget in necessary places.
- 1d661e14 - MRWidget: Styling improvements.
- 679d3f11 - MRWidget: Change merge button class to danger.
- f237f6eb - MRWidget: Update widget when note is added.
- 2f1314aa - MRWidget: Fix some styling.
- 9ed8cfff - MRWidget: Use deployments data if exists.
- 8e9b3fe2 - MRWidget: Minor code styling.
- 6820ac6e - MRWidget: Add nofollow to links.
- fdceebdc - MRWidget: TODO messages for error handling.
- f9dea1eb - MRWidget: Introduce eventHub.
- 8d4d8cd9 - MRWidget: Update widget when MWPS set.
- deb85d2d - MRWidget: Add callback support to eventHub's MRWidgetUpdateRequested event.
- bbcd7c61 - MRWidget: Update widget after remove source branch.
- d7594547 - Utils: Added simple poll utility.
- 16d9f865 - MRWidget: Expose state and source_branch_exists in basic serializer.
- 7c2930ee - MRWidget: Implement polling after merge action.
- 357699fb - MRWidget: Initially do merge_check request.
- e2b876fa - MRWidget: Add loading icon to merge button.
- 027b7bde - MRWidget: Don't prefer array destructuring.
- dbf1601a - MRWidget: Change prop name to avoid confusions.
- dc7f03d3 - MRWidget: Improve merge buttons.
- 8ec28b91 - Adjust MR controller specs
- aaa2bd27 - Adjust PipelineSerializer specs
- 8a48432b - Expose stages in ci_status endpoint.
- 82e72ab4 - MRWidget: Expose ci_status_path.
- a9619ce3 - MRWidget: Make pipelines empty object as default.
- d18e04b3 - MRWidget: Implement CI polling.
- 804b9fd0 - Move MR widget imports to dependencies.js.
- 140e6e70 - Abstract out deviseState from setState.
- 7fdcba16 - Make dependencies import multi-line.
- e6f570e8 - Break BaseTemplate, stateToComponentMap and statesToShowHelpWidget into separate config files.
- 8fae07ce - Make baseComputed extensible.
- bb285dcc - Make mrWidgetOptions extensible and revert config dir.
- b8cfadbf - Handle environment stopping as JSON
- 61f9f41b - Pipelines: Make stage svg a computed property.
- e3863027 - MRWidget: Update pipelines data only if we have new status.
- c3b60142 - MRWidget: Show some respect to ESLint.
- 507fea8a - MRWidget: Add download attribute to MR widget download buttons.
- 0ea82215 - MRWidget: Implement failed to merge state.
- ab78aa40 - MRWidget: Implement stopEnvironment.
- 06613b09 - MRWidget: Implement polling for deployments.
- 2a873461 - MRWidget: Change icon of the Merge immediately option.
- 3ce42235 - MRWidget: Fix tree view for MWPS state.
- cf35b080 - Properly show Cherry-pick and Revert links (Action on current MR or Fork)
- 7399d288 - Add commit_change_content endpoint for loading Cherry-pick / Revert modal content
- 30276c93 - Add metrics URL to ci_environments_status endpoint
- 352cd0f8 - MRWidget: Add tests for failed to merge state.
- 46e8d19b - MRWidget: Add missing tests for deployment widget.
- a08d1384 - MRWidget: Tell main component to update store.
- f8b54575 - MRWidget: Remove unnecessary test.
- 1834c399 - MRWidget: Add tests for WIP component.
- db6c0ee1 - MRWidget: Add more tests.
- 680bed73 - Reuse MR ci status logic by creating a MergeRequestPresenter
- a900ed8a - Move MR serializer specs to Entity level
- 884d4ceb - Adjust Rubocop offenses
- a7c12790 - Add light gray shade
- a1af02ae - Styling enhancements for MR Widget
- d6cfa504 - Several updates to MR widget header
-
a1758421 - Add
with stage
for finished pipelines - 31ddf904 - ESLint: Add missing semi-colon
- 66697229 - Update styling as per UI specs
- aafbc5fc - Update styling as per UI specs
- d096ac1a - Update icon styles for MR ready dropdown
- 5ed911b7 - Adjust Rubocop offenses
- bd9a656c - MRWidget: Handle response and update widget in MWPS state.
- c971d957 - MRWidget: Add tests for missing branch state.
- 3c5a8742 - MRWidget: ESLint fixes.
- d3172ed8 - MRWidget: Improve and simplfy deployment spec.
- 3160cdb9 - MRWidget: Add tests for MWPS state.
- 5e40cdb9 - Merge branch 'mr-widget-redesign-styling-updates' into 'mr-widget-redesign'
- 7952f8a2 - Fix specs and some code styling after merged MR.
- 606feb53 - MRWidget: Add tests for merged state.
- 65a46084 - MRWidget: Fix broken header spec.
- 7d2e7132 - MRWidget: Add type attrbute to button.
- 65589dc7 - Extend prometheus service to be able to make queries using specific timeframes
- 4abd4c9d - Merge branch '26944-add_per_deployment_metrics_widget_design_review' into 'mr-wi…
- 65ef926c - Merge branch 'mr-widget-redesign' into 'mr-widget-redesign-review'
Toggle commit listadded 435 commits
-
65ef926c...86d5f1f8 - 268 commits from branch
master
- f8044386 - Expose more information in merge request serializer
- 4d633c14 - Make sure source_project is set when call MergeRequest#can_remove_source_branch? method
- c1e2538a - Refactor MergeRequestEntity for serializer
- edafd5bc - MRWidget: Initial commit.
- b869e1ba - MRWidget: Merged and Closed states with Store.
- 562fe79b - MRWidget: Add locked state.
- b9065e67 - MRWidget: Add WIP state.
- 4d75f07c - MRWidget: Add archived state.
- 70ca30dd - MRWidget: Address MR feedbacks.
- 01bb0fa8 - MRWidget: Linter fixes.
- 719ee31e - MRWidget: MR changes. Mostly import and export.
- eec044bc - Replace stubbed data in merge request entity with real one
- e50238ec - MRWidget: Resurrect lost files and add new states.
- 6d23c124 - MRWidget: Refactor store to set MR state properly.
- db765a0d - MRWidget: Add conflict resolution path.
- 924204b4 - MRWidget: Show buttons in WIP widget if user can update MR.
- f7439f32 - MRWidget: Implement remove source branch.
- 47ec71a4 - MRWidget: Use component tag to remove multiple component tags.
- e2e96552 - MRWidget: Slightly refactor existing widget code to work only for old widget.
- 14455872 - MRWidget: Implemented ready to merge widget.
- 50668bd9 - MRWidget: Implement service and pass to components.
- ad144fac - MRWidget: Implement merge action with current state of backend.
- 3f4fec35 - MRWidget: Address minor MR feedbacks.
- 837286f5 - MRWidget: Implemented checking state.
- 7200997b - MRWidget: Add help widget to RTM state.
- 3f812259 - MRWidget: Export new fields and add them to store.
- 929b1e40 - MRWidget: Implement missing features in header.
- 47737339 - MRWidget: Rename files for consistency.
- 4376746c - MRWidget: Expose MR pipeline using PipelineEntity.
- 2fc4508e - MRWidget: Implement CI status in MR widget.
- edac2b85 - MRWidget: Make SVG computed to update dynamically.
- 94ab5774 - MRWidget: Slightly refactor SVG icon imports to reuse.
- 6ea3648c - MRWidget: Review fixes. Mostly remove default data from required props.
- e1bbb2e1 - MRWidget: Add TODO and FIXME comments for backend changes.
- cf1469d5 - MRWidget: Show pipeline status for conflicts state.
- dd29f0c9 - MRWidget: Make merge button red if pipeline failed.
- 86a2b561 - MRWidget: Advanced options for merge button.
- c595711a - Add tests to MergeRequestSerializer
- c804af55 - MRWidget: Advanced options for merge button.
- bf7f6d1c - MRWidget: Handle failed pipeline if project is only MWPS.
- 6807c1ba - Adjust target_branch_path link
- f0343b75 - Remove TODO comment
- 35e89f23 - MRWidget: Make remove branch default.
- 2b7f6c7a - MRWidget: Review fixes for !9877 (merged).
- 19145b95 - MRWidget: Implemented unresolved discussions state.
- fdfbff23 - MRWidget: Fix unresolved discussion state.
- 13db241a - MRWidget: Implement blocked pipeline state.
- 140c7732 - Add related/closing issues sentences data to MergeRequestSerializer
- 912c64f6 - Add tests for can_update_merge_request info on MergeRequestSerializer
- 6321180d - Use current_user instead user for request objects used on Entities
- 6b85b87f - Handle JSON requests for "/merge"
- fb9867bc - Alter TODO comments to further improve their trackability
- 4af247ff - Adjust "new issue to resolve discussions" link on MergeRequestEntity
- 783b8bb7 - MRWidget: Refactor to move merge help widget into main component.
- 844c8e9f - MRWidget: Refactor to move pipelines into main component.
- 5ec816ad - MRWidget: Implemented related links widget.
- 147cac04 - Handle JSON requests properly on cancel_merge_when_pipeline_succeeds endpoint
- 7f1dedbc - MRWidget: Make issue and verb text methods easier.
- 1b1be11d - VuePipelines: Refactor code to reuse svg maps.
- 2ac0e2c5 - MR Widget Refactor Part 7
- 61ed4410 - Handle JSON requests for branch removal
- 536d0829 - MRWidget: Implemented remove WIP.
- 4ffacbaa - MRWidget: Fix missing prop in locked state.
- f9247cdc - MRWidget: Fix pipeline passed icon color.
- 920204a3 - MRWidget: Implement remove source branch in Merged state.
- 6f957dcc - Add basic MergeRequest serializer
- a9399d05 - MRWidget: Improve code styling and remove some eslint flags.
- e564b95a - MRWidget: Prefer group info in pipeline status icon.
- b327f2b9 - MRWidget: Implemented deployments component.
- 626c063e - MRWidget: Remove polling.
- cc5da6e0 - MRWidget: Minor code styling.
- fca5803a - MRWidget: Import datetime utils.
- 778602fa - MRWidget: Only render template element if there is a relatead link.
- 70faa160 - MRWidget: Group merge conflict buttons.
-
275d70cb - MRWidget: Make things good looking
😎 - fac7f129 - MRWidget: Fix unresolved discussions state.
- 6ee45652 - MRWidget: Fix existing widget JS bug.
- 42ecd50e - MRWidget: Improve deployment component template and methods.
- 70d976b3 - MRWidget: Added component tests.
- ab84f9f6 - Move CI related info to MR / Pipeline serializers
- 14e04e4f - MRWidget: Fixed and improved tests.
- b87a3724 - MRWidget: Fix locked component reference error.
- 9bc15183 - MRWidget: Fix deployment spec datetime issue.
- 836433ad - MRWidget: Add new tests for widget states.
- 313fdcc1 - MRWidget: Fix status icon in the deploy widget.
- 2c9daaff - MRWidget: Implemented coverage info.
- 2ad89850 - MRWidget: Remove unused component in deployment component.
- 2f93427a - MRWidget: Implement CI error state in pipeline component.
- 582093b0 - Return the updated MR as json on merge_check endpoint
- c610fac5 - MRWidget: Fetch merge data if the MR status is unchecked.
- da861ba0 - MRWidget: Move deployment endpoint data set to root component.
- c6bab2ca - MRWidget: ESLint fixes.
- 7ae586c2 - MRWidget: Export checkStatus method.
- 3e95712f - MRWidget: Call checkStatus to update widget in necessary places.
- 464aa293 - MRWidget: Styling improvements.
- 46e79ef2 - MRWidget: Change merge button class to danger.
- 5de2da30 - MRWidget: Update widget when note is added.
- 78e61456 - MRWidget: Fix some styling.
- fab91112 - MRWidget: Use deployments data if exists.
- 44010b14 - MRWidget: Minor code styling.
- 2c0b3633 - MRWidget: Add nofollow to links.
- 75477bb9 - MRWidget: TODO messages for error handling.
- 1a745ad4 - MRWidget: Introduce eventHub.
- 4f10b3c2 - MRWidget: Update widget when MWPS set.
- 37e16dd4 - MRWidget: Add callback support to eventHub's MRWidgetUpdateRequested event.
- 90a8f7f5 - MRWidget: Update widget after remove source branch.
- 0fca6bd5 - Utils: Added simple poll utility.
- f0dcc75c - MRWidget: Expose state and source_branch_exists in basic serializer.
- 775e9ad6 - MRWidget: Implement polling after merge action.
- 5c9f423f - MRWidget: Initially do merge_check request.
- 41a27682 - MRWidget: Add loading icon to merge button.
- e70d579d - MRWidget: Don't prefer array destructuring.
- 3b4c1c1b - MRWidget: Change prop name to avoid confusions.
- c747e980 - MRWidget: Improve merge buttons.
- dbba414b - Adjust MR controller specs
- 4be5df1d - Adjust PipelineSerializer specs
- 621492af - Expose stages in ci_status endpoint.
- 63529135 - MRWidget: Expose ci_status_path.
- 270059b5 - MRWidget: Make pipelines empty object as default.
- 7a3da56f - MRWidget: Implement CI polling.
- cd36f3ae - Move MR widget imports to dependencies.js.
- 6ccb50ac - Abstract out deviseState from setState.
- d1440c0a - Make dependencies import multi-line.
- 7a3c4f64 - Break BaseTemplate, stateToComponentMap and statesToShowHelpWidget into separate config files.
- 5f146d83 - Make baseComputed extensible.
- f82fc4c8 - Make mrWidgetOptions extensible and revert config dir.
- 56adf4fd - Handle environment stopping as JSON
- 1bbaa961 - Pipelines: Make stage svg a computed property.
- 8260cac1 - MRWidget: Update pipelines data only if we have new status.
- a7186e27 - MRWidget: Show some respect to ESLint.
- e72bac0f - MRWidget: Add download attribute to MR widget download buttons.
- 9a9699ac - MRWidget: Implement failed to merge state.
- 02ac990c - MRWidget: Implement stopEnvironment.
- d0a7c1fe - MRWidget: Implement polling for deployments.
- c90f958a - MRWidget: Change icon of the Merge immediately option.
- f1d5dc31 - MRWidget: Fix tree view for MWPS state.
- 474e6b99 - Properly show Cherry-pick and Revert links (Action on current MR or Fork)
- 9474171f - Add commit_change_content endpoint for loading Cherry-pick / Revert modal content
- 36fba0a3 - Add metrics URL to ci_environments_status endpoint
- 842ab24f - MRWidget: Add tests for failed to merge state.
- c86a5ad4 - MRWidget: Add missing tests for deployment widget.
- 452dff24 - MRWidget: Tell main component to update store.
- 7afc9f79 - MRWidget: Remove unnecessary test.
- ccc8c111 - MRWidget: Add tests for WIP component.
- 87b4957e - MRWidget: Add more tests.
- 12c8a523 - Reuse MR ci status logic by creating a MergeRequestPresenter
- 0321291a - Move MR serializer specs to Entity level
- a500a791 - Adjust Rubocop offenses
- f52e3957 - Add light gray shade
- 1b0aa54f - Styling enhancements for MR Widget
- 5f0a1de6 - Several updates to MR widget header
-
05de6350 - Add
with stage
for finished pipelines - de8b632f - ESLint: Add missing semi-colon
- f1f7b71b - Update styling as per UI specs
- d40c9cf6 - Update styling as per UI specs
- 18314b35 - Update icon styles for MR ready dropdown
- f31db3aa - Adjust Rubocop offenses
- 1f0226c4 - MRWidget: Handle response and update widget in MWPS state.
- 82e05ea5 - MRWidget: Add tests for missing branch state.
- 708e3bfd - MRWidget: ESLint fixes.
- 2645db07 - MRWidget: Improve and simplfy deployment spec.
- 289b40b0 - MRWidget: Add tests for MWPS state.
- c6a8d36d - Fix specs and some code styling after merged MR.
- 84e4fcfd - MRWidget: Add tests for merged state.
- 1c8225cc - MRWidget: Fix broken header spec.
- e9d1e90f - MRWidget: Add type attrbute to button.
- e03d1d66 - Extend prometheus service to be able to make queries using specific timeframes
Toggle commit list-
65ef926c...86d5f1f8 - 268 commits from branch
Just a heads up -- these are the current conflicts with EE:
both added: app/assets/javascripts/blob/pdf/index.js both modified: app/assets/javascripts/environments/components/environment.js both modified: app/assets/javascripts/environments/components/environment_item.js both modified: app/assets/javascripts/environments/components/environments_table.js both modified: app/assets/javascripts/environments/stores/environments_store.js both modified: app/assets/javascripts/filtered_search/filtered_search_manager.js both modified: app/assets/javascripts/main.js both modified: app/assets/javascripts/merge_request_widget.js both modified: app/assets/javascripts/monitoring/prometheus_graph.js both modified: app/assets/stylesheets/framework/files.scss both modified: app/controllers/projects/merge_requests_controller.rb both modified: app/models/blob.rb both modified: app/models/ci/build.rb both added: app/models/concerns/repository_mirroring.rb both modified: app/models/group.rb both modified: app/models/members/group_member.rb both modified: app/models/merge_request.rb both added: app/models/project_services/mock_deployment_service.rb both added: app/models/project_services/mock_monitoring_service.rb both modified: app/models/repository.rb both modified: app/models/system_note_metadata.rb both modified: app/policies/group_policy.rb both modified: app/serializers/merge_request_entity.rb both modified: app/services/search/global_service.rb both modified: app/views/projects/blob/_header.html.haml both modified: app/views/projects/merge_requests/merge.js.haml both modified: app/views/shared/issuable/_search_bar.html.haml both modified: app/views/shared/issuable/form/_merge_params.html.haml both modified: config/application.rb both modified: config/initializers/8_gitaly.rb both modified: config/webpack.config.js both added: db/migrate/20170402231018_remove_index_for_users_current_sign_in_at.rb both modified: db/schema.rb both modified: doc/api/issues.md both modified: doc/workflow/notifications.md both modified: lib/gitlab/etag_caching/middleware.rb both modified: lib/gitlab/shell.rb both modified: lib/gitlab/workhorse.rb both modified: spec/controllers/projects/merge_requests_controller_spec.rb both added: spec/javascripts/blob/pdf/index_spec.js both modified: spec/javascripts/environments/environments_store_spec.js both modified: spec/lib/gitlab/workhorse_spec.rb both modified: spec/mailers/notify_spec.rb both modified: spec/models/blob_spec.rb both modified: spec/models/project_services/kubernetes_service_spec.rb both modified: spec/requests/api/issues_spec.rb both modified: spec/services/notification_service_spec.rb both modified: spec/services/system_note_service_spec.rb
😨 I think it'll be best for me to wait to start working off of this til CE parts are finished.Edited by username-removed-408230@grzesiek Would you be able to take a look over the BE changes on this MR?
We've been gradually merging to
mr-widget-redesign-review
. FYI the major changes are on the FE, on the BE we've managed to return most of the data on theMergeRequestEntity
.Minor refactorings on !10504 (merged)
- Resolved by Oswaldo Ferreir
- Resolved by username-removed-676946
- Resolved by username-removed-676946
- Resolved by Oswaldo Ferreir
- Resolved by Oswaldo Ferreir
- Resolved by username-removed-502136
- Resolved by username-removed-676946
- Resolved by Oswaldo Ferreir
I did an only partial review, and only of Backend changes. There's a lot and some of them are just quite messy, ci_status, pipeline_status, suboptimal
can_
. I wonder if we merge that will we actually have time to improve the backend/frontend API calls.TL;DR It seems to introduce the quite amount of technical debt. Looking at backend I'm not happy with what I see. It seems that it requires a few more days to improve the code. Maybe there's some way to ship that, but also this is Friday. And we got it to review only now.
Edited by Kamil Trzcińśki- Resolved by Oswaldo Ferreir
- Resolved by Oswaldo Ferreir
- Resolved by Oswaldo Ferreir
- Resolved by Oswaldo Ferreir
- Resolved by Oswaldo Ferreir
- Resolved by Oswaldo Ferreir
- Resolved by Oswaldo Ferreir
- Resolved by Oswaldo Ferreir
- Resolved by Oswaldo Ferreir
- Resolved by Oswaldo Ferreir
mentioned in issue #30595 (closed)
- Resolved by Oswaldo Ferreir
- Resolved by Oswaldo Ferreir
- Resolved by Oswaldo Ferreir
- Resolved by Oswaldo Ferreir
- Resolved by Oswaldo Ferreir
- Resolved by Grzegorz Bizon
- Resolved by Grzegorz Bizon
- Resolved by Oswaldo Ferreir
- Resolved by Oswaldo Ferreir
- Resolved by Oswaldo Ferreir
- Resolved by Oswaldo Ferreir
- Resolved by Oswaldo Ferreir
- Resolved by Oswaldo Ferreir
- Resolved by Oswaldo Ferreir
added 18 commits
- d0ecd34a - MRWidget: Fix review comments.
- e167b1eb - Backport relevant MR Widget EE changes to CE.
- 29a96631 - Move methods to private on MR controller
- 13684542 - Minor path refactoring on MR serializer
- cecf1c9b - Rename isFrozen to preventMerge.
- 78bb12c8 - Merge branch 'mr-widget-redesign' of gitlab.com:gitlab-org/gitlab-ce into mr-widget-redesign
- 939298f2 - MRWidget: Set pipeline favicon.
- 3a871072 - MRWidget: Fetch revert and cherry-pick modal HTML and append to body.
- 1018afdd - MRWidget: Slightly refactor in ReadyToMerge component for testing.
- e6a31d62 - Added tests for ReadyToMerge component.
- 2ad49b96 - MRWidget: Added tests for main Vue component options.
- aa12f2ab - MRWidget: Add mising tests and fix ESLint.
- c281cbf8 - MRWidget: Added tests for service.
- 84291580 - MRWidget: Added tests for deviseState function.
- 5d3d3744 - MRWidget: Hack import/export stuff to make things work.
- 87a66726 - Change deviseState refs to getStateKey.
- 22495f04 - Fix import/export errors with stateMaps.
- 25f85bda - Merge branch 'mr-widget-redesign' into 'mr-widget-redesign-review'
Toggle commit listadded 4 commits
Toggle commit listadded 627 commits
-
180a6417...d37f1f1c - 441 commits from branch
master
- 3493bf73 - Expose more information in merge request serializer
- f4a96c0f - Refactor MergeRequestEntity for serializer
- 8ac61f87 - MRWidget: Initial commit.
- e962fd5e - MRWidget: Merged and Closed states with Store.
- 1a8fa49a - MRWidget: Add locked state.
- b91187ff - MRWidget: Add WIP state.
- 43d7db34 - MRWidget: Add archived state.
- 9ef9116a - MRWidget: Address MR feedbacks.
- 12e290ac - MRWidget: Linter fixes.
- 62e98ad1 - MRWidget: MR changes. Mostly import and export.
- bc3ccba0 - Replace stubbed data in merge request entity with real one
- f7f0cd1d - MRWidget: Resurrect lost files and add new states.
- 13766da4 - MRWidget: Refactor store to set MR state properly.
- 61369c44 - MRWidget: Add conflict resolution path.
- 1260d320 - MRWidget: Show buttons in WIP widget if user can update MR.
- 3cd4d8fa - MRWidget: Implement remove source branch.
- 9376bd4e - MRWidget: Use component tag to remove multiple component tags.
- a2dd10fd - MRWidget: Slightly refactor existing widget code to work only for old widget.
- dfd7c81b - MRWidget: Implemented ready to merge widget.
- 79f6b2bd - MRWidget: Implement service and pass to components.
- a7ff7017 - MRWidget: Implement merge action with current state of backend.
- 3eb32bad - MRWidget: Address minor MR feedbacks.
- 1d94b2b8 - MRWidget: Implemented checking state.
- 78e6100b - MRWidget: Add help widget to RTM state.
- c2e6dbfe - MRWidget: Export new fields and add them to store.
- 475bb921 - MRWidget: Implement missing features in header.
- 7f5bfdc3 - MRWidget: Rename files for consistency.
- df8ea57b - MRWidget: Expose MR pipeline using PipelineEntity.
- 30134a62 - MRWidget: Implement CI status in MR widget.
- 054aedcd - MRWidget: Make SVG computed to update dynamically.
- 0b912dbb - MRWidget: Slightly refactor SVG icon imports to reuse.
- 455e242a - MRWidget: Review fixes. Mostly remove default data from required props.
- a06f88d4 - MRWidget: Add TODO and FIXME comments for backend changes.
- 02dde55f - MRWidget: Show pipeline status for conflicts state.
- 0751adde - MRWidget: Make merge button red if pipeline failed.
- 0e190cdc - MRWidget: Advanced options for merge button.
- 90322036 - Add tests to MergeRequestSerializer
- 29aebff5 - MRWidget: Advanced options for merge button.
- 0ff3ee38 - MRWidget: Handle failed pipeline if project is only MWPS.
- 7b31f2fb - Adjust target_branch_path link
- 48ad6be8 - Remove TODO comment
- 93a47098 - MRWidget: Make remove branch default.
- 8a43a03f - MRWidget: Review fixes for !9877 (merged).
- 87a8b374 - MRWidget: Implemented unresolved discussions state.
- 1a108f91 - MRWidget: Fix unresolved discussion state.
- c3e24bbb - MRWidget: Implement blocked pipeline state.
- c2ed3a81 - Add related/closing issues sentences data to MergeRequestSerializer
- 9f20dcb0 - Add tests for can_update_merge_request info on MergeRequestSerializer
- 3769c5bb - Use current_user instead user for request objects used on Entities
- b56a8447 - Handle JSON requests for "/merge"
- dfc95886 - Alter TODO comments to further improve their trackability
- c875c16f - Adjust "new issue to resolve discussions" link on MergeRequestEntity
- 44efbc51 - MRWidget: Refactor to move merge help widget into main component.
- 641bbe21 - MRWidget: Refactor to move pipelines into main component.
- 3410a9f7 - MRWidget: Implemented related links widget.
- 7d8fcf74 - Handle JSON requests properly on cancel_merge_when_pipeline_succeeds endpoint
- da855180 - MRWidget: Make issue and verb text methods easier.
- db99c3e5 - VuePipelines: Refactor code to reuse svg maps.
- f42902a4 - MR Widget Refactor Part 7
- 6f5e97b8 - Handle JSON requests for branch removal
- 017877a3 - MRWidget: Implemented remove WIP.
- 842a2d34 - MRWidget: Fix missing prop in locked state.
- 441fdb54 - MRWidget: Fix pipeline passed icon color.
- 01a9f694 - MRWidget: Implement remove source branch in Merged state.
- be93f838 - Add basic MergeRequest serializer
- 17294823 - MRWidget: Improve code styling and remove some eslint flags.
- de261fc5 - MRWidget: Prefer group info in pipeline status icon.
- 10e9ab68 - MRWidget: Implemented deployments component.
- ae782021 - MRWidget: Remove polling.
- caee329e - MRWidget: Minor code styling.
- 573a2399 - MRWidget: Import datetime utils.
- 56bbe004 - MRWidget: Only render template element if there is a relatead link.
- 1c991d23 - MRWidget: Group merge conflict buttons.
-
9017217c - MRWidget: Make things good looking
😎 - fb72025c - MRWidget: Fix unresolved discussions state.
- 60ecfe39 - MRWidget: Fix existing widget JS bug.
- e0585251 - MRWidget: Improve deployment component template and methods.
- e393d2de - MRWidget: Added component tests.
- f4652a5d - Move CI related info to MR / Pipeline serializers
- ed7eda22 - MRWidget: Fixed and improved tests.
- 7f098da8 - MRWidget: Fix locked component reference error.
- 46a44205 - MRWidget: Fix deployment spec datetime issue.
- f052ea8a - MRWidget: Add new tests for widget states.
- 307ba4a5 - MRWidget: Fix status icon in the deploy widget.
- 8537ae63 - MRWidget: Implemented coverage info.
- a82412b8 - MRWidget: Remove unused component in deployment component.
- 2d6c3813 - MRWidget: Implement CI error state in pipeline component.
- e5d38072 - Return the updated MR as json on merge_check endpoint
- 856a77e0 - MRWidget: Fetch merge data if the MR status is unchecked.
- 2c7c917c - MRWidget: Move deployment endpoint data set to root component.
- 3196b749 - MRWidget: ESLint fixes.
- 7443fae7 - MRWidget: Export checkStatus method.
- 7db85b9a - MRWidget: Call checkStatus to update widget in necessary places.
- fa242cb1 - MRWidget: Styling improvements.
- 85f5d854 - MRWidget: Change merge button class to danger.
- a3f463fc - MRWidget: Update widget when note is added.
- 1c779a96 - MRWidget: Fix some styling.
- 38438a0f - MRWidget: Use deployments data if exists.
- 60315651 - MRWidget: Minor code styling.
- ed23cad1 - MRWidget: Add nofollow to links.
- b825b1be - MRWidget: TODO messages for error handling.
- 10105309 - MRWidget: Introduce eventHub.
- bd0574e1 - MRWidget: Update widget when MWPS set.
- 59c92a8c - MRWidget: Add callback support to eventHub's MRWidgetUpdateRequested event.
- 09700cd8 - MRWidget: Update widget after remove source branch.
- ac329853 - Utils: Added simple poll utility.
- 94d98d72 - MRWidget: Expose state and source_branch_exists in basic serializer.
- bfc01f8f - MRWidget: Implement polling after merge action.
- 878f9b32 - MRWidget: Initially do merge_check request.
- d7503c45 - MRWidget: Add loading icon to merge button.
- 752cf319 - MRWidget: Don't prefer array destructuring.
- 2f277137 - MRWidget: Change prop name to avoid confusions.
- b1fc7e66 - MRWidget: Improve merge buttons.
- 5aeda2b7 - Adjust MR controller specs
- 0b146780 - Adjust PipelineSerializer specs
- 473b736c - Expose stages in ci_status endpoint.
- 26046ec8 - MRWidget: Expose ci_status_path.
- c9a0bb38 - MRWidget: Make pipelines empty object as default.
- 41e06a0a - MRWidget: Implement CI polling.
- 7e267850 - Move MR widget imports to dependencies.js.
- e2879ffd - Abstract out deviseState from setState.
- 48b7ced8 - Make dependencies import multi-line.
- 2a5eefd5 - Break BaseTemplate, stateToComponentMap and statesToShowHelpWidget into separate config files.
- 4c41e5c2 - Make baseComputed extensible.
- 02afce33 - Make mrWidgetOptions extensible and revert config dir.
- 6d1adba2 - Handle environment stopping as JSON
- 0a54e2ee - Pipelines: Make stage svg a computed property.
- 6d2350fb - MRWidget: Update pipelines data only if we have new status.
- 5fefaa13 - MRWidget: Show some respect to ESLint.
- b017b404 - MRWidget: Add download attribute to MR widget download buttons.
- 314f433d - MRWidget: Implement failed to merge state.
- 7406ba7b - MRWidget: Implement stopEnvironment.
- ed624a1d - MRWidget: Implement polling for deployments.
- 54196ed3 - MRWidget: Change icon of the Merge immediately option.
- 7e6b0c8e - MRWidget: Fix tree view for MWPS state.
- 1dcfd8ed - Properly show Cherry-pick and Revert links (Action on current MR or Fork)
- f27713fd - Add commit_change_content endpoint for loading Cherry-pick / Revert modal content
- 866e59a2 - Add metrics URL to ci_environments_status endpoint
- c23089f6 - MRWidget: Add tests for failed to merge state.
- 558193c8 - MRWidget: Add missing tests for deployment widget.
- 9300cdc8 - MRWidget: Tell main component to update store.
- d0502d5f - MRWidget: Remove unnecessary test.
- 949e7ad4 - MRWidget: Add tests for WIP component.
- 56135d60 - MRWidget: Add more tests.
- 667086d0 - Reuse MR ci status logic by creating a MergeRequestPresenter
- 751bdfd7 - Move MR serializer specs to Entity level
- a07f74cf - Adjust Rubocop offenses
- 4e4620d0 - Add light gray shade
- 15e5f2e8 - Styling enhancements for MR Widget
- bc22af95 - Several updates to MR widget header
-
1f400fbc - Add
with stage
for finished pipelines - 36a8ac2a - ESLint: Add missing semi-colon
- 2410299d - Update styling as per UI specs
- 8e22006e - Update styling as per UI specs
- 130a03a5 - Update icon styles for MR ready dropdown
- 4607704b - Adjust Rubocop offenses
- 2e69f80f - MRWidget: Handle response and update widget in MWPS state.
- ddacf245 - MRWidget: Add tests for missing branch state.
- 102cbb6d - MRWidget: ESLint fixes.
- 513c68b1 - MRWidget: Improve and simplfy deployment spec.
- 620e4570 - MRWidget: Add tests for MWPS state.
- a1c9488b - Fix specs and some code styling after merged MR.
- 4598bb73 - MRWidget: Add tests for merged state.
- 6d7b44e2 - MRWidget: Fix broken header spec.
- 132b74a0 - MRWidget: Add type attrbute to button.
- eaa6d130 - Extend prometheus service to be able to make queries using specific timeframes
- 8282be43 - MRWidget: Fix review comments.
- e71d5d5b - Backport relevant MR Widget EE changes to CE.
- b0f37ee8 - Move methods to private on MR controller
- 8c6bea45 - Minor path refactoring on MR serializer
- 280fe258 - Rename isFrozen to preventMerge.
- 769219f0 - MRWidget: Set pipeline favicon.
- 9a6d7e41 - MRWidget: Fetch revert and cherry-pick modal HTML and append to body.
- 03f2d4ca - MRWidget: Slightly refactor in ReadyToMerge component for testing.
- 3dc566c6 - Added tests for ReadyToMerge component.
- 9a864d27 - MRWidget: Added tests for main Vue component options.
- 3c2fab70 - MRWidget: Add mising tests and fix ESLint.
- 7b7b0755 - MRWidget: Added tests for service.
- 84b2f91a - MRWidget: Added tests for deviseState function.
- 7a472408 - MRWidget: Hack import/export stuff to make things work.
- 052f9392 - Prometheus sparkline for memory usage in Merge Request Widget
- 9ea64b99 - Change deviseState refs to getStateKey.
- a1f24cba - Fix import/export errors with stateMaps.
- 932823f6 - MRWidget: Fix getStateKey context issue.
- 3e233c4a - MRWidget: Only add merged button container if user has access.
- ae0928c4 - MRWidget: Delete deprecated files and change necessary places.
Toggle commit list-
180a6417...d37f1f1c - 441 commits from branch
added 188 commits
-
ae0928c4...6ca6ca89 - 2 commits from branch
master
- 8d9f1f79 - Expose more information in merge request serializer
- 1e9b58be - Refactor MergeRequestEntity for serializer
- ef235ca7 - MRWidget: Initial commit.
- 34b09b64 - MRWidget: Merged and Closed states with Store.
- 894af64e - MRWidget: Add locked state.
- f3f09507 - MRWidget: Add WIP state.
- b1e18b21 - MRWidget: Add archived state.
- 57bbd923 - MRWidget: Address MR feedbacks.
- 397d4a81 - MRWidget: Linter fixes.
- 3ddd541c - MRWidget: MR changes. Mostly import and export.
- 0a26e88e - Replace stubbed data in merge request entity with real one
- e1f539af - MRWidget: Resurrect lost files and add new states.
- 522a19ca - MRWidget: Refactor store to set MR state properly.
- dbedc2f9 - MRWidget: Add conflict resolution path.
- 033d1e2f - MRWidget: Show buttons in WIP widget if user can update MR.
- 0080db66 - MRWidget: Implement remove source branch.
- ad71b89b - MRWidget: Use component tag to remove multiple component tags.
- ed905311 - MRWidget: Slightly refactor existing widget code to work only for old widget.
- c969c025 - MRWidget: Implemented ready to merge widget.
- 90f66e9c - MRWidget: Implement service and pass to components.
- 41b3a9d7 - MRWidget: Implement merge action with current state of backend.
- 7cb79b17 - MRWidget: Address minor MR feedbacks.
- 3d7ca3a4 - MRWidget: Implemented checking state.
- 4b627075 - MRWidget: Add help widget to RTM state.
- 16e03080 - MRWidget: Export new fields and add them to store.
- c9d564f6 - MRWidget: Implement missing features in header.
- be922d9c - MRWidget: Rename files for consistency.
- c86ec0b6 - MRWidget: Expose MR pipeline using PipelineEntity.
- ee57a094 - MRWidget: Implement CI status in MR widget.
- 017a223b - MRWidget: Make SVG computed to update dynamically.
- 20e1cb40 - MRWidget: Slightly refactor SVG icon imports to reuse.
- 24e9357e - MRWidget: Review fixes. Mostly remove default data from required props.
- 1f5ed4e6 - MRWidget: Add TODO and FIXME comments for backend changes.
- 600f4ecf - MRWidget: Show pipeline status for conflicts state.
- 1090db14 - MRWidget: Make merge button red if pipeline failed.
- 82b7dae5 - MRWidget: Advanced options for merge button.
- 7e58994c - Add tests to MergeRequestSerializer
- 4f702f82 - MRWidget: Advanced options for merge button.
- e1ef2254 - MRWidget: Handle failed pipeline if project is only MWPS.
- a907d13e - Adjust target_branch_path link
- c0f83a11 - Remove TODO comment
- 377d7842 - MRWidget: Make remove branch default.
- ecdafb44 - MRWidget: Review fixes for !9877 (merged).
- bba3a756 - MRWidget: Implemented unresolved discussions state.
- 3bf4adec - MRWidget: Fix unresolved discussion state.
- e117d5e1 - MRWidget: Implement blocked pipeline state.
- 8fd1f29d - Add related/closing issues sentences data to MergeRequestSerializer
- afa231d5 - Add tests for can_update_merge_request info on MergeRequestSerializer
- 29f03b36 - Use current_user instead user for request objects used on Entities
- 99a66f68 - Handle JSON requests for "/merge"
- d9da7312 - Alter TODO comments to further improve their trackability
- 557d929d - Adjust "new issue to resolve discussions" link on MergeRequestEntity
- 1ae5a117 - MRWidget: Refactor to move merge help widget into main component.
- ede9221e - MRWidget: Refactor to move pipelines into main component.
- a39ee05f - MRWidget: Implemented related links widget.
- b184d6da - Handle JSON requests properly on cancel_merge_when_pipeline_succeeds endpoint
- 7e7ab472 - MRWidget: Make issue and verb text methods easier.
- eac67223 - VuePipelines: Refactor code to reuse svg maps.
- 32913a97 - MR Widget Refactor Part 7
- e889617c - Handle JSON requests for branch removal
- 61594755 - MRWidget: Implemented remove WIP.
- e25dcf49 - MRWidget: Fix missing prop in locked state.
- 25bd7b59 - MRWidget: Fix pipeline passed icon color.
- b5622d8f - MRWidget: Implement remove source branch in Merged state.
- 00aad65c - Add basic MergeRequest serializer
- 6b7d1229 - MRWidget: Improve code styling and remove some eslint flags.
- e674f3f7 - MRWidget: Prefer group info in pipeline status icon.
- 8dfbadda - MRWidget: Implemented deployments component.
- b0b1fe37 - MRWidget: Remove polling.
- bbb179e8 - MRWidget: Minor code styling.
- 8b19dba2 - MRWidget: Import datetime utils.
- bb8de23d - MRWidget: Only render template element if there is a relatead link.
- 3669e250 - MRWidget: Group merge conflict buttons.
-
a1696668 - MRWidget: Make things good looking
😎 - f3dde50d - MRWidget: Fix unresolved discussions state.
- 9bb61b09 - MRWidget: Fix existing widget JS bug.
- b274b4b8 - MRWidget: Improve deployment component template and methods.
- 35e960c2 - MRWidget: Added component tests.
- ab0b0b58 - Move CI related info to MR / Pipeline serializers
- c4019c52 - MRWidget: Fixed and improved tests.
- e7edaa47 - MRWidget: Fix locked component reference error.
- d33694a3 - MRWidget: Fix deployment spec datetime issue.
- b791e23b - MRWidget: Add new tests for widget states.
- 76d1fe67 - MRWidget: Fix status icon in the deploy widget.
- 979e8100 - MRWidget: Implemented coverage info.
- 0a34cd6f - MRWidget: Remove unused component in deployment component.
- 2129540e - MRWidget: Implement CI error state in pipeline component.
- fd0ab0bb - Return the updated MR as json on merge_check endpoint
- a8711330 - MRWidget: Fetch merge data if the MR status is unchecked.
- 35e82e56 - MRWidget: Move deployment endpoint data set to root component.
- e9005e14 - MRWidget: ESLint fixes.
- 7e99cddb - MRWidget: Export checkStatus method.
- d9924f00 - MRWidget: Call checkStatus to update widget in necessary places.
- d0320dc3 - MRWidget: Styling improvements.
- 98ed7627 - MRWidget: Change merge button class to danger.
- 4e4313b7 - MRWidget: Update widget when note is added.
- 8a25856a - MRWidget: Fix some styling.
- 6e7d75f0 - MRWidget: Use deployments data if exists.
- b526e007 - MRWidget: Minor code styling.
- 65c0b1a8 - MRWidget: Add nofollow to links.
- 331d8a41 - MRWidget: TODO messages for error handling.
- b3c84211 - MRWidget: Introduce eventHub.
- 4948f270 - MRWidget: Update widget when MWPS set.
- 28a80d4a - MRWidget: Add callback support to eventHub's MRWidgetUpdateRequested event.
- 507b532c - MRWidget: Update widget after remove source branch.
- 6712267f - Utils: Added simple poll utility.
- 0210279f - MRWidget: Expose state and source_branch_exists in basic serializer.
- 5b2eeffe - MRWidget: Implement polling after merge action.
- 17e3a3d1 - MRWidget: Initially do merge_check request.
- 3872a75f - MRWidget: Add loading icon to merge button.
- 5a19b5c4 - MRWidget: Don't prefer array destructuring.
- 0a6411df - MRWidget: Change prop name to avoid confusions.
- e909a744 - MRWidget: Improve merge buttons.
- 8efb3dd3 - Adjust MR controller specs
- b165d556 - Adjust PipelineSerializer specs
- d494f8a9 - Expose stages in ci_status endpoint.
- ed00ecb7 - MRWidget: Expose ci_status_path.
- f879b594 - MRWidget: Make pipelines empty object as default.
- 00bd9781 - MRWidget: Implement CI polling.
- c3581834 - Move MR widget imports to dependencies.js.
- c3b541ba - Abstract out deviseState from setState.
- 269a2c68 - Make dependencies import multi-line.
- 0024d9df - Break BaseTemplate, stateToComponentMap and statesToShowHelpWidget into separate config files.
- d4d02071 - Make baseComputed extensible.
- 6868958e - Make mrWidgetOptions extensible and revert config dir.
- 8ea6d901 - Handle environment stopping as JSON
- 7f079a5d - Pipelines: Make stage svg a computed property.
- 12730d96 - MRWidget: Update pipelines data only if we have new status.
- dc57a313 - MRWidget: Show some respect to ESLint.
- d8c7792a - MRWidget: Add download attribute to MR widget download buttons.
- 846045b6 - MRWidget: Implement failed to merge state.
- d6af0f76 - MRWidget: Implement stopEnvironment.
- 3bf08f2b - MRWidget: Implement polling for deployments.
- 44e1aecc - MRWidget: Change icon of the Merge immediately option.
- 409c0750 - MRWidget: Fix tree view for MWPS state.
- b8f16c9b - Properly show Cherry-pick and Revert links (Action on current MR or Fork)
- 3a57d812 - Add commit_change_content endpoint for loading Cherry-pick / Revert modal content
- 52c9122e - Add metrics URL to ci_environments_status endpoint
- 98a03db5 - MRWidget: Add tests for failed to merge state.
- 7b40af5d - MRWidget: Add missing tests for deployment widget.
- ca04f5db - MRWidget: Tell main component to update store.
- 47322022 - MRWidget: Remove unnecessary test.
- 593ee716 - MRWidget: Add tests for WIP component.
- b692bfd8 - MRWidget: Add more tests.
- a72364f5 - Reuse MR ci status logic by creating a MergeRequestPresenter
- 16720c82 - Move MR serializer specs to Entity level
- 9bbe64cc - Adjust Rubocop offenses
- df52237f - Add light gray shade
- d219128d - Styling enhancements for MR Widget
- 7351d924 - Several updates to MR widget header
-
37bf6ffe - Add
with stage
for finished pipelines - c4aef8f5 - ESLint: Add missing semi-colon
- 8087898f - Update styling as per UI specs
- ee353e4a - Update styling as per UI specs
- 4812ac2a - Update icon styles for MR ready dropdown
- 733dc4e3 - Adjust Rubocop offenses
- be64b937 - MRWidget: Handle response and update widget in MWPS state.
- b7255041 - MRWidget: Add tests for missing branch state.
- a343294f - MRWidget: ESLint fixes.
- cf6c8a18 - MRWidget: Improve and simplfy deployment spec.
- d745fbe6 - MRWidget: Add tests for MWPS state.
- ac8a2e39 - Fix specs and some code styling after merged MR.
- 1c5bf7c7 - MRWidget: Add tests for merged state.
- f3e1f268 - MRWidget: Fix broken header spec.
- 59e0b66c - MRWidget: Add type attrbute to button.
- 911d23a9 - Extend prometheus service to be able to make queries using specific timeframes
- b9ce7fe6 - MRWidget: Fix review comments.
- 89a4f8a9 - Backport relevant MR Widget EE changes to CE.
- 028eac1d - Move methods to private on MR controller
- b4768da8 - Minor path refactoring on MR serializer
- 1543cb44 - Rename isFrozen to preventMerge.
- 4342d0c9 - MRWidget: Set pipeline favicon.
- e24361bb - MRWidget: Fetch revert and cherry-pick modal HTML and append to body.
- 81c60f1d - MRWidget: Slightly refactor in ReadyToMerge component for testing.
- 6a05ea91 - Added tests for ReadyToMerge component.
- 1671e190 - MRWidget: Added tests for main Vue component options.
- ed91880a - MRWidget: Add mising tests and fix ESLint.
- acbdfb99 - MRWidget: Added tests for service.
- ceceab78 - MRWidget: Added tests for deviseState function.
- ac1a5664 - MRWidget: Hack import/export stuff to make things work.
- af81e36a - Prometheus sparkline for memory usage in Merge Request Widget
- 93c575c7 - Change deviseState refs to getStateKey.
- 4f436314 - Fix import/export errors with stateMaps.
- 1bb9adca - MRWidget: Fix getStateKey context issue.
- 12dfa13d - MRWidget: Only add merged button container if user has access.
- 73402508 - MRWidget: Delete deprecated files and change necessary places.
Toggle commit list-
ae0928c4...6ca6ca89 - 2 commits from branch
@ayufan My only concern with that would be polling all MR data unnecessarily to retrieve the
ci_status
endpoint data. The only reasonci_status
endpoint exists at the moment is to avoid that. Other than that, I would be more than happy to remove this endpoint😄 Right, but the question is how do you pull it now. You also have to poll every some time, so it doesn't change much. If pushing this extra data cost like 10% extra, then it is definitely worth, otherwise, we have to maintain a lot of backend and frontend code to handle that. Fetching the status of pipeline, when you also fetch merge request status, it will be crazy cheap.
So this is our interval today:
this.ciStatusInterval = new gl.SmartInterval({ callback: this.fetchCIStatus, startingInterval: 10000, maxInterval: 30000, hiddenInterval: 120000, incrementByFactorOf: 5000, });
So it's a constant polling on this condition:
if (this.mr.hasCI) { this.initCIPolling(); }
How cheap
stages
data is @ayufan?Edit: Everything indicates we must really kill
ci_status
endpoint, I'll go for that.Edited by Oswaldo Ferreirstages
is a single DB call that executes quite complicated query, but we will simplify it to single cheap DB query in next or next after release. Right now, the cost of runningstages
is around 0.5-4ms.Edited by Kamil Trzcińśki- Resolved by Oswaldo Ferreir
@fatihacet What we're planning to change is not quite how we poll. As we've discussed,
ci_status
information is quite replicated. We got it onMergeRequestSerializer
,ci_status
andpipeline_status
endpoint at the moment.added 350 commits
-
73402508...0b5a8a34 - 164 commits from branch
master
- 286ed69a - Expose more information in merge request serializer
- 007f12ec - Refactor MergeRequestEntity for serializer
- 7db62c2b - MRWidget: Initial commit.
- 8c5f3fc7 - MRWidget: Merged and Closed states with Store.
- 71486e86 - MRWidget: Add locked state.
- 5a93165b - MRWidget: Add WIP state.
- df01f6de - MRWidget: Add archived state.
- abf57624 - MRWidget: Address MR feedbacks.
- 27900e74 - MRWidget: Linter fixes.
- 8602a509 - MRWidget: MR changes. Mostly import and export.
- fc1ef762 - Replace stubbed data in merge request entity with real one
- 992d7929 - MRWidget: Resurrect lost files and add new states.
- 6caedbc4 - MRWidget: Refactor store to set MR state properly.
- 35bd829e - MRWidget: Add conflict resolution path.
- 6a046a0a - MRWidget: Show buttons in WIP widget if user can update MR.
- 7f7cfba2 - MRWidget: Implement remove source branch.
- 6a25ae37 - MRWidget: Use component tag to remove multiple component tags.
- d551810f - MRWidget: Slightly refactor existing widget code to work only for old widget.
- f0a7a58b - MRWidget: Implemented ready to merge widget.
- f6461a21 - MRWidget: Implement service and pass to components.
- b325a81a - MRWidget: Implement merge action with current state of backend.
- b8809010 - MRWidget: Address minor MR feedbacks.
- ce7bdf74 - MRWidget: Implemented checking state.
- e7b14c3e - MRWidget: Add help widget to RTM state.
- 2992439d - MRWidget: Export new fields and add them to store.
- 1b7a799d - MRWidget: Implement missing features in header.
- 3764b48e - MRWidget: Rename files for consistency.
- c11f469c - MRWidget: Expose MR pipeline using PipelineEntity.
- 475dc215 - MRWidget: Implement CI status in MR widget.
- efc9d7ff - MRWidget: Make SVG computed to update dynamically.
- 53f25180 - MRWidget: Slightly refactor SVG icon imports to reuse.
- 3d347eab - MRWidget: Review fixes. Mostly remove default data from required props.
- 68789b03 - MRWidget: Add TODO and FIXME comments for backend changes.
- 291ce729 - MRWidget: Show pipeline status for conflicts state.
- 378d044f - MRWidget: Make merge button red if pipeline failed.
- a3475278 - MRWidget: Advanced options for merge button.
- b8de9964 - Add tests to MergeRequestSerializer
- 50affbc4 - MRWidget: Advanced options for merge button.
- f096ba2b - MRWidget: Handle failed pipeline if project is only MWPS.
- 1a4efd69 - Adjust target_branch_path link
- 19125120 - Remove TODO comment
- be8a882f - MRWidget: Make remove branch default.
- a96cbb80 - MRWidget: Review fixes for !9877 (merged).
- 4d13962c - MRWidget: Implemented unresolved discussions state.
- 2a69ae11 - MRWidget: Fix unresolved discussion state.
- 839691b4 - MRWidget: Implement blocked pipeline state.
- 2850cca6 - Add related/closing issues sentences data to MergeRequestSerializer
- f1d78dbe - Add tests for can_update_merge_request info on MergeRequestSerializer
- 7bd1edb5 - Use current_user instead user for request objects used on Entities
- 876a32f3 - Handle JSON requests for "/merge"
- 05b47743 - Alter TODO comments to further improve their trackability
- e4cd7805 - Adjust "new issue to resolve discussions" link on MergeRequestEntity
- 3b24dd93 - MRWidget: Refactor to move merge help widget into main component.
- a05a3b46 - MRWidget: Refactor to move pipelines into main component.
- ee72fc1b - MRWidget: Implemented related links widget.
- 24b68b79 - Handle JSON requests properly on cancel_merge_when_pipeline_succeeds endpoint
- 80439be0 - MRWidget: Make issue and verb text methods easier.
- f988b554 - VuePipelines: Refactor code to reuse svg maps.
- e2959e5e - MR Widget Refactor Part 7
- 154ebd58 - Handle JSON requests for branch removal
- 363044a7 - MRWidget: Implemented remove WIP.
- 105b9ce1 - MRWidget: Fix missing prop in locked state.
- c4e0ff02 - MRWidget: Fix pipeline passed icon color.
- fdef77d6 - MRWidget: Implement remove source branch in Merged state.
- 5f4ece44 - Add basic MergeRequest serializer
- 19b13603 - MRWidget: Improve code styling and remove some eslint flags.
- 2ccbff4a - MRWidget: Prefer group info in pipeline status icon.
- 9c55045e - MRWidget: Implemented deployments component.
- 41ef3cf0 - MRWidget: Remove polling.
- 22ed1961 - MRWidget: Minor code styling.
- 95373e72 - MRWidget: Import datetime utils.
- 963e2ddf - MRWidget: Only render template element if there is a relatead link.
- dba3501d - MRWidget: Group merge conflict buttons.
-
4589e1d2 - MRWidget: Make things good looking
😎 - f4e97e62 - MRWidget: Fix unresolved discussions state.
- cd1ef072 - MRWidget: Fix existing widget JS bug.
- 980edf69 - MRWidget: Improve deployment component template and methods.
- 99a79f3a - MRWidget: Added component tests.
- f5445a06 - Move CI related info to MR / Pipeline serializers
- 30989f6f - MRWidget: Fixed and improved tests.
- 7406a28a - MRWidget: Fix locked component reference error.
- b942ecea - MRWidget: Fix deployment spec datetime issue.
- e4615f89 - MRWidget: Add new tests for widget states.
- 44473223 - MRWidget: Fix status icon in the deploy widget.
- 92b3d258 - MRWidget: Implemented coverage info.
- 393d1f28 - MRWidget: Remove unused component in deployment component.
- b92ca1d3 - MRWidget: Implement CI error state in pipeline component.
- 25c763e0 - Return the updated MR as json on merge_check endpoint
- d30a7de0 - MRWidget: Fetch merge data if the MR status is unchecked.
- 5f963a82 - MRWidget: Move deployment endpoint data set to root component.
- d625d74d - MRWidget: ESLint fixes.
- 93d832cc - MRWidget: Export checkStatus method.
- 74c7da17 - MRWidget: Call checkStatus to update widget in necessary places.
- edb7bec3 - MRWidget: Styling improvements.
- 71ff0258 - MRWidget: Change merge button class to danger.
- 81fd5695 - MRWidget: Update widget when note is added.
- ca76bcd9 - MRWidget: Fix some styling.
- a3d45e18 - MRWidget: Use deployments data if exists.
- e29c637c - MRWidget: Minor code styling.
- 855b9b10 - MRWidget: Add nofollow to links.
- f14230ae - MRWidget: TODO messages for error handling.
- b37ac353 - MRWidget: Introduce eventHub.
- d30dbb28 - MRWidget: Update widget when MWPS set.
- 6941ac45 - MRWidget: Add callback support to eventHub's MRWidgetUpdateRequested event.
- 671bd24b - MRWidget: Update widget after remove source branch.
- 698e4a0e - Utils: Added simple poll utility.
- 3a4a34a6 - MRWidget: Expose state and source_branch_exists in basic serializer.
- a2a1d01d - MRWidget: Implement polling after merge action.
- 5de31c98 - MRWidget: Initially do merge_check request.
- 5f1e8c8d - MRWidget: Add loading icon to merge button.
- 68bffe99 - MRWidget: Don't prefer array destructuring.
- 5e37d40f - MRWidget: Change prop name to avoid confusions.
- 3d134a3d - MRWidget: Improve merge buttons.
- 24ecb2e1 - Adjust MR controller specs
- 26daa4b4 - Adjust PipelineSerializer specs
- 3667f37e - Expose stages in ci_status endpoint.
- 8f9eebae - MRWidget: Expose ci_status_path.
- 8b2f0f78 - MRWidget: Make pipelines empty object as default.
- 983f5c4f - MRWidget: Implement CI polling.
- b41a5f3a - Move MR widget imports to dependencies.js.
- 6e8172dd - Abstract out deviseState from setState.
- 28ad3081 - Make dependencies import multi-line.
- 578bba70 - Break BaseTemplate, stateToComponentMap and statesToShowHelpWidget into separate config files.
- bce416b9 - Make baseComputed extensible.
- 55c60afc - Make mrWidgetOptions extensible and revert config dir.
- 2af75ecb - Handle environment stopping as JSON
- e8389cf5 - Pipelines: Make stage svg a computed property.
- d06d0391 - MRWidget: Update pipelines data only if we have new status.
- cf2539da - MRWidget: Show some respect to ESLint.
- 530cb334 - MRWidget: Add download attribute to MR widget download buttons.
- f36742a9 - MRWidget: Implement failed to merge state.
- f212ba36 - MRWidget: Implement stopEnvironment.
- 7396da53 - MRWidget: Implement polling for deployments.
- b613ceef - MRWidget: Change icon of the Merge immediately option.
- 7a4d3799 - MRWidget: Fix tree view for MWPS state.
- 264f2484 - Properly show Cherry-pick and Revert links (Action on current MR or Fork)
- 24f4f0c3 - Add commit_change_content endpoint for loading Cherry-pick / Revert modal content
- 97888269 - Add metrics URL to ci_environments_status endpoint
- c65fc9dc - MRWidget: Add tests for failed to merge state.
- d61f62bf - MRWidget: Add missing tests for deployment widget.
- 74e4cefa - MRWidget: Tell main component to update store.
- 533646a5 - MRWidget: Remove unnecessary test.
- 52ca3d4d - MRWidget: Add tests for WIP component.
- 6d0bf947 - MRWidget: Add more tests.
- 4031f9f5 - Reuse MR ci status logic by creating a MergeRequestPresenter
- a2b8897a - Move MR serializer specs to Entity level
- c9bd39ef - Adjust Rubocop offenses
- 55838183 - Add light gray shade
- eb362264 - Styling enhancements for MR Widget
- 3672e7a1 - Several updates to MR widget header
-
935c1d0d - Add
with stage
for finished pipelines - d0d6c39c - ESLint: Add missing semi-colon
- 87e73408 - Update styling as per UI specs
- b27e6de5 - Update styling as per UI specs
- 7cccda2c - Update icon styles for MR ready dropdown
- 2dc7a84b - Adjust Rubocop offenses
- 09e61145 - MRWidget: Handle response and update widget in MWPS state.
- 1b6c94b1 - MRWidget: Add tests for missing branch state.
- 86cc34e1 - MRWidget: ESLint fixes.
- 3c3bebcb - MRWidget: Improve and simplfy deployment spec.
- 6fa3591e - MRWidget: Add tests for MWPS state.
- 0ab62d16 - Fix specs and some code styling after merged MR.
- c825e557 - MRWidget: Add tests for merged state.
- 17340c1c - MRWidget: Fix broken header spec.
- d9d8f83a - MRWidget: Add type attrbute to button.
- 681984c1 - Extend prometheus service to be able to make queries using specific timeframes
- 397f2e88 - MRWidget: Fix review comments.
- c934e56b - Backport relevant MR Widget EE changes to CE.
- 22eb2e23 - Move methods to private on MR controller
- 52e12985 - Minor path refactoring on MR serializer
- ac3b28f3 - Rename isFrozen to preventMerge.
- 12225dcd - MRWidget: Set pipeline favicon.
- e5562946 - MRWidget: Fetch revert and cherry-pick modal HTML and append to body.
- f5e5c136 - MRWidget: Slightly refactor in ReadyToMerge component for testing.
- 3fe25f50 - Added tests for ReadyToMerge component.
- 951c3211 - MRWidget: Added tests for main Vue component options.
- de427c37 - MRWidget: Add mising tests and fix ESLint.
- f96c55ac - MRWidget: Added tests for service.
- 53b9e0e2 - MRWidget: Added tests for deviseState function.
- 26cf74b4 - MRWidget: Hack import/export stuff to make things work.
- 20c4dbcd - Prometheus sparkline for memory usage in Merge Request Widget
- 44183ca9 - Change deviseState refs to getStateKey.
- 018d4c52 - Fix import/export errors with stateMaps.
- 7585fc3d - MRWidget: Fix getStateKey context issue.
- bbb41693 - MRWidget: Only add merged button container if user has access.
- 162b4d33 - MRWidget: Delete deprecated files and change necessary places.
Toggle commit list-
73402508...0b5a8a34 - 164 commits from branch
mentioned in issue #30831 (closed)
added 389 commits
-
162b4d33...7d7dfee4 - 203 commits from branch
master
- 28839b0b - Expose more information in merge request serializer
- 7eb3090a - Refactor MergeRequestEntity for serializer
- 3a2b2f21 - MRWidget: Initial commit.
- 874956f8 - MRWidget: Merged and Closed states with Store.
- c986b80e - MRWidget: Add locked state.
- 2e360e7e - MRWidget: Add WIP state.
- 41bad592 - MRWidget: Add archived state.
- 00573f1c - MRWidget: Address MR feedbacks.
- 11dd2b1f - MRWidget: Linter fixes.
- 39f459d9 - MRWidget: MR changes. Mostly import and export.
- dec76e16 - Replace stubbed data in merge request entity with real one
- c30bcdb5 - MRWidget: Resurrect lost files and add new states.
- ed0c17d2 - MRWidget: Refactor store to set MR state properly.
- 7b038518 - MRWidget: Add conflict resolution path.
- 1fe64641 - MRWidget: Show buttons in WIP widget if user can update MR.
- dc13969b - MRWidget: Implement remove source branch.
- 53ea5bf8 - MRWidget: Use component tag to remove multiple component tags.
- e48ae0f9 - MRWidget: Slightly refactor existing widget code to work only for old widget.
- 15c3e228 - MRWidget: Implemented ready to merge widget.
- c60dcf96 - MRWidget: Implement service and pass to components.
- f5ca522c - MRWidget: Implement merge action with current state of backend.
- 39971191 - MRWidget: Address minor MR feedbacks.
- 4e47a33c - MRWidget: Implemented checking state.
- a3beef1b - MRWidget: Add help widget to RTM state.
- d2bdab2b - MRWidget: Export new fields and add them to store.
- 5a1baf9b - MRWidget: Implement missing features in header.
- cbd7b34d - MRWidget: Rename files for consistency.
- 637de1f9 - MRWidget: Expose MR pipeline using PipelineEntity.
- dfbd6b80 - MRWidget: Implement CI status in MR widget.
- 3b29839d - MRWidget: Make SVG computed to update dynamically.
- c948aa41 - MRWidget: Slightly refactor SVG icon imports to reuse.
- 5baa0636 - MRWidget: Review fixes. Mostly remove default data from required props.
- 1dd3c8bc - MRWidget: Add TODO and FIXME comments for backend changes.
- 6f46f531 - MRWidget: Show pipeline status for conflicts state.
- ace93dc2 - MRWidget: Make merge button red if pipeline failed.
- 549b5703 - MRWidget: Advanced options for merge button.
- 244ac7b3 - Add tests to MergeRequestSerializer
- 7ad32498 - MRWidget: Advanced options for merge button.
- a3f57fcb - MRWidget: Handle failed pipeline if project is only MWPS.
- 1455b8c8 - Adjust target_branch_path link
- 19ffdd04 - Remove TODO comment
- 8f68b25d - MRWidget: Make remove branch default.
- 31b324cb - MRWidget: Review fixes for !9877 (merged).
- 91bf9c48 - MRWidget: Implemented unresolved discussions state.
- 240305f8 - MRWidget: Fix unresolved discussion state.
- 96a169ae - MRWidget: Implement blocked pipeline state.
- 252f05ab - Add related/closing issues sentences data to MergeRequestSerializer
- df2bd5e8 - Add tests for can_update_merge_request info on MergeRequestSerializer
- 5f969ac4 - Use current_user instead user for request objects used on Entities
- 71f91ba4 - Handle JSON requests for "/merge"
- e6068c5a - Alter TODO comments to further improve their trackability
- f5f38022 - Adjust "new issue to resolve discussions" link on MergeRequestEntity
- b4967311 - MRWidget: Refactor to move merge help widget into main component.
- 695af433 - MRWidget: Refactor to move pipelines into main component.
- d23597a3 - MRWidget: Implemented related links widget.
- b5d7fb63 - Handle JSON requests properly on cancel_merge_when_pipeline_succeeds endpoint
- e1ffcc00 - MRWidget: Make issue and verb text methods easier.
- abf3b790 - VuePipelines: Refactor code to reuse svg maps.
- 5909b391 - MR Widget Refactor Part 7
- 0bf298c4 - Handle JSON requests for branch removal
- 2636a007 - MRWidget: Implemented remove WIP.
- 182842d7 - MRWidget: Fix missing prop in locked state.
- 85b9d786 - MRWidget: Fix pipeline passed icon color.
- b5dae0a8 - MRWidget: Implement remove source branch in Merged state.
- f0112253 - Add basic MergeRequest serializer
- 6a350418 - MRWidget: Improve code styling and remove some eslint flags.
- c283a97d - MRWidget: Prefer group info in pipeline status icon.
- e0b11a72 - MRWidget: Implemented deployments component.
- 6fde2485 - MRWidget: Remove polling.
- f5055e7b - MRWidget: Minor code styling.
- 75a6ba32 - MRWidget: Import datetime utils.
- ee8ac7c7 - MRWidget: Only render template element if there is a relatead link.
- 4ca0b021 - MRWidget: Group merge conflict buttons.
-
cbb9c7de - MRWidget: Make things good looking
😎 - a00a5718 - MRWidget: Fix unresolved discussions state.
- ca787906 - MRWidget: Fix existing widget JS bug.
- 4e22074e - MRWidget: Improve deployment component template and methods.
- 584aba46 - MRWidget: Added component tests.
- e44d7daa - Move CI related info to MR / Pipeline serializers
- 34e44755 - MRWidget: Fixed and improved tests.
- d779de7b - MRWidget: Fix locked component reference error.
- 0b84446a - MRWidget: Fix deployment spec datetime issue.
- 8130ac99 - MRWidget: Add new tests for widget states.
- c4ddd117 - MRWidget: Fix status icon in the deploy widget.
- 836d6753 - MRWidget: Implemented coverage info.
- 9cf75532 - MRWidget: Remove unused component in deployment component.
- c41260a9 - MRWidget: Implement CI error state in pipeline component.
- 83fcf39b - Return the updated MR as json on merge_check endpoint
- 550f9acd - MRWidget: Fetch merge data if the MR status is unchecked.
- 98be5da5 - MRWidget: Move deployment endpoint data set to root component.
- c0ea37ab - MRWidget: ESLint fixes.
- 6ed7d422 - MRWidget: Export checkStatus method.
- 56f4140e - MRWidget: Call checkStatus to update widget in necessary places.
- 4d7c483b - MRWidget: Styling improvements.
- 7150da4d - MRWidget: Change merge button class to danger.
- ba4b0dde - MRWidget: Update widget when note is added.
- bee0d5e6 - MRWidget: Fix some styling.
- 5e3a7791 - MRWidget: Use deployments data if exists.
- f4e016ce - MRWidget: Minor code styling.
- b420a550 - MRWidget: Add nofollow to links.
- ef0c8def - MRWidget: TODO messages for error handling.
- d9304e68 - MRWidget: Introduce eventHub.
- 9c739985 - MRWidget: Update widget when MWPS set.
- dd24935a - MRWidget: Add callback support to eventHub's MRWidgetUpdateRequested event.
- d6268f92 - MRWidget: Update widget after remove source branch.
- 7eb39135 - Utils: Added simple poll utility.
- cd9fed54 - MRWidget: Expose state and source_branch_exists in basic serializer.
- 28fced06 - MRWidget: Implement polling after merge action.
- 65e5e960 - MRWidget: Initially do merge_check request.
- 865bf483 - MRWidget: Add loading icon to merge button.
- c94b9324 - MRWidget: Don't prefer array destructuring.
- b43c4d78 - MRWidget: Change prop name to avoid confusions.
- 381518dc - MRWidget: Improve merge buttons.
- 04d644f3 - Adjust MR controller specs
- 483ffd2a - Adjust PipelineSerializer specs
- 675d55e2 - Expose stages in ci_status endpoint.
- a2ca868a - MRWidget: Expose ci_status_path.
- 6a30f54c - MRWidget: Make pipelines empty object as default.
- 2d2d0a25 - MRWidget: Implement CI polling.
- e7ec8cd5 - Move MR widget imports to dependencies.js.
- 945145bb - Abstract out deviseState from setState.
- 866e69ce - Make dependencies import multi-line.
- b500e838 - Break BaseTemplate, stateToComponentMap and statesToShowHelpWidget into separate config files.
- 4b6ee620 - Make baseComputed extensible.
- bc4a40f8 - Make mrWidgetOptions extensible and revert config dir.
- 8086b6bb - Handle environment stopping as JSON
- 2697a7ef - Pipelines: Make stage svg a computed property.
- 431bb572 - MRWidget: Update pipelines data only if we have new status.
- fcc5396f - MRWidget: Show some respect to ESLint.
- 4637f267 - MRWidget: Add download attribute to MR widget download buttons.
- cbd5f65a - MRWidget: Implement failed to merge state.
- 11face3d - MRWidget: Implement stopEnvironment.
- eb45c612 - MRWidget: Implement polling for deployments.
- 6dc554f6 - MRWidget: Change icon of the Merge immediately option.
- 442d2a13 - MRWidget: Fix tree view for MWPS state.
- 33d28380 - Properly show Cherry-pick and Revert links (Action on current MR or Fork)
- 4a5ffddc - Add commit_change_content endpoint for loading Cherry-pick / Revert modal content
- 4dcd64e3 - Add metrics URL to ci_environments_status endpoint
- f3e4c20e - MRWidget: Add tests for failed to merge state.
- 4043e005 - MRWidget: Add missing tests for deployment widget.
- 343a6a26 - MRWidget: Tell main component to update store.
- cb724a02 - MRWidget: Remove unnecessary test.
- 72a5e676 - MRWidget: Add tests for WIP component.
- 0dd4be4b - MRWidget: Add more tests.
- ae42bc1e - Reuse MR ci status logic by creating a MergeRequestPresenter
- 78efc7c2 - Move MR serializer specs to Entity level
- 9ceaedbf - Adjust Rubocop offenses
- 3ff19152 - Add light gray shade
- 1cf328a3 - Styling enhancements for MR Widget
- b42d213a - Several updates to MR widget header
-
378a6192 - Add
with stage
for finished pipelines - 59ae18a6 - ESLint: Add missing semi-colon
- ffda3c65 - Update styling as per UI specs
- 61a63fe4 - Update styling as per UI specs
- 9b5ca7ca - Update icon styles for MR ready dropdown
- 68a1f3a7 - Adjust Rubocop offenses
- 028253d8 - MRWidget: Handle response and update widget in MWPS state.
- 9236539a - MRWidget: Add tests for missing branch state.
- 830eaaab - MRWidget: ESLint fixes.
- 5051a32e - MRWidget: Improve and simplfy deployment spec.
- 23a9b57a - MRWidget: Add tests for MWPS state.
- 63953390 - Fix specs and some code styling after merged MR.
- e5fddcb5 - MRWidget: Add tests for merged state.
- 49f5fa4d - MRWidget: Fix broken header spec.
- 93c7caee - MRWidget: Add type attrbute to button.
- 2b800453 - Extend prometheus service to be able to make queries using specific timeframes
- fe16efe9 - MRWidget: Fix review comments.
- 4aff5800 - Backport relevant MR Widget EE changes to CE.
- 6e110287 - Move methods to private on MR controller
- 43d21971 - Minor path refactoring on MR serializer
- 11321d21 - Rename isFrozen to preventMerge.
- d37c2b4a - MRWidget: Set pipeline favicon.
- 5415a50c - MRWidget: Fetch revert and cherry-pick modal HTML and append to body.
- 1bcc3ec2 - MRWidget: Slightly refactor in ReadyToMerge component for testing.
- e891ab8d - Added tests for ReadyToMerge component.
- c8c9024b - MRWidget: Added tests for main Vue component options.
- 4092bd34 - MRWidget: Add mising tests and fix ESLint.
- 4ec1848a - MRWidget: Added tests for service.
- ff9f5036 - MRWidget: Added tests for deviseState function.
- ca9eb292 - MRWidget: Hack import/export stuff to make things work.
- 75247ff0 - Prometheus sparkline for memory usage in Merge Request Widget
- 23796e40 - Change deviseState refs to getStateKey.
- 8def7521 - Fix import/export errors with stateMaps.
- 4df98568 - MRWidget: Fix getStateKey context issue.
- 05d69279 - MRWidget: Only add merged button container if user has access.
- c156688d - MRWidget: Delete deprecated files and change necessary places.
Toggle commit list-
162b4d33...7d7dfee4 - 203 commits from branch
added 251 commits
-
c156688d...bdaf3dfd - 65 commits from branch
master
- 27ef1643 - Expose more information in merge request serializer
- 1c8c60d4 - Refactor MergeRequestEntity for serializer
- bc43557a - MRWidget: Initial commit.
- 15db5c85 - MRWidget: Merged and Closed states with Store.
- 5ba3116e - MRWidget: Add locked state.
- a8311f54 - MRWidget: Add WIP state.
- e44bf3e6 - MRWidget: Add archived state.
- 89c8b5d0 - MRWidget: Address MR feedbacks.
- 6eca7e16 - MRWidget: Linter fixes.
- b72ff27f - MRWidget: MR changes. Mostly import and export.
- 89119bc9 - Replace stubbed data in merge request entity with real one
- 641f7a4a - MRWidget: Resurrect lost files and add new states.
- 1c7a4027 - MRWidget: Refactor store to set MR state properly.
- 42dd29ba - MRWidget: Add conflict resolution path.
- 936824d7 - MRWidget: Show buttons in WIP widget if user can update MR.
- 8c1d84a9 - MRWidget: Implement remove source branch.
- 563c01c5 - MRWidget: Use component tag to remove multiple component tags.
- 0500a0d5 - MRWidget: Slightly refactor existing widget code to work only for old widget.
- a2c865c7 - MRWidget: Implemented ready to merge widget.
- 9ab6b026 - MRWidget: Implement service and pass to components.
- d0f0e7fa - MRWidget: Implement merge action with current state of backend.
- 153e5460 - MRWidget: Address minor MR feedbacks.
- 06f96554 - MRWidget: Implemented checking state.
- ce433e94 - MRWidget: Add help widget to RTM state.
- 964e3026 - MRWidget: Export new fields and add them to store.
- 808a7117 - MRWidget: Implement missing features in header.
- 17b90bc6 - MRWidget: Rename files for consistency.
- 75db95b9 - MRWidget: Expose MR pipeline using PipelineEntity.
- 9b0a8f23 - MRWidget: Implement CI status in MR widget.
- 279935b8 - MRWidget: Make SVG computed to update dynamically.
- 832c070a - MRWidget: Slightly refactor SVG icon imports to reuse.
- eab5c728 - MRWidget: Review fixes. Mostly remove default data from required props.
- 296f0184 - MRWidget: Add TODO and FIXME comments for backend changes.
- f73d6c4c - MRWidget: Show pipeline status for conflicts state.
- c24c12a1 - MRWidget: Make merge button red if pipeline failed.
- 95deebf2 - MRWidget: Advanced options for merge button.
- 17fa6fb4 - Add tests to MergeRequestSerializer
- 2afb9622 - MRWidget: Advanced options for merge button.
- 679accdf - MRWidget: Handle failed pipeline if project is only MWPS.
- 7290cc80 - Adjust target_branch_path link
- bdf9397a - Remove TODO comment
- 44359852 - MRWidget: Make remove branch default.
- eade0076 - MRWidget: Review fixes for !9877 (merged).
- 7fcee481 - MRWidget: Implemented unresolved discussions state.
- c71238f3 - MRWidget: Fix unresolved discussion state.
- b0e16fed - MRWidget: Implement blocked pipeline state.
- 77fd283c - Add related/closing issues sentences data to MergeRequestSerializer
- c1390757 - Add tests for can_update_merge_request info on MergeRequestSerializer
- 5602eef5 - Use current_user instead user for request objects used on Entities
- bc6c13b4 - Handle JSON requests for "/merge"
- 91ba6aae - Alter TODO comments to further improve their trackability
- d77f619d - Adjust "new issue to resolve discussions" link on MergeRequestEntity
- 802a1d55 - MRWidget: Refactor to move merge help widget into main component.
- dfb6a3fa - MRWidget: Refactor to move pipelines into main component.
- ff958941 - MRWidget: Implemented related links widget.
- ae5f4e58 - Handle JSON requests properly on cancel_merge_when_pipeline_succeeds endpoint
- 0289621e - MRWidget: Make issue and verb text methods easier.
- 7e2097b8 - VuePipelines: Refactor code to reuse svg maps.
- 54f5e337 - MR Widget Refactor Part 7
- ed0c2cf3 - Handle JSON requests for branch removal
- bc9cb424 - MRWidget: Implemented remove WIP.
- 1284090f - MRWidget: Fix missing prop in locked state.
- b2c055b3 - MRWidget: Fix pipeline passed icon color.
- c8a90494 - MRWidget: Implement remove source branch in Merged state.
- 7b55d253 - Add basic MergeRequest serializer
- dcbf312d - MRWidget: Improve code styling and remove some eslint flags.
- 28f76300 - MRWidget: Prefer group info in pipeline status icon.
- 82d08ff2 - MRWidget: Implemented deployments component.
- b3c02e8a - MRWidget: Remove polling.
- 57ba9070 - MRWidget: Minor code styling.
- 1ced1a67 - MRWidget: Import datetime utils.
- 34174ab0 - MRWidget: Only render template element if there is a relatead link.
- 6eb80767 - MRWidget: Group merge conflict buttons.
-
8d5c6e86 - MRWidget: Make things good looking
😎 - f5c1f315 - MRWidget: Fix unresolved discussions state.
- b8e5e8f6 - MRWidget: Fix existing widget JS bug.
- efc6dd3b - MRWidget: Improve deployment component template and methods.
- 1d18bbd3 - MRWidget: Added component tests.
- ff575b8a - Move CI related info to MR / Pipeline serializers
- 86d2486c - MRWidget: Fixed and improved tests.
- 6062d412 - MRWidget: Fix locked component reference error.
- a742b9ba - MRWidget: Fix deployment spec datetime issue.
- c8981d5c - MRWidget: Add new tests for widget states.
- abcba3dc - MRWidget: Fix status icon in the deploy widget.
- f9946b27 - MRWidget: Implemented coverage info.
- f846f5d2 - MRWidget: Remove unused component in deployment component.
- e4ae2733 - MRWidget: Implement CI error state in pipeline component.
- 9661e334 - Return the updated MR as json on merge_check endpoint
- 441b0da4 - MRWidget: Fetch merge data if the MR status is unchecked.
- 955ba814 - MRWidget: Move deployment endpoint data set to root component.
- 38252e00 - MRWidget: ESLint fixes.
- 03044811 - MRWidget: Export checkStatus method.
- 1476f51a - MRWidget: Call checkStatus to update widget in necessary places.
- 5507eb6e - MRWidget: Styling improvements.
- be0e1211 - MRWidget: Change merge button class to danger.
- 0c8afe24 - MRWidget: Update widget when note is added.
- 6591889f - MRWidget: Fix some styling.
- 06c93dca - MRWidget: Use deployments data if exists.
- 5e61e3c2 - MRWidget: Minor code styling.
- ee620ad7 - MRWidget: Add nofollow to links.
- 6c320b4e - MRWidget: TODO messages for error handling.
- ba3f1599 - MRWidget: Introduce eventHub.
- aae1a2ee - MRWidget: Update widget when MWPS set.
- 69dee0d2 - MRWidget: Add callback support to eventHub's MRWidgetUpdateRequested event.
- 4c6b3b72 - MRWidget: Update widget after remove source branch.
- ae9f0cd8 - Utils: Added simple poll utility.
- bec7cadb - MRWidget: Expose state and source_branch_exists in basic serializer.
- 275c478c - MRWidget: Implement polling after merge action.
- 5a78647f - MRWidget: Initially do merge_check request.
- 7853e0d8 - MRWidget: Add loading icon to merge button.
- 08f75b9f - MRWidget: Don't prefer array destructuring.
- 031521bb - MRWidget: Change prop name to avoid confusions.
- 40d846b8 - MRWidget: Improve merge buttons.
- 936d3f68 - Adjust MR controller specs
- 49ffa8e3 - Adjust PipelineSerializer specs
- 78df71d4 - Expose stages in ci_status endpoint.
- 8256b8d8 - MRWidget: Expose ci_status_path.
- fff08082 - MRWidget: Make pipelines empty object as default.
- 69f65b91 - MRWidget: Implement CI polling.
- a4303305 - Move MR widget imports to dependencies.js.
- 964c1f99 - Abstract out deviseState from setState.
- 0a4d93fd - Make dependencies import multi-line.
- 555854d0 - Break BaseTemplate, stateToComponentMap and statesToShowHelpWidget into separate config files.
- 059b62cf - Make baseComputed extensible.
- 5be1b1f2 - Make mrWidgetOptions extensible and revert config dir.
- 2721c8b0 - Handle environment stopping as JSON
- e60fa4d9 - Pipelines: Make stage svg a computed property.
- 43326611 - MRWidget: Update pipelines data only if we have new status.
- d6b0f245 - MRWidget: Show some respect to ESLint.
- 8a0037bd - MRWidget: Add download attribute to MR widget download buttons.
- c98b32f9 - MRWidget: Implement failed to merge state.
- 89c956bb - MRWidget: Implement stopEnvironment.
- ebcd7d8e - MRWidget: Implement polling for deployments.
- dc96468b - MRWidget: Change icon of the Merge immediately option.
- fa8d7d96 - MRWidget: Fix tree view for MWPS state.
- d60bc82b - Properly show Cherry-pick and Revert links (Action on current MR or Fork)
- 88550d64 - Add commit_change_content endpoint for loading Cherry-pick / Revert modal content
- eda24000 - Add metrics URL to ci_environments_status endpoint
- 6b217c4d - MRWidget: Add tests for failed to merge state.
- e42f9360 - MRWidget: Add missing tests for deployment widget.
- abd2170a - MRWidget: Tell main component to update store.
- ca89378d - MRWidget: Remove unnecessary test.
- c2c29c5c - MRWidget: Add tests for WIP component.
- 0e4d8810 - MRWidget: Add more tests.
- 2c8016e6 - Reuse MR ci status logic by creating a MergeRequestPresenter
- 156f5ba6 - Move MR serializer specs to Entity level
- 68d11c98 - Adjust Rubocop offenses
- c087e31e - Add light gray shade
- 0703de18 - Styling enhancements for MR Widget
- c981c290 - Several updates to MR widget header
-
5c48e3ea - Add
with stage
for finished pipelines - d90d3580 - ESLint: Add missing semi-colon
- 357ec252 - Update styling as per UI specs
- 487690b2 - Update styling as per UI specs
- caff92b4 - Update icon styles for MR ready dropdown
- f3acab27 - Adjust Rubocop offenses
- 65e32a15 - MRWidget: Handle response and update widget in MWPS state.
- 5ae41ef0 - MRWidget: Add tests for missing branch state.
- 50b8ff88 - MRWidget: ESLint fixes.
- 352dfe1f - MRWidget: Improve and simplfy deployment spec.
- 620246c8 - MRWidget: Add tests for MWPS state.
- d1720e06 - Fix specs and some code styling after merged MR.
- a4ba37c2 - MRWidget: Add tests for merged state.
- b88a073a - MRWidget: Fix broken header spec.
- 3a1a4e2a - MRWidget: Add type attrbute to button.
- f4d0a950 - Extend prometheus service to be able to make queries using specific timeframes
- 0b71f753 - MRWidget: Fix review comments.
- bc27a2d0 - Backport relevant MR Widget EE changes to CE.
- cee0367b - Move methods to private on MR controller
- 3cecfeb9 - Minor path refactoring on MR serializer
- 1340aaec - Rename isFrozen to preventMerge.
- 833a94e0 - MRWidget: Set pipeline favicon.
- 9ba305ad - MRWidget: Fetch revert and cherry-pick modal HTML and append to body.
- fdfd07f5 - MRWidget: Slightly refactor in ReadyToMerge component for testing.
- f3bb8e3e - Added tests for ReadyToMerge component.
- 937b2f1a - MRWidget: Added tests for main Vue component options.
- c0460420 - MRWidget: Add mising tests and fix ESLint.
- e04ac515 - MRWidget: Added tests for service.
- 1367ad8a - MRWidget: Added tests for deviseState function.
- 81a66b03 - MRWidget: Hack import/export stuff to make things work.
- 06e8f43e - Prometheus sparkline for memory usage in Merge Request Widget
- 960de3a7 - Change deviseState refs to getStateKey.
- 3c8e469b - Fix import/export errors with stateMaps.
- c3c7e6d2 - MRWidget: Fix getStateKey context issue.
- 21af4df1 - MRWidget: Only add merged button container if user has access.
- e0a27ddf - MRWidget: Delete deprecated files and change necessary places.
Toggle commit list-
c156688d...bdaf3dfd - 65 commits from branch
mentioned in merge request !10548 (merged)
added 120 commits
- d73ef2cb - MRWidget: Slightly refactor to fix ESLint errors and some unit tests.
- 4ea8c5fd - MRWidget: Only render metrics component if data have metrics URL.
- 2e7b94ed - Fix copy and enable JavaScript for related issues spec.
- dad98433 - fix cherry_pick_spec failure
- 6ad7c326 - Fix environments stop
- f73adbde - MRWidget: Fix MR feature tests.
- 7d81b3a9 - MRWidget: Fix revert feature tests.
- ef33da5b - Stop environment is now a button, not a link
- 680dbe9b - fix deploy-time check
- b667fcc9 - MRWidget: Only update mr widget if we are in merge requests page.
- 7ed5d6d3 - MergeRequestsSerializer perf. improvements
- 78d33cab - MRWidget: Fix merge request accept feature spec.
- 39ff5941 - Fix specs in only_allow_merge_if_build_succeeds_spec.rb
- 1f9e8287 - Set specs as pending for not implemented features
- fc5bcb6b - Remove @merge_request_json assignment
- 74e4d213 - make eslint happy
- 14764a45 - make eslint disable explicit
- 21f75b55 - make fetchMetrics static to avoid class-methods-use-this
- 536d306b - Remove unnecessary backend code
- 8289ce0a - Fix rubocop offenses
- 49c67db1 - MRWidget: Fix deployments widget spec.
- 90a431a3 - MRWidget: Fix failing specs.
- 48de1820 - MRWidget: Fix checkStatus calls in Notes.js.
- 2de25b9b - Change merge button text in merge request specs.
- b8869a89 - Change merge button text in merge request spec.
- 110b80d8 - Remove unnecessary MR helper method
- 7cfa3634 - Remove unnecessary format handler for remove_wip
- f33a62ae - MRWidget: Fix remove source branch test.
- 3afe7335 - MRWidget: Fix remove branch feature test.
- e122ccac - MRWidget: Fix remove source branch test.
- 55d07ab2 - MRWidget: Make modify commit message a button.
- 0b515608 - MRWidget: Fix deleted source branch spec.
- cb1c0c7d - MRWidget: Fix unresolved discussions spec.
- be36d0e0 - MRWidget: Add required class to merge button for tests.
- 83c5f2ae - MRWidget: Fix widget specs for deploy URL and merge button.
- cb830b29 - MRWidget: Fix widget spec to assert new conflicts text.
- 988cb7f1 - MRWidget: Fix target branch spec.
- 51f12f6c - MRWidget: Remove unncessary commit message link text.
- b05b2b15 - MRWidget: Removed deprecated edit MR spec.
- 0a8667b2 - MRWidget: Fix MWPS spec.
- a3fbfc12 - MRWidget: Add js support to needed specs.
- 85dade83 - Fix intermitent merge_event and closed_event spec
- 26eac87e - Adjust wrong conflict resolution
- cd960a59 - Use add_reporter instead injecting team member
- b0cba9fa - Remove unnecessary to_json calls
- 0d4ce095 - Remove unnecessary AR object reload
- 78d2efc7 - Unify polling and remove pipeline_status request
- 99bd1120 - Change ci_environments_status_url to ci_environments_status_path
- d0b26ca7 - Move conflict_resolution_path logic to MR presenter
- 1b3250ed - Create MR entities basic json schemas
- 82f9c934 - Use basic entity for fetching TimeTracking data
- 70bb8541 - Remove requirement declaration for MR entities schema
- 19f9b873 - MRWidget: Add full stop after coverage data.
- c15bb223 - MRWidget: Add coverage data into mock data.
- feb86374 - MRWidget: Remove deprecated specs.
- 34b736b9 - MRWidget: Update CI favicon when we have new data.
- d0886b3f - MRWidget: Fix broken specs and ESLint offences.
- ece2190a - MRWidget: Fix branch missing spec.
- 5ec2c61d - MRWidget: Remove store in service dependency.
- 64014df7 - MRWidget: Fix MWPS spec.
- e6aafe77 - MRWidget: Remove merged_buttons_spec.
- 6f618d80 - MRWidget: Update MR status text when MR is merged.
- 5d1152a3 - MRWidget: Fix edit commit message spec.
- 7a4795bd - Adjust "user" to "current_user" pipeline entity reference
- ccd0156d - MRWidget: Only update status text if window.mergeRequest available.
- 1c6f7233 - MRWidget: Fix commit message spec.
- 8599a939 - MRWidget: Fix deleted source branch spec.
- ad2abc49 - MRWidget: Fix MR resolve discussions issue path to fix specs.
- 79745ad8 - MRWidget: Change discussion resolve path in spec and mock data.
- 43ab8e33 - Increase number of queries due to coverage exposure
- 7af5874f - Keep same behavior of denied access for HTML requests on "access_denied!"
- e59422bc - Adjust branch removal action when no source_project
- 94f38b53 - Adjust format handling on spec request
- 28138c22 - Move markdown calls to MR presenter
- 3358c4f3 - Move cancel_merge_when_pipeline_succeeds_path test to presenter
- 3f1a932f - Move merge_path test to presenter
- 149612cc - Move create_issue_to_resolve_discussions_path test to presenter
- fea0b83d - Add branch existence before trying to build path to branch
- 091888d3 - Remove extra lines
- cbe1edf4 - Adjust typo
- c20ac05e - MRWidget: Format template literals to match styleguide.
- 2f8148d4 - Adjust remove_wip MR presenter specs
- 0ef1cb68 - Add source branch link with correct namespace on MR serializer
- 44fd2e08 - Use merge_request object delegation on MR presenter
- e9fc7c3f - Adjust rubocop offenses
- 43118aa4 - Adjust rubocop offenses [2]
- 27c3e174 - Update MR json schema
- 7c78ee5b - Present merge error when failed to merge (on background)
- eae6d0ec - Adjust jslint
- 924e497d - Update MR basic schema
- 0120d08e - MRWiidget: Improvements for Vue style guide.
- 67acd71e - MRWidget: Fix unit tests.
- 95ad0858 - Remove ci_status route definition
- 9ccd6c1c - Improve MR presenter memoizing on MR serializer
- 2f8f8bf9 - Move MR entity knowledge to serializer
- c778a4a2 - Improve MergeRequestSerializer#represent comments
- 880660b1 - Return "assign to closed issues link" on MR serializer
- ceeaa4b5 - Fix typo on MR json schema
- a084e539 - Make rubocop happy
- f6cf3b56 - Return correct path to target branch commits on MR serializer
- 28ae5f9c - Allow nilClass on "assign_to_closing" on MR json schema
- 0fa9c7b4 - MRWidget: Do some styling for the merge failed widget state.
- 740617ca - MRWidget: Add event listeners to stop and resume polling.
- 5eef3140 - MRWidget: Request to stop and resume polling when failed to merge.
- f24df6e1 - MRWidget: Added missing tests.
- 94a5d45e - MRWidget: Added missing tests for related links widget.
- e89fb1d4 - MRWidget: Implement assing issues to me link.
- db3dadaf - MRWidget: Make ESLint happy again.
- 6ca2dff4 - MRWidget: Decrease merge request counter on the main nav.
- 5d2e13d6 - MRWidget: Add catch statements for service requests.
- d2dd329c - MRWidget: Show a spinner while removing source branch.
- 529843c8 - MRWidget: Fix broken closed state spec.
- ca530bc0 - MRWidget: Fix ESLint no-new errors.
- c80e2c75 - Re-enable "assign to issues link" feature spec
- 2d6e9b3c - MRWidget: Add auto merge failed state.
- 60e2fdef - MRWidget: Fix minor ESLint issue.
- 7fbf98e1 - MRWidget: Minor styling improvements.
- e34af9a8 - MRWidget: Minor styling fix.
- 812328e3 - Pipelines: Update stage tooltip.
- 41df3f93 - Merge branch 'mr-widget-redesign' into 'mr-widget-redesign-review'
Toggle commit listchanged milestone to %9.2
added Deliverable ~874211 ~13921 labels
assigned to @fatihacet
added 312 commits
-
f7ddd0d6...37a91bf9 - 311 commits from branch
master
- 1cd4b591 - Merge request widget redesign
-
f7ddd0d6...37a91bf9 - 311 commits from branch
added 12 commits
-
1cd4b591...71d76c64 - 11 commits from branch
master
- 3fd878f0 - Merge request widget redesign
-
1cd4b591...71d76c64 - 11 commits from branch
mentioned in merge request !10722
@brycepj We're green on 70b27516
😄 Would you mind cherry-picking it into EE (
mr-widget-redesign-review-ee
would be perfect to adjust the EE compatibility check)?Edited by Oswaldo Ferreir👍 FYI, here are the conflicts I'm seeing locally.deleted by them: app/assets/javascripts/merge_request_widget.js deleted by them: app/assets/javascripts/merge_request_widget/ci_bundle.js both modified: app/assets/stylesheets/pages/merge_requests.scss both modified: app/controllers/projects/merge_requests_controller.rb both modified: app/helpers/merge_requests_helper.rb both modified: app/serializers/merge_request_entity.rb deleted by them: app/views/projects/merge_requests/merge.js.haml deleted by them: app/views/projects/merge_requests/widget/_open.html.haml deleted by them: app/views/projects/merge_requests/widget/open/_accept.html.haml both modified: app/views/shared/issuable/form/_merge_params.html.haml both modified: config/webpack.config.js both modified: spec/controllers/projects/merge_requests_controller_spec.rb both modified: spec/features/merge_requests/closes_issues_spec.rb added by us: spec/javascripts/merge_request_widget/merge_request_widget_spec.js both modified: spec/serializers/pipeline_serializer_spec.rb
I'm assuming anything
deleted by them
I can just delete. I might need some help resolving other conflicts though.mentioned in issue #31402 (moved)
Spec is failing: https://gitlab.com/gitlab-org/gitlab-ce/builds/15688863
Perhaps this should change?
allowed_to_create_button.click
->
allowed_to_create_button.trigger('click')
added 1182 commits
-
0e8309b1...1186dcab - 1181 commits from branch
master
- f96db82d - Merge request widget redesign
-
0e8309b1...1186dcab - 1181 commits from branch
added 2 commits
added 2 commits
added 1 commit
- 0c1f0a90 - Testing: Commenting after hook for waiting complete request
added 1 commit
- 579d35aa - Improve request blocker middleware to support Vue requests
added 1 commit
- 6125cb97 - Add @javascript and extra wait_for_vue_resource
added 1 commit
- c53180f1 - Remove unnecesary time_tracking_bundle.js file
added 99 commits
-
392532b8...11ff9fc6 - 98 commits from branch
master
- c776f6b9 - Merge branch 'master' into 'mr-widget-redesign-review'
-
392532b8...11ff9fc6 - 98 commits from branch
added 10 commits
- 90249def - Merge request widget redesign
- ac535551 - Fix rspec failure for award slash commands
- 63c33277 - EE backport
- 9321e400 - Add wait_for_vue_resource for MR requests spinach tests
- 80d0d1ca - MRWidget: Backport EE changes.
- 51f3b9d2 - MRWidget: Fix Spinach spec.
- fdb2effc - Add wait_for_vue_resource where its needed
- d1dddc1b - Update MR json schema
- 66ff9e90 - Intermittence adjustments regarding Spinach and Vue
- 1175d277 - Remove unnecesary time_tracking_bundle.js file
Toggle commit listmentioned in issue #31946 (closed)
added 1 commit
- bc9e7572 - Re-use method for checking all Vue request are done
added 14 commits
-
bc9e7572...e98f12af - 3 commits from branch
master
- 54e6b28a - Merge request widget redesign
- f6b1772b - Fix rspec failure for award slash commands
- ee60d2ad - EE backport
- 6cdf2f32 - Add wait_for_vue_resource for MR requests spinach tests
- 2546ea1b - MRWidget: Backport EE changes.
- ca0a0e65 - MRWidget: Fix Spinach spec.
- f71bbee7 - Add wait_for_vue_resource where its needed
- eb38b641 - Update MR json schema
- 85e17fcb - Intermittence adjustments regarding Spinach and Vue
- 9d7de114 - Remove unnecesary time_tracking_bundle.js file
- 8319d4aa - Re-use method for checking all Vue request are done
Toggle commit list-
bc9e7572...e98f12af - 3 commits from branch
added 1 commit
- 0285e371 - Add wait_for_vue_resource after ordering issue
mentioned in issue #31934 (closed)
added 1 commit
- d1b4347c - Keep the pattern of using current_user instead of user on serializers
added 1 commit
- d0edab4b - Keep the pattern of using current_user instead of user on serializers
added 1 commit
- b023b905 - Keep the pattern of using current_user instead of user on serializers
https://gitlab.com/gitlab-org/gitlab-ce/builds/15865940 is failing due to the same error of
master
branch:mentioned in commit 8db76243
mentioned in merge request !11209 (merged)
mentioned in issue #14413 (closed)
mentioned in issue #29369 (closed)
mentioned in commit 1ba06c8c
mentioned in issue #29590 (closed)
mentioned in merge request !11763 (closed)
mentioned in issue gitaly#221
mentioned in issue gitlab#9451