Commit bcc6eef4 authored by Robert Speicher's avatar Robert Speicher

Merge branch 'ce-to-ee-2018-07-25' into 'master'

CE upstream - 2018-07-25 18:23 UTC

See merge request gitlab-org/gitlab-ee!6668
parents 01e78192 c4040355
...@@ -412,6 +412,7 @@ gem 'email_reply_trimmer', '~> 0.1' ...@@ -412,6 +412,7 @@ gem 'email_reply_trimmer', '~> 0.1'
gem 'html2text' gem 'html2text'
gem 'ruby-prof', '~> 0.17.0' gem 'ruby-prof', '~> 0.17.0'
gem 'rbtrace', '~> 0.4', require: false
# OAuth # OAuth
gem 'oauth2', '~> 1.4' gem 'oauth2', '~> 1.4'
......
...@@ -729,6 +729,10 @@ GEM ...@@ -729,6 +729,10 @@ GEM
ffi (>= 0.5.0, < 2) ffi (>= 0.5.0, < 2)
rblineprof (0.3.6) rblineprof (0.3.6)
debugger-ruby_core_source (~> 1.3) debugger-ruby_core_source (~> 1.3)
rbtrace (0.4.10)
ffi (>= 1.0.6)
msgpack (>= 0.4.3)
trollop (>= 1.16.2)
rdoc (6.0.4) rdoc (6.0.4)
re2 (1.1.1) re2 (1.1.1)
recaptcha (3.0.0) recaptcha (3.0.0)
...@@ -940,6 +944,7 @@ GEM ...@@ -940,6 +944,7 @@ GEM
parslet (~> 1.5.0) parslet (~> 1.5.0)
toml-rb (1.0.0) toml-rb (1.0.0)
citrus (~> 3.0, > 3.0) citrus (~> 3.0, > 3.0)
trollop (2.1.3)
truncato (0.7.10) truncato (0.7.10)
htmlentities (~> 4.3.1) htmlentities (~> 4.3.1)
nokogiri (~> 1.8.0, >= 1.7.0) nokogiri (~> 1.8.0, >= 1.7.0)
...@@ -1170,6 +1175,7 @@ DEPENDENCIES ...@@ -1170,6 +1175,7 @@ DEPENDENCIES
rainbow (~> 2.2) rainbow (~> 2.2)
raindrops (~> 0.18) raindrops (~> 0.18)
rblineprof (~> 0.3.6) rblineprof (~> 0.3.6)
rbtrace (~> 0.4)
rdoc (~> 6.0) rdoc (~> 6.0)
re2 (~> 1.1.1) re2 (~> 1.1.1)
recaptcha (~> 3.0) recaptcha (~> 3.0)
......
...@@ -738,6 +738,10 @@ GEM ...@@ -738,6 +738,10 @@ GEM
ffi (>= 0.5.0, < 2) ffi (>= 0.5.0, < 2)
rblineprof (0.3.6) rblineprof (0.3.6)
debugger-ruby_core_source (~> 1.3) debugger-ruby_core_source (~> 1.3)
rbtrace (0.4.10)
ffi (>= 1.0.6)
msgpack (>= 0.4.3)
trollop (>= 1.16.2)
rdoc (6.0.4) rdoc (6.0.4)
re2 (1.1.1) re2 (1.1.1)
recaptcha (3.0.0) recaptcha (3.0.0)
...@@ -947,6 +951,7 @@ GEM ...@@ -947,6 +951,7 @@ GEM
parslet (~> 1.5.0) parslet (~> 1.5.0)
toml-rb (1.0.0) toml-rb (1.0.0)
citrus (~> 3.0, > 3.0) citrus (~> 3.0, > 3.0)
trollop (2.1.3)
truncato (0.7.10) truncato (0.7.10)
htmlentities (~> 4.3.1) htmlentities (~> 4.3.1)
nokogiri (~> 1.8.0, >= 1.7.0) nokogiri (~> 1.8.0, >= 1.7.0)
...@@ -1181,6 +1186,7 @@ DEPENDENCIES ...@@ -1181,6 +1186,7 @@ DEPENDENCIES
rainbow (~> 2.2) rainbow (~> 2.2)
raindrops (~> 0.18) raindrops (~> 0.18)
rblineprof (~> 0.3.6) rblineprof (~> 0.3.6)
rbtrace (~> 0.4)
rdoc (~> 6.0) rdoc (~> 6.0)
re2 (~> 1.1.1) re2 (~> 1.1.1)
recaptcha (~> 3.0) recaptcha (~> 3.0)
......
...@@ -237,7 +237,7 @@ ...@@ -237,7 +237,7 @@
} }
.login-page-broadcast { .login-page-broadcast {
margin-top: 50px; margin-top: 40px;
} }
.navless-container { .navless-container {
......
...@@ -25,6 +25,10 @@ class Email < ActiveRecord::Base ...@@ -25,6 +25,10 @@ class Email < ActiveRecord::Base
self.errors.add(:email, 'has already been taken') if User.exists?(email: self.email) self.errors.add(:email, 'has already been taken') if User.exists?(email: self.email)
end end
def accept_pending_invitations!
user.accept_pending_invitations!
end
# once email is confirmed, update the gpg signatures # once email is confirmed, update the gpg signatures
def update_invalid_gpg_signatures def update_invalid_gpg_signatures
user.update_invalid_gpg_signatures if confirmed? user.update_invalid_gpg_signatures if confirmed?
......
---
title: Fix misalignment of broadcast message on login page
merge_request: 20794
author: Robin Naundorf
type: fixed
---
title: Tracking the number of repositories and wikis with a cached counter for site-wide statistics
merge_request: 20413
author:
type: performance
---
title: Fix email confirmation bug when user adds additional email to account
merge_request: 20084
author: muhammadn
type: fixed
---
title: Add rbtrace to Gemfile
merge_request: 20831
author:
type: other
# frozen_string_literal: true
require 'rbtrace' if ENV['ENABLE_RBTRACE']
...@@ -66,6 +66,19 @@ On CentOS: ...@@ -66,6 +66,19 @@ On CentOS:
sudo yum install gdb sudo yum install gdb
``` ```
### rbtrace
GitLab 11.2 ships with [rbtrace](https://github.com/tmm1/rbtrace), which
allows you to trace Ruby code, view all running threads, take memory dumps,
and more. However, this is not enabled by default. To enable it, define the
`ENABLE_RBTRACE` variable to the environment. For example, in Omnibus:
```ruby
gitlab_rails['env'] = {"ENABLE_RBTRACE" => "1"}
```
Then reconfigure the system and restart Unicorn and Sidekiq.
## Common Problems ## Common Problems
Many of the tips to diagnose issues below apply to many different situations. We'll use one Many of the tips to diagnose issues below apply to many different situations. We'll use one
......
...@@ -182,7 +182,7 @@ describe('AppComponent', () => { ...@@ -182,7 +182,7 @@ describe('AppComponent', () => {
expect(document.querySelector('.flash-text').innerText.trim()).toBe('Node Authentication was successfully repaired.'); expect(document.querySelector('.flash-text').innerText.trim()).toBe('Node Authentication was successfully repaired.');
expect(node.nodeActionActive).toBe(false); expect(node.nodeActionActive).toBe(false);
done(); done();
}); }, 0);
}); });
it('calls service.repairNode and shows failure Flash message on request failure', (done) => { it('calls service.repairNode and shows failure Flash message on request failure', (done) => {
...@@ -196,7 +196,7 @@ describe('AppComponent', () => { ...@@ -196,7 +196,7 @@ describe('AppComponent', () => {
expect(document.querySelector('.flash-text').innerText.trim()).toBe('Something went wrong while repairing node'); expect(document.querySelector('.flash-text').innerText.trim()).toBe('Something went wrong while repairing node');
expect(node.nodeActionActive).toBe(false); expect(node.nodeActionActive).toBe(false);
done(); done();
}); }, 0);
}); });
}); });
...@@ -216,7 +216,7 @@ describe('AppComponent', () => { ...@@ -216,7 +216,7 @@ describe('AppComponent', () => {
expect(node.enabled).toBe(true); expect(node.enabled).toBe(true);
expect(node.nodeActionActive).toBe(false); expect(node.nodeActionActive).toBe(false);
done(); done();
}); }, 0);
}); });
it('calls service.toggleNode and shows Flash error on request failure', (done) => { it('calls service.toggleNode and shows Flash error on request failure', (done) => {
...@@ -232,7 +232,7 @@ describe('AppComponent', () => { ...@@ -232,7 +232,7 @@ describe('AppComponent', () => {
expect(document.querySelector('.flash-text').innerText.trim()).toBe('Something went wrong while changing node status'); expect(document.querySelector('.flash-text').innerText.trim()).toBe('Something went wrong while changing node status');
expect(node.nodeActionActive).toBe(false); expect(node.nodeActionActive).toBe(false);
done(); done();
}); }, 0);
}); });
}); });
...@@ -250,7 +250,7 @@ describe('AppComponent', () => { ...@@ -250,7 +250,7 @@ describe('AppComponent', () => {
expect(vm.store.removeNode).toHaveBeenCalledWith(node); expect(vm.store.removeNode).toHaveBeenCalledWith(node);
expect(document.querySelector('.flash-text').innerText.trim()).toBe('Node was successfully removed.'); expect(document.querySelector('.flash-text').innerText.trim()).toBe('Node was successfully removed.');
done(); done();
}); }, 0);
}); });
it('calls service.removeNode and shows Flash message on request failure', (done) => { it('calls service.removeNode and shows Flash message on request failure', (done) => {
...@@ -266,7 +266,7 @@ describe('AppComponent', () => { ...@@ -266,7 +266,7 @@ describe('AppComponent', () => {
expect(vm.store.removeNode).not.toHaveBeenCalled(); expect(vm.store.removeNode).not.toHaveBeenCalled();
expect(document.querySelector('.flash-text').innerText.trim()).toBe('Something went wrong while removing node'); expect(document.querySelector('.flash-text').innerText.trim()).toBe('Something went wrong while removing node');
done(); done();
}); }, 0);
}); });
}); });
......
require 'spec_helper'
describe 'AdditionalEmailToExistingAccount' do
describe 'add secondary email associated with account' do
let(:user) { create(:user) }
it 'verifies confirmation of additional email' do
sign_in(user)
email = create(:email, user: user)
visit email_confirmation_path(confirmation_token: email.confirmation_token)
expect(page).to have_content 'Your email address has been successfully confirmed.'
end
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment