47 lines
2.0 KiB
Markdown
47 lines
2.0 KiB
Markdown
# Changelog
|
||
|
||
## [Unreleased]
|
||
|
||
### Replaced tinodesdk with custom HTTP client
|
||
- Removed `:tinodesdk` module from project
|
||
- Created `TinodeHttpClient` (OkHttp WebSocket + JSON/Gson)
|
||
- Created `TinodeProtocol` data models (hi, login, acc, sub, pub, data, meta, pres, info, ctrl)
|
||
- Rewrote `TinodeClient` as high-level wrapper for UI
|
||
- Removed tinodesdk dependencies: Jackson, ICU4J, Java-WebSocket
|
||
|
||
### Migrated from kapt to KSP
|
||
- Replaced `org.jetbrains.kotlin.kapt` with `com.google.devtools.ksp` (1.9.25-1.0.20)
|
||
- Hilt compiler: `kapt` → `ksp`
|
||
- Room compiler: `kapt` → `ksp`
|
||
- Kotlin version: 1.9.24 → 1.9.25
|
||
- Compose Compiler: 1.5.14 → 1.5.15
|
||
|
||
### Added OkHttp for WebSocket communication
|
||
- Added `com.squareup.okhttp3:okhttp:4.12.0`
|
||
|
||
### Updated app icon
|
||
- Replaced all `ic_launcher_foreground.png` with `logo2.png` (mdpi–xxxhdpi)
|
||
- Replaced `ic_launcher_play_store.png` (512×512)
|
||
- Updated splash screen: SVG → PNG (`logo_src.png`)
|
||
- Added `values-night/colors.xml` for dark mode splash
|
||
- Removed old `logo_splash.xml` (SVG-based)
|
||
|
||
### Fixed Compose import issues
|
||
- Added missing `sp`/`dp` imports in LoginScreen, ChatScreen, ChatListScreen, Avatar
|
||
- Fixed `Done`/`DoneAll` icons: `AutoMirrored` → `filled` (with material-icons-extended)
|
||
- Added `verticalScroll`/`rememberScrollState` imports in RegisterScreen
|
||
- Fixed `LockReset` → `Lock` icon
|
||
- Fixed Avatar fontSize: `size.value * 0.38f.sp` (was broken `.dp`)
|
||
- Added `@OptIn(ExperimentalMaterial3Api)` for RegisterScreen
|
||
|
||
### Fixed dependency issues
|
||
- Added `com.google.dagger:hilt.android` Gradle plugin (was missing)
|
||
- Added `com.google.android.material:material:1.12.0` (needed for themes)
|
||
- Added `com.google.devtools.ksp` plugin
|
||
- Removed `com.android.library` root plugin (tinodesdk module removed)
|
||
|
||
### Code cleanup
|
||
- Removed `TinodeConnState` enum conflict with kotlinx.coroutines
|
||
- Used callback-based state observer instead of broken Flow API
|
||
- Simplified `TinodeClient` event handling with `runBlocking` + `emit`
|