Skip to content

fix: chat window UX, settings tabs, and unfocus visibility - #1

Merged
jubaoliang merged 2 commits into
jubaoliang:masterfrom
liukewia:feature/chat-and-settings-fixes
Aug 27, 2026
Merged

fix: chat window UX, settings tabs, and unfocus visibility#1
jubaoliang merged 2 commits into
jubaoliang:masterfrom
liukewia:feature/chat-and-settings-fixes

Conversation

@liukewia

Copy link
Copy Markdown
Collaborator

Summary

  • Chat window starts at 400px and stays resizable: no height snap on new conversation or first send, resize stays bottom-anchored, empty compact state fills the window.
  • Empty chat shows a gray logo that scales with the message area; agent picker matches the model popover, and both grow with a tall window.
  • Settings are split into 常规 / 窗口 / 快捷键 / 关于. New option keeps chat and settings visible when clicking another app (on by default). Close buttons follow the OS (macOS traffic-light with hover ×).
  • Auth and errors: save logs in and stores the token; silent login with the saved password; HTTP errors show the server message; connection failures offer retry.

Test plan

  • Open chat from the pet: window is ~400px, resizable from the bottom-right; sending a message does not snap height
  • Empty conversation shows the gray logo; shrink the window and confirm the logo shrinks; expand and confirm it stays modest
  • Open agent and model menus in a tall window — lists use remaining height and stay inside the chat card
  • Settings: switch 常规 / 窗口 / 快捷键 / 关于; toggle「点击其他应用时保持窗口显示」on/off and click another app
  • macOS: hover the close traffic light for ×; Windows/Linux: × on the right
  • Save settings with valid credentials; quit/reopen chat with a missing token and confirm silent login
  • Force a connection failure and confirm retry; queue a follow-up while streaming and confirm the finished reply is not marked disconnected
  • make all

Made with Cursor

- Fixed chat window height snapping issue during new conversations and message sending.
- Resolved clipping of model and connector menus in the chat card.
- Improved error handling for queued follow-up turns and connection failures.
- Enhanced settings saving and silent login with stored credentials.
- Updated HTTP error messages to display server responses.
- Added retry functionality for connection failures in chat.
- Refined UI elements for clarity and consistency, including shortcut hints and menu labels.

Additionally, extracted chat and window logic into new hooks for better modularity.
- Added macOS close button hover effects and improved button states.
- Enhanced chat window behavior: now starts at 400px, maintains height during message sending, and allows resizing.
- Improved agent and model popover functionality to fit within the chat window.
- Introduced a setting to keep chat and settings visible when switching apps.
- Updated README and security documentation for clarity.
- Added tests for new components and functionalities.

This commit also includes various UI refinements and adjustments to ensure a smoother user experience.
@jubaoliang
jubaoliang merged commit ac8b9f7 into jubaoliang:master Aug 27, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants