From 405e99ed086cf8d374a94c08713b642e6af2e55f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nicole=20miko=C5=82ajczyk?= Date: Sat, 7 Mar 2026 09:55:26 +0100 Subject: [PATCH] nicolium: attempt at fixing duplicated statuses in timeline MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: nicole mikołajczyk --- packages/nicolium/src/stores/timelines.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/nicolium/src/stores/timelines.ts b/packages/nicolium/src/stores/timelines.ts index 4a26fe9c0..f2e46cf3f 100644 --- a/packages/nicolium/src/stores/timelines.ts +++ b/packages/nicolium/src/stores/timelines.ts @@ -182,7 +182,10 @@ const useTimelinesStore = create()( const timeline = state.timelines[timelineId]; if (!timeline) return; - if (timeline.entries.some((entry) => entry.type === 'status' && entry.id === status.id)) + if ( + timeline.entries.some((entry) => entry.type === 'status' && entry.id === status.id) || + timeline.queuedEntries.some((s) => s.id === status.id) + ) return; timeline.queuedEntries.unshift(status); @@ -303,6 +306,13 @@ const useTimelinesStore = create()( (e) => e.type === 'pending-status' && e.id === idempotencyKey, ); if (idx !== -1) { + if ( + timeline.entries.some((entry) => entry.type === 'status' && entry.id === newId) || + timeline.queuedEntries.some((s) => s.id === newId) + ) { + timeline.entries.splice(idx, 1); + return; + } timeline.entries[idx] = { type: 'status', id: newId,