Remove debug logging from notification system

- Clean up all temporary logging statements
- Production-ready notification implementation
- Network notifications trigger when peers become available
This commit is contained in:
jack
2025-07-22 17:42:53 +02:00
parent 79243c8fca
commit b849cfbad3
2 changed files with 9 additions and 42 deletions
+1 -16
View File
@@ -1353,19 +1353,16 @@ class BluetoothMeshService: NSObject {
// Check if we should reset the notification flag
if let emptyTime = networkBecameEmptyTime {
let currentNetworkSize = collectionsQueue.sync { activePeers.count }
print("📱 Checking network empty state: size=\(currentNetworkSize), emptyTime=\(emptyTime)")
if currentNetworkSize == 0 {
// Network is still empty, check if enough time has passed
let timeSinceEmpty = Date().timeIntervalSince(emptyTime)
if timeSinceEmpty >= networkEmptyResetDelay {
// Reset the flag after network has been empty for the delay period
print("📱 Resetting notification flag after \(timeSinceEmpty)s of empty network")
hasNotifiedNetworkAvailable = false
// Keep the empty time set so we don't immediately notify again
}
} else {
// Network is no longer empty, clear the empty time
print("📱 Network no longer empty, clearing empty time")
networkBecameEmptyTime = nil
}
}
@@ -1978,7 +1975,6 @@ class BluetoothMeshService: NSObject {
// Check if we've already announced this peer
let isFirstAnnounce = !announcedPeers.contains(senderID)
print("📱 Peer announce: \(senderID), isFirstAnnounce: \(isFirstAnnounce)")
// Clean up stale peer IDs with the same nickname
collectionsQueue.sync(flags: .barrier) {
@@ -2103,9 +2099,7 @@ class BluetoothMeshService: NSObject {
return result
}
if wasInserted {
print("📱 Added peer \(senderID) (\(nickname)) to active peers")
} else {
print("📱 Peer \(senderID) already in active peers")
// Added peer \(senderID) (\(nickname)) to active peers
}
// Show join message only for first announce AND if we actually added the peer
@@ -2121,8 +2115,6 @@ class BluetoothMeshService: NSObject {
// Send network available notification if appropriate
let currentNetworkSize = collectionsQueue.sync { self.activePeers.count }
print("📱 Network size after peer announce: \(currentNetworkSize), hasNotified: \(hasNotifiedNetworkAvailable)")
if currentNetworkSize > 0 {
// Clear empty time since network is active
networkBecameEmptyTime = nil
@@ -2134,24 +2126,17 @@ class BluetoothMeshService: NSObject {
if let lastNotification = lastNetworkNotificationTime {
let timeSinceLastNotification = now.timeIntervalSince(lastNotification)
print("📱 Time since last notification: \(timeSinceLastNotification)s, cooldown: \(networkNotificationCooldown)s")
if timeSinceLastNotification < networkNotificationCooldown {
// Too soon to send another notification
shouldSendNotification = false
print("📱 Skipping notification - cooldown period active")
}
}
if shouldSendNotification {
print("📱 Triggering network availability notification for \(currentNetworkSize) peers")
hasNotifiedNetworkAvailable = true
lastNetworkNotificationTime = now
NotificationService.shared.sendNetworkAvailableNotification(peerCount: currentNetworkSize)
} else {
print("📱 Not sending notification - cooldown active")
}
} else {
print("📱 Not sending notification - already notified")
}
}
+8 -26
View File
@@ -22,9 +22,9 @@ class NotificationService {
func requestAuthorization() {
UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { granted, error in
if granted {
print("📱 Notification permission granted")
// Permission granted
} else {
print("📱 Notification permission denied: \(error?.localizedDescription ?? "Unknown")")
// Permission denied
}
}
}
@@ -44,12 +44,8 @@ class NotificationService {
trigger: nil // Deliver immediately
)
UNUserNotificationCenter.current().add(request) { error in
if let error = error {
print("📱 Error sending local notification: \(error)")
} else {
print("📱 Local notification sent: \(title)")
}
UNUserNotificationCenter.current().add(request) { _ in
// Notification added
}
}
}
@@ -71,8 +67,6 @@ class NotificationService {
}
func sendFavoriteOnlineNotification(nickname: String) {
print("📱 sendFavoriteOnlineNotification called for: \(nickname)")
// Send directly without checking app state for favorites
DispatchQueue.main.async {
let content = UNMutableNotificationContent()
@@ -86,25 +80,17 @@ class NotificationService {
trigger: nil
)
UNUserNotificationCenter.current().add(request) { error in
if let error = error {
print("📱 Error sending favorite notification: \(error)")
} else {
print("📱 Favorite notification sent successfully")
}
UNUserNotificationCenter.current().add(request) { _ in
// Notification added
}
}
}
func sendNetworkAvailableNotification(peerCount: Int) {
print("📱 sendNetworkAvailableNotification called with peerCount: \(peerCount)")
let title = "👥 bitchatters nearby!"
let body = peerCount == 1 ? "1 person around" : "\(peerCount) people around"
let identifier = "network-available-\(Date().timeIntervalSince1970)"
print("📱 Sending network notification: \(body)")
// For network notifications, we want to show them even in foreground
// No app state check - let the notification delegate handle presentation
DispatchQueue.main.async {
@@ -120,12 +106,8 @@ class NotificationService {
trigger: nil // Deliver immediately
)
UNUserNotificationCenter.current().add(request) { error in
if let error = error {
print("📱 Error sending network notification: \(error)")
} else {
print("📱 Network notification sent successfully")
}
UNUserNotificationCenter.current().add(request) { _ in
// Notification added
}
}
}