Skip to content

OctopPet v0.2.0

Latest

Choose a tag to compare

@github-actions github-actions released this 03 Sep 07:53

OctopPet v0.2.0

  • 2026-09-03

Fixed

  • Windows: dragging the pet no longer shows a white square (manual move + skip HWND GDI fill; tao ignores background alpha)
  • Windows: clicking the pet no longer restores a titled OS window (skip set_decorations/set_shadow; strip WS_CAPTION in DWM)
  • Windows pet window title is empty so no "OctopPet" caption sits above the mascot
  • Windows: zero pet non-client area (WM_NCCALCSIZE) so the empty white title strip is gone
  • Windows: chat/settings rounded corners no longer flash a white HWND fill on click/focus
  • Windows pet and chat/settings use DWM blur-behind (not extend-frame) so the mascot is not a white square
  • Clicking the pet no longer flashes a white square over the mascot
  • macOS close traffic light shows × on hover and a pressed state
  • Clicking the pet again reopens chat beside the icon instead of restoring the last screen position
  • Chat window height no longer snaps when starting a new conversation or sending the first message; resize stays bottom-anchored and eases over 360ms
  • Model and connector menus stay inside the chat window and scroll instead of growing the OS window
  • Queued follow-up turns no longer mark the finished reply as “连接意外断开”
  • Saving settings now logs in and stores the token; testing connection also stores the password
  • Chat can silently log in with the saved password when the access token is missing
  • HTTP errors show the server message (e.g. “认证失败。”) instead of raw JSON
  • Connection failures in chat offer a retry button
  • Retrying an assistant turn reuses the original text, attachments, and model
  • Settings leftover notices no longer linger on other tabs; shortcut hint and mascot labels are clearer
  • Tray “检查更新” spacing and pet menu “与 Octop 对话” wording

Added

  • Desktop pet glides to a smooth stop after release and can be resized from its bottom-right hover handle (80–224 px)
  • Model and agent popovers grow with the chat window so a tall window can show the full list
  • Empty chat shows a gray logo in the message area
  • Agent picker uses the same popover as the model list
  • Setting to keep chat and settings visible when clicking another app (on by default)
  • Settings tabs: 常规 (connection + mascot), 窗口, 快捷键, 关于
  • hooks/useChatController.ts, hooks/useWindowChrome.ts — chat/settings window logic extracted from UI
  • lib/octopTypes.ts, lib/tauriWindowApi.ts, lib/chatHelpers.ts — clearer module boundaries
  • components/ChatChrome.tsx, components/ChatResizeChrome.tsx
  • styles/ split CSS (base, pet, settings, chat)
  • scripts/sync-version.mjs, scripts/extract-changelog.mjs
  • npm run test:coverage with baseline thresholds
  • Composer unit tests; tray shortcut normalization Rust tests
  • Release workflow: tag/version validation + CHANGELOG injection

Changed

  • Chat window starts at 400px and stays resizable; empty compact state fills the window instead of shrink-wrapping
  • Sending a message no longer changes chat window height
  • Narrow chat windows (~300px) keep the send button on-screen; toolbar chips shrink and wrap
  • Debug builds store credentials in a local app-data file so macOS Keychain does not prompt on every rebuild
  • Chat and settings close buttons follow the OS: traffic-light dot on the left on macOS, × on the right on Windows and Linux
  • Settings window hides after a successful save
  • ChatWindow.tsx slimmed to layout shell (~90 lines); logic in useChatController
  • SettingsWindow uses shared auto-fit + Escape hooks; events via tauriApi
  • Removed unused Tauri scaffold App.tsx; index.html title/icon → OctopPet
  • Composer imports DTOs from octopTypes instead of octopHttp

Removed

  • Monolithic App.css content (replaced by src/styles/* imports)
平台 说明
macOS Apple Silicon .dmg.app.tar.gz(aarch64)
macOS Intel .dmg.app.tar.gz(x86_64)
Windows x64 .msi.exe(setup)
Windows ARM64 .msi.exe(ARM 设备)

CI 产物默认未签名。macOS 首次打开可能需在「系统设置 → 隐私与安全性」中允许;正式分发请配置 Apple / Windows 签名 secrets。