Update logging to only write to disk on macOS

- Add conditional compilation to LoggingService
- macOS continues to write logs to Documents/Logs
- iOS uses /dev/null to prevent disk writes
- Remove room auto-join on mention (only join when sending to room)
This commit is contained in:
jack
2025-07-05 19:35:37 +02:00
parent 22e02633b5
commit a83dee34ba
3 changed files with 17 additions and 8 deletions
+6
View File
@@ -22,6 +22,8 @@ class LoggingService {
dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss.SSS"
#if os(macOS)
// Only create log files on macOS
// Get documents directory
let documentsPath = FileManager.default.urls(for: .documentDirectory,
in: .userDomainMask).first!
@@ -45,6 +47,10 @@ class LoggingService {
log("=== BitChat Started ===")
log("Log file: \(fileURL.path)")
#else
// On iOS, just create a dummy URL since we won't write to disk
fileURL = URL(fileURLWithPath: "/dev/null")
#endif
}
func log(_ message: String, category: String = "general") {
+7 -5
View File
@@ -261,10 +261,10 @@ class ChatViewModel: ObservableObject {
messages.append(message)
}
// Auto-join any new rooms mentioned in the message
for room in rooms {
if !joinedRooms.contains(room) {
joinRoom(room)
// Only auto-join rooms if we're sending TO that room
if let messageRoom = messageRoom {
if !joinedRooms.contains(messageRoom) {
joinRoom(messageRoom)
}
}
@@ -631,6 +631,8 @@ class ChatViewModel: ObservableObject {
extension ChatViewModel: BitchatDelegate {
func didReceiveMessage(_ message: BitchatMessage) {
bitchatLog("Received message from \(message.sender), room: \(message.room ?? "nil"), senderPeerID: \(message.senderPeerID ?? "nil")", category: "message")
if message.isPrivate {
// Handle private message
@@ -675,7 +677,7 @@ extension ChatViewModel: BitchatDelegate {
roomMessages[room]?.append(message)
roomMessages[room]?.sort { $0.timestamp < $1.timestamp }
// Track room members
// Track room members - only track the sender as a member
if roomMembers[room] == nil {
roomMembers[room] = []
}