- 13 Aug, 2020 40 commits
-
-
Nicolò Maria Mezzopera authored
Add external link icon to the external repositories link See merge request gitlab-org/gitlab!39442
-
Heinrich Lee Yu authored
Merge branch '235790-flaky-spec-mini-pipeline-graph-in-commit-view-when-commit-has-pipelines-displays-a-mini' into 'master' Fix flaky spec in mini_pipeline_graph_spec feature test Closes #235790 See merge request gitlab-org/gitlab!39429
-
Natalia Tepluhina authored
Use GraphQL to get list of vulnerable projects See merge request gitlab-org/gitlab!38808
-
Alan (Maciej) Paruszewski authored
This change changes the API that loads vulnerable projects for instance security dashboard to use new vulnerabilityGrades type.
-
Kushal Pandya authored
Always use blank string if relative URL root is undefined See merge request gitlab-org/gitlab!39421
-
Achilleas Pipinellis authored
Move log in section earlier in setup steps See merge request gitlab-org/gitlab!39434
-
Kushal Pandya authored
GitLab UI: fix-input-debounce integration branch See merge request gitlab-org/gitlab!38824
-
Kushal Pandya authored
Preserve active tab on page reload See merge request gitlab-org/gitlab!39369
-
Olena Horal-Koretska authored
-
Phil Hughes authored
Add milestone filtering support in Roadmap Closes #218621 See merge request gitlab-org/gitlab!39181
-
Heinrich Lee Yu authored
Documentation for multiple value streams Closes #221204 See merge request gitlab-org/gitlab!39299
-
Ezekiel Kigbo authored
Adds changelog entry Enables the value_stream_analytics_create_multiple_value_streams feature flag
-
Jan Provaznik authored
Fix userNotesCount aggregate See merge request gitlab-org/gitlab!38871
-
Alan (Maciej) Paruszewski authored
This change fixes problem where 2 aggregates were using same key to store its state. This change also renames lazy_aggregate to more specific name to prevent similar situation to occur in the future.
-
Natalia Tepluhina authored
Remove fa-sign-out styles See merge request gitlab-org/gitlab!39335
-
Miguel Rincon authored
Merge branch '218084-merge-widget-gives-ambiguous-ui-instructions-when-merge-trains-are-enabled' into 'master' MR widget instructions are unclear when merge trains are enabled Closes #218084 See merge request gitlab-org/gitlab!38619
-
Frédéric Caplette authored
We update the merge train helper text and we move it right under the button for more clarity. This mean we had to move the helper text component from the mr-widget-options to the ready-to-merge component and update the tests accordingly.
-
Illya Klymov authored
-
Grzegorz Bizon authored
Enable FF about CI Lint dry run mode See merge request gitlab-org/gitlab!39350
-
Peter Leitzen authored
Remove feature flag metrics_dashboard_new_panel_page See merge request gitlab-org/gitlab!39124
-
Natalia Tepluhina authored
Enable squash option feature by default See merge request gitlab-org/gitlab!39382
-
Kushal Pandya authored
Adds Milestone token support in filtered search for Roadmap.
-
charlie ablett authored
Refactor http spec helpers See merge request gitlab-org/gitlab!39321
-
Collen Kriel authored
-
charlie ablett authored
Speed up member model specs See merge request gitlab-org/gitlab!39387
-
Peter Leitzen authored
Skip subsequent topology Prometheus queries if timeout occur See merge request gitlab-org/gitlab!38293
-
Russell Dickenson authored
Verification of usage ping metrics See merge request gitlab-org/gitlab!39356
-
Alper Akgun authored
-
Miguel Rincon authored
This commit removes the metricsDashboardNewPanelPage feature flag from the frontend so the button is displayed to all users.
-
rpereira2 authored
Now that the new panel page on the frontend is ready, we can remove the feature flag.
-
Mark Florian authored
Some Geo tests needed to be fixed to support this version bump. Details below. For the GeoNodeFormCapacities and GeoNodeFormCore components: The tests set the input's value to the empty string, and try to assert that the form displays an error message saying that the input can't be empty. This doesn't work, because the underlying `BFormInput` does not emit a model event in the case that the model value hasn't changed (the value starts as an empty string, and ends up as an empty string!). Prior to this, the tests were passing because the `input` event is not the model event as far as the `BFormInput` is concerned, which it always fires. So, the fix in this case is to do one of the following: 1. Listen for the update event in the component, rather than the input event. 2. In the test, set the input element's value to something else before making it the empty string, so the model event fires. The first option seems best, since it's more "correct", but this change is entirely for the sake of the tests. Real-world behaviour won't have changed at all either way. This is because there's no way for a user to set an input to the empty string when it's already the empty string, so this edge case can't happen in reality. For the GeoSettingsForm component: This is actually a very subtle confluence of bugs, including implicit type casting, unrealistic synchronous calls and inconsistent amounts of behaviour mocking. Individually these are harmless, but all together produced a failing test. The crux of this is that `BFormInput` emits a model (`update`) Vue event when a [`blur` DOM event is triggered][237] on the input element, **if** the [_formatted_ input value doesn't strictly equal the `model` value][161]. The _formatted_ value is [_stringified_][138] copy of the model value (unless the `formatter` prop is given), which means that when the model is a `number`, the `model` ends up getting overwritten, because a string can't equal a number. Prior to GitLab UI v18.7, that model (`update`) event was completely ignored, and so triggering the `blur` *didn't* re-update the model value with the old value. But _with_ GitLab UI v18.7, that model (`update`) event _is_ listened to, (via the remapping to the `input` event) and the model gets is updated accordingly _because_ of the blur. The reason the _old_ value is used by `BFormInput`'s `onBlur` method is because it is called _synchronously_ after emitting the model event. This means that the parent scope's model has been updated, but Vue hasn't _yet_ passed it down to the component again. If you `await wrapper.vm.$nextTick()` _before_ triggering the blur, the _new but stringified_ value will be in the parent scope's model instead of the _old_ stringified model value. (This is was [suggested][zcuddy] by @zcuddyy, although _technically_ the model would a string instead of a number with this approach.) Finally, this can be reproduced with `BFormInput` itself. Below are some tests that simplify and capture the problem with the way the Geo tests were written: ```js import { BFormInput } from 'bootstrap-vue'; import { mount } from '@vue/test-utils'; describe('number/text confusion', () => { const factory = (template, value) => { wrapper = mount({ components: { BFormInput }, data: () => ({ modelValue: value }), template, }); }; describe('given a number value without number prop', () => { beforeEach(() => { factory(`<b-form-input v-model="modelValue" />`, 5); }); it('blur changes the model value to stringified original', () => { expect(wrapper.vm.modelValue).toBe(5); // BFormInput's model event is 'update' wrapper.find(BFormInput).vm.$emit('update', 20); expect(wrapper.vm.modelValue).toBe(20); wrapper.find('input').trigger('blur'); // Note value has changed! expect(wrapper.vm.modelValue).toBe('5'); }); }); describe('given a number value with number prop', () => { beforeEach(() => { factory(`<b-form-input v-model="modelValue" number />`, 5); }); it('blur does not mess things up', () => { expect(wrapper.vm.modelValue).toBe(5); // BFormInput's model event is 'update' wrapper.find(BFormInput).vm.$emit('update', 20); expect(wrapper.vm.modelValue).toBe(20); wrapper.find('input').trigger('blur'); // Note value has *not* changed expect(wrapper.vm.modelValue).toBe(20); }); }); }); ``` This explains why doing `findGeoSettingsTimeoutField().vm.$emit('blur');` fixes the tests (because this bypasses `BFormInput`'s `onBlur` handler), and why `findGeoSettingsTimeoutField().setValue(data);` also fixes the tests (because it correctly updates the _internal_ `vModelValue` of the `BFormInput`, such that the `onBlur` handler uses that new value rather than the old one). Phew! What all this means that this is not a bug in GitLab UI v18.7, and it's not a bug in `bootstrap-vue`. It's *actually* a subtle bug in `GeoSettingsForm`, due to weak typing of the model and our previously broken `GlFormInput` model binding that GitLab UI v18.7 fixes. Therefore, I think the _correct_ fix here is two-fold: 1. set the `number` prop to `true` on the `timeout` field 1. Use `setValue` in _both_ tests Either one of these fixes the tests, but I think *both* should be done. The first correctly casts the model to a number, and the second more closely mirrors a user's action. [138]: https://github.com/bootstrap-vue/bootstrap-vue/blob/028b880ea1ec168888368f3abc7e89f1f8f2f9cd/src/mixins/form-text.js#L138 [161]: https://github.com/bootstrap-vue/bootstrap-vue/blob/028b880ea1ec168888368f3abc7e89f1f8f2f9cd/src/mixins/form-text.js#L161 [237]: https://github.com/bootstrap-vue/bootstrap-vue/blob/028b880ea1ec168888368f3abc7e89f1f8f2f9cd/src/mixins/form-text.js#L237 [zcuddy]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/38824#note_394960100
-
Markus Koller authored
Document unit test guidelines for EE features See merge request gitlab-org/gitlab!39309
-
Albert Salim authored
-
Albert Salim authored
-
Martin Wortschack authored
Remove transition animation from the Container Registry UI See merge request gitlab-org/gitlab!39337
-
Nicolò Maria Mezzopera authored
-
charlie ablett authored
Fix flaky todo finder spec Closes #235932 See merge request gitlab-org/gitlab!39425
-
Natalia Tepluhina authored
Prepare tag_field_new_spec for Jest 26 See merge request gitlab-org/gitlab!39426
-
Russell Dickenson authored
Add docs for Redis HLL counters Closes #235457 See merge request gitlab-org/gitlab!39298
-
Alina Mihaila authored
-