From 637e3abfc9cd93ba518ba070f01bae7ceaa73627 Mon Sep 17 00:00:00 2001 From: Toby Zerner Date: Fri, 31 Jul 2015 20:32:49 +0930 Subject: [PATCH] PERF: Cache emojified post content --- extensions/emoji/js/forum/src/main.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/extensions/emoji/js/forum/src/main.js b/extensions/emoji/js/forum/src/main.js index af43e47af..26ce757fc 100644 --- a/extensions/emoji/js/forum/src/main.js +++ b/extensions/emoji/js/forum/src/main.js @@ -5,8 +5,15 @@ import app from 'flarum/app'; import Post from 'flarum/models/Post'; app.initializers.add('emoji', () => { - override(Post.prototype, 'contentHtml', original => { - return twemoji.parse(original()); + override(Post.prototype, 'contentHtml', function(original) { + const contentHtml = original(); + + if (this.oldContentHtml !== contentHtml) { + this.emojifiedContentHtml = twemoji.parse(contentHtml); + this.oldContentHtml = contentHtml; + } + + return this.emojifiedContentHtml; }); override(s9e.TextFormatter, 'preview', (original, text, element) => {