diff --git a/app/src/main/java/dev/kaizen/app/chat/ChatScreen.kt b/app/src/main/java/dev/kaizen/app/chat/ChatScreen.kt index 054f50b..71d8b1d 100644 --- a/app/src/main/java/dev/kaizen/app/chat/ChatScreen.kt +++ b/app/src/main/java/dev/kaizen/app/chat/ChatScreen.kt @@ -228,9 +228,11 @@ fun ChatScreen( fun unlockAndOpen(summary: ConversationSummary) { val cfg = session.config ?: return scope.launch { + loadError = null val unlockToken = KaizenApi.requestUnlock(cfg.baseUrl, cfg.token) if (unlockToken == null) { loadError = context.getString(R.string.biometric_failed) + scope.launch { kotlinx.coroutines.delay(4000); if (loadError == context.getString(R.string.biometric_failed)) loadError = null } return@launch } val stored = KaizenApi.fetchLockedMessages(cfg.baseUrl, cfg.token, summary.id, unlockToken) @@ -288,6 +290,7 @@ fun ChatScreen( } viewingLockedChat = false usedTokens = 0 + loadError = null scope.launch { messages.clear() val cachedList = chat.messageRepo.getCached(summary.id) @@ -673,10 +676,8 @@ fun ChatScreen( onClick = { haptics.tick(); showModelSheet = true }, ) Spacer(Modifier.weight(1f)) - if (usedTokens > 0) { - val ctxLen = models.find { it.id == session.config?.model }?.context_length ?: 1_000_000 - TokenBadge(used = usedTokens, contextLength = ctxLen) - } + val ctxLen = models.find { it.id == session.config?.model }?.context_length ?: 1_000_000 + TokenBadge(used = usedTokens, contextLength = ctxLen) } }