feat: image attachment thumbnails, send timeout recovery, action tag parsing

- Multi-image thumbnails in chat bubbles with tap-to-fullscreen preview
- 15s send timeout in ChatViewModel and OverlayViewModel to prevent
  stuck "thinking" state when server sends no response
- Strip <action> XML tags in ActionMessage rendering (new server format)
- Add file_id/thumbnail_url to WSAttachment DTO for upload-first flow
- Replace imageDataUri with imageDataUris list for multi-image support
- Remove "[图片]" placeholder text from user messages with images

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-29 19:36:13 +08:00
parent 6394099e2e
commit 08d78c976a
13 changed files with 383 additions and 40 deletions
+4
View File
@@ -13,6 +13,7 @@ koin = "4.0.0"
datastore = "1.1.1"
coroutines = "1.9.0"
material3 = "1.3.1"
coil = "2.7.0"
[libraries]
# Compose BOM
@@ -56,6 +57,9 @@ coroutines = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-andro
# Core
core-ktx = { group = "androidx.core", name = "core-ktx", version = "1.15.0" }
# Coil
coil-compose = { group = "io.coil-kt", name = "coil-compose", version.ref = "coil" }
# Biometric
biometric = { group = "androidx.biometric", name = "biometric", version = "1.1.0" }