Commit graph

204 commits

Author SHA1 Message Date
iliya
dae8c50e4c feat: enhance task management and team member handling
- Added a new "Solo mode" feature in the README, allowing a single agent to manage tasks independently, improving token efficiency.
- Updated TeamMemberLogsFinder to include team name in task ID checks, preventing cross-team task collisions.
- Enhanced TeamProvisioningService with clearer task status protocols and execution discipline guidelines to improve task management practices.
- Introduced new callbacks in ChangeReviewDialog for accepting and rejecting new files, streamlining the review process.
- Updated changeReviewSlice to handle file rejection logic, ensuring accurate state management during reviews.

Made-with: Cursor
2026-03-04 00:57:42 +02:00
iliya
1d07d6bb96 feat: normalize project paths and enhance team member handling
- Updated WorktreeGrouper to normalize project paths before resolving identities and branches, ensuring consistent behavior across platforms.
- Enhanced TeamDataService to improve lead name resolution and prevent self-notification for comments on lead-owned tasks in solo teams.
- Added new utility functions in TeamDataService for better lead name handling and solo team validation.
- Improved TeamMemberLogsFinder to exclude owner sessions when the owner is the team lead, refining log retrieval logic.
- Updated UI components to reflect changes in team member suggestions based on solo team status.

Made-with: Cursor
2026-03-04 00:47:35 +02:00
iliya
032d9b478b feat: enhance team member validation and improve logging
- Added validation to prevent the use of reserved names ("user" and "team-lead") for team members, ensuring clearer error messages during member addition.
- Updated IPC handlers to improve logging functionality, enhancing observability of team-related actions.
- Implemented normalization of file paths across various services to ensure consistent handling on different platforms.
- Enhanced UI components to provide better feedback on team member statuses and actions.

Made-with: Cursor
2026-03-03 23:58:19 +02:00
iliya
fa244052e8 feat: improve team management and logging functionality
- Added background polling timer stop during service shutdown to prevent hanging.
- Enhanced IPC handlers by importing and utilizing renderer log handlers for better logging.
- Updated team-related services to handle member provisioning more robustly, including validation for empty member arrays.
- Implemented timeout handling for file system operations to improve reliability.
- Improved UI components to reflect solo team status and provide clearer feedback on member counts.

Made-with: Cursor
2026-03-03 23:00:55 +02:00
iliya
a30727d3b0 feat: enhance team file handling and logging improvements
- Added support for a new worker in the team file system to list teams, improving performance and reliability in team management.
- Introduced event loop lag monitoring in various IPC handlers to track and log slow operations, enhancing observability.
- Implemented caching for CLI installation status to reduce redundant calls and improve responsiveness.
- Updated project and team data services to include total session counts, optimizing data handling and performance.
- Enhanced error handling and logging across multiple services to provide clearer insights into performance issues and failures.

Made-with: Cursor
2026-03-03 22:00:11 +02:00
iliya
43b18d4920 feat: implement file read timeout handling and size validation across team services
- Introduced a new utility function `readFileUtf8WithTimeout` to handle file reading with a specified timeout, improving robustness against long read operations.
- Added size validation for various team-related files (e.g., config, inbox, processes) to prevent issues with oversized files.
- Updated multiple services (TeamConfigReader, TeamDataService, TeamInboxReader, TeamKanbanManager, TeamMembersMetaStore, TeamProvisioningService, TeamSentMessagesStore, TeamTaskReader) to utilize the new file reading method and enforce size limits.
- Enhanced error handling to gracefully manage read timeouts and invalid file states, improving overall system stability.

Made-with: Cursor
2026-03-03 17:43:29 +02:00
iliya
faf042d640 fix: enhance error messages and documentation for team provisioning
- Updated error handling in TeamAgentToolsInstaller to provide clearer guidance on available domains, improving user experience.
- Added an important note in TeamProvisioningService documentation regarding domain support, clarifying that "member" is not a valid domain.
- Adjusted EditTeamDialog component for consistent styling by removing unnecessary class properties.

