summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Eastwood <contact@ericeastwood.com>2017-06-06 11:13:35 -0500
committerEric Eastwood <contact@ericeastwood.com>2017-06-06 11:13:35 -0500
commitefbcaa5d934f1412faccc0eb84d01cc9044fb649 (patch)
treeeb2ded2c4c1dd25b379301f5838b58083b9d0987
parent7755c0b8b448721671e866f712898b247b02c2ac (diff)
downloadgitlab-ce-33265-fix-9-2-stable-issue-description-flash-newlines.tar.gz
Fix description flash with newline differences (HTML entities)33265-fix-9-2-stable-issue-description-flash-newlines
Fix https://gitlab.com/gitlab-org/gitlab-ce/issues/33265
-rw-r--r--app/assets/javascripts/issue_show/issue_title_description.vue4
-rw-r--r--app/assets/javascripts/lib/utils/normalize_newlines.js5
-rw-r--r--app/assets/javascripts/notes.js5
3 files changed, 9 insertions, 5 deletions
diff --git a/app/assets/javascripts/issue_show/issue_title_description.vue b/app/assets/javascripts/issue_show/issue_title_description.vue
index 984b96a2dc0..a8b1b99d166 100644
--- a/app/assets/javascripts/issue_show/issue_title_description.vue
+++ b/app/assets/javascripts/issue_show/issue_title_description.vue
@@ -4,6 +4,7 @@ import Poll from './../lib/utils/poll';
import Service from './services/index';
import tasks from './actions/tasks';
import edited from './components/edited.vue';
+import normalizeNewlines from '../lib/utils/normalize_newlines';
export default {
props: {
@@ -119,7 +120,8 @@ export default {
this.titleText = this.apiData.title_text;
const noTitleChange = this.title === title;
- const noDescriptionChange = this.description === description;
+ const noDescriptionChange =
+ normalizeNewlines(this.description) === normalizeNewlines(description);
/**
* since opacity is changed, even if there is no diff for Vue to update
diff --git a/app/assets/javascripts/lib/utils/normalize_newlines.js b/app/assets/javascripts/lib/utils/normalize_newlines.js
new file mode 100644
index 00000000000..f155c3f7587
--- /dev/null
+++ b/app/assets/javascripts/lib/utils/normalize_newlines.js
@@ -0,0 +1,5 @@
+function normalizeNewlines(str) {
+ return str.replace(/(\r|&#x000D;)?(\n|&#x000A;)/g, '\n');
+}
+
+export default normalizeNewlines;
diff --git a/app/assets/javascripts/notes.js b/app/assets/javascripts/notes.js
index 233c2e637af..b7450fc13eb 100644
--- a/app/assets/javascripts/notes.js
+++ b/app/assets/javascripts/notes.js
@@ -7,6 +7,7 @@
import $ from 'jquery';
import Cookies from 'js-cookie';
import CommentTypeToggle from './comment_type_toggle';
+import normalizeNewlines from './lib/utils/normalize_newlines';
require('./autosave');
window.autosize = require('vendor/autosize');
@@ -17,10 +18,6 @@ require('vendor/jquery.caret'); // required by jquery.atwho
require('vendor/jquery.atwho');
require('./task_list');
-const normalizeNewlines = function(str) {
- return str.replace(/\r\n/g, '\n');
-};
-
(function() {
var bind = function(fn, me) { return function() { return fn.apply(me, arguments); }; };