diff --git a/api_webchat/messagesArea.js b/api_webchat/messagesArea.js
index 2ecf0572..48155b3c 100644
--- a/api_webchat/messagesArea.js
+++ b/api_webchat/messagesArea.js
@@ -486,22 +486,29 @@ class MessagesArea extends HTMLElement {
// Iterate over each part of the diff to create the HTML output
wordDiff.forEach(part => {
- const diffElement = document.createElement("span");
-
- // Apply a different class depending on whether the word is added, removed, or unchanged
- if (part.added) {
- diffElement.className = "added";
- diffElement.textContent = part.value;
- } else if (part.removed) {
- diffElement.className = "removed";
- diffElement.textContent = part.value;
- } else {
- diffElement.textContent = part.value;
+ // Split part.value by
(handling
,
,
)
+ const brRegex = /(
)/gi;
+ const segments = part.value.split(brRegex);
+
+ segments.forEach(segment => {
+ if (segment.match(brRegex)) {
+ // It's a
, add a real
element
+ messageElement.appendChild(document.createElement("br"));
+ } else if (segment.length > 0) {
+ const diffElement = document.createElement("span");
+ if (part.added) {
+ diffElement.className = "added";
+ diffElement.textContent = segment;
+ } else if (part.removed) {
+ diffElement.className = "removed";
+ diffElement.textContent = segment;
+ } else {
+ diffElement.textContent = segment;
+ }
+ messageElement.appendChild(diffElement);
}
-
- // Add the element to the container
- messageElement.appendChild(diffElement);
- });
+ });
+ });
const header = document.createElement('h2');
header.textContent = browser.i18n.getMessage("chatgpt_win_diff_title");