You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: prevent pending task deletion races with edit flush
Race 1: confirmDeletePendingTask called setEditingQueuedMessageId(null)
before removeThreadOutboxMessage resolved, allowing the outbox drain to
send the message during async removal. Fix: defer clearing the editing
lock until removal completes.
Race 2: confirmDeletePendingTask did not clear editingPendingTaskRef, so
the editor's unmount flush (cancelEditingPendingTask) could re-enqueue
the task via enqueueThreadOutboxMessage before the serialized removal
updated atom state. Fix: track pending deletions in a shared Set so the
flush bails out when a deletion is in progress.
0 commit comments