From a4502046ffb389d748ceb516baa816cf4224ecc7 Mon Sep 17 00:00:00 2001 From: ecgang Date: Sun, 26 Jul 2026 13:53:08 -0700 Subject: [PATCH] Drop the periphery ignore the alias sweep made obsolete MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `PeerMessageKey.peerID` carried a `periphery:ignore` because it was read only through the synthesized `Hashable` conformance, which the indexer cannot attribute. The alias-scoped sweep in `flushOutbox(forAliases:)` now reads it directly, so the suppression is superfluous — and Periphery flags a superfluous ignore as an issue in its own right, which is what turned the Dead Code check red on this PR. Co-Authored-By: Claude Opus 5 (1M context) --- bitchat/Services/MessageRouter.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bitchat/Services/MessageRouter.swift b/bitchat/Services/MessageRouter.swift index 257cdd84..2837a6ea 100644 --- a/bitchat/Services/MessageRouter.swift +++ b/bitchat/Services/MessageRouter.swift @@ -35,10 +35,10 @@ final class MessageRouter { typealias QueuedMessage = MessageOutboxStore.QueuedMessage private struct PeerMessageKey: Hashable { - // periphery:ignore - read only via the synthesized Hashable - // conformance (dictionary-key identity), which the indexer - // cannot attribute; see retain_codable_properties in .periphery.yml - // for the same class of false positive. + // Both properties are read directly now — `peerID` by the alias-scoped + // sweep in `flushOutbox(forAliases:)`, `messageID` throughout — so the + // ignore directive this once carried (for reads visible only through + // the synthesized Hashable conformance) would itself be flagged. let peerID: PeerID let messageID: String }