From 34ceaafa78abf70de1b068f722468e95f9108a42 Mon Sep 17 00:00:00 2001 From: davotoula Date: Fri, 24 Jul 2026 14:38:02 +0200 Subject: [PATCH] fix(buzz): remove unreachable duplicate StreamMessageV2Event branch in computeReplyTo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit LocalCache.computeReplyTo had two `is StreamMessageV2Event ->` branches in the same `when`. The `when` matches the first, so the second (the older buzzThreadRoot+buzzThreadReply variant) was dead code — the condition Sonar flags as duplicating the earlier one. The surviving first branch is the newer, deliberate Concord-style threading behavior that links a 40002 thread reply into its parent's replies via buzzThreadReply. Also drops the now-unused buzzThreadRoot import. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01EoYFvsXvPigRWebuoGiRoG --- .../com/vitorpamplona/amethyst/model/LocalCache.kt | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/LocalCache.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/LocalCache.kt index 3cb1277d9f..08b63350d2 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/LocalCache.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/LocalCache.kt @@ -117,7 +117,6 @@ import com.vitorpamplona.quartz.buzz.stream.sidecars.ChannelSummaryEvent import com.vitorpamplona.quartz.buzz.stream.sidecars.PresenceSnapshotEvent import com.vitorpamplona.quartz.buzz.teams.TeamEvent import com.vitorpamplona.quartz.buzz.threading.buzzThreadReply -import com.vitorpamplona.quartz.buzz.threading.buzzThreadRoot import com.vitorpamplona.quartz.buzz.workflow.ApprovalDenyEvent import com.vitorpamplona.quartz.buzz.workflow.ApprovalGrantEvent import com.vitorpamplona.quartz.buzz.workflow.WorkflowApprovalDeniedEvent @@ -1361,16 +1360,6 @@ object LocalCache : ILocalCache, ICacheProvider { (eTagTargets + qTagTargets).mapNotNull { checkGetOrCreateNote(it) } } - is StreamMessageV2Event -> { - // Buzz threads 40002s with marked root/reply e-tags (thread_tags in - // buzz-sdk). Link both so inbound replies render their quote bubble — - // we emit these markers on send, so we must also read them. - listOfNotNull( - event.tags.buzzThreadRoot(), - event.tags.buzzThreadReply(), - ).distinct().mapNotNull { checkGetOrCreateNote(it) } - } - else -> { emptyList() }