Skip to content

Aivatar 0.2.3

Choose a tag to compare

@ruiwuniu ruiwuniu released this 29 Jun 03:23
· 39 commits to main since this release

Highlights

  • Fixes the shop purchase freeze path by adding per-item rapid-click cooldowns and moving repeatable purchase rules into a tested helper.
  • Adds long-press bulk buying for repeatable shop items: holding a buy button purchases up to 10 units, clamped by wallet, unlock level, and ownership state.
  • Improves render performance by keeping the canvas backing store stable between frames and caching placed-item render classifications/sorting for each frame.
  • Adds a React error boundary fallback so render-time UI failures show a reloadable desktop surface instead of a blank crashed window.
  • Hardens local bridge security with explicit Tauri CSP plus Origin/CORS checks for HTTP and WebSocket bridge traffic.
  • Adds a Tauri single-instance guard so repeated desktop launches focus the existing main window instead of keeping extra WebView processes alive.
  • Updates build/security tooling to Vite 8.1.0, @vitejs/plugin-react 6.0.3, ws 8.21.0, Tauri 2.11.3, and tauri-plugin-single-instance 2.4.2.

更新亮点

  • 修复商店购买快速连点可能导致卡死的路径:购买按钮加入按物品隔离的短冷却,并把可重复购买规则抽成可测试 helper。
  • 新增长按批量购买:可重复购买的商店物品长按可一次买最多 10 个,并按钱包、解锁等级和所有权状态自动限制数量。
  • 优化渲染性能:canvas backing store 不再每帧重设,并按帧缓存摆放物分类/排序,减少重复 filter/sort。
  • 增加 React Error Boundary:渲染期异常会显示可刷新兜底界面,而不是空白崩溃窗口。
  • 加固本地桥接安全:Tauri CSP 从空值改为显式策略,并对 HTTP/WebSocket bridge 请求做 Origin/CORS 校验。
  • 增加桌面 single-instance 防护:重复启动会聚焦已有窗口,不再保留额外 WebView 进程。
  • 更新构建和安全相关依赖到 Vite 8.1.0、@vitejs/plugin-react 6.0.3、ws 8.21.0、Tauri 2.11.3 和 tauri-plugin-single-instance 2.4.2。

2026-07-02 Update / 2026-07-02 更新

  • Streams Codex Desktop and Codex CLI commentary into the avatar thinking bubble while a turn is still running, before final / final_answer.
  • Shows Claude Code MessageDisplay assistant text in avatar bubbles and treats recoverable tool failures as result-review states instead of terminal errors.
  • Shows opencode experimental.text.complete assistant text as live avatar bubble updates for Desktop/TUI and CLI flows.
  • Documents the Codex / Claude Code / opencode live message-display mapping in AGENTS.md and expands desktop-agent smoke coverage for Claude/opencode live text.
  • Additional validation: node scripts\aivatar-desktop-agent-adapters-smoke.mjs, isolated Codex commentary watcher smoke, and npm.cmd run tauri build.

Validation / 验证

  • npm run build
  • npm run tauri -- build --target universal-apple-darwin
  • hdiutil verify src-tauri/target/universal-apple-darwin/release/bundle/dmg/Aivatar_0.2.3_universal.dmg
  • Mounted the final DMG and confirmed CFBundleShortVersionString 0.2.3, CFBundleVersion 0.2.3, and bundle id com.aivatar.desktop.
  • lipo -info confirmed the packaged macOS app binary contains x86_64 arm64.
  • npm.cmd run build
  • cargo check
  • npm.cmd run tauri -- build --bundles nsis,msi --ci
  • npm.cmd run shop:purchase:smoke
  • npm.cmd run shop:ui:smoke
  • npm.cmd run status:bridge:smoke
  • npm.cmd audit --json reported 0 vulnerabilities.
  • Windows desktop smoke confirmed single-instance behavior and a responsive shop DOM path under rapid-click and long-press pressure.

macOS Asset / macOS 安装包

  • Aivatar_0.2.3_universal.dmg SHA256: 9DD9DC7FC0B2179275DFFF46DD0D25CDB18EDE055DEC252330C739CC29F067EC

Windows Assets / Windows 安装包

  • Aivatar_0.2.3_x64-setup.exe SHA256: ADB52E4C9CF493091B3B9E68A3648E2553340A62FCBF2E4DC8FD735C29F294F6
  • Aivatar_0.2.3_x64_en-US.msi SHA256: D2D7DD255E6E703B8A21B6CE1DAA5BDDD99D2A85941940C0013DCAAC1AB230D4

Notes / 说明

  • macOS and Windows installers are unsigned preview builds for GitHub tester distribution.
  • The macOS DMG is not notarized in this preview release.
  • Target-specific Rust OSV scans still report unic-* unmaintained advisories through Tauri's transitive urlpattern dependency; Tauri is already locked to the latest available 2.11.3 in this patch.