2.0.4 Release Notes
This update focuses on chat reliability and everyday interaction: improving message synchronization and read-receipt detection, enhancing scroll following after image loading, upgrading animations for image preview and light/dark theme switching, and boosting resource recovery after web app updates.
🤯 Release Notes
- More reliable message sync: Preserves newly received messages and sending messages when reloading chat history; fixes duplicate and failing event listeners, and ensures read-status reporting errors no longer block new messages from displaying.
- More accurate read receipts: Retains unread status when the window loses focus or the page is hidden; marks messages as read upon refocusing if the conversation is at the bottom, improving multi-window and dual-screen workflows.
- More stable chat scrolling: Keeps the view anchored to the bottom when images and rich text finish loading asynchronously while viewing the latest messages; preserves scroll position when reading up through message history.
- More natural image previews: Images expand smoothly from the clicked position and collapse back upon closing when supported; improves error fallbacks and respects system "Reduce Motion" settings.
- Seamless theme transitions: Light/dark theme transitions expand from the click position with durations scaled to window size, improving keyboard triggering and reducing background flickering in desktop windows.
- Polished UI details: Refines modal dimensions and open/close animations, improves friend search layouts and connection status indicators, and preserves line breaks with proper word wrapping for AI prompt messages.
- Faster web recovery: Automatically reloads to recover when resource loading fails due to outdated cache after an update, and optimizes caching policies for pages and connection heartbeat scripts.
✨ New Features & Enhancements
- feat(ui): add expand and collapse transitions from the original image position with fallbacks for image previews, and improve connection status and friend search experience (#a8856b61)
- feat(theme): refactor light/dark theme transition animations, improve click and keyboard triggering, and reduce desktop window background flickering (#5e5f03ad)
- feat(theme): improve theme animation origin detection and adjust duration based on window size (#2813c71f)
🐛 Bug Fixes
- fix(chat): correct message read status on window blur, page hide, and refocus (#9e70d09a)
- fix(chat): fix duplicate message event listeners, accidental listener cleanup, and overwriting of new and sending messages during chat history reload (#a1b344b8)
- fix(chat): maintain bottom scroll anchoring when images and other async content expand the list, and preserve scroll position when scrolling up to read history (#60e22e19)
- fix(web): automatically attempt recovery when page assets fail, improving load experience after version updates (#0794a1f2)
- fix(web): bypass stale page cache during recovery and adjust caching policies for static assets (#7fc17b07)
🎨 UI Improvements
- fix(ui): optimize modal sizes and center pop-in animations, respecting system "Reduce Motion" settings (#1e1c0df4)
- fix(ui): optimize battery, login, and API Key icons, reduce connection indicator spacing, and improve line break display for AI prompt messages (#d1a79fdb)
🔧 Build & Release
- refactor(ws): use content-hashed build artifacts for the connection heartbeat script to prevent loading stale scripts after updates (#642d994f)
- chore(deps): upgrade Nuxt and front-end toolchain, synchronizing environment checks and build configuration (#19c190c9)
- chore(build): optimize style injection and UnoCSS extraction to reduce third-party style pollution and false-positive attribute matching (#d66d74cf)
- chore: unify Node.js development environment version via .nvmrc (#7768b37c)
- ci(release): improve dual-repo release publishing, backend version sync, and sync verification workflows (#6cedba6a)
🛠 Server-Side Companion Fixes
The following three server-side fixes were committed on July 30, 2026. They are supporting improvements for release updates and permission management; online deployment versions have not yet been verified and are not considered features launched for the first time in this client release.
- fix(res): filter platform assets missing URLs or signatures in auto-update APIs to prevent unsigned Tauri assets from affecting desktop update checks (#940712b3)
- fix(release): switch to the latest version after successful asset sync, adding transactions and failure checks to prevent returning stale versions after sync (#6c7f4118)
- fix(auth): validate account permissions on API Key access, require release editing permissions for version sync, and enhance key masking in logs (#3746c3e0)
📝 Other Changes
- refactor(theme): clean up redundant state handling in theme animations (#aeea88b0)
- chore(agent): unify project collaboration configuration entry points (#7193eb4d)
- refactor(agent): unify front-end agent asset entry points (#433b7772)
- chore(editor): consolidate VS Code ESLint configurations (#d664cdc0)
- docs(release): update documentation for end-to-end automated release process (#0cdd1e1a)
📌 To Do
Carried over from existing backlog; the following items are not included in this release:
- Migrate Qiniu OSS to MinIO
- Local message storage
- User version telemetry
- Android floating call window (considering)
🧪 Downloads
Installer packages for each platform are listed below; available downloads are subject to the Release page.
| Platform | Download |
|---|---|
| Windows x86_64 Installer | JiwuChat_2.0.4_x64-setup.exe |
| Windows x86_64 MSI | JiwuChat_2.0.4_x64_zh-CN.msi |
| macOS Intel | JiwuChat_2.0.4_x64.dmg |
| macOS Apple Silicon | JiwuChat_2.0.4_aarch64.dmg |
| Android arm64 | JiwuChat_2.0.4.apk |
| Linux AppImage | JiwuChat_2.0.4_amd64.AppImage |
| Linux RPM | JiwuChat-2.0.4-1.x86_64.rpm |
| Linux DEB | JiwuChat_2.0.4_amd64.deb |
Android arm64 download QR code: