From 294103f00a87e9be289a99707ca2a96f8fe7bebb Mon Sep 17 00:00:00 2001 From: Shea Duma Date: Tue, 14 Apr 2026 03:02:32 +0300 Subject: [PATCH 1/3] smol fix :plead: --- .changeset/fix-initial-pins.md | 5 ++ .../timeline/useTimelineEventRenderer.tsx | 49 ++++++++++--------- 2 files changed, 30 insertions(+), 24 deletions(-) create mode 100644 .changeset/fix-initial-pins.md diff --git a/.changeset/fix-initial-pins.md b/.changeset/fix-initial-pins.md new file mode 100644 index 000000000..424daeb28 --- /dev/null +++ b/.changeset/fix-initial-pins.md @@ -0,0 +1,5 @@ +--- +default: patch +--- + +Fix the first pin event in a room looking empty diff --git a/src/app/hooks/timeline/useTimelineEventRenderer.tsx b/src/app/hooks/timeline/useTimelineEventRenderer.tsx index f781894fd..3a798d583 100644 --- a/src/app/hooks/timeline/useTimelineEventRenderer.tsx +++ b/src/app/hooks/timeline/useTimelineEventRenderer.tsx @@ -1069,12 +1069,20 @@ export function useTimelineEventRenderer({ const senderName = getMemberDisplayName(room, senderId, nicknames) || getMxIdLocalPart(senderId); - const { pinned } = getContent.call(mEvent); - const prevPinned = getPrevContent.call(mEvent).pinned; + const pinned: string[] = getContent.call(mEvent).pinned; + const prevPinned: string[] = getPrevContent.call(mEvent).pinned; const pinsAdded = - prevPinned && pinned && pinned.filter((x: string) => !prevPinned.includes(x)); + prevPinned && pinned + ? pinned.filter((x: string) => !prevPinned.includes(x)) + : pinned.filter((x: string) => x.length > 0); const pinsRemoved = prevPinned && pinned && prevPinned.filter((x: string) => !pinned.includes(x)); + let allPins = + (pinsRemoved && pinsAdded && pinsAdded.concat(pinsRemoved)) || + pinsAdded || + pinsRemoved || + []; + allPins = allPins.slice(0, 4); const timeJSX = (