Garfie
c613175c6e
fix(navigation): fully reset ConversationListStateHolder on logout
...
reset() now clears pagination cursor, hasMore, isLoadingMore and
isRefreshing state so the next user session does not inherit stuck
spinners or stale cursors from the previous session. Also cancel and
restart the search debounce collector so an in-flight debounced
emission from the previous session cannot land after reset() and
clobber the cleared grouped conversations list.
2026-04-14 21:30:30 -05:00
Garfie
4c0b76a9b3
fix: iOS image rendering and consolidate content part dispatch to commonMain
...
- Configure Coil ImageLoader with authenticated Ktor HttpClient on iOS
- Extract ContentPartRenderer sub-composables and tool call dispatch into shared commonMain (SharedContentParts.kt, ToolCallParsing.kt)
- Add missing iOS handlers: AGENT_UPDATE, VIDEO_URL null fallback
- Fix error text fallback inconsistency across platforms
- Add memory cache to iOS ImageLoader
2026-04-06 12:25:48 -05:00
Garfie
770603e466
KMP iOS migration
...
Complete Kotlin Multiplatform migration with iOS parity:
- All 13 modules converted to KMP (commonMain + androidMain + iosMain)
- 100% feature parity: auth, chat, SSE streaming, conversations,
settings, agents, files, voice input, TTS, OAuth, file picker,
clipboard paste
- Platform consolidation: DataStore path, SessionCacheCleaner,
bubble layouts, ChatInput core, MIME types, mention parsing,
TextField styling, FilterChip components extracted to commonMain
- iOS crash reporting via Kotlin/Native exception hook
- YAML parsing via custom pure-Kotlin parser (zero dependencies)
- Dependency health: Timber removed, kaml replaced, FuzzyWuzzy removed,
security-crypto stabilized
- CONTRIBUTING.md
- Gradle configuration cache enabled
2026-04-02 19:54:58 -05:00