fix: null alias display — Android JSONObject.optString returns literal "null"

o.optString("alias", null) returns the string "null" when the JSON value
is JSON null. Use o.isNull() check first. Also handle empty fingerprint
edge case with "unknown" fallback.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Claude
2026-04-06 05:04:47 +00:00
parent a9c4260b4e
commit dc66b60d18

View File

@@ -54,7 +54,7 @@ data class CallStats(
val o = arr.getJSONObject(i)
RoomMember(
fingerprint = o.optString("fingerprint", ""),
alias = o.optString("alias", null)
alias = if (o.isNull("alias")) null else o.optString("alias", null)
)
}
}
@@ -92,5 +92,6 @@ data class RoomMember(
) {
/** Short display name: alias if set, otherwise first 8 chars of fingerprint. */
val displayName: String
get() = alias ?: fingerprint.take(8)
get() = alias?.takeIf { it.isNotBlank() }
?: fingerprint.take(8).ifEmpty { "unknown" }
}