feat(chat): add configurable message stats (#1134)

This commit is contained in:
M57 authored and GitHub committed 2026-09-16 00:00:09 +03:00
1 parent afffcd95e8
commit 529b424eb4
20 files changed
+606 -44

No files matched your search

@@ -24,6 +24,10 @@ data class ServerStoreState(
val typingEffectEnabled: Boolean = true,
val typingEffectDelayMs: Int = 30,
val chatFontScale: Float = 1.0f,
val messageStatsEnabled: Boolean = false,
val showUserMessageTokens: Boolean = true,
val showAssistantMessageTokens: Boolean = true,
val showTokensPerSecond: Boolean = true,
// App display language. "system" = follow device locale; otherwise a BCP-47
// language code such as "en" or "ko". Applied via ContextWrapper in MainActivity.
val appLanguage: String = "system",
@@ -713,6 +713,32 @@ object AuthManager {
serverStore.update { it.copy(typingEffectDelayMs = delayMs) }
}
// ── Message stats ───────────────────────────────────────────────────
fun isMessageStatsEnabled(): Boolean = serverStore.getLatestState().messageStatsEnabled
fun setMessageStatsEnabled(enabled: Boolean) {
serverStore.update { it.copy(messageStatsEnabled = enabled) }
}
fun isUserMessageTokensEnabled(): Boolean = serverStore.getLatestState().showUserMessageTokens
fun setUserMessageTokensEnabled(enabled: Boolean) {
serverStore.update { it.copy(showUserMessageTokens = enabled) }
}
fun isAssistantMessageTokensEnabled(): Boolean = serverStore.getLatestState().showAssistantMessageTokens
fun setAssistantMessageTokensEnabled(enabled: Boolean) {
serverStore.update { it.copy(showAssistantMessageTokens = enabled) }
}
fun isTokensPerSecondEnabled(): Boolean = serverStore.getLatestState().showTokensPerSecond
fun setTokensPerSecondEnabled(enabled: Boolean) {
serverStore.update { it.copy(showTokensPerSecond = enabled) }
}
// ── Chat Font Scale (issue #1004) ───────────────────────────────────
fun getChatFontScale(): Float = serverStore.getLatestState().chatFontScale