diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-01-07 00:07:50 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-01-07 00:07:50 +0000 |
commit | d95abc0bc994436aa963347bed29e264d5158fa5 (patch) | |
tree | fe2aab72e133e2913cba0959efd88fdb75669b91 | |
parent | 015663b70f1bcdae4483e38c2beac884f92da5b8 (diff) | |
download | gitlab-ce-d95abc0bc994436aa963347bed29e264d5158fa5.tar.gz |
Add latest changes from gitlab-org/gitlab@master
-rw-r--r-- | Gemfile | 2 | ||||
-rw-r--r-- | Gemfile.lock | 4 | ||||
-rw-r--r-- | app/controllers/projects/error_tracking/base_controller.rb | 9 | ||||
-rw-r--r-- | app/controllers/projects/error_tracking/stack_traces_controller.rb | 4 | ||||
-rw-r--r-- | app/controllers/projects/error_tracking_controller.rb | 9 | ||||
-rw-r--r-- | app/services/members/update_service.rb | 3 | ||||
-rw-r--r-- | changelogs/unreleased/jl-bump-rdoc-6-2.yml | 5 | ||||
-rw-r--r-- | locale/gitlab.pot | 9 | ||||
-rw-r--r-- | spec/controllers/projects/error_tracking/stack_traces_controller_spec.rb | 4 | ||||
-rw-r--r-- | spec/controllers/projects/error_tracking_controller_spec.rb | 17 | ||||
-rw-r--r-- | spec/support/shared_examples/controllers/error_tracking_shared_examples.rb | 7 |
11 files changed, 54 insertions, 19 deletions
@@ -142,7 +142,7 @@ gem 'gitlab-markup', '~> 1.7.0' gem 'github-markup', '~> 1.7.0', require: 'github/markup' gem 'commonmarker', '~> 0.20' gem 'RedCloth', '~> 4.3.2' -gem 'rdoc', '~> 6.0' +gem 'rdoc', '~> 6.1.2' gem 'org-ruby', '~> 0.9.12' gem 'creole', '~> 0.5.0' gem 'wikicloth', '0.8.1' diff --git a/Gemfile.lock b/Gemfile.lock index 35aa419e2e2..91376b5ee58 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -823,7 +823,7 @@ GEM ffi (>= 1.0.6) msgpack (>= 0.4.3) optimist (>= 3.0.0) - rdoc (6.0.4) + rdoc (6.1.2) re2 (1.1.1) recaptcha (4.13.1) json @@ -1308,7 +1308,7 @@ DEPENDENCIES raindrops (~> 0.18) rblineprof (~> 0.3.6) rbtrace (~> 0.4) - rdoc (~> 6.0) + rdoc (~> 6.1.2) re2 (~> 1.1.1) recaptcha (~> 4.11) redis (~> 4.0) diff --git a/app/controllers/projects/error_tracking/base_controller.rb b/app/controllers/projects/error_tracking/base_controller.rb new file mode 100644 index 00000000000..6efc6d00702 --- /dev/null +++ b/app/controllers/projects/error_tracking/base_controller.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +class Projects::ErrorTracking::BaseController < Projects::ApplicationController + POLLING_INTERVAL = 1_000 + + def set_polling_interval + Gitlab::PollingInterval.set_header(response, interval: POLLING_INTERVAL) + end +end diff --git a/app/controllers/projects/error_tracking/stack_traces_controller.rb b/app/controllers/projects/error_tracking/stack_traces_controller.rb index 3b553752d26..c5d5d6da6a6 100644 --- a/app/controllers/projects/error_tracking/stack_traces_controller.rb +++ b/app/controllers/projects/error_tracking/stack_traces_controller.rb @@ -2,10 +2,10 @@ module Projects module ErrorTracking - class StackTracesController < Projects::ApplicationController + class StackTracesController < Projects::ErrorTracking::BaseController respond_to :json - before_action :authorize_read_sentry_issue! + before_action :authorize_read_sentry_issue!, :set_polling_interval def index result = fetch_latest_event_issue diff --git a/app/controllers/projects/error_tracking_controller.rb b/app/controllers/projects/error_tracking_controller.rb index 35e12c37056..dea8cd81f4f 100644 --- a/app/controllers/projects/error_tracking_controller.rb +++ b/app/controllers/projects/error_tracking_controller.rb @@ -1,11 +1,9 @@ # frozen_string_literal: true -class Projects::ErrorTrackingController < Projects::ApplicationController +class Projects::ErrorTrackingController < Projects::ErrorTracking::BaseController before_action :authorize_read_sentry_issue! before_action :set_issue_id, only: :details - POLLING_INTERVAL = 10_000 - def index respond_to do |format| format.html @@ -20,6 +18,7 @@ class Projects::ErrorTrackingController < Projects::ApplicationController respond_to do |format| format.html format.json do + set_polling_interval render_issue_detail_json end end @@ -74,10 +73,6 @@ class Projects::ErrorTrackingController < Projects::ApplicationController @issue_id = issue_details_params[:issue_id] end - def set_polling_interval - Gitlab::PollingInterval.set_header(response, interval: POLLING_INTERVAL) - end - def serialize_errors(errors) ErrorTracking::ErrorSerializer .new(project: project, user: current_user) diff --git a/app/services/members/update_service.rb b/app/services/members/update_service.rb index fdd2c62a452..b5c27caafa2 100644 --- a/app/services/members/update_service.rb +++ b/app/services/members/update_service.rb @@ -7,9 +7,10 @@ module Members raise Gitlab::Access::AccessDeniedError unless can?(current_user, action_member_permission(permission, member), member) old_access_level = member.human_access + old_expiry = member.expires_at if member.update(params) - after_execute(action: permission, old_access_level: old_access_level, member: member) + after_execute(action: permission, old_access_level: old_access_level, old_expiry: old_expiry, member: member) # Deletes only confidential issues todos for guests enqueue_delete_todos(member) if downgrading_to_guest? diff --git a/changelogs/unreleased/jl-bump-rdoc-6-2.yml b/changelogs/unreleased/jl-bump-rdoc-6-2.yml new file mode 100644 index 00000000000..c71df08709d --- /dev/null +++ b/changelogs/unreleased/jl-bump-rdoc-6-2.yml @@ -0,0 +1,5 @@ +--- +title: Update rdoc to 6.1.2 +merge_request: 22434 +author: +type: security diff --git a/locale/gitlab.pot b/locale/gitlab.pot index bd1aadca75e..e110ccf8544 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -22106,6 +22106,9 @@ msgstr "" msgid "needs to be between 10 minutes and 1 month" msgstr "" +msgid "never expires" +msgstr "" + msgid "new merge request" msgstr "" @@ -22388,5 +22391,11 @@ msgstr "" msgid "with %{additions} additions, %{deletions} deletions." msgstr "" +msgid "with expiry changing from %{old_expiry} to %{new_expiry}" +msgstr "" + +msgid "with expiry remaining unchanged at %{old_expiry}" +msgstr "" + msgid "yaml invalid" msgstr "" diff --git a/spec/controllers/projects/error_tracking/stack_traces_controller_spec.rb b/spec/controllers/projects/error_tracking/stack_traces_controller_spec.rb index a836253f9e1..75e1c817baa 100644 --- a/spec/controllers/projects/error_tracking/stack_traces_controller_spec.rb +++ b/spec/controllers/projects/error_tracking/stack_traces_controller_spec.rb @@ -34,6 +34,8 @@ describe Projects::ErrorTracking::StackTracesController do it 'responds with no data' do expect(response).to have_gitlab_http_status(:no_content) end + + it_behaves_like 'sets the polling header' end context 'service result is successful' do @@ -53,6 +55,8 @@ describe Projects::ErrorTracking::StackTracesController do Gitlab::ErrorTracking::StackTraceHighlightDecorator.decorate(error_event).as_json ) end + + it_behaves_like 'sets the polling header' end context 'service result is erroneous' do diff --git a/spec/controllers/projects/error_tracking_controller_spec.rb b/spec/controllers/projects/error_tracking_controller_spec.rb index d0f248437b4..a0ecc288b15 100644 --- a/spec/controllers/projects/error_tracking_controller_spec.rb +++ b/spec/controllers/projects/error_tracking_controller_spec.rb @@ -91,13 +91,13 @@ describe Projects::ErrorTrackingController do .and_return(status: :success, issues: [error], pagination: {}) expect(list_issues_service).to receive(:external_url) .and_return(external_url) + + get :index, params: params end let(:error) { build(:error_tracking_error) } it 'returns a list of errors' do - get :index, params: params - expect(response).to have_gitlab_http_status(:ok) expect(response).to match_response_schema('error_tracking/index') expect(json_response).to eq( @@ -106,6 +106,8 @@ describe Projects::ErrorTrackingController do 'external_url' => external_url ) end + + it_behaves_like 'sets the polling header' end end @@ -201,30 +203,33 @@ describe Projects::ErrorTrackingController do before do expect(issue_details_service).to receive(:execute) .and_return(status: :error, http_status: :no_content) + get :details, params: issue_params(issue_id: issue_id, format: :json) end it 'returns no data' do - get :details, params: issue_params(issue_id: issue_id, format: :json) - expect(response).to have_gitlab_http_status(:no_content) end + + it_behaves_like 'sets the polling header' end context 'service result is successful' do before do expect(issue_details_service).to receive(:execute) .and_return(status: :success, issue: error) + + get :details, params: issue_params(issue_id: issue_id, format: :json) end let(:error) { build(:detailed_error_tracking_error) } it 'returns an error' do - get :details, params: issue_params(issue_id: issue_id, format: :json) - expect(response).to have_gitlab_http_status(:ok) expect(response).to match_response_schema('error_tracking/issue_detailed') expect(json_response['error']).to eq(error.as_json) end + + it_behaves_like 'sets the polling header' end context 'service result is erroneous' do diff --git a/spec/support/shared_examples/controllers/error_tracking_shared_examples.rb b/spec/support/shared_examples/controllers/error_tracking_shared_examples.rb new file mode 100644 index 00000000000..71251f6ab51 --- /dev/null +++ b/spec/support/shared_examples/controllers/error_tracking_shared_examples.rb @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +shared_examples 'sets the polling header' do + subject { response.headers[Gitlab::PollingInterval::HEADER_NAME] } + + it { is_expected.to eq '1000'} +end |