mirror of
https://github.com/permissionlesstech/bitchat-android.git
synced 2026-07-25 07:05:21 +00:00
better verbose logging (#431)
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
|
|
||||||
package com.bitchat.android.mesh
|
package com.bitchat.android.mesh
|
||||||
|
|
||||||
import android.bluetooth.BluetoothDevice
|
import android.bluetooth.BluetoothDevice
|
||||||
@@ -70,6 +71,7 @@ class BluetoothPacketBroadcaster(
|
|||||||
try {
|
try {
|
||||||
val fromNick = incomingPeer?.let { nicknameResolver?.invoke(it) }
|
val fromNick = incomingPeer?.let { nicknameResolver?.invoke(it) }
|
||||||
val toNick = toPeer?.let { nicknameResolver?.invoke(it) }
|
val toNick = toPeer?.let { nicknameResolver?.invoke(it) }
|
||||||
|
val isRelay = (incomingAddr != null || incomingPeer != null)
|
||||||
|
|
||||||
com.bitchat.android.ui.debug.DebugSettingsManager.getInstance().logPacketRelayDetailed(
|
com.bitchat.android.ui.debug.DebugSettingsManager.getInstance().logPacketRelayDetailed(
|
||||||
packetType = typeName,
|
packetType = typeName,
|
||||||
@@ -81,7 +83,8 @@ class BluetoothPacketBroadcaster(
|
|||||||
toPeerID = toPeer,
|
toPeerID = toPeer,
|
||||||
toNickname = toNick,
|
toNickname = toNick,
|
||||||
toDeviceAddress = toDeviceAddress,
|
toDeviceAddress = toDeviceAddress,
|
||||||
ttl = ttl
|
ttl = ttl,
|
||||||
|
isRelay = isRelay
|
||||||
)
|
)
|
||||||
} catch (_: Exception) {
|
} catch (_: Exception) {
|
||||||
// Silently ignore debug logging failures
|
// Silently ignore debug logging failures
|
||||||
|
|||||||
@@ -257,11 +257,10 @@ class DebugSettingsManager private constructor() {
|
|||||||
val who = if (!senderNickname.isNullOrBlank()) "$senderNickname ($senderPeerID)" else senderPeerID
|
val who = if (!senderNickname.isNullOrBlank()) "$senderNickname ($senderPeerID)" else senderPeerID
|
||||||
val routeInfo = if (!viaDeviceId.isNullOrBlank()) " via $viaDeviceId" else " (direct)"
|
val routeInfo = if (!viaDeviceId.isNullOrBlank()) " via $viaDeviceId" else " (direct)"
|
||||||
addDebugMessage(DebugMessage.PacketEvent(
|
addDebugMessage(DebugMessage.PacketEvent(
|
||||||
"📥 Received $messageType from $who$routeInfo"
|
"📦 Received $messageType from $who$routeInfo"
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun logPacketRelay(
|
fun logPacketRelay(
|
||||||
packetType: String,
|
packetType: String,
|
||||||
originalPeerID: String,
|
originalPeerID: String,
|
||||||
@@ -279,10 +278,12 @@ class DebugSettingsManager private constructor() {
|
|||||||
toPeerID = null,
|
toPeerID = null,
|
||||||
toNickname = null,
|
toNickname = null,
|
||||||
toDeviceAddress = null,
|
toDeviceAddress = null,
|
||||||
ttl = null
|
ttl = null,
|
||||||
|
isRelay = true
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// New, more detailed relay logger used by the mesh/broadcaster
|
// New, more detailed relay logger used by the mesh/broadcaster
|
||||||
fun logPacketRelayDetailed(
|
fun logPacketRelayDetailed(
|
||||||
packetType: String,
|
packetType: String,
|
||||||
@@ -294,7 +295,8 @@ class DebugSettingsManager private constructor() {
|
|||||||
toPeerID: String?,
|
toPeerID: String?,
|
||||||
toNickname: String?,
|
toNickname: String?,
|
||||||
toDeviceAddress: String?,
|
toDeviceAddress: String?,
|
||||||
ttl: UByte?
|
ttl: UByte?,
|
||||||
|
isRelay: Boolean = true
|
||||||
) {
|
) {
|
||||||
// Build message only if verbose logging is enabled, but always update stats
|
// Build message only if verbose logging is enabled, but always update stats
|
||||||
val senderLabel = when {
|
val senderLabel = when {
|
||||||
@@ -319,16 +321,26 @@ class DebugSettingsManager private constructor() {
|
|||||||
val ttlStr = ttl?.toString() ?: "?"
|
val ttlStr = ttl?.toString() ?: "?"
|
||||||
|
|
||||||
if (verboseLoggingEnabled.value) {
|
if (verboseLoggingEnabled.value) {
|
||||||
addDebugMessage(
|
if (isRelay) {
|
||||||
DebugMessage.RelayEvent(
|
addDebugMessage(
|
||||||
"♻️ Relayed $packetType by $senderLabel from $fromName (${fromPeerID ?: "?"}, $fromAddr) to $toName (${toPeerID ?: "?"}, $toAddr) with TTL $ttlStr"
|
DebugMessage.RelayEvent(
|
||||||
|
"♻️ Relayed $packetType by $senderLabel from $fromName (${fromPeerID ?: "?"}, $fromAddr) to $toName (${toPeerID ?: "?"}, $toAddr) with TTL $ttlStr"
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
} else {
|
||||||
|
addDebugMessage(
|
||||||
|
DebugMessage.PacketEvent(
|
||||||
|
"📤 Sent $packetType by $senderLabel to $toName (${toPeerID ?: "?"}, $toAddr) with TTL $ttlStr"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update rolling statistics
|
// Update rolling statistics only for relays
|
||||||
relayTimestamps.offer(System.currentTimeMillis())
|
if (isRelay) {
|
||||||
updateRelayStatsFromTimestamps()
|
relayTimestamps.offer(System.currentTimeMillis())
|
||||||
|
updateRelayStatsFromTimestamps()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// MARK: - Clear Data
|
// MARK: - Clear Data
|
||||||
|
|||||||
Reference in New Issue
Block a user