## Cocolalilal/LastChat — 1.4.3…1.4.4

_96 commits._

### Features
- **Add contextual animations to chat input actions** (dce8916)
- **Add conditional chat animations with delayed enablement** (f4776ee)
- **Drop LiteRt local-provider support** (a518e65)
- **Limit memory fetches and add DAO limits** (1f7c47d)
- **Add DB schema v33; refine chat input UI** (eb49834)
- **Add last_model_id and improve image handling** (97daf70)
- **Add STT.clearError and clear on toast** (29fa7b4)
- **Add STT support and update catalog/UI** (748edb9)
- **Add STT and audio handling to providers** (64efcbb)
- **Remove Chaquopy sandbox and add workspace sync** (7e7b517)
- **Add prompt-cache, stream retry, TTS/STT support** (a520dfd)
- **Add STT support and improve tool merging** (8701513)
- **Add timeline support, fullscreen input, and time tweaks** (602dfb6)
- **Support workspace proot runtimes and tool guards** (c2ac5d1)
- **Add proot runtime selection & tool approval UI** (b31a6a7)
- **Add workspace tool support and UI details** (7cd3062)
- **Disable LiteRT local provider and add UI tweaks** (626d88c)
- **Add Linux workspace tools and local model download** (6b3c1a4)
- **Add workspace extension, DB, tools & UI** (b71621e)
- **Update iOS portability report and add parser note** (492b0a0)
- **Add LiteRT local provider integration** (d5a4b8c)
- **Add live-follow pulse & streaming tweaks** (892bff4)
- **Add per-chat lorebook overrides & HTTP client** (f69cfcf)
- **Add PlatformMediaEncoder and search client adapters** (6688ff6)
- **Use Select component, adjust layout & add haptics** (429a36d)
- **Add swipe-to-delete and allow deletion** (136c457)
- **Add session_id handling and token parsing** (6ae3edb)

### Fixes
- **fix(stt): Fix STT picker filtering and UX when canceling** (044ec3c)

### Backend
- **Merge pull request #175 from Cocolalilal/LastChat_dev** (d00cc51)
- **Optimize scroll perf & refactor attachment UI** (e841293)
- **Remove local-llm & LiteRT; rename python_sandbox** (272ea6d)
- **Improve null-safety and flow/state handling** (4142d24)
- **Handle audio/modalities, icon slugs, and media URLs** (e8fbfa2)
- **Refactor chat input, pill alignment, and sidebar** (41769c2)
- **Enhance STT UI, provider picker, and icons** (5b11f31)
- **Enhance rootfs checks and UI streaming/follow** (54ec213)
- **Integrate LiteRT local models into settings UI** (4689306)
- **Use PlatformHttpClient; refactor transports** (047abe7)
- **Bump version to 1.4.4 and refine consolidation** (bfa3103)
- **Integrate common HTTP utils and JWT signer** (1514dc2)
- **Use Kotlin Base64 and atomics; extract Highlighter** (1e97f9a)
- **Relocate Android TTS packages and imports** (cf3e373)
- **Platform HTTP abstraction for providers** (f06e497)
- **Update emoji data to 17.0.0 and adjust settings UI** (cceb532)
- **Refactor streaming text reveal into state object** (2f37867)
- **Refactor assistant turn key generation** (da58396)
- **Apply OpenRouter prompt cache policy to all models** (fbe5ad2)
- **Merge pull request #169 from Cocolalilal/LastChat** (f8b586d)
- **Delete dev_commits.txt** (024a075)
- **Update image references in README.md to version 1.4.3** (619e813)
- **updated screenshots** (140adcc)

### Chore
- **refactor: read import export helpers through okio** (7c06b38)
- **refactor: copy chat attachment files through okio streams** (6aa76a2)
- **refactor: read media encoder files through okio source** (1651581)
- **refactor: write python sandbox files through okio sinks** (e723014)
- **refactor: use okio for android file store writes** (778927c)
- **refactor: copy webdav backup files through okio streams** (64494ca)
- **refactor: copy backup files through okio streams** (9afdc85)
- **refactor: write chat utility files through okio sinks** (bdb9b87)
- **refactor: write utility files through okio sinks** (f6a0377)
- **refactor: write crop and export files through okio sinks** (2489521)
- **refactor: read web upload parts through okio buffer** (70760fc)
- **refactor: use okio buffers in assistant export import** (4c8c366)
- **refactor: compress chat attachments through okio buffer** (21c387b)
- **refactor: compress chat bitmaps through okio buffer** (e02a63f)
- **refactor: read workspace tool files through okio buffer** (47b4684)
- **refactor: use kotlin durations for data source timeouts** (2e9c1d5)
- **refactor: guard chat service maps without concurrent maps** (5870397)
- **refactor: guard provider model cache without concurrent map** (02d5579)
- **refactor: guard provider balance cache without concurrent map** (9edcc82)
- **refactor: guard web upload records without concurrent maps** (1b56c59)
- **refactor: use kotlin atomic for web upload ids** (e8e82bb)
- **refactor: use kotlin atomics for repository guards** (15ee67b)
- **refactor: use kotlin atomic for throttle state** (fbb20e3)
- **refactor: query storage services without class tokens** (17cdf2f)
- **refactor: inject provider icon search client** (57e8d7e)
- **refactor: inject icon picker client without java class** (eab8213)
- **refactor: inject remote icon client without java class** (25fc47c)
- **refactor: use duration api for local tool scheduling** (fa30790)
- **refactor: hide system tts file construction** (fdd7c3e)
- **refactor: simplify android cache locking** (8c384b3)
- **refactor: serialize highlight runtime without executor** (75086be)
- **refactor: use kotlin durations for tts timeouts** (b54e6f8)
- **refactor: use portable system tts diagnostics** (03d879f)
- **refactor: build tts wav bytes without streams** (b7d40c0)
- **refactor: use portable highlight type labels** (48303a7)
- **refactor: route tts controller logs through platform logger** (937b5ba)
- **refactor: use portable tts controller state** (3fe0037)
- **refactor: use portable tts chunk ids** (9cfd9f0)
- **refactor: isolate generation runtime date info** (5b9d1e8)
- **refactor: isolate local tool python sandbox** (b975284)
- **refactor: isolate local tool notifications** (7fc8c22)
- **refactor: isolate local tool platform file handling** (7010c6d)
- **refactor: isolate time awareness runtime info** (c754189)
- **refactor: isolate message template renderer** (3448efb)
- **refactor: isolate placeholder runtime values** (81aa8f5)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/Cocolalilal/LastChat?utm_source=github-action)._