From 84dd3070dff9e36897345bbfd8dc1bf3470376ae Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Tue, 12 Jan 2021 15:10:37 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- Gemfile | 2 +- Gemfile.lock | 6 +- app/assets/javascripts/blob_edit/edit_blob.js | 4 +- .../{ => extensions}/editor_ci_schema_ext.js | 2 +- .../editor_file_template_ext.js | 0 .../editor_lite_extension_base.js | 2 +- .../{ => extensions}/editor_markdown_ext.js | 0 app/assets/javascripts/gfm_auto_complete.js | 1 + .../pages/dashboard/todos/index/todos.js | 2 +- .../pipeline_schedules/index/index.js | 6 +- .../components/text_editor.vue | 2 +- .../pipelines/charts/components/app.vue | 29 +++++- .../charts/components/app_legacy.vue | 33 ++++++- ...art.vue => ci_cd_analytics_area_chart.vue} | 15 +-- .../projects/pipelines/charts/index.js | 10 ++ .../user_lists/components/user_list_form.vue | 2 +- .../mr_widget_options.vue | 3 +- .../concerns/invisible_captcha_on_signup.rb | 4 +- .../projects/merge_requests_controller.rb | 1 - app/helpers/application_settings_helper.rb | 1 + app/helpers/graph_helper.rb | 6 ++ app/helpers/preferences_helper.rb | 2 +- app/helpers/web_ide_button_helper.rb | 4 +- app/models/application_setting.rb | 7 +- .../application_setting_implementation.rb | 1 + app/models/concerns/boards/listable.rb | 46 ++++++++++ app/models/list.rb | 36 +------- .../packages/composer/packages_presenter.rb | 30 +----- .../application_settings/_gitpod.html.haml | 1 - .../application_settings/_spam.html.haml | 8 ++ .../application_settings/reporting.html.haml | 2 +- app/views/devise/shared/_signup_box.html.haml | 2 +- app/views/projects/pipelines/charts.html.haml | 7 +- .../258206-remove-gitpod-feature-flag.yml | 5 + .../unreleased/290288-composer-cache-prep.yml | 5 + ...vailable-quick-actions-in-autocomplete.yml | 5 + .../ci-enable-allow-failure-exit-codes.yml | 5 + .../unreleased/feat-flag-copy-change.yml | 5 + ...visible-captcha-as-application-setting.yml | 5 + ..._even_if_the_user_isnt_licensed_290958.yml | 5 + .../ci_allow_failure_with_exit_codes.yml | 2 +- config/feature_flags/development/gitpod.yml | 8 -- .../development/invisible_captcha.yml | 8 -- .../development/widget_visibility_polling.yml | 8 -- ..._version_sha_cache_to_composer_metadata.rb | 19 ++++ ...d_invisible_captcha_enabled_to_settings.rb | 9 ++ db/schema_migrations/20201209193551 | 1 + db/schema_migrations/20201229105948 | 1 + db/structure.sql | 4 +- doc/api/settings.md | 1 + doc/ci/yaml/README.md | 26 +++--- doc/integration/gitpod.md | 35 ++----- doc/user/project/quick_actions.md | 4 +- lib/api/settings.rb | 1 + lib/gitlab/ci/features.rb | 2 +- .../Security/DAST.latest.gitlab-ci.yml | 2 - lib/gitlab/composer/version_index.rb | 47 ++++++++++ lib/gitlab/gitpod.rb | 26 ------ locale/gitlab.pot | 49 +++++++++- package.json | 2 +- qa/qa/flow/sign_up.rb | 8 -- .../registrations_controller_spec.rb | 8 +- spec/features/admin/admin_settings_spec.rb | 31 ++----- spec/features/issues/gfm_autocomplete_spec.rb | 9 ++ spec/features/users/signup_spec.rb | 6 +- spec/frontend/blob_edit/edit_blob_spec.js | 8 +- .../editor/editor_ci_schema_ext_spec.js | 2 +- .../editor/editor_lite_extension_base_spec.js | 2 +- spec/frontend/editor/editor_lite_spec.js | 2 +- .../editor/editor_markdown_ext_spec.js | 2 +- ...> ci_cd_analytics_area_chart_spec.js.snap} | 2 +- .../charts/components/app_legacy_spec.js | 13 ++- .../pipelines/charts/components/app_spec.js | 63 ++++++++++--- ....js => ci_cd_analytics_area_chart_spec.js} | 15 ++- spec/helpers/graph_helper_spec.rb | 12 +++ spec/helpers/tree_helper_spec.rb | 3 +- .../lib/gitlab/composer/version_index_spec.rb | 49 ++++++++++ spec/lib/gitlab/gitpod_spec.rb | 73 --------------- spec/models/list_spec.rb | 67 +------------- spec/spec_helper.rb | 3 - .../models/boards/listable_shared_examples.rb | 91 +++++++++++++++++++ yarn.lock | 8 +- 82 files changed, 615 insertions(+), 429 deletions(-) rename app/assets/javascripts/editor/{ => extensions}/editor_ci_schema_ext.js (93%) rename app/assets/javascripts/editor/{ => extensions}/editor_file_template_ext.js (100%) rename app/assets/javascripts/editor/{ => extensions}/editor_lite_extension_base.js (79%) rename app/assets/javascripts/editor/{ => extensions}/editor_markdown_ext.js (100%) rename app/assets/javascripts/projects/pipelines/charts/components/{pipelines_area_chart.vue => ci_cd_analytics_area_chart.vue} (77%) create mode 100644 app/models/concerns/boards/listable.rb create mode 100644 changelogs/unreleased/258206-remove-gitpod-feature-flag.yml create mode 100644 changelogs/unreleased/290288-composer-cache-prep.yml create mode 100644 changelogs/unreleased/292393-include-all-available-quick-actions-in-autocomplete.yml create mode 100644 changelogs/unreleased/ci-enable-allow-failure-exit-codes.yml create mode 100644 changelogs/unreleased/feat-flag-copy-change.yml create mode 100644 changelogs/unreleased/invisible-captcha-as-application-setting.yml create mode 100644 changelogs/unreleased/run_dast_job_even_if_the_user_isnt_licensed_290958.yml delete mode 100644 config/feature_flags/development/gitpod.yml delete mode 100644 config/feature_flags/development/invisible_captcha.yml delete mode 100644 config/feature_flags/development/widget_visibility_polling.yml create mode 100644 db/migrate/20201209193551_add_version_sha_cache_to_composer_metadata.rb create mode 100644 db/migrate/20201229105948_add_invisible_captcha_enabled_to_settings.rb create mode 100644 db/schema_migrations/20201209193551 create mode 100644 db/schema_migrations/20201229105948 create mode 100644 lib/gitlab/composer/version_index.rb delete mode 100644 lib/gitlab/gitpod.rb rename spec/frontend/projects/pipelines/charts/components/__snapshots__/{pipelines_area_chart_spec.js.snap => ci_cd_analytics_area_chart_spec.js.snap} (88%) rename spec/frontend/projects/pipelines/charts/components/{pipelines_area_chart_spec.js => ci_cd_analytics_area_chart_spec.js} (55%) create mode 100644 spec/lib/gitlab/composer/version_index_spec.rb delete mode 100644 spec/lib/gitlab/gitpod_spec.rb create mode 100644 spec/support/shared_examples/models/boards/listable_shared_examples.rb diff --git a/Gemfile b/Gemfile index 37964d454fa..5b75a346649 100644 --- a/Gemfile +++ b/Gemfile @@ -57,7 +57,7 @@ gem 'gssapi', group: :kerberos # Spam and anti-bot protection gem 'recaptcha', '~> 4.11', require: 'recaptcha/rails' gem 'akismet', '~> 3.0' -gem 'invisible_captcha', '~> 0.12.1' +gem 'invisible_captcha', '~> 1.1.0' # Two-factor authentication gem 'devise-two-factor', '~> 3.1.0' diff --git a/Gemfile.lock b/Gemfile.lock index 47538b82386..61583a27c72 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -598,8 +598,8 @@ GEM i18n_data (0.8.0) icalendar (2.4.1) ice_nine (0.11.2) - invisible_captcha (0.12.1) - rails (>= 3.2.0) + invisible_captcha (1.1.0) + rails (>= 4.2) ipaddress (0.8.3) jaeger-client (1.1.0) opentracing (~> 0.3) @@ -1395,7 +1395,7 @@ DEPENDENCIES html2text httparty (~> 0.16.4) icalendar - invisible_captcha (~> 0.12.1) + invisible_captcha (~> 1.1.0) ipaddress (~> 0.8.3) jira-ruby (~> 2.1.4) js_regex (~> 3.4) diff --git a/app/assets/javascripts/blob_edit/edit_blob.js b/app/assets/javascripts/blob_edit/edit_blob.js index e73e368fe01..c7f66a357f3 100644 --- a/app/assets/javascripts/blob_edit/edit_blob.js +++ b/app/assets/javascripts/blob_edit/edit_blob.js @@ -5,7 +5,7 @@ import { BLOB_EDITOR_ERROR, BLOB_PREVIEW_ERROR } from './constants'; import TemplateSelectorMediator from '../blob/file_template_mediator'; import { addEditorMarkdownListeners } from '~/lib/utils/text_markdown'; import EditorLite from '~/editor/editor_lite'; -import { FileTemplateExtension } from '~/editor/editor_file_template_ext'; +import { FileTemplateExtension } from '~/editor/extensions/editor_file_template_ext'; import { insertFinalNewline } from '~/lib/utils/text_utility'; export default class EditBlob { @@ -16,7 +16,7 @@ export default class EditBlob { this.configureMonacoEditor(); if (this.options.isMarkdown) { - import('~/editor/editor_markdown_ext') + import('~/editor/extensions/editor_markdown_ext') .then(({ EditorMarkdownExtension: MarkdownExtension } = {}) => { this.editor.use(new MarkdownExtension()); addEditorMarkdownListeners(this.editor); diff --git a/app/assets/javascripts/editor/editor_ci_schema_ext.js b/app/assets/javascripts/editor/extensions/editor_ci_schema_ext.js similarity index 93% rename from app/assets/javascripts/editor/editor_ci_schema_ext.js rename to app/assets/javascripts/editor/extensions/editor_ci_schema_ext.js index 36e2fe22718..05d938c57ce 100644 --- a/app/assets/javascripts/editor/editor_ci_schema_ext.js +++ b/app/assets/javascripts/editor/extensions/editor_ci_schema_ext.js @@ -1,7 +1,7 @@ import Api from '~/api'; import { registerSchema } from '~/ide/utils'; import { EditorLiteExtension } from './editor_lite_extension_base'; -import { EXTENSION_CI_SCHEMA_FILE_NAME_MATCH } from './constants'; +import { EXTENSION_CI_SCHEMA_FILE_NAME_MATCH } from '../constants'; export class CiSchemaExtension extends EditorLiteExtension { /** diff --git a/app/assets/javascripts/editor/editor_file_template_ext.js b/app/assets/javascripts/editor/extensions/editor_file_template_ext.js similarity index 100% rename from app/assets/javascripts/editor/editor_file_template_ext.js rename to app/assets/javascripts/editor/extensions/editor_file_template_ext.js diff --git a/app/assets/javascripts/editor/editor_lite_extension_base.js b/app/assets/javascripts/editor/extensions/editor_lite_extension_base.js similarity index 79% rename from app/assets/javascripts/editor/editor_lite_extension_base.js rename to app/assets/javascripts/editor/extensions/editor_lite_extension_base.js index b8d87fa4969..8d350068973 100644 --- a/app/assets/javascripts/editor/editor_lite_extension_base.js +++ b/app/assets/javascripts/editor/extensions/editor_lite_extension_base.js @@ -1,4 +1,4 @@ -import { ERROR_INSTANCE_REQUIRED_FOR_EXTENSION } from './constants'; +import { ERROR_INSTANCE_REQUIRED_FOR_EXTENSION } from '../constants'; export class EditorLiteExtension { constructor({ instance, ...options } = {}) { diff --git a/app/assets/javascripts/editor/editor_markdown_ext.js b/app/assets/javascripts/editor/extensions/editor_markdown_ext.js similarity index 100% rename from app/assets/javascripts/editor/editor_markdown_ext.js rename to app/assets/javascripts/editor/extensions/editor_markdown_ext.js diff --git a/app/assets/javascripts/gfm_auto_complete.js b/app/assets/javascripts/gfm_auto_complete.js index 8a2b35752ae..cf9ff87f25e 100644 --- a/app/assets/javascripts/gfm_auto_complete.js +++ b/app/assets/javascripts/gfm_auto_complete.js @@ -103,6 +103,7 @@ class GfmAutoComplete { at: '/', alias: 'commands', searchKey: 'search', + limit: 100, skipSpecialCharacterTest: true, skipMarkdownCharacterTest: true, data: GfmAutoComplete.defaultLoadingData, diff --git a/app/assets/javascripts/pages/dashboard/todos/index/todos.js b/app/assets/javascripts/pages/dashboard/todos/index/todos.js index 6f8d954d798..bd283201eff 100644 --- a/app/assets/javascripts/pages/dashboard/todos/index/todos.js +++ b/app/assets/javascripts/pages/dashboard/todos/index/todos.js @@ -154,7 +154,7 @@ export default class Todos { goToTodoUrl(e) { const todoLink = this.dataset.url; - if (!todoLink || e.target.tagName === 'A' || e.target.tagName === 'IMG') { + if (!todoLink || e.target.closest('a')) { return; } diff --git a/app/assets/javascripts/pages/projects/pipeline_schedules/index/index.js b/app/assets/javascripts/pages/projects/pipeline_schedules/index/index.js index 90d2df50d5a..40730ec7e60 100644 --- a/app/assets/javascripts/pages/projects/pipeline_schedules/index/index.js +++ b/app/assets/javascripts/pages/projects/pipeline_schedules/index/index.js @@ -13,12 +13,12 @@ document.addEventListener('DOMContentLoaded', () => { // eslint-disable-next-line no-new new Vue({ el, - render(createElement) { - return createElement(PipelineSchedulesCallout); - }, provide: { docsUrl, illustrationUrl, }, + render(createElement) { + return createElement(PipelineSchedulesCallout); + }, }); }); diff --git a/app/assets/javascripts/pipeline_editor/components/text_editor.vue b/app/assets/javascripts/pipeline_editor/components/text_editor.vue index fae08ca89f4..b8d49d77ea9 100644 --- a/app/assets/javascripts/pipeline_editor/components/text_editor.vue +++ b/app/assets/javascripts/pipeline_editor/components/text_editor.vue @@ -1,6 +1,6 @@ diff --git a/app/assets/javascripts/projects/pipelines/charts/components/app_legacy.vue b/app/assets/javascripts/projects/pipelines/charts/components/app_legacy.vue index 1a102815e97..915d334f949 100644 --- a/app/assets/javascripts/projects/pipelines/charts/components/app_legacy.vue +++ b/app/assets/javascripts/projects/pipelines/charts/components/app_legacy.vue @@ -1,10 +1,11 @@ diff --git a/app/assets/javascripts/projects/pipelines/charts/components/pipelines_area_chart.vue b/app/assets/javascripts/projects/pipelines/charts/components/ci_cd_analytics_area_chart.vue similarity index 77% rename from app/assets/javascripts/projects/pipelines/charts/components/pipelines_area_chart.vue rename to app/assets/javascripts/projects/pipelines/charts/components/ci_cd_analytics_area_chart.vue index d726196aadf..3590e2c4632 100644 --- a/app/assets/javascripts/projects/pipelines/charts/components/pipelines_area_chart.vue +++ b/app/assets/javascripts/projects/pipelines/charts/components/ci_cd_analytics_area_chart.vue @@ -1,10 +1,10 @@