Made-with: Cursor
2026-03-03 17:00:25 +02:00
iliya
0e627c4b3f refactor: clean up TeamProvisioningService and enhance TaskCommentsSection UI
- Removed outdated OAuth token warning logic from TeamProvisioningService to streamline authentication handling.
- Updated TeamProvisioningBanner to prevent auto-dismissal of "ready" state, allowing users to inspect logs after rapid provisioning cycles.
- Enhanced TaskCommentsSection UI by integrating MemberBadge for author display and improving comment styling for better visual clarity.

Made-with: Cursor
2026-03-03 16:46:14 +02:00
iliya
e0eaa27a13 feat: add sent messages notification handling and enhance configuration validation
- Introduced functionality to notify users of new messages in sentMessages.json, improving user awareness of team communications.
- Enhanced configuration validation to include new notification settings: notifyOnLeadInbox, notifyOnUserInbox, and notifyOnClarifications, ensuring proper boolean handling.
- Updated TeamProvisioningService to persist sent messages, improving message tracking and reliability.
- Improved UI components to reflect changes in message handling and user feedback during provisioning processes.

Made-with: Cursor
2026-03-03 15:54:51 +02:00
iliya
2615ed0ad7 fix: standardize file naming conventions and improve error handling in team provisioning
- Updated file naming in release workflow to use consistent dot notation for better clarity.
- Enhanced RELEASE.md to reflect updated file names for download links.
- Added logic to filter out the "user" pseudo-member in TeamMemberResolver to prevent confusion in team configurations.
- Improved error handling in TeamProvisioningService to avoid caching authentication failures and ensure accurate readiness status.
- Introduced visual tone handling in ProvisioningProgressBlock for better user feedback on errors.

