diff --git a/src/utils/states.js b/src/utils/states.js index b54b9eb2..ac018af2 100644 --- a/src/utils/states.js +++ b/src/utils/states.js @@ -175,21 +175,25 @@ export function saveStatus(status, instance, opts) { if (!status) return; const oldStatus = getStatus(status.id, instance); if (!override && oldStatus) return; - const key = statusKey(status.id, instance); - if (oldStatus?._pinned) status._pinned = oldStatus._pinned; - // if (oldStatus?._filtered) status._filtered = oldStatus._filtered; - states.statuses[key] = status; - if (status.reblog) { - const key = statusKey(status.reblog.id, instance); - states.statuses[key] = status.reblog; - } + queueMicrotask(() => { + const key = statusKey(status.id, instance); + if (oldStatus?._pinned) status._pinned = oldStatus._pinned; + // if (oldStatus?._filtered) status._filtered = oldStatus._filtered; + states.statuses[key] = status; + if (status.reblog) { + const key = statusKey(status.reblog.id, instance); + states.statuses[key] = status.reblog; + } + }); // THREAD TRAVERSER if (!skipThreading) { queueMicrotask(() => { threadifyStatus(status, instance); if (status.reblog) { - threadifyStatus(status.reblog, instance); + queueMicrotask(() => { + threadifyStatus(status.reblog, instance); + }); } }); }