Commit graph

30 commits

Author SHA1 Message Date
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
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
17e20847d6 improvemtns 2026-02-27 14:44:02 +02:00
iliya
99a8bff8d2 feat: integrate terminal service and enhance CLI authentication handling
- Added PtyTerminalService to manage PTY terminal processes, enabling terminal functionalities within the application.
- Updated CLI installer to include authentication status checks, providing feedback on user login state.
- Enhanced the dashboard with a warning banner for CLI installation status, prompting users to log in if not authenticated.
- Introduced IPC channels for terminal operations, allowing communication between main and renderer processes for terminal management.
- Improved TaskCommentsSection and other components to support new features and enhance user experience during task management.
2026-02-26 20:17:32 +02:00
iliya
7019bf6114 feat: add team restoration and permanent deletion features
- Implemented functionality for restoring soft-deleted teams and permanently deleting teams from the system.
- Introduced new IPC channels for team restoration and permanent deletion, enhancing team management capabilities.
- Updated TeamDataService and related components to handle the new operations, ensuring data integrity during team management.
- Enhanced UI components to support team restoration and deletion actions, improving user experience and management workflows.
2026-02-26 12:15:47 +02:00
iliya
fd3176716b feat: enhance team management and review processes with new functionalities
- Added support for inferring team lead names from configuration, improving message attribution in task communications.
- Introduced new dependencies for CodeMirror language support, enhancing the editing experience for various programming languages.
- Implemented scoped item IDs in the CLI logs view to prevent cross-group collisions, improving UI clarity.
- Enhanced sorting logic in the team list view to prioritize alive teams and match current project paths.
- Added lazy-check functionality for task changes in Kanban cards, optimizing performance and user experience.
- Updated diff view components to support new language features and improve overall editing capabilities.
2026-02-25 11:40:01 +02:00
iliya
1d7e55e89a feat: implement editable diff functionality with save and discard options
- Added support for editing file content during reviews, allowing users to save changes directly to disk.
- Introduced new IPC channels for saving edited files and handling content updates.
- Enhanced the review toolbar with actions for saving and discarding edits, along with indicators for edited files.
- Implemented keyboard shortcuts for improved navigation and editing experience.
- Integrated a new component for rendering CLI logs in a rich format, replacing the previous raw JSON display.
- Updated state management to track edited contents and handle file edits effectively.
2026-02-25 09:03:50 +02:00
iliya
190cafdb8e feat: implement diff view with 4 phases — review, accept/reject, task scoping, enhanced UX
Phase 1: Core diff extraction and display
- ChangeExtractorService: JSONL streaming parser with snippet extraction
- FileContentResolver: 3-level content resolution (file-history → snippets → disk)
- ReviewApplierService: hunk-level accept/reject with conflict detection
- CodeMirrorDiffView: unified merge view with syntax highlighting
- ReviewFileTree: file browser with status indicators
- changeReviewSlice: Zustand state for review workflow

Phase 2: Interactive review with accept/reject
- Per-hunk and per-file accept/reject decisions
- Conflict checking before apply
- ReviewToolbar with bulk actions
- DiffErrorBoundary for graceful degradation

Phase 3: Per-task change scoping
- TaskBoundaryParser: detects task boundaries in JSONL (Tier 1-4 confidence)
- TaskChangeSetV2 with scope + warnings
- ConfidenceBadge and ScopeWarningBanner components

