Commit Graph
56 Commits
Author SHA1 Message Date
Bohdan Triapitsyn b861e4abf1 feat: introduce useEffectiveDirectory hook and adopt across views (#226)
Add a centralized useEffectiveDirectory hook to resolve the active directory
Use the hook across DiffView, FilesView, GitView, and TerminalView
Fix list styling by rendering ul/ol bullets outside
2026-01-27 11:57:56 +02:00
Bohdan Triapitsyn f34027df10 Optimize chat rendering & add web session activity tracking (#214)
* feat: add chat virtualization and turn grouping infrastructure

Implement VirtualMessageList with virtualization and overscan for smooth scrolling
Refactor MessageList to render only visible messages and pass scroll refs
Introduce TurnGroupingContext and provider to stabilize per-turn rendering and reduce re-renders

* feat: add web server session activity endpoint for visibility restore

Add /api/session-activity endpoint to expose tracked session activity
Use web server activity first when restoring visibility, with fallback to global status
Update server SSE to set session phase on activity events

* feat(chat): split TurnGroupingContext into UI/Streaming contexts

Add separate UI state and streaming contexts to reduce re-renders.
Skip animations for items visible in collapsed view when expanding.
Track shown parts in collapsed mode to fade in progressively

* feat(ui): cache turn groups with expand state and guard web activity

Add isExpanded to the turn cache key to trigger updates correctly
Expose isGroupExpanded from UI state so groups reflect expand/collapse
Limit web server session activity fetch to web runtime only
2026-01-25 19:16:26 +02:00
Bohdan Triapitsyn 1720a8d6fd feat: add iOS safe area support for PWA header
Introduce CSS variables for safe-area in iOS PWA environments
Apply header padding based on safe-area top to header-safe-area element
2026-01-24 18:37:03 +02:00
Bohdan Triapitsyn 0e11ea3f83 feat: extend PR context to include check details
Add check details to PR context via includeCheckDetails flag
Open a checks dialog showing check run summaries and steps
Improve PR lookup for forked repos by matching head branch
2026-01-24 17:59:08 +02:00
Bohdan Triapitsyn 463e9ec4e3 Add GitHub integration for PRs, issues and AI PR description (#205)
* feat: integrate GitHub OAuth device flow across runtimes

Add GitHub OAuth device flow endpoints across runtimes
Introduce GitHubSettings UI panel and sidebar entry
Persist GitHub auth state in per-runtime storage

* feat: add GitHub PR status and PR description generation

Show PR status for the current branch in the Git view
Generate a pull request description from the diff between base and head
Expose prStatus, prCreate, and prMerge APIs in web and desktop clients

* feat: add GitHub PR ready for review

Add API to mark pull requests as ready for review
Show a Ready button for draft PRs and reflect status in UI
Handle token expiration and GraphQL errors when marking ready
2026-01-23 16:08:58 +02:00
Bohdan Triapitsyn d97181bcd2 feat(UI): Introduce new UI components for file attachments and related views (#191)
Add file management API and UI components
Implement directory listing, search and CRUD operations in desktop backend
Expose new Files API on frontend to list, search, and modify files
2026-01-22 12:21:19 +02:00
Bohdan Triapitsyn 24969ba856 feat: implement file editing capabilities with CodeMirror integration
- Added CodeMirror editor for file content editing in FilesView.
- Introduced draft saving functionality with unsaved changes confirmation dialog.
- Implemented file writing API to persist changes to the filesystem.
- Enhanced language support for syntax highlighting based on file extensions.
- Updated UI components to support new editing features, including save and discard options.
- Refactored line selection logic for improved user experience on both desktop and mobile.
- Added new utility functions for language detection by file extension.
- Introduced a new theme for CodeMirror to align with the application's design.
2026-01-18 17:29:31 +02:00
Bohdan Triapitsyn 5389bae465 feat: enhance process cleanup to avoid orphaned processes and improve reliability 2026-01-16 02:38:09 +02:00
Bohdan Triapitsyn fafdce62d7 feat: fix orphaned OpenCode processes cleanup on restart or exit 2026-01-16 02:20:12 +02:00
Bohdan Triapitsyn e0279e59b0 feat: implement default Git identity management and local identity check 2026-01-14 22:34:17 +02:00
Bohdan Triapitsyn be5a12af6e refactor(diff): enchance file list display 2026-01-14 15:21:44 +02:00
btriapitsyn fa83c1e645 feat(git): add token authentication and credential discovery
Add support for token-based git authentication in identity profiles.
Enable discovery and import of credentials from ~/.git-credentials file.
Introduce remote URL-based filtering for token identities in git view.
2026-01-14 02:47:26 +02:00
Bohdan Triapitsyn 21fdba08a3 feat: Integrate ClawdHub skill registry 2026-01-10 01:01:47 +02:00
Bohdan Triapitsyn 4a87126b74 feat: added questions and permissions 2026-01-09 21:38:22 +02:00
Bohdan Triapitsyn 8e777a94c2 feat: add support for model variants across chat components and session management 2026-01-08 14:48:06 +02:00
Bohdan Triapitsyn 18c5b4c7b5 feat: add multi-project support (#110)
* feat: Implement project management store with project path validation and synchronization

- Added `useProjectsStore` for managing projects, including adding, removing, renaming, and validating project paths.
- Implemented persistence for projects and active project ID using safe storage.
- Introduced synchronization from desktop settings to keep project data consistent.
- Enhanced session store to manage sessions by directory and added new methods for session management.
- Updated todo store to fetch session todos based on the directory context.
- Refactored server code to validate and resolve project directories for various API endpoints.
- Added project entry validation and sanitization to ensure data integrity.

* feat(settings): migrate legacy project settings and update settings loading logic

* feat: enhance project management with directory-aware settings and improved agent/command source handling

* feat: enhance session and project management with directory-aware settings and improved configuration refresh logic

* feat: enhance project management with worktree manager integration and project directory resolution

* feat: enhance agent groups store with project directory resolution and loading logic

* feat: add heartbeat management and global wrapping for SSE blocks in agent and chat providers

* feat: refactor command and project handling in useCommandsStore

- Replaced useDirectoryStore with useProjectsStore to manage project paths.
- Introduced getRequestDirectory function to determine the active project directory.
- Updated command fetching to respect project-level scoping.
- Enhanced error handling and logging for command configuration fetching.
- Improved command configuration saving and updating to utilize project directory context.

feat: enhance project path normalization in useProjectsStore

- Added resolveTildePath function to expand paths starting with ~.
- Updated normalizeProjectPath to utilize home directory for path expansion.

fix: update permission handling in useSessionStore

- Changed Permission type to PermissionRequest for clarity.
- Updated respondToPermission method to use requestId instead of permissionId.

refactor: improve permission utilities

- Introduced types for PermissionAction and PermissionRule.
- Enhanced getAgentDefinition and resolveConfigStore functions for better type safety.
- Added resolvePermissionAction to streamline permission resolution logic.

feat: add agent configuration retrieval endpoint

- Implemented new API endpoint to fetch agent configuration based on project directory.
- Enhanced getAgentPermissionSource to prioritize project-level permissions.

chore: update SDK version in package.json files

- Bumped @opencode-ai/sdk version to ^1.1.1 across all relevant package.json files.

refactor: streamline bridge message handling

- Updated handleBridgeMessage to accept directory parameter for agent and command requests.
- Improved local API request handling to extract directory from query parameters and headers.

feat: enhance project configuration management

- Added functions to retrieve and merge project configuration paths.
- Improved handling of existing project configuration files for agents and commands.

* feat: enhance VSCode integration and session management

- Added support for a sticky sidebar header background in light and dark themes.
- Introduced functions to read VSCode workspace directory and check if running in VSCode.
- Implemented detailed logging for session loading and creation processes.
- Enhanced session filtering based on directory structure and canonical paths.
- Added a new method to reorder projects and prevent modifications in VSCode workspace.
- Improved error handling and logging for app initialization and markdown file parsing.
- Updated API checks and health checks to ensure readiness before proceeding.
- Refactored code for better readability and maintainability across various modules.

* feat: improve agent and branch selection logic, enhance session management, and update multi-run creation response

* feat: add worktree management actions in agent group detail and sidebar, including delete and keep only options

* fix(ui): share IME guard and cover multi-run

* fix(session): reduce maximum visible sessions in group from 7 to 5
2026-01-06 21:31:04 +02:00
Bohdan Triapitsyn 9d1aceeb6d fix: make model selector dropdowns responsive to viewport 2026-01-04 01:24:29 +02:00
Bohdan Triapitsyn 5029acfb9d fix(session): refresh sessions list after worktree archive operation 2026-01-03 02:37:55 +02:00
Bohdan Triapitsyn 07ad3eaa3a feat: mprove model selector with search and keyboard navigation
Add Ctrl+M keyboard shortcut to open model selector
Use desktop dropdowns in VSCode runtime instead of mobile panels
2026-01-02 13:08:21 +02:00
Bohdan Triapitsyn cadcf0bcf6 feat: enhance git operations with unpublished commits detection and upstream setup on first push 2025-12-31 01:06:33 +02:00
Bohdan Triapitsyn 2c833cef40 feat: Implement skill management functionality
- Added skill scope helpers and CRUD operations for skills in opencodeConfig.ts.
- Introduced API endpoints for skill management in main.tsx and index.js.
- Enhanced server-side logic to support skill discovery, creation, updating, and deletion.
- Implemented supporting file operations for skills, including reading, writing, and deleting files.
- Updated package.json to use the latest version of @opencode-ai/sdk.
2025-12-30 17:36:52 +02:00
Nick Roth aefbb1eac2 feat: add intel mac support (#80) 2025-12-28 22:57:26 +02:00
Bohdan Triapitsyn 4d7340bf49 feat: update message handling to use 'finish' property for step completion logic 2025-12-27 15:51:28 +02:00
Bohdan Triapitsyn ff874cc33d feat: switch project from pnpm to bun 2025-12-26 16:45:30 +02:00
Bohdan Triapitsyn 96fd94fa7b fix(api): optimize opencode api health check time and workspace switching 2025-12-26 02:29:00 +02:00
Bohdan Triapitsyn 508d0d1b4d feat: update git commands and improve diff loading with timeout handling 2025-12-25 16:55:37 +02:00
Bohdan Triapitsyn de0d7b698a feat: opencode sdk upgrade 2025-12-24 03:24:47 +02:00
Bohdan Triapitsyn 34fea1c6b7 release v1.3.2 2025-12-22 02:31:43 +02:00
Bohdan Triapitsyn 54485af22c release v1.3.0 2025-12-21 02:36:18 +02:00
Bohdan Triapitsyn 64a0b80710 feat: enhance header tab responsiveness 2025-12-20 14:30:08 +02:00
Bohdan Triapitsyn 79ed6abab7 feat: implement update management system with new update store and UI components 2025-12-20 01:04:32 +02:00
Bohdan Triapitsyn bddb174bd3 feat: add about dialog with custom information 2025-12-19 18:59:08 +02:00
Bohdan Triapitsyn 0b091c6c15 feat(ui): improve theme consistency and add diff panel shortcut 2025-12-19 16:48:25 +02:00
Bohdan Triapitsyn 53c805ff09 fix: adjusted Git view layout 2025-12-19 11:55:35 +02:00
Bohdan Triapitsyn e6b07a0563 fix: filter hidden internal agents from UI and updated sdk version 2025-12-18 19:02:42 +02:00
Bohdan Triapitsyn 9bd866ade1 feat: add update check functionality and improve menu options for macOS 2025-12-17 18:57:20 +02:00
Bohdan Triapitsyn 34353e1970 feat: add image preview support in Diff tab and improve diff view visuals 2025-12-17 14:10:23 +02:00
Bohdan Triapitsyn 2d048624bc feat: implement theme detection logic 2025-12-17 12:57:09 +02:00
Bohdan Triapitsyn 6adb53fe61 feat: enhance task tool rendering with live duration, collapsible output, and unified markdown display 2025-12-16 21:31:22 +02:00
Bohdan Triapitsyn 8f6e6db5c5 feat: implement todo tracking with collapsible status row and update event handling 2025-12-16 02:34:29 +02:00
Bohdan Triapitsyn ca898cf321 release v1.2.0 2025-12-15 18:20:29 +02:00
Bohdan Triapitsyn 3f31e24cb1 release v1.1.5 2025-12-15 13:19:37 +02:00
Bohdan Triapitsyn e064bcf355 feat: enhance file attachment features performance 2025-12-15 13:15:45 +02:00
Bohdan Triapitsyn 2b50f365bd feat: add Flexoki themes for Shiki syntax highlighting 2025-12-15 00:20:26 +02:00
Bohdan Triapitsyn 0b92bbc487 feat: Replaced Monaco diff editor with Pierre/diffs for better performance 2025-12-14 02:29:46 +02:00
Bohdan Triapitsyn 66fc5f096c feat(model-controls): adjust model/agent selection alignment 2025-12-13 16:59:03 +02:00
Bohdan Triapitsyn 913d8e4a00 fix: adjust layout in SessionSidebar component 2025-12-08 02:43:59 +02:00
Bohdan Triapitsyn 2eecaddee1 feat: enhance update dialog with changelog notes 2025-12-08 01:44:12 +02:00
Bohdan Triapitsyn 921f691ebe fix: enhance runtime check with server info 2025-12-08 01:00:02 +02:00
Bohdan Triapitsyn 07d8c7eedd fix: enhance shell environment detection for opencode binary 2025-12-08 00:36:51 +02:00