Commit Graph
17 Commits
Author SHA1 Message Date
weishu cf8ab441ca feat: add support for multiple special words in rainbow text effect 2025-12-17 18:09:25 +08:00
weishu e2ea9fbc45 feat: add rainbow sparkle text effect for ultrathink in user messages 2025-12-17 18:09:25 +08:00
weishu 72d7068c9d Merge branch 'remove-session-detail' 2025-12-17 16:05:46 +08:00
weishu 3faa68f988 refactor: remove dead code components from web/src/components
Remove 5 unused component files that were not imported anywhere:
- SessionDetail.tsx (replaced by SessionChat)
- PermissionPanel.tsx (only used by dead SessionDetail)
- MessageList.tsx
- PermissionBanner.tsx
- PermissionDialog.tsx

Confirmed via grep searches and successful build.
2025-12-17 16:04:15 +08:00
weishu a696cafdd4 refactor: remove macOS caffeinate sleep prevention functionality 2025-12-17 15:59:50 +08:00
weishu 502b63c236 refactor: simplify session component headers and add Telegram Web App support
- Unify session title logic across components to check metadata.name first
- Add Telegram Web App detection with re-check after mount
- Hide header and buttons when running in Telegram environment
- Replace host display with path information in session details
- Remove unused Badge components for session status
- Simplify SessionList and SessionHeader layouts
2025-12-17 14:56:20 +08:00
weishu 0e828a0c13 refactor: use GenericResultView for mcp tools instead of MarkdownResultView 2025-12-17 13:38:26 +08:00
weishu 2d42f41113 refactor: extract tool result views into dedicated registry pattern 2025-12-17 13:35:41 +08:00
weishu 9cc13b51be feat: add todo tracking and custom tool views
Adds todo tracking infrastructure with TodoWrite tool integration to extract
and persist todos in sessions. Refactors ToolCard component to support
custom tool view rendering and displays todo progress in SessionList.
2025-12-17 11:45:17 +08:00
weishu 031116bfce feat: Add online status display and context usage tracking to ChatInput
- Display connection status indicators (online, offline, thinking, permission required) in ChatInput with dynamic vibing messages
- Add context size percentage display showing remaining context availability
- Track latest usage data in reducer with inputTokens, outputTokens, cache metrics, and contextSize
- Calculate contextSize from message usage data and expose via latestUsage in reduceChatBlocks
- Pass thinking, agentState, and contextSize props to ChatInput component
- Remove redundant status indicators from SessionHeader (moved to ChatInput for unified display)
2025-12-17 09:35:45 +08:00
weishu ec3a849cbd feat: refactor ChatInput with autocomplete, suggestion management, and settings integration
Extract word detection and suggestion logic into reusable utilities and hooks.
Add FloatingOverlay and Autocomplete components for intelligent input assistance.
Integrate settings panel and abort button directly into ChatInput component.
Simplify SessionHeader by removing settings dialog (now in ChatInput).
2025-12-17 09:13:15 +08:00
weishu a307fd4893 refactor: remove border styling and improve component styling 2025-12-17 08:39:29 +08:00
weishu 959ee72e68 refactor: simplify permission footer display and remove unused accent border styling 2025-12-17 08:16:18 +08:00
weishu 0fa05dc205 feat: add permission decision options, tool allowlisting, and refactored chat UI components 2025-12-17 07:57:37 +08:00
weishu c2b886896b feat: add interactive CLI token configuration with settings persistence
Implements comprehensive token management with intelligent priority resolution.
Token sources (highest to lowest priority): environment variable, settings file,
interactive prompt. Changes include:

- Updated home directory from ~/.happy to ~/.config/hapi (env var: HAPI_HOME_DIR)
- Added cliApiToken field to Settings interface for persistent storage
- Made cliApiToken mutable in Configuration class (private field with getter/setter)
- Created ui/tokenInit.ts module for token initialization with fallback prompt
- Enhanced auth command: login (interactive input), logout (clear token), status (show source)
- Updated doctor command to correctly identify token source and mask saved token in output
- Token initialization called early in startup flow to ensure availability before API use
2025-12-16 21:54:55 +08:00
weishu 0485065b87 refactor: improve message synchronization with sequence-based pagination and merging 2025-12-16 21:07:20 +08:00
weishu b4654acb92 init 2025-12-16 15:03:50 +08:00