Phase 4: Enhanced features
- Keyboard navigation (j/k/n/p/a/x shortcuts via useDiffNavigation)
- Viewed file tracking (localStorage + useViewedFiles hook)
- File edit timeline (chronological events per file)
- Git fallback (GitDiffFallback service for incomplete JSONL data)
- Auto-viewed detection (IntersectionObserver sentinel)
2026-02-24 23:39:41 +02:00
iliya
a3fa65859f fix: resolve CI failures — add highlight.js dep, remove electron import from provisioning
- Add highlight.js as direct dependency (was transitive via rehype-highlight, missing type declarations in CI)
- Replace `app.getLocale()` with `Intl.DateTimeFormat().resolvedOptions().locale` to avoid importing electron in TeamProvisioningService (broke tests that don't mock electron)
2026-02-24 14:23:09 +02:00
iliya
1b6f7be767 feat: alot, code highlight, related tasks, group by project and other 2026-02-23 20:06:08 +02:00
iliya
4fdfabd5f1 feat: implement inbox locking mechanism and enhance team message handling
- Introduced `withInboxLock` function to manage concurrent access to inbox files, preventing race conditions during message processing.
- Refactored `TeamInboxWriter` and `TeamProvisioningService` to utilize the new locking mechanism, ensuring safe read/write operations on inbox files.
- Updated `TeamListView` and related components to improve user experience during team management and message handling.
- Added new dependencies for linting and formatting, enhancing code quality and maintainability.
2026-02-23 17:33:37 +02:00
iliya
c67e85b203 fix: add missing @radix-ui/react-tooltip dependency
CI typecheck was failing because the tooltip component imports
@radix-ui/react-tooltip which was not listed in package.json.
2026-02-23 12:37:03 +02:00
iliya
9b64576377 Merge remote-tracking branch 'upstream/main' into agent_teams_features 2026-02-22 15:46:58 +02:00
iliya
8b5e1db527 feat: use agent teams 2026-02-22 15:41:18 +02:00
dependabot[bot]
2111272de8
chore(deps): bump the npm_and_yarn group across 1 directory with 4 updates
Bumps the npm_and_yarn group with 4 updates in the / directory: [happy-dom](https://github.com/capricorn86/happy-dom), @isaacs/brace-expansion, [ajv](https://github.com/ajv-validator/ajv) and [minimatch](https://github.com/isaacs/minimatch).


Updates `happy-dom` from 17.6.3 to 20.0.2
- [Release notes](https://github.com/capricorn86/happy-dom/releases)
- [Commits](https://github.com/capricorn86/happy-dom/compare/v17.6.3...v20.0.2)

Updates `@isaacs/brace-expansion` from 5.0.0 to 5.0.1

Updates `ajv` from 6.12.6 to 6.14.0
- [Release notes](https://github.com/ajv-validator/ajv/releases)
- [Commits](https://github.com/ajv-validator/ajv/compare/v6.12.6...v6.14.0)

Updates `minimatch` from 3.1.2 to 3.1.3
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.3)

---
updated-dependencies:
- dependency-name: happy-dom
  dependency-version: 20.0.2
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: "@isaacs/brace-expansion"
  dependency-version: 5.0.1
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: ajv
  dependency-version: 6.14.0
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: minimatch
  dependency-version: 3.1.3
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-22 05:41:40 +00:00
iliya
753ab14917 feat(team-managment): stable MVP 2026-02-21 09:47:24 +02:00
matt
da1a8998fc chore: clean up project configuration and remove unused dependencies
- Updated knip.json to exclude unused Remotion paths and dependencies.
- Cleaned up pnpm-lock.yaml by removing obsolete Remotion packages.
- Refactored TypeScript function signatures in main files for improved clarity.
- Enhanced various components for better code readability and maintainability.
2026-02-16 23:27:43 +09:00
Jeremy Bornstein
50d5b922b6 feat(linux): add native window frame and pacman packaging
On Linux, `titleBarStyle: 'hidden'` removes the title bar entirely,
leaving no window controls (close/minimize/maximize). macOS has traffic
lights and Windows has a custom title bar component, but Linux gets
nothing. Fix this by omitting the hidden title bar style on Linux,
which gives native window decorations from the desktop environment
(GNOME, KDE, Hyprland, etc.).

Also adds Linux build support:
- electron-builder `linux` config targeting pacman (.pkg.tar.zst)
- `dist:linux` script for standalone Linux builds
- `release-linux` CI job on ubuntu-latest
- `dist` script updated to include --linux
2026-02-14 11:14:55 +11:00
matt
524a62438e feat(visualization): enhance team and subagent visualization in README
- Updated the README to reflect new features in Claude Code, including the ability to spawn subagents via the Task tool and coordinate teams with improved visibility.
- Added details on the rendering of subagent sessions as expandable inline cards, including execution traces, metrics, and tool calls.
- Enhanced description of teammate messages, highlighting color-coded cards and team lifecycle visibility.
- Clarified session summary metrics to differentiate between teammate and subagent counts for better user insights.

This commit significantly improves the documentation of team and subagent visualization features, providing users with a clearer understanding of the capabilities and enhancements in the application.
2026-02-12 23:43:28 +09:00
matt
c02c7d24cf feat(remotion): integrate Remotion for video rendering and preview
- Added new scripts for rendering and previewing videos using Remotion, enhancing multimedia capabilities.
- Updated package.json to include Remotion dependencies and commands for rendering videos in different formats.
- Modified .gitignore to exclude Remotion output files, ensuring a cleaner repository.
- Enhanced README to reflect new features and usage instructions for video rendering.

This commit significantly improves the application's multimedia functionality by integrating Remotion, allowing users to create and preview videos seamlessly.
2026-02-12 22:58:58 +09:00
matt
7fa2f96ed4 feat(http): implement HTTP server and route handlers for configuration, notifications, projects, sessions, and SSH management
- Introduced an HTTP server to facilitate communication with the application.
- Added route handlers for managing application configuration, including getting and updating settings.
- Implemented notification operations with routes for retrieving, marking, and deleting notifications.
- Created project and session management routes to list projects, sessions, and their details.
- Developed SSH connection management routes for connecting, disconnecting, and retrieving SSH state and configuration.
- Enhanced the application architecture to support real-time event streaming via Server-Sent Events (SSE).

This commit significantly expands the application's capabilities by integrating an HTTP server and various management routes, improving user interaction and functionality.
2026-02-12 15:04:56 +09:00
matt
f129715dc8 feat(03-01): add IndexedDB storage layer and contextSlice
- Install idb-keyval for IndexedDB persistence
- Create contextStorage service with TTL-based snapshot save/load
- Create contextSlice with switchContext and initializeContextSystem actions
- Implement snapshot validation to filter invalid tabs/selections
- Exclude transient state (loading, errors, Maps/Sets) from snapshots
2026-02-12 01:35:29 +00:00
matt
ae4833e310 feat(planning): add project planning documents and configuration for SSH multi-context workspaces
- Introduced new planning files including PROJECT.md, REQUIREMENTS.md, ROADMAP.md, and STATE.md to outline the vision and requirements for SSH multi-context workspaces.
- Added ARCHITECTURE.md and CONCERNS.md to detail the codebase structure and address technical debt, known bugs, and security considerations.
- Created CONVENTIONS.md to establish coding standards and practices for the project.
- Updated .gitignore to exclude demo files and added configuration for planning tools.

This commit lays the groundwork for enhancing SSH functionality and user experience in managing multiple workspaces.
2026-02-12 09:37:58 +09:00
matt
921420b946 Enhance SSH functionality and configuration management
- Added SSH config host alias support, allowing users to fetch and resolve host entries from the SSH config file.
- Introduced SshConfigParser to handle parsing of ~/.ssh/config and retrieving host aliases.
- Updated ConnectionSection to include a combobox for selecting SSH config hosts with auto-fill capabilities.
- Enhanced SshConnectionManager to utilize the new SshConfigParser for resolving host configurations.
- Added IPC channels for fetching SSH config hosts and resolving host aliases.
- Updated relevant types and state management to accommodate new SSH config features.
2026-02-12 00:14:41 +09:00
matt
4b56186f7c add ssh suport 2026-02-11 13:34:25 +00:00
matt
09c1304c82 Update package.json and pnpm-lock.yaml to override @electron/notarize version
- Added an override for @electron/notarize to version 2.5.0 in both package.json and pnpm-lock.yaml to ensure compatibility and resolve potential issues with notarization.
2026-02-11 22:12:42 +09:00
matt
540aefc3d3 Implement auto-update functionality and enhance build configuration
- Integrated electron-updater for automatic updates, including IPC handlers for checking, downloading, and installing updates.
- Updated electron-builder configuration to include entitlements and notarization scripts for macOS.
- Enhanced README with installation instructions and updated features.
- Added new components for update notifications and dialogs in the renderer.
- Improved CI workflow permissions for better release management.
2026-02-11 21:23:40 +09:00
matt
070e79a8ec Update build scripts and dependencies in package.json and pnpm-lock.yaml
- Replaced pnpm dlx electron-builder with direct electron-builder command in build scripts for improved clarity and consistency.
- Specified electron-builder version in package.json and pnpm-lock.yaml to ensure consistent builds across environments.
- Added new dependencies and updated existing ones in pnpm-lock.yaml for better compatibility and functionality.
2026-02-11 20:52:05 +09:00
matt
96fab90c37 Initialize project structure with essential configuration files including .editorconfig, .gitattributes, .gitignore, and TypeScript settings. Add build and linting configurations, along with README, LICENSE, and contribution guidelines. Set up Tailwind CSS and ESLint for styling and code quality. Include initial package.json and pnpm workspace configuration for dependency management. 2026-02-11 15:52:00 +09:00