- Shipped
- 7 июля 2026 г. в 16:47 UTC
- Author
- kamo
- Commit
- d5eded1
Инструмент-окно dedup только точно сопоставляется один пользовательский ключ против Асинхронизированные окнаRef, поэтому один и тот же чат 1:1 открывался дважды: - userId из строки участника - id.toString() возможной точности- усеченный CockroachDB unique rowid(), при входе STOMP Уведомление несет в себе точный отправитель строк — они никогда не совпадают, поэтому Каждое входящее сообщение открывало новое окно. - sessionGuid-only opens (список последних шляп, перемещение сессии) Он никогда не сравнивался, а решённый GUID ChatTool так и не был переписан. - охранник считывает windowsRef, отзеркаливается от состояния с помощью useEffect, поэтому два Один и тот же клещ открывает оба пропущенных и оба создают окно. Dedup теперь совпадает с UserId OR sessionGuid OR membersIds и объединяет входящие ключи на соответствующее окно; WindowsRef обновляется синхронно о фокус-слиянии и создании, чтобы закрыть однотипную гонку; ChatTool пишет свою Решил сеансGuid назад с помощью нового инструмента:patchProps event so a member-row Чат становится прикрепленным к GUID (GUID невосприимчивы к потере точности чисел).