diff --git a/package.json b/package.json index 90bf48cf..1bfee49c 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "babel-plugin-lodash": "^3.2.11", "chromatism": "^3.0.0", "diff": "^3.0.1", + "entities": "^1.1.2", "karma-mocha-reporter": "^2.2.1", "localforage": "^1.5.0", "node-sass": "^3.10.1", diff --git a/src/components/status/status.js b/src/components/status/status.js index 65ddcb9f..68d02ce3 100644 --- a/src/components/status/status.js +++ b/src/components/status/status.js @@ -12,6 +12,7 @@ import fileType from 'src/services/file_type/file_type.service' import { highlightClass, highlightStyle } from '../../services/user_highlighter/user_highlighter.js' import { mentionMatchesUrl } from 'src/services/mention_matcher/mention_matcher.js' import { filter, find } from 'lodash' +import entities from 'entities' const Status = { name: 'Status', @@ -201,14 +202,15 @@ const Status = { }, replySubject () { if (!this.status.summary) return '' + const decodedSummary = entities.decodeHTML(this.status.summary) const behavior = typeof this.$store.state.config.subjectLineBehavior === 'undefined' ? this.$store.state.instance.subjectLineBehavior : this.$store.state.config.subjectLineBehavior - const startsWithRe = this.status.summary.match(/^re[: ]/i) + const startsWithRe = decodedSummary.match(/^re[: ]/i) if (behavior !== 'noop' && startsWithRe || behavior === 'masto') { - return this.status.summary + return decodedSummary } else if (behavior === 'email') { - return 're: '.concat(this.status.summary) + return 're: '.concat(decodedSummary) } else if (behavior === 'noop') { return '' }