* fix(server): improve external server and error handling
- Skip OpenCode shutdown when using external server
(OPENCODE_SKIP_START=true)
- Return 404 status for non-existent directories instead of
empty array
- Move error logging before response handling
* feat(ui): add configurable text justification activity setting
- Replace hardcoded ENABLE_TEXT_JUSTIFICATION_ACTIVITY constant with
dynamic showTextJustificationActivity setting in useUIStore
- Add toggle UI in Chat settings section (Settings > Chat)
- Add setting to DesktopSettings type for cross-runtime persistence
- Default value is false (matching original constant behavior)
---------
Co-authored-by: iiyangdianfeng <goodydfwow@gmail.com>
- Removed unused activeTurnAnchorId and activeTurnSpacerHeight from MemoryDebugPanel.
- Simplified useChatScrollManager by eliminating unnecessary state and functions related to active turn anchoring.
- Updated loadMessages function signatures to accept an optional limit parameter across message and session stores.
- Enhanced scroll behavior in useScrollEngine to support dynamic bottom tracking during animations.
- Improved event stream handling to allow for resyncing messages with a specified limit.
- Cleaned up session memory state to remove active turn properties, focusing on viewport anchoring.
Update all import statements to use @opencode-ai/sdk/v2
Modify Vite configurations to alias new SDK path
Update API client method signatures for SDK v2 compatibility
* feat: add UI customization and model management features
Add comprehensive UI customization options and enhanced model selection:
- **Favorite & Recent Models**: Star models for quick access, track 5 most recent
- Add favorite/recent sections to model dropdowns
- Persist preferences in local storage
- Works in ModelControls and ModelSelector components
- **Tool Call Expansion Settings**: Control default expansion state for tool outputs
- Three modes: collapsed, activity (summary), detailed
- Applies to activity groups and individual tool calls
- Configurable in Appearance Settings
- **Font Size & Spacing Controls**: Adjustable typography and layout density
- Font size: 50-200% scaling of all semantic typography
- Spacing/padding: 50-200% scaling of margins, gaps, line heights
- Real-time preview with reset buttons
- Settings in Appearance Settings
- **VSCode Extension Settings View**: Full settings access in VSCode extension
- Add settings navigation and view type
- Settings button in header
- Navigate between sessions, chat, and settings
Technical changes:
- Enhanced useUIStore with new state management
- Dynamic CSS variable scaling for typography and spacing
- Typography helper functions for variable access
- ThemeProvider integration for auto-applying scales
* fix: hide theme mode in VSCode and fix detailed tool expansion
- Hide "Theme Mode" setting in VSCode extension settings as VSCode
dynamically applies its own theme to the extension
- Fix bug where tools from subsequent messages in a turn weren't
expanded when "Detailed" mode was selected
- Now correctly aggregates all tool IDs from turnGroupingContext when
calculating effective expanded tools for progressive groups