diff options
author | Eric Bailey <git@esb.lol> | 2024-06-03 20:07:01 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-04 02:07:01 +0100 |
commit | de93e8de746f3c8a7b1755aaa034043951371ae0 (patch) | |
tree | 71ede1691ff2f6c8bd5fa9b55e4d708ad876cdd3 /src/screens/Messages/Conversation/MessagesList.tsx | |
parent | da96fb1ef5a37018b6a238c3614e9b845d8e2686 (diff) | |
download | voidsky-de93e8de746f3c8a7b1755aaa034043951371ae0.tar.zst |
[🐴] Post embeds polish (#4339)
* Handle message cleanup * Handle last message in chat list * Memoize lastMessage
Diffstat (limited to 'src/screens/Messages/Conversation/MessagesList.tsx')
-rw-r--r-- | src/screens/Messages/Conversation/MessagesList.tsx | 26 |
1 files changed, 10 insertions, 16 deletions
diff --git a/src/screens/Messages/Conversation/MessagesList.tsx b/src/screens/Messages/Conversation/MessagesList.tsx index e6f657b49..f72515ac6 100644 --- a/src/screens/Messages/Conversation/MessagesList.tsx +++ b/src/screens/Messages/Conversation/MessagesList.tsx @@ -312,25 +312,19 @@ export function MessagesList({ }) if (postLinkFacet) { + const isAtStart = postLinkFacet.index.byteStart === 0 + const isAtEnd = + postLinkFacet.index.byteEnd === rt.unicodeText.graphemeLength + // remove the post link from the text - rt.delete( - postLinkFacet.index.byteStart, - postLinkFacet.index.byteEnd, - ) - - // re-trim the text, now that we've removed the post link - // - // if the post link is at the start of the text, we don't want to leave a leading space - // so trim on both sides - if (postLinkFacet.index.byteStart === 0) { - rt = new RichText({text: rt.text.trim()}, {cleanNewlines: true}) - } else { - // otherwise just trim the end - rt = new RichText( - {text: rt.text.trimEnd()}, - {cleanNewlines: true}, + if (isAtStart || isAtEnd) { + rt.delete( + postLinkFacet.index.byteStart, + postLinkFacet.index.byteEnd, ) } + + rt = new RichText({text: rt.text.trim()}, {cleanNewlines: true}) } } } catch (error) { |