From bc561eb3324bf7530a42f243450bfca93f6fcb61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9gis=20Hanol?= Date: Thu, 4 Apr 2024 16:00:16 +0200 Subject: [PATCH] DEV: replace diffhtml with morphlex (#555) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit morphlex is a lighter and faster morphing library 🚀 --- assets/javascripts/discourse/lib/ai-streamer.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/assets/javascripts/discourse/lib/ai-streamer.js b/assets/javascripts/discourse/lib/ai-streamer.js index df34d1a9..0a6c1958 100644 --- a/assets/javascripts/discourse/lib/ai-streamer.js +++ b/assets/javascripts/discourse/lib/ai-streamer.js @@ -1,5 +1,5 @@ import { later } from "@ember/runloop"; -import loadScript from "discourse/lib/load-script"; +import loadMorphlex from "discourse/lib/load-morphlex"; import { cook } from "discourse/lib/text"; const PROGRESS_INTERVAL = 40; @@ -118,8 +118,11 @@ class PostUpdater extends StreamUpdater { const oldElement = this.postElement.querySelector(".cooked"); - await loadScript("/javascripts/diffhtml.min.js"); - window.diff.innerHTML(oldElement, value); + // TODO: use `morphInner` once version morphlex 0.0.16 is out + const newElement = oldElement.cloneNode(false); + newElement.innerHTML = value; + + (await loadMorphlex()).morph(oldElement, newElement); } get raw() {