Security: - Fix JSON injection in deleteMessage (raw string → serialized DTO) - Separate OkHttpClient for streaming (30s timeout on normal requests, infinite only for chat stream) - Disable backup (EncryptedSharedPrefs without KeyStore → crash on restore) - Block cleartext traffic explicitly - Strip server URLs from log output Performance: - Share OkHttp connection pool across KaizenApi + LiveClient - Eliminate duplicate fetchMe/fetchDefaultModel call on login - Parallelize prefetchMissing (was sequential per conversation) - Stream file uploads directly from ContentResolver (no full readBytes) - Cache assistant message index during streaming (O(1) vs O(n) per chunk) - Build chat history before adding assistant placeholder (no filter needed) Bugs: - Fix send() race condition (isStreaming set before async work) - Move voice recording file read to IO dispatcher |
||
|---|---|---|
| .. | ||
| src | ||
| .gitignore | ||
| build.gradle.kts | ||
| proguard-rules.pro | ||