From d9e07a155e65cd4a7d2a1e0f10cd200a6b57371e Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Tue, 18 Aug 2020 15:10:33 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .markdownlint.json | 1 + .../design_management/utils/cache_update.js | 13 +- .../diffs/components/diff_content.vue | 2 +- .../diffs/components/diff_file.vue | 1 + .../diffs/components/diff_table_cell.vue | 51 ++++++-- app/assets/javascripts/diffs/store/utils.js | 4 + .../filtered_search_visual_tokens.js | 4 +- .../components/time_tracking/time_tracker.vue | 4 +- .../rich_content_editor/constants.js | 9 +- .../rich_content_editor.vue | 17 +-- .../services/build_custom_renderer.js | 70 +++-------- .../services/editor_service.js | 10 ++ .../stylesheets/fontawesome_custom.scss | 1 - app/assets/stylesheets/framework/filters.scss | 8 +- app/assets/stylesheets/pages/notes.scss | 16 ++- app/assets/stylesheets/pages/todos.scss | 4 + .../projects/variables_controller.rb | 7 +- .../mutations/design_management/move.rb | 2 +- app/models/design_management/design.rb | 2 +- .../design_management/design_collection.rb | 4 +- app/models/project_services/jira_service.rb | 6 + app/policies/project_policy.rb | 2 +- .../packages/detail/package_presenter.rb | 1 + app/services/ci/change_variable_service.rb | 7 +- .../design_management/move_designs_service.rb | 2 +- .../jira_import/cloud_users_mapper_service.rb | 19 +++ .../server_users_mapper_service.rb | 19 +++ app/services/jira_import/users_importer.rb | 38 ++++-- app/services/jira_import/users_mapper.rb | 30 ----- .../jira_import/users_mapper_service.rb | 52 ++++++++ bin/feature-flag | 43 +++++-- ...25946-replace-fa-close-with-gitlab-svg.yml | 5 + .../unreleased/232998-package-metadata.yml | 5 + ...mpatibility_on_jira_users_api_endpoint.yml | 5 + ...5797-fix-issues-analytics-feature-name.yml | 5 + .../unreleased/reorder-designs-fixes.yml | 5 + ...link-comments-disable-symlink-comments.yml | 6 + changelogs/unreleased/todo-labels.yml | 5 + .../development/ci_if_parenthesis_enabled.yml | 7 ++ .../development/ci_plan_needs_size_limit.yml | 7 ++ .../development/reorder_designs.yml | 2 +- .../initializers/rails_host_authorization.rb | 2 +- ...0639_backfill_designs_relative_position.rb | 31 +---- doc/api/repositories.md | 11 +- doc/ci/variables/README.md | 4 +- doc/ci/yaml/README.md | 18 +-- doc/development/deleting_migrations.md | 2 +- doc/development/feature_flags/development.md | 20 +-- .../img/compliance_dashboard_v13_3.png | Bin 41721 -> 0 bytes .../merge_requests/merge_request_approvals.md | 34 +++-- lib/api/variables.rb | 29 +++-- .../backfill_designs_relative_position.rb | 49 +------- lib/gitlab/ci/features.rb | 4 +- lib/gitlab/usage_data.rb | 2 - .../track_unique_actions.rb | 2 - locale/gitlab.pot | 6 + package.json | 2 +- spec/bin/feature_flag_spec.rb | 48 ++++++- .../filtered_search/visual_tokens_spec.rb | 4 +- .../user_uploads_designs_spec.rb | 28 +++-- .../__mocks__/@toast-ui/vue-editor/index.js | 11 ++ .../alert_settings_form_spec.js.snap | 4 +- .../__snapshots__/popover_spec.js.snap | 2 +- .../toolbar/__snapshots__/index_spec.js.snap | 2 +- .../upload/__snapshots__/button_spec.js.snap | 6 +- .../pages/__snapshots__/index_spec.js.snap | 2 +- .../design/__snapshots__/index_spec.js.snap | 2 +- .../design/__snapshots__/index_spec.js.snap | 2 +- .../diffs/components/diff_table_cell_spec.js | 54 ++++++++ .../filtered_search_visual_tokens_spec.js | 4 +- .../grafana_integration_spec.js.snap | 2 +- .../helpers/filtered_search_spec_helper.js | 2 +- .../__snapshots__/alerts_form_spec.js.snap | 2 +- .../incidents_settings_tabs_spec.js.snap | 2 +- .../__snapshots__/pagerduty_form_spec.js.snap | 4 +- .../delete_user_modal_spec.js.snap | 2 +- .../__snapshots__/delete_button_spec.js.snap | 4 +- .../__snapshots__/empty_state_spec.js.snap | 2 +- .../__snapshots__/clone_dropdown_spec.js.snap | 4 +- .../editor_service_spec.js | 24 ++++ .../rich_content_editor_spec.js | 51 +++++--- ...backfill_designs_relative_position_spec.rb | 51 -------- .../track_unique_actions_spec.rb | 13 +- spec/lib/gitlab/usage_data_spec.rb | 58 ++++----- ...backfill_designs_relative_position_spec.rb | 41 ------ .../design_collection_spec.rb | 4 +- .../packages/detail/package_presenter_spec.rb | 9 ++ spec/services/event_create_service_spec.rb | 5 - .../cloud_users_mapper_service_spec.rb | 19 +++ .../server_users_mapper_service_spec.rb | 19 +++ .../jira_import/users_importer_spec.rb | 117 +++++++++++++----- .../services/jira_import/users_mapper_spec.rb | 43 ------- .../user_mapper_services_shared_examples.rb | 39 ++++++ yarn.lock | 84 ++----------- 94 files changed, 836 insertions(+), 651 deletions(-) create mode 100644 app/services/jira_import/cloud_users_mapper_service.rb create mode 100644 app/services/jira_import/server_users_mapper_service.rb delete mode 100644 app/services/jira_import/users_mapper.rb create mode 100644 app/services/jira_import/users_mapper_service.rb create mode 100644 changelogs/unreleased/225946-replace-fa-close-with-gitlab-svg.yml create mode 100644 changelogs/unreleased/232998-package-metadata.yml create mode 100644 changelogs/unreleased/235759_backward_compatibility_on_jira_users_api_endpoint.yml create mode 100644 changelogs/unreleased/235797-fix-issues-analytics-feature-name.yml create mode 100644 changelogs/unreleased/reorder-designs-fixes.yml create mode 100644 changelogs/unreleased/symlink-comments-disable-symlink-comments.yml create mode 100644 changelogs/unreleased/todo-labels.yml create mode 100644 config/feature_flags/development/ci_if_parenthesis_enabled.yml create mode 100644 config/feature_flags/development/ci_plan_needs_size_limit.yml delete mode 100644 doc/user/compliance/compliance_dashboard/img/compliance_dashboard_v13_3.png delete mode 100644 spec/lib/gitlab/background_migration/backfill_designs_relative_position_spec.rb delete mode 100644 spec/migrations/backfill_designs_relative_position_spec.rb create mode 100644 spec/services/jira_import/cloud_users_mapper_service_spec.rb create mode 100644 spec/services/jira_import/server_users_mapper_service_spec.rb delete mode 100644 spec/services/jira_import/users_mapper_spec.rb create mode 100644 spec/support/shared_examples/services/jira_import/user_mapper_services_shared_examples.rb diff --git a/.markdownlint.json b/.markdownlint.json index 253b7bd0c92..1c276dc42ba 100644 --- a/.markdownlint.json +++ b/.markdownlint.json @@ -7,6 +7,7 @@ "ul-style": { "style": "dash" }, + "no-trailing-spaces": false, "line-length": false, "no-duplicate-header": { "allow_different_nesting": true diff --git a/app/assets/javascripts/design_management/utils/cache_update.js b/app/assets/javascripts/design_management/utils/cache_update.js index 3e6ed39fbe8..5df6e064b25 100644 --- a/app/assets/javascripts/design_management/utils/cache_update.js +++ b/app/assets/javascripts/design_management/utils/cache_update.js @@ -1,5 +1,6 @@ /* eslint-disable @gitlab/require-i18n-strings */ +import { groupBy } from 'lodash'; import createFlash from '~/flash'; import { extractCurrentDiscussion, extractDesign } from './design_management_utils'; import { @@ -159,13 +160,11 @@ const updateImageDiffNoteInStore = (store, updateImageDiffNote, query, variables const addNewDesignToStore = (store, designManagementUpload, query) => { const data = store.readQuery(query); - const newDesigns = data.project.issue.designCollection.designs.nodes.reduce((acc, design) => { - if (!acc.find(d => d.filename === design.filename)) { - acc.push(design); - } - - return acc; - }, designManagementUpload.designs); + const currentDesigns = data.project.issue.designCollection.designs.nodes; + const existingDesigns = groupBy(currentDesigns, 'filename'); + const newDesigns = currentDesigns.concat( + designManagementUpload.designs.filter(d => !existingDesigns[d.filename]), + ); let newVersionNode; const findNewVersions = designManagementUpload.designs.find(design => design.versions); diff --git a/app/assets/javascripts/diffs/components/diff_content.vue b/app/assets/javascripts/diffs/components/diff_content.vue index 741462a849c..087a558efdc 100644 --- a/app/assets/javascripts/diffs/components/diff_content.vue +++ b/app/assets/javascripts/diffs/components/diff_content.vue @@ -147,7 +147,7 @@ export default { slot="image-overlay" :discussions="imageDiscussions" :file-hash="diffFileHash" - :can-comment="getNoteableData.current_user.can_create_note" + :can-comment="getNoteableData.current_user.can_create_note && !diffFile.brokenSymlink" />
import { mapGetters, mapActions } from 'vuex'; -import { GlIcon } from '@gitlab/ui'; +import { GlIcon, GlTooltipDirective } from '@gitlab/ui'; import { getParameterByName, parseBoolean } from '~/lib/utils/common_utils'; import DiffGutterAvatars from './diff_gutter_avatars.vue'; +import { __ } from '~/locale'; import { CONTEXT_LINE_TYPE, LINE_POSITION_RIGHT, @@ -18,6 +19,9 @@ export default { DiffGutterAvatars, GlIcon, }, + directives: { + GlTooltip: GlTooltipDirective, + }, props: { line: { type: Object, @@ -123,6 +127,24 @@ export default { lineNumber() { return this.lineType === OLD_LINE_TYPE ? this.line.old_line : this.line.new_line; }, + addCommentTooltip() { + const brokenSymlinks = this.line.commentsDisabled; + let tooltip = __('Add a comment to this line'); + + if (brokenSymlinks) { + if (brokenSymlinks.wasSymbolic || brokenSymlinks.isSymbolic) { + tooltip = __( + 'Commenting on symbolic links that replace or are replaced by files is currently not supported.', + ); + } else if (brokenSymlinks.wasReal || brokenSymlinks.isReal) { + tooltip = __( + 'Commenting on files that replace or are replaced by symbolic links is currently not supported.', + ); + } + } + + return tooltip; + }, }, mounted() { this.unwatchShouldShowCommentButton = this.$watch('shouldShowCommentButton', newVal => { @@ -146,17 +168,24 @@ export default {