Made-with: Cursor
2026-03-03 14:57:06 +02:00
iliya
59c5ee3836 feat: optimize binary verification and preflight checks in TeamProvisioningService
- Implemented parallel execution of version verification and initial ping attempts to reduce overall wait time during team provisioning.
- Enhanced error handling by prioritizing the version check for clearer error messages while maintaining the integrity of subsequent ping attempts.
- Streamlined the logic for retrying ping attempts, improving the efficiency of the preflight authentication process.
2026-03-03 01:02:50 +02:00
iliya
b08a4d3764 feat: implement team member replacement functionality and enhance file search caching
- Added a new handler for replacing team members, allowing bulk updates to team member roles and workflows.
- Enhanced the FileSearchService to include caching for file listings, improving performance by reducing redundant file system scans.
- Updated editor and team-related services to support the new member replacement feature, ensuring proper validation and error handling.
- Improved UI components to accommodate workflow input for team members, enhancing user experience during team management.
2026-03-03 00:56:58 +02:00
iliya
34d2929a0b Remove obsolete CLAUDE.md documentation files from main, preload, renderer, and services directories to streamline project structure and eliminate outdated information. 2026-03-02 23:16:48 +02:00
iliya
0099be4f23 fix: improve WSL user home path resolution and enhance process renaming on Windows
- Updated fallback home path logic to correctly handle 'root' user case in WSL.
- Refactored process renaming in TeamAgentToolsInstaller to include retry logic on Windows for better error handling during concurrent operations.
- Enhanced user information retrieval in TeamProvisioningService to handle potential errors gracefully.
- Clarified documentation in processKill utility regarding platform-specific behavior.
2026-03-02 23:10:44 +02:00
iliya
52ef9fd0a8 feat: add FAQ section to README and improve cross-platform handling in code
- Introduced a comprehensive FAQ section in the README to address common user queries regarding app installation, code handling, agent communication, and project management.
- Enhanced cross-platform keyboard shortcut handling in the Electron app for better user experience on macOS and Windows/Linux.
- Updated signal handling in the standalone process to ensure proper shutdown behavior across platforms.
- Improved WSL user resolution logic to support default user retrieval for better compatibility.
- Enhanced notification handling to support cross-platform features and improve user feedback.
- Refactored SSH connection management to include additional key file types and improve authentication handling.
- Updated team management services to ensure consistent process termination across platforms.
- Improved project path handling in team provisioning to accommodate different operating systems.
- Enhanced editor components to utilize shared utility functions for path management, improving code maintainability.
2026-03-02 22:56:56 +02:00
iliya
171773acf1 feat: add project file listing functionality and enhance mention support
- Introduced a new IPC handler for listing project files, enabling file mentions independent of editor state.
- Enhanced the MentionableTextarea component to support file suggestions based on project path, improving user experience when mentioning files.
- Implemented a custom hook for loading and filtering project files as mention suggestions, optimizing performance with caching.
- Updated relevant components to integrate project path handling, ensuring seamless file mention functionality across dialogs and message composers.
2026-03-02 21:14:49 +02:00
iliya
80034542ec feat: enhance editor file handling and task management features
- Improved EditorFileWatcher to debounce content change events, optimizing git status cache invalidation for rapid file saves.
- Updated ProjectScanner to derive project and display names from actual paths, enhancing reliability in project identification.
- Enhanced IPC methods for creating tasks and sending messages directly from the editor context menu, streamlining team collaboration.
- Refactored task relationship handling to ensure accurate linking of tasks based on user actions.
- Introduced animations for new chat messages and comments, improving user experience in chat history and task comments sections.
2026-03-02 20:08:03 +02:00
iliya
6aec33ae33 feat: enhance notification and task management features
- Updated notification configuration to separate settings for lead and user inbox messages, improving user control over notifications.
- Enhanced the handling of inbox message notifications to respect individual inbox settings.
- Introduced new IPC methods for managing watched directories, allowing for more granular file monitoring.
- Improved task management by implementing work intervals for task status transitions, ensuring accurate tracking of task progress.
- Added validation for task creation and configuration, ensuring proper input handling for project paths and task properties.
2026-03-02 18:17:57 +02:00
iliya
51df8847a9 feat: enhance EditorFileWatcher and IPC for improved file change handling
- Introduced a grace period in EditorFileWatcher to ignore rapid 'change' events during startup, preventing performance issues in large repositories.
- Added a new IPC channel for setting watched file paths, optimizing file monitoring by focusing on currently open tabs.
- Updated the editor API to include the new setWatchedFiles method, enhancing performance by avoiding unnecessary project-wide file watching.
- Enhanced tests for EditorFileWatcher to validate the new startup behavior and ensure proper event handling.
2026-03-02 00:15:00 +02:00
iliya
e1585b4f71 feat: add binary file preview functionality and improve editor performance
- Introduced a new IPC handler for reading binary files as base64 for inline previews, enhancing the editor's capability to display images directly.
- Implemented a placeholder component for non-previewable binary files, providing users with file information and an option to open in the system viewer.
- Enhanced the EditorFileWatcher to ignore permission errors and adjusted debounce timing for better performance during file system events.
- Updated the ProjectFileService to include a method for reading binary previews with security checks and MIME type validation.
- Improved the EditorImagePreview component to handle loading states and display images with a checkerboard background for transparency.
- Refactored the EditorBinaryState component to utilize the new binary preview functionality, streamlining the display of binary files.
2026-03-01 23:51:51 +02:00
iliya
91412dccc1 feat: optimize file handling and component performance in editor
- Enhanced FileSearchService to implement parallel subdirectory traversal, improving efficiency in file collection.
- Refactored ProjectFileService to reuse directory stats, reducing unnecessary file system calls.
- Updated multiple components (EditorStatusBar, EditorTabBar, EditorToolbar, GitStatusBadge, QuickOpenDialog, SearchInFilesPanel) to utilize Zustand's shallow comparison for improved state management and performance.
- Introduced a module-level cache for QuickOpenDialog to minimize redundant API calls and enhance user experience.
- Added cache invalidation logic in editorSlice to ensure fresh data on file system changes.
2026-03-01 22:54:10 +02:00
iliya
533f9b9e06 feat: enhance EditorFileWatcher and FileSearchService for improved performance and event handling
- Introduced debouncing in EditorFileWatcher to aggregate rapid file system events, reducing unnecessary callbacks.
- Enhanced FileSearchService to parallelize file checks and improve efficiency in collecting file paths from directories.
- Updated EditorFileTree and ProjectEditorOverlay components to optimize state management and reduce re-renders using Zustand's shallow comparison.
- Added tests for EditorFileWatcher to ensure proper event handling and debouncing functionality.
2026-03-01 22:40:02 +02:00
iliya
509f7e82ab feat: optimize file and directory handling in editor services
- Enhanced FileSearchService to parallelize subdirectory traversal, improving performance when collecting file paths.
- Refactored ProjectFileService to classify directory entries without I/O, followed by parallel resolution of entries, optimizing file system access.
- Updated QuickOpenDialog to implement a search feature with a limit on rendered files, improving user experience when navigating large file sets.
- Introduced a new method for resolving symlinks in ProjectFileService, ensuring proper handling of symbolic links within the project structure.
2026-03-01 21:13:11 +02:00
iliya
4c5f0c3cc2 feat: implement custom project path management and task relationship features
- Added API endpoints for adding and removing custom project paths, allowing persistence across app restarts.
- Implemented IPC handlers for managing custom project paths in the application.
- Introduced functionality for adding and removing task relationships (blockedBy, blocks, related) between tasks, enhancing task management capabilities.
- Updated relevant components and services to support the new task relationship features and ensure proper integration with the existing task management system.
- Enhanced notifications for task relationships to improve user awareness of task dependencies.
2026-03-01 20:42:17 +02:00
iliya
a0764e39d1 feat: enhance team name validation and UI interactions
- Updated TEAM_NAME_PATTERN to enforce kebab-case naming conventions with lowercase letters and hyphens.
- Introduced a sanitizeTeamName function to ensure team names are properly formatted before submission.
- Enhanced CreateTeamDialog to provide real-time feedback on team name validity and display sanitized names.
- Modified NewProjectCard to open the teams tab upon navigating to a matching worktree.
- Updated TeamListView header to clarify the selection process for teams.
2026-03-01 19:41:19 +02:00
iliya
47d979a43d feat: implement auth status check with retry mechanism
- Added a retry mechanism for checking authentication status in the CliInstallerService to handle stale locks after Ctrl+C interruptions.
- Introduced constants for maximum retries and delay between attempts to improve robustness.
- Updated logging to provide detailed feedback on retry attempts and outcomes.
2026-03-01 18:51:11 +02:00
iliya
0190ae77e8 feat: add support for reading members from UI-created teams
- Implemented functionality to read members from members.meta.json for both UI-created and CLI-created teams.
- Added error handling to ensure the listing process continues even if the meta file is broken.
2026-03-01 18:33:15 +02:00
iliya
f4f02d5536 feat: enhance task management with new file renaming feature and notification settings
- Added a new file renaming functionality in the editor, allowing users to rename files and directories in place.
- Introduced notification settings for team inbox messages and task clarifications, enabling users to receive native OS notifications for important updates.
- Updated the README to reflect the new features and provide a clearer overview of the task management capabilities.
- Improved the application icon handling for notifications across different platforms.
2026-03-01 17:52:54 +02:00
iliya
6bdacd26af feat: add support for Claude Code CLI worktrees
- Introduced CLAUDE_CODE_DIR constant for the .claude/worktrees/ directory.
- Updated GitIdentityResolver to recognize and handle worktrees from Claude Code CLI.
- Enhanced WorktreeBadge and DashboardView to display appropriate labels for Claude Code worktrees.
- Updated type definitions and source labels to include 'claude-code' for better integration.
- Improved session handling in DateGroupedSessions and FileSectionDiff components to accommodate new worktree type.
2026-03-01 13:47:33 +02:00
iliya
bfb4be1ef8 fix: Windows test compatibility — resolve paths and normalize mock keys 2026-03-01 09:32:07 +02:00
iliya
3399332fda docs: add cross-platform note to pathValidation 2026-03-01 08:47:10 +02:00
iliya
406f450c5a fix: Windows CI — resolve paths in validation, remove unused constant
- normalizeForCompare and isPathWithinRoot now use path.resolve()
  for consistent drive-letter handling on Windows
