Merge branch 'incremental-fixes' into 'master'

Fix concurrent request when updating build log in browser

If you have a slow internet connection the trace will not be updated correctly. We need to check if our request is the latest one.

Fixes: https://gitlab.com/gitlab-org/gitlab-ce/issues/17535

See merge request !4183
This commit is contained in:
Jacob Schatz
2016-05-25 11:51:20 +00:00
4 changed files with 18 additions and 3 deletions
+1
View File
@@ -8,6 +8,7 @@ v 8.9.0 (unreleased)
v 8.8.2 (unreleased)
- Fix Error 500 when accessing application settings due to nil disabled OAuth sign-in sources
- Fix Error 500 in CI charts by gracefully handling commits with no durations
- Fix concurrent request when updating build log in browser
v 8.8.1
- Add documentation for the "Health Check" feature
+5 -2
View File
@@ -28,12 +28,15 @@ class CiBuild
#
CiBuild.interval = setInterval =>
if window.location.href.split("#").first() is build_url
last_state = @state
$.ajax
url: build_url + "/trace.json?state=" + encodeURIComponent(@state)
dataType: "json"
success: (log) =>
@state = log.state
if log.status is "running"
return unless last_state is @state
if log.state and log.status is "running"
@state = log.state
if log.append
$('.fa-refresh').before log.html
else
+3 -1
View File
@@ -90,7 +90,7 @@ module Ci
def convert(raw, new_state)
reset_state
restore_state(raw, new_state) if new_state
restore_state(raw, new_state) if new_state.present?
start = @offset
ansi = raw[@offset..-1]
@@ -105,6 +105,8 @@ module Ci
break
elsif s.scan(/</)
@out << '&lt;'
elsif s.scan(/\n/)
@out << '<br>'
else
@out << s.scan(/./m)
end
+9
View File
@@ -175,5 +175,14 @@ describe Ci::Ansi2html, lib: true do
it_behaves_like 'stateable converter'
end
context 'with new line' do
let(:pre_text) { "Hello\r" }
let(:pre_html) { "Hello\r" }
let(:text) { "\nWorld" }
let(:html) { "<br>World" }
it_behaves_like 'stateable converter'
end
end
end