PeerID 14/n: Transport and its dependents (#753)

* Rearrange `Transport`’s properties and functions

* `NostrTransport`: group Transport-related code together

* `BLEService`: group Transport-related code together

* Extract `NotificationStreamAssembler` into a file

* Move private functions to a dedicated extension

* PeerID 14/n: `Transport` and its dependents
This commit is contained in:
Islam
2025-10-06 11:02:20 +02:00
committed by GitHub
parent 2673d28686
commit f86ae5e2ea
13 changed files with 2253 additions and 2218 deletions
+3 -3
View File
@@ -7,7 +7,7 @@ struct PeerDisplayNameResolver {
/// - peers: Array of tuples (id, nickname, isConnected).
/// - selfNickname: The local user's current nickname, included in collision counts to suffix remotes matching it.
/// - Returns: Map of peerID -> displayName.
static func resolve(_ peers: [(id: String, nickname: String, isConnected: Bool)], selfNickname: String) -> [String: String] {
static func resolve(_ peers: [(id: String, nickname: String, isConnected: Bool)], selfNickname: String) -> [PeerID: String] {
// Count collisions among connected peers and include our own nickname
var counts: [String: Int] = [:]
for p in peers where p.isConnected {
@@ -15,13 +15,13 @@ struct PeerDisplayNameResolver {
}
counts[selfNickname, default: 0] += 1
var result: [String: String] = [:]
var result: [PeerID: String] = [:]
for p in peers {
var name = p.nickname
if p.isConnected, (counts[p.nickname] ?? 0) > 1 {
name += "#" + String(p.id.prefix(4))
}
result[p.id] = name
result[PeerID(str: p.id)] = name
}
return result
}