summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Hughes <me@iamphill.com>2016-12-07 09:19:08 +0000
committerPhil Hughes <me@iamphill.com>2016-12-07 12:44:47 +0000
commiteb8a713caac13de61321970c4dc2715e1c0929f2 (patch)
tree0948f5c53cef181c992172b67f2ca6f88eb6040b
parent34fc5b050a4e70bf491be9a49cfa2dc0a7a9a9a2 (diff)
downloadgitlab-ce-timeago-perf-fix.tar.gz
Fixed timeago re-rendering every elementtimeago-perf-fix
Fixes a performance regression that was causing timeago to get re-rendered on every element & therefore adding a lot of new setTimeouts
-rw-r--r--app/assets/javascripts/lib/utils/datetime_utility.js4
-rw-r--r--changelogs/unreleased/timeago-perf-fix.yml4
2 files changed, 7 insertions, 1 deletions
diff --git a/app/assets/javascripts/lib/utils/datetime_utility.js b/app/assets/javascripts/lib/utils/datetime_utility.js
index 963d2851e5f..e8e502694d6 100644
--- a/app/assets/javascripts/lib/utils/datetime_utility.js
+++ b/app/assets/javascripts/lib/utils/datetime_utility.js
@@ -29,7 +29,7 @@
setTimeago = true;
}
- $timeagoEls.each(function() {
+ $timeagoEls.filter(':not([data-timeago-rendered])').each(function() {
var $el = $(this);
$el.attr('title', gl.utils.formatDate($el.attr('datetime')));
@@ -39,6 +39,8 @@
template: '<div class="tooltip local-timeago" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
});
}
+
+ $el.attr('data-timeago-rendered', true);
gl.utils.renderTimeago($el);
});
};
diff --git a/changelogs/unreleased/timeago-perf-fix.yml b/changelogs/unreleased/timeago-perf-fix.yml
new file mode 100644
index 00000000000..265e7db29a9
--- /dev/null
+++ b/changelogs/unreleased/timeago-perf-fix.yml
@@ -0,0 +1,4 @@
+---
+title: Fixed timeago re-rendering every timeago
+merge_request:
+author: