From 7476ffb4c151633d699a7aeaa8cae7075b9e3419 Mon Sep 17 00:00:00 2001 From: CatAClock Date: Sun, 13 Jul 2025 13:42:49 -0700 Subject: [PATCH] facet fix? --- src/HTTP/JS/BlueskyAPI.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/HTTP/JS/BlueskyAPI.js b/src/HTTP/JS/BlueskyAPI.js index 4a1e173..1db1106 100644 --- a/src/HTTP/JS/BlueskyAPI.js +++ b/src/HTTP/JS/BlueskyAPI.js @@ -358,6 +358,7 @@ export function ApplyFacets(record, text) { } // Last minute append. SplitAreas.push(text.length); + let SubtractNumber = 0; // Now we split the string for (let i = 1; i < SplitAreas.length; i++) { @@ -366,11 +367,15 @@ export function ApplyFacets(record, text) { let EmojiObjects = TextThing.match(/\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F/gu); if (EmojiObjects != null) { SubtractNumber = SubtractNumber + (EmojiObjects.length * 2); - StringArray.push(text.slice(SplitAreas[i - 1] - SubtractNumber, SplitAreas[i] - SubtractNumber)); - } else { - // If no regex, just send it. - StringArray.push(TextThing); + if (SplitAreas[i - 1] == 0) { + TextThing = text.slice(SplitAreas[i - 1], SplitAreas[i] - SubtractNumber); + } else if (SplitAreas[i] == text.length) { + TextThing = text.slice(SplitAreas[i - 1] - SubtractNumber, SplitAreas[i]); + } else { + TextThing = text.slice(SplitAreas[i - 1] - SubtractNumber, SplitAreas[i] - SubtractNumber); + } } + StringArray.push(TextThing); } // Finally, we append the string with for (let i = 0; i < StringArray.length; i += 2) {