Minor cleanup (#842)

This commit is contained in:
Islam
2025-10-20 01:11:44 +02:00
committed by GitHub
parent b839ce5f6c
commit af6136c01c
+16 -46
View File
@@ -4256,13 +4256,7 @@ final class ChatViewModel: ObservableObject, BitchatDelegate {
let noiseService = meshService.getNoiseService() let noiseService = meshService.getNoiseService()
if noiseService.hasEstablishedSession(with: peerID) { if noiseService.hasEstablishedSession(with: peerID) {
// Check if fingerprint is verified using our persisted data peerEncryptionStatus[peerID] = encryptionStatus(for: peerID)
if let fingerprint = getFingerprint(for: peerID),
verifiedFingerprints.contains(fingerprint) {
peerEncryptionStatus[peerID] = .noiseVerified
} else {
peerEncryptionStatus[peerID] = .noiseSecured
}
} else if noiseService.hasSession(with: peerID) { } else if noiseService.hasSession(with: peerID) {
// Session exists but not established - handshaking // Session exists but not established - handshaking
peerEncryptionStatus[peerID] = .noiseHandshaking peerEncryptionStatus[peerID] = .noiseHandshaking
@@ -4297,27 +4291,12 @@ final class ChatViewModel: ObservableObject, BitchatDelegate {
// Determine status based on session state // Determine status based on session state
switch sessionState { switch sessionState {
case .established: case .established:
// We have encryption, now check if it's verified status = encryptionStatus(for: peerID)
if let fingerprint = getFingerprint(for: peerID) {
if verifiedFingerprints.contains(fingerprint) {
status = .noiseVerified
} else {
status = .noiseSecured
}
} else {
// We have a session but no fingerprint yet - still secured
status = .noiseSecured
}
case .handshaking, .handshakeQueued: case .handshaking, .handshakeQueued:
// If we've ever established a session, show secured instead of handshaking // If we've ever established a session, show secured instead of handshaking
if hasEverEstablishedSession { if hasEverEstablishedSession {
// Check if it was verified before // Check if it was verified before
if let fingerprint = getFingerprint(for: peerID), status = encryptionStatus(for: peerID)
verifiedFingerprints.contains(fingerprint) {
status = .noiseVerified
} else {
status = .noiseSecured
}
} else { } else {
// First time establishing - show handshaking // First time establishing - show handshaking
status = .noiseHandshaking status = .noiseHandshaking
@@ -4326,12 +4305,7 @@ final class ChatViewModel: ObservableObject, BitchatDelegate {
// If we've ever established a session, show secured instead of no handshake // If we've ever established a session, show secured instead of no handshake
if hasEverEstablishedSession { if hasEverEstablishedSession {
// Check if it was verified before // Check if it was verified before
if let fingerprint = getFingerprint(for: peerID), status = encryptionStatus(for: peerID)
verifiedFingerprints.contains(fingerprint) {
status = .noiseVerified
} else {
status = .noiseSecured
}
} else { } else {
// Never established - show no handshake // Never established - show no handshake
status = .noHandshake status = .noHandshake
@@ -4340,12 +4314,7 @@ final class ChatViewModel: ObservableObject, BitchatDelegate {
// If we've ever established a session, show secured instead of failed // If we've ever established a session, show secured instead of failed
if hasEverEstablishedSession { if hasEverEstablishedSession {
// Check if it was verified before // Check if it was verified before
if let fingerprint = getFingerprint(for: peerID), status = encryptionStatus(for: peerID)
verifiedFingerprints.contains(fingerprint) {
status = .noiseVerified
} else {
status = .noiseSecured
}
} else { } else {
// Never established - show failed // Never established - show failed
status = .none status = .none
@@ -4736,16 +4705,7 @@ final class ChatViewModel: ObservableObject, BitchatDelegate {
let noiseService = meshService.getNoiseService() let noiseService = meshService.getNoiseService()
if noiseService.hasEstablishedSession(with: peerID) { if noiseService.hasEstablishedSession(with: peerID) {
if let fingerprint = getFingerprint(for: peerID) { peerEncryptionStatus[peerID] = encryptionStatus(for: peerID)
if verifiedFingerprints.contains(fingerprint) {
peerEncryptionStatus[peerID] = .noiseVerified
} else {
peerEncryptionStatus[peerID] = .noiseSecured
}
} else {
// Session established but no fingerprint yet
peerEncryptionStatus[peerID] = .noiseSecured
}
} else if noiseService.hasSession(with: peerID) { } else if noiseService.hasSession(with: peerID) {
peerEncryptionStatus[peerID] = .noiseHandshaking peerEncryptionStatus[peerID] = .noiseHandshaking
} else { } else {
@@ -4775,6 +4735,16 @@ final class ChatViewModel: ObservableObject, BitchatDelegate {
return unifiedPeerService.getFingerprint(for: peerID) return unifiedPeerService.getFingerprint(for: peerID)
} }
/// Check if fingerprint is verified using our persisted data
@MainActor
private func encryptionStatus(for peerID: PeerID) -> EncryptionStatus {
if let fp = getFingerprint(for: peerID), verifiedFingerprints.contains(fp) {
return .noiseVerified
} else {
return .noiseSecured
}
}
/// Helper to resolve nickname for a peer ID through various sources /// Helper to resolve nickname for a peer ID through various sources
@MainActor @MainActor
private func resolveNickname(for peerID: PeerID) -> String { private func resolveNickname(for peerID: PeerID) -> String {