From 94e19dc039031c37f8ad870c45b4da4f831a6e75 Mon Sep 17 00:00:00 2001 From: islam <2553451+qalandarov@users.noreply.github.com> Date: Thu, 18 Sep 2025 01:49:37 +0100 Subject: [PATCH] Remove convenience init with `senderPeerID` --- bitchat/Models/BitchatMessage.swift | 33 +---------------- bitchat/Services/PrivateChatManager.swift | 2 +- bitchat/ViewModels/ChatViewModel.swift | 38 ++++++++++---------- bitchatTests/BLEServiceTests.swift | 6 ++-- bitchatTests/TestUtilities/TestHelpers.swift | 2 +- 5 files changed, 25 insertions(+), 56 deletions(-) diff --git a/bitchat/Models/BitchatMessage.swift b/bitchat/Models/BitchatMessage.swift index 25c8efe0..efef5a1d 100644 --- a/bitchat/Models/BitchatMessage.swift +++ b/bitchat/Models/BitchatMessage.swift @@ -52,7 +52,7 @@ final class BitchatMessage: Codable { originalSender: String? = nil, isPrivate: Bool = false, recipientNickname: String? = nil, - senderPeer: Peer?, + senderPeer: Peer? = nil, mentions: [String]? = nil, deliveryStatus: DeliveryStatus? = nil ) { @@ -70,37 +70,6 @@ final class BitchatMessage: Codable { } } -extension BitchatMessage { - // Temp solution to minimize the code-change - convenience init( - id: String? = nil, - sender: String, - content: String, - timestamp: Date, - isRelay: Bool, - originalSender: String? = nil, - isPrivate: Bool = false, - recipientNickname: String? = nil, - senderPeerID: String? = nil, - mentions: [String]? = nil, - deliveryStatus: DeliveryStatus? = nil - ) { - self.init( - id: id, - sender: sender, - content: content, - timestamp: timestamp, - isRelay: isRelay, - originalSender: originalSender, - isPrivate: isPrivate, - recipientNickname: recipientNickname, - senderPeer: senderPeerID != nil ? Peer(str: senderPeerID!) : nil, - mentions: mentions, - deliveryStatus: deliveryStatus - ) - } -} - // MARK: - Equatable Conformance extension BitchatMessage: Equatable { diff --git a/bitchat/Services/PrivateChatManager.swift b/bitchat/Services/PrivateChatManager.swift index 6e52e989..278f851d 100644 --- a/bitchat/Services/PrivateChatManager.swift +++ b/bitchat/Services/PrivateChatManager.swift @@ -73,7 +73,7 @@ final class PrivateChatManager: ObservableObject { originalSender: nil, isPrivate: true, recipientNickname: peerNickname, - senderPeerID: meshService.myPeerID, + senderPeer: Peer(str: meshService.myPeerID), mentions: nil, deliveryStatus: .sending ) diff --git a/bitchat/ViewModels/ChatViewModel.swift b/bitchat/ViewModels/ChatViewModel.swift index b58d9722..26342889 100644 --- a/bitchat/ViewModels/ChatViewModel.swift +++ b/bitchat/ViewModels/ChatViewModel.swift @@ -997,7 +997,7 @@ final class ChatViewModel: ObservableObject, BitchatDelegate { content: content, timestamp: timestamp, isRelay: false, - senderPeerID: "nostr:\(event.pubkey.prefix(TransportConfig.nostrShortKeyDisplayLength))", + senderPeer: "nostr:\(event.pubkey.prefix(TransportConfig.nostrShortKeyDisplayLength))", mentions: mentions.isEmpty ? nil : mentions ) Task { @MainActor in @@ -1068,7 +1068,7 @@ final class ChatViewModel: ObservableObject, BitchatDelegate { isRelay: false, isPrivate: true, recipientNickname: nickname, - senderPeerID: convKey, + senderPeer: Peer(str: convKey), deliveryStatus: .delivered(to: nickname, at: Date()) ) @@ -1468,7 +1468,7 @@ final class ChatViewModel: ObservableObject, BitchatDelegate { content: trimmed, timestamp: Date(), isRelay: false, - senderPeerID: localSenderPeerID, + senderPeer: Peer(str: localSenderPeerID), mentions: mentions.isEmpty ? nil : mentions ) @@ -1719,7 +1719,7 @@ final class ChatViewModel: ObservableObject, BitchatDelegate { content: content, timestamp: min(rawTs, Date()), isRelay: false, - senderPeerID: "nostr:\(event.pubkey.prefix(TransportConfig.nostrShortKeyDisplayLength))", + senderPeer: "nostr:\(event.pubkey.prefix(TransportConfig.nostrShortKeyDisplayLength))", mentions: mentions.isEmpty ? nil : mentions ) @@ -1819,7 +1819,7 @@ final class ChatViewModel: ObservableObject, BitchatDelegate { isRelay: false, isPrivate: true, recipientNickname: nickname, - senderPeerID: convKey, + senderPeer: Peer(str: convKey), deliveryStatus: .delivered(to: nickname, at: Date()) ) @@ -2158,7 +2158,7 @@ final class ChatViewModel: ObservableObject, BitchatDelegate { content: content, timestamp: ts, isRelay: false, - senderPeerID: "nostr:\(event.pubkey.prefix(TransportConfig.nostrShortKeyDisplayLength))", + senderPeer: "nostr:\(event.pubkey.prefix(TransportConfig.nostrShortKeyDisplayLength))", mentions: mentions.isEmpty ? nil : mentions ) if !arr.contains(where: { $0.id == msg.id }) { @@ -2267,7 +2267,7 @@ final class ChatViewModel: ObservableObject, BitchatDelegate { originalSender: nil, isPrivate: true, recipientNickname: recipientNickname, - senderPeerID: meshService.myPeerID, + senderPeer: Peer(str: meshService.myPeerID), mentions: nil, deliveryStatus: .sending ) @@ -2314,7 +2314,7 @@ final class ChatViewModel: ObservableObject, BitchatDelegate { isRelay: false, isPrivate: true, recipientNickname: nickname, - senderPeerID: meshService.myPeerID, + senderPeer: Peer(str: meshService.myPeerID), deliveryStatus: .sending ) @@ -2403,7 +2403,7 @@ final class ChatViewModel: ObservableObject, BitchatDelegate { originalSender: nil, isPrivate: true, recipientNickname: meshService.peerNickname(peerID: peerID), - senderPeerID: meshService.myPeerID + senderPeer: Peer(str: meshService.myPeerID) ) if privateChats[peerID] == nil { privateChats[peerID] = [] } privateChats[peerID]?.append(systemMessage) @@ -2501,7 +2501,7 @@ final class ChatViewModel: ObservableObject, BitchatDelegate { originalSender: message.originalSender, isPrivate: message.isPrivate, recipientNickname: message.recipientNickname, - senderPeerID: message.senderPeer?.id == meshService.myPeerID ? meshService.myPeerID : peerID, // Update peer ID if it's from them + senderPeer: message.senderPeer?.id == meshService.myPeerID ? Peer(str: meshService.myPeerID) : Peer(str: peerID), // Update peer ID if it's from them mentions: message.mentions, deliveryStatus: message.deliveryStatus ) @@ -2589,7 +2589,7 @@ final class ChatViewModel: ObservableObject, BitchatDelegate { originalSender: message.originalSender, isPrivate: message.isPrivate, recipientNickname: message.recipientNickname, - senderPeerID: peerID, // Update to match current peer + senderPeer: Peer(str: peerID), // Update to match current peer mentions: message.mentions, deliveryStatus: message.deliveryStatus ) @@ -2812,7 +2812,7 @@ final class ChatViewModel: ObservableObject, BitchatDelegate { originalSender: nil, isPrivate: false, recipientNickname: nil, - senderPeerID: nil, + senderPeer: nil, mentions: nil ) @@ -2882,7 +2882,7 @@ final class ChatViewModel: ObservableObject, BitchatDelegate { originalSender: nil, isPrivate: true, recipientNickname: meshService.peerNickname(peerID: peerID), - senderPeerID: meshService.myPeerID + senderPeer: Peer(str: meshService.myPeerID) ) var chats = privateChats if chats[peerID] == nil { @@ -4451,7 +4451,7 @@ final class ChatViewModel: ObservableObject, BitchatDelegate { originalSender: nil, isPrivate: true, recipientNickname: nickname, - senderPeerID: peerID, + senderPeer: Peer(str: peerID), mentions: pmMentions.isEmpty ? nil : pmMentions ) handlePrivateMessage(msg) @@ -4558,7 +4558,7 @@ final class ChatViewModel: ObservableObject, BitchatDelegate { originalSender: nil, isPrivate: false, recipientNickname: nil, - senderPeerID: peerID, + senderPeer: Peer(str: peerID), mentions: publicMentions.isEmpty ? nil : publicMentions ) handlePublicMessage(msg) @@ -4659,7 +4659,7 @@ final class ChatViewModel: ObservableObject, BitchatDelegate { originalSender: msg.originalSender, isPrivate: msg.isPrivate, recipientNickname: msg.recipientNickname, - senderPeerID: (msg.senderPeer?.id == meshService.myPeerID) ? meshService.myPeerID : stableKeyHex, + senderPeer: (msg.senderPeer?.id == meshService.myPeerID) ? Peer(str: meshService.myPeerID) : Peer(str: stableKeyHex), mentions: msg.mentions, deliveryStatus: msg.deliveryStatus ) @@ -5224,7 +5224,7 @@ final class ChatViewModel: ObservableObject, BitchatDelegate { isRelay: false, isPrivate: true, recipientNickname: nickname, - senderPeerID: targetPeerID, + senderPeer: Peer(str: targetPeerID), deliveryStatus: .delivered(to: nickname, at: Date()) ) @@ -5566,7 +5566,7 @@ final class ChatViewModel: ObservableObject, BitchatDelegate { originalSender: nil, isPrivate: true, recipientNickname: nickname, - senderPeerID: tempPeerID, + senderPeer: Peer(str: tempPeerID), mentions: nil, deliveryStatus: .delivered(to: nickname, at: Date()) ) @@ -5731,7 +5731,7 @@ final class ChatViewModel: ObservableObject, BitchatDelegate { originalSender: message.originalSender, isPrivate: message.isPrivate, recipientNickname: message.recipientNickname, - senderPeerID: message.senderPeer?.id, + senderPeer: message.senderPeer, mentions: message.mentions, deliveryStatus: message.deliveryStatus ) diff --git a/bitchatTests/BLEServiceTests.swift b/bitchatTests/BLEServiceTests.swift index ee2a58a8..0cf6c3b4 100644 --- a/bitchatTests/BLEServiceTests.swift +++ b/bitchatTests/BLEServiceTests.swift @@ -134,7 +134,7 @@ final class BLEServiceTests: XCTestCase { originalSender: nil, isPrivate: false, recipientNickname: nil, - senderPeerID: "REMOTE123", + senderPeer: "REMOTE123", mentions: nil ) @@ -161,7 +161,7 @@ final class BLEServiceTests: XCTestCase { originalSender: nil, isPrivate: false, recipientNickname: nil, - senderPeerID: "PACKET123", + senderPeer: "PACKET123", mentions: nil ) @@ -243,7 +243,7 @@ final class BLEServiceTests: XCTestCase { originalSender: nil, isPrivate: false, recipientNickname: nil, - senderPeerID: "TEST123", + senderPeer: "TEST123", mentions: nil ) diff --git a/bitchatTests/TestUtilities/TestHelpers.swift b/bitchatTests/TestUtilities/TestHelpers.swift index deaedd24..31618b92 100644 --- a/bitchatTests/TestUtilities/TestHelpers.swift +++ b/bitchatTests/TestUtilities/TestHelpers.swift @@ -44,7 +44,7 @@ final class TestHelpers { originalSender: nil, isPrivate: isPrivate, recipientNickname: recipientNickname, - senderPeerID: senderPeerID, + senderPeer: senderPeerID, mentions: mentions ) }