- Remove unused TOOL_VERSION constant (ESLint no-unused-vars)
2026-03-01 08:44:56 +02:00
iliya
20d563d737 fix: resolve paths in validation for Windows compatibility
normalizeForCompare and isPathWithinRoot now use path.resolve()
to ensure consistent drive-letter prefix on Windows. Previously
path.normalize('/foo') gave '\foo' (no drive letter) while
path.resolve('/foo') gives 'C:\foo', causing containment checks
to fail on Windows CI.
2026-03-01 08:12:55 +02:00
iliya
ccee484adc fix: editor improvements — isDir bug, scroll-to-line, Quick Open, a11y
- Fix isDir heuristic: use backend-provided isDirectory instead of
  filename-based guessing (breaks for Makefile, .github, etc.)
- Add scroll-to-line on search result click via editorPendingGoToLine
- Add Cmd+Shift+W shortcut for toggling line wrap
- Rewrite Quick Open to fetch all project files from backend API
  instead of flattening the loaded tree (limited to expanded dirs)
- Fix fd leak in atomicWrite: close file handle in finally block
- Add a11y: role=dialog/alert, aria-modal, aria-label on modals
- Add type=button on error state buttons
2026-03-01 07:55:50 +02:00
iliya
30c78b01e2 merge: integrate improvements branch into editor feature
Resolve 3 merge conflicts:
- TeamAgentToolsInstaller: keep TOOL_VERSION constant
- store/index.ts: keep editor listener + deferred CLI status
- storeTestUtils.ts: include all new slices (editor + improvements)

Fix post-merge issues:
- Restore logger in review.ts (needed by improvements' validateFilePath)
- Fix createStats return type in ProjectFileService tests
2026-02-28 23:45:33 +02:00
iliya
5b0c7d13fc feat: add project editor with drag & drop file management
- Backend: ProjectFileService with file CRUD, search, git status, file watcher
- IPC: 12 editor channels with security validation and path containment
- Store: editorSlice with multi-tab management, draft persistence, conflict detection
- UI: CodeMirror 6 editor, file tree with DnD, search-in-files, context menus
- Move: fs.rename with EXDEV fallback, full path remapping across all caches
- Tests: comprehensive coverage for services, IPC handlers, store, and utilities
2026-02-28 23:40:41 +02:00
iliya
ca03b14c51 feat: implement timeout handling and logging for team data fetching
- Added a timeout mechanism to the getBranch calls in TeamDataService to prevent hangs on Windows setups, improving reliability during team data retrieval.
- Introduced performance logging in TeamDetailView and teamSlice to track the start and completion of team selection processes, enhancing debugging capabilities.
- Updated error handling to provide clearer warnings during team provisioning and selection, improving user experience.
2026-02-28 22:38:45 +02:00
iliya
9ce6d37528 feat: enhance team data fetching with performance logging and timeout handling
- Added performance logging to the handleGetData function, tracking the duration of team data retrieval and logging warnings for slow responses.
- Implemented a timeout mechanism in the selectTeam function to prevent long-running fetch operations, improving user experience.
- Enhanced the getTeamData method with detailed timing metrics for each data loading step, allowing for better performance analysis and debugging.
2026-02-28 22:29:43 +02:00
iliya
b346fd319d feat: optimize team display name resolution and enhance file change handling
- Introduced a caching mechanism for team display names to reduce redundant API calls and improve performance.
- Updated file change event handling to debounce cache invalidation, preventing unnecessary rescans during rapid file changes.
- Enhanced GlobalTaskDetailDialog and TaskDetailDialog to manage loading states and improve team data fetching logic.
- Refactored teamSlice to streamline team selection and data loading processes.
2026-02-28 22:16:18 +02:00
iliya
b2e48c6966 feat: enhance team management with improved session and project path history handling
- Introduced constants for maximum session and project path history limits to optimize memory usage.
- Updated `TeamConfigReader` and `TeamProvisioningService` to limit session and project path history to defined maximums.
- Enhanced `TeamMembersMetaStore` to handle large meta files more efficiently by checking file size before processing.
- Refactored state management in `teamSlice` to include optimized lookups for team summaries by name and session ID.
2026-02-28 21:40:47 +02:00
iliya
3b2a0de140 feat: enhance TeamConfigReader with improved file handling and concurrency
- Introduced `mapLimit` function to manage concurrent processing of team directories, optimizing performance.
- Added `readFileHead` function to read the beginning of large configuration files efficiently.
- Implemented `extractQuotedString` to safely extract values from JSON strings in configuration headers.
- Enhanced error handling and validation for team configuration files, ensuring robust processing of team data.
- Updated logic to handle large configuration files differently, improving overall reliability and performance.
2026-02-28 21:23:16 +02:00
iliya
0cb85d463c feat: enhance project editor with new error boundary and file handling improvements
- Introduced `EditorErrorBoundary` component to catch runtime errors in CodeMirror, providing a fallback UI to prevent crashes.
- Updated file handling logic to utilize `isbinaryfile` for more reliable binary detection, replacing manual null-byte scans.
- Enhanced `openFile` method to prevent duplicate tabs for already opened files.
- Improved documentation for new components and updated file lists to reflect recent changes.
- Optimized file watcher and path validation processes for better performance and reliability.
2026-02-28 17:55:21 +02:00
iliya
1a928a68de feat: integrate simple-git for enhanced Git status tracking and improve file watcher performance
- Replaced direct Git command usage with `simple-git` for more reliable status tracking, including support for renamed files and conflict detection.
- Updated IPC channels to reflect changes in Git status retrieval method.
- Enhanced file watcher initialization on Windows to prevent UV thread pool saturation by starting watchers sequentially.
- Improved application startup by staggering context system initialization and notification listeners to optimize performance.
2026-02-28 14:59:53 +02:00
iliya
a58d50c749 feat: enhance project editor with autosave, improved file management, and performance optimizations
- Implemented draft autosave functionality to prevent data loss during crashes, with recovery options for unsaved changes.
- Updated file management services to support better path validation and conflict detection.
- Enhanced performance with optimized file watcher and caching strategies for project scanning.
- Improved user experience with confirmation dialogs for unsaved changes and refined keyboard shortcuts.
- Documented testing strategies and rollback plans for iterative development.
2026-02-28 14:49:41 +02:00
iliya
d7fc71a5e6 feat: enhance project editor with file management, Git integration, and UI improvements
- Introduced `EditorFileWatcher` for live file change detection and `GitStatusService` for displaying Git status in the file tree.
- Added context menu for file operations (create, delete) and implemented multi-tab support for the editor.
- Enhanced user experience with keyboard shortcuts, search functionality, and breadcrumb navigation.
- Updated IPC channels for file operations and integrated conflict detection during file saves.
- Improved performance with file watcher optimizations and virtualized file tree rendering.
2026-02-28 13:35:22 +02:00
iliya
7192ca68fb feat: enhance in-app project editor with architecture documentation and service updates
- Added detailed architecture and component hierarchy documentation for the in-app project editor.
- Introduced `ProjectFileService` to manage file operations with improved path validation.
- Updated `electron.vite.config.ts` to set `UV_THREADPOOL_SIZE` for better performance on Windows.
- Deferred non-critical startup tasks in `index.ts` to avoid thread pool contention.
- Enhanced `CliInstallerService` with timeout handling for status gathering to prevent UI hangs.
- Added tests for `CliInstallerService` to ensure proper timeout behavior.
2026-02-28 12:58:20 +02:00
iliya
0c2f70b2b2 feat: implement in-app project editor with CodeMirror integration
- Added architectural plan and iteration plan for the in-app project editor.
- Introduced new components for the editor, including CodeEditorOverlay, FileTreePanel, and EditorTabsPanel.
- Established state management using Zustand for editor state persistence.
- Implemented IPC channels for file operations and editor functionality.
- Enhanced TeamDetailView with a button to open the editor overlay.
- Conducted reuse analysis for existing components to optimize codebase integration.
2026-02-27 22:36:06 +02:00
iliya
5b08cca69b refactor: move Docker files to docker/ and CHANGELOG to docs/ 2026-02-27 21:04:11 +02:00
iliya
1737662354 feat: add download badges with direct links per platform 2026-02-27 20:55:38 +02:00
iliya
697f5bb896 fix windows 2026-02-27 20:10:54 +02:00