Commit graph

2357 commits

Author SHA1 Message Date
proxy
890d2d8e84 fix: reliable window drag region in tab bar
Includes scroll improvements:
- Scroll to bottom on session open and live auto-scroll
- Make auto-scroll StrictMode-safe via needsInitialScrollRef
- Add floating scroll-to-bottom button in chat view

Window drag fix:
- Apply drag region to leftmost pane TabBar regardless of sidebar state
- Cap tab list at 75% so drag spacer always has room
- Add explicit flex-1 drag spacer between tabs and action buttons
- Set WebkitAppRegion: no-drag on tab items for reordering

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 19:13:14 -05:00
iliya
544ece3736 fix: resolve boundaries/element-types lint error in window.ts
Inline WINDOW_IS_FULLSCREEN constant instead of importing from
@preload to avoid cross-boundary import violation.
2026-02-22 23:36:11 +02:00
iliya
97dda4dbe8 feat: implement fullscreen functionality and related IPC communication
- Added WINDOW_FULLSCREEN_CHANGED and WINDOW_IS_FULLSCREEN constants for fullscreen state management.
- Enhanced main window to notify the renderer when entering or leaving fullscreen mode.
- Implemented IPC handlers to check fullscreen status and notify changes to the renderer.
- Introduced useFullScreen hook in the renderer to manage fullscreen state and adjust UI accordingly.

These changes improve user experience by allowing dynamic adjustments to the UI based on fullscreen status.
2026-02-22 23:36:11 +02:00
iliya
2863320b91 fix: resolve pre-existing lint errors blocking CI
- MemberStatsComputer: replace TODO comment, use optional chain, suppress slow-regex
- TaskFiltersPopover: suppress label-has-associated-control for custom Checkbox
- KanbanTaskCard: prefix unused kanbanTaskState with underscore
2026-02-22 23:36:11 +02:00
iliya
42171e239d feat: enhance task management and UI with new filters and line counting
- Implemented line counting for NotebookEdit and Bash commands in MemberStatsComputer to improve task tracking accuracy.
- Updated TeamDataService to include kanban column information for tasks, enhancing task visibility.
- Refactored Sidebar and GlobalTaskList components to support task filtering by status and team, improving user interaction.
- Introduced TaskFiltersPopover for better task filtering options, allowing users to filter tasks by status and unread comments.
- Enhanced UI components for better responsiveness and user experience in task management.

These changes aim to improve task management efficiency and enhance collaboration within teams.
2026-02-22 23:36:11 +02:00
iliya
da25703935 feat: add task commenting functionality and enhance UI interactions
- Updated the TeamAgentToolsInstaller to version 5, introducing a new command for adding comments to tasks.
- Implemented the addTaskComment function to handle comment creation, including validation and notification to task owners.
- Enhanced the TeamDataService to support fetching tasks alongside tool installation.
- Updated UI components to display unread comment counts and improve user interaction with task comments.
- Refactored various components to integrate task comments seamlessly into the existing workflow.

These changes aim to improve collaboration and communication within teams by facilitating task-related discussions.
2026-02-22 23:36:11 +02:00
iliya
5f2bd36aca feat: implement task comments functionality
- Added a new Contributor License Agreement (CLA) document to clarify contribution terms.
- Updated the license from MIT to GNU Affero General Public License v3.0 (AGPL-3.0).
- Introduced task comments feature, allowing users to add comments to tasks with validation for input length and content.
- Enhanced the TeamDataService to handle adding comments and sending notifications to task owners.
- Updated UI components to display comments and allow users to submit comments via a text area.
- Integrated task comments into the task detail dialog for better user interaction.

These changes aim to improve task management and enhance collaboration within teams.
2026-02-22 23:36:11 +02:00
iliya
42e4b0f4aa fix: resolve review bugs and lint errors
- teams.ts: add type validation in handleCreateConfig for displayName/description/color
- CreateTaskDialog: scope draft keys per team to prevent cross-team leakage
- agentBlocks.ts: replace stateful singleton regex with factory function
- teams.test.ts: add missing channel assertions and use os.tmpdir()
- SendMessageDialog: move setState out of useEffect to render phase
- TeamMemberLogsFinder: remove unused projectId destructuring
- MentionableTextarea: add eslint-disable description
- useMentionDetection: replace deprecated wordWrap with overflowWrap
2026-02-22 23:36:11 +02:00
iliya
704b9cbfe5 feat: enhance team configuration and member detection
- Added validation for team configuration updates to ensure name, description, and color are strings.
- Improved member detection logic to avoid false positives by ensuring only one known member name is matched.
- Refactored post-launch configuration updates to combine session history and project path updates, preventing race conditions.
- Updated UI components to streamline state management for collapsible sections.

These changes aim to improve data integrity and user experience in team management functionalities.
2026-02-22 23:36:11 +02:00
iliya
bcda8b62cc feat: add task management enhancements with start task functionality
- Introduced TEAM_START_TASK IPC channel to facilitate starting tasks and notifying agents.
- Updated task creation to include an option for immediate start, enhancing user experience.
- Enhanced task notifications with detailed instructions for agents upon task assignment.
- Improved team member logs handling and metadata extraction for better task tracking.

These changes aim to streamline task management and improve team collaboration efficiency.
2026-02-22 23:36:11 +02:00
iliya
3c1ef54ce2 feat: enhance team member management with color coding and improved prompts
- Added member color assignment using a new utility function for better visual representation in the UI.
- Updated team member prompts to encourage brief introductions, aligning with project guidelines.
- Introduced a draft persistence mechanism for message and task creation dialogs to enhance user experience.
- Refactored team configuration handling to support new member structures and improve data integrity.

This update aims to streamline team interactions and improve the overall user experience in team management features.
2026-02-22 23:36:11 +02:00
iliya
66da7b318e feat: use agent teams 2026-02-22 23:36:11 +02:00
iliya
cd68023819 fix: resolve boundaries/element-types lint error in window.ts
Inline WINDOW_IS_FULLSCREEN constant instead of importing from
@preload to avoid cross-boundary import violation.
2026-02-22 23:33:39 +02:00
iliya
dc4fc99407 feat: implement fullscreen functionality and related IPC communication
- Added WINDOW_FULLSCREEN_CHANGED and WINDOW_IS_FULLSCREEN constants for fullscreen state management.
- Enhanced main window to notify the renderer when entering or leaving fullscreen mode.
- Implemented IPC handlers to check fullscreen status and notify changes to the renderer.
- Introduced useFullScreen hook in the renderer to manage fullscreen state and adjust UI accordingly.

These changes improve user experience by allowing dynamic adjustments to the UI based on fullscreen status.
2026-02-22 23:13:13 +02:00
iliya
7f5b909fb5 fix: resolve pre-existing lint errors blocking CI
- MemberStatsComputer: replace TODO comment, use optional chain, suppress slow-regex
- TaskFiltersPopover: suppress label-has-associated-control for custom Checkbox
- KanbanTaskCard: prefix unused kanbanTaskState with underscore
2026-02-22 23:05:57 +02:00
Paul Holstein
819d553dd0 fix(report): avoid ÷ 0 phrasing when no commits or lines changed
Show "no commits" / "no lines changed" instead of "total cost ÷ 0"
when commitCount or linesChanged is zero.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 15:47:17 -05:00
iliya
adbacc90fd feat: enhance task management and UI with new filters and line counting
- Implemented line counting for NotebookEdit and Bash commands in MemberStatsComputer to improve task tracking accuracy.
- Updated TeamDataService to include kanban column information for tasks, enhancing task visibility.
- Refactored Sidebar and GlobalTaskList components to support task filtering by status and team, improving user interaction.
- Introduced TaskFiltersPopover for better task filtering options, allowing users to filter tasks by status and unread comments.
- Enhanced UI components for better responsiveness and user experience in task management.

These changes aim to improve task management efficiency and enhance collaboration within teams.
2026-02-22 22:15:48 +02:00
Paul Holstein
6cd2845edb fix(report): recompute token totals after subagent row, fix import order
- Recompute totalInputTokens, totalOutputTokens, totalCacheCreation,
  totalCacheRead, and grandTotal after injecting the "Subagents (combined)"
  row so tokenUsage.totals stays consistent with byModel rows
- Fix CostSection import order: external packages before path aliases,
  merge duplicate import type statements

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 15:13:53 -05:00
Paul Holstein
bbd6441b9e fix(report): compute subagent costs, filter synthetic model, fix test parsing
- Compute subagent cost from token breakdown instead of relying on
  unpopulated proc.metrics.costUsd; extract actual model from subagent
  messages for accurate pricing and mismatch detection
- Add aggregated "Subagents (combined)" row to cost table with arrow
  navigation to the Subagents report section (no misleading breakdown)
- Filter <synthetic> model from token/cost tracking to eliminate zero rows
- Fix parseTestSummary to treat missing pass/fail count as 0 so clean
  all-passing test runs are not dropped from trajectory analysis

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 14:56:57 -05:00
iliya
396ca49106 feat: add task commenting functionality and enhance UI interactions
- Updated the TeamAgentToolsInstaller to version 5, introducing a new command for adding comments to tasks.
- Implemented the addTaskComment function to handle comment creation, including validation and notification to task owners.
- Enhanced the TeamDataService to support fetching tasks alongside tool installation.
- Updated UI components to display unread comment counts and improve user interaction with task comments.
- Refactored various components to integrate task comments seamlessly into the existing workflow.

These changes aim to improve collaboration and communication within teams by facilitating task-related discussions.
2026-02-22 21:29:09 +02:00
iliya
c6ddfb9e78 feat: implement task comments functionality
- Added a new Contributor License Agreement (CLA) document to clarify contribution terms.
- Updated the license from MIT to GNU Affero General Public License v3.0 (AGPL-3.0).
- Introduced task comments feature, allowing users to add comments to tasks with validation for input length and content.
- Enhanced the TeamDataService to handle adding comments and sending notifications to task owners.
- Updated UI components to display comments and allow users to submit comments via a text area.
- Integrated task comments into the task detail dialog for better user interaction.

These changes aim to improve task management and enhance collaboration within teams.
2026-02-22 20:05:03 +02:00
iliya
7e94bc7603 fix: resolve review bugs and lint errors
- teams.ts: add type validation in handleCreateConfig for displayName/description/color
- CreateTaskDialog: scope draft keys per team to prevent cross-team leakage
- agentBlocks.ts: replace stateful singleton regex with factory function
- teams.test.ts: add missing channel assertions and use os.tmpdir()
- SendMessageDialog: move setState out of useEffect to render phase
- TeamMemberLogsFinder: remove unused projectId destructuring
- MentionableTextarea: add eslint-disable description
- useMentionDetection: replace deprecated wordWrap with overflowWrap
2026-02-22 18:58:35 +02:00
iliya
a262dcc979 Merge remote-tracking branch 'origin/main' into agent_teams_features 2026-02-22 18:45:16 +02:00
iliya
e662c58d32 feat: enhance team configuration and member detection
- Added validation for team configuration updates to ensure name, description, and color are strings.
- Improved member detection logic to avoid false positives by ensuring only one known member name is matched.
- Refactored post-launch configuration updates to combine session history and project path updates, preventing race conditions.
- Updated UI components to streamline state management for collapsible sections.

These changes aim to improve data integrity and user experience in team management functionalities.
2026-02-22 18:41:08 +02:00
iliya
49cf6405a2 feat: add task management enhancements with start task functionality
- Introduced TEAM_START_TASK IPC channel to facilitate starting tasks and notifying agents.
- Updated task creation to include an option for immediate start, enhancing user experience.
- Enhanced task notifications with detailed instructions for agents upon task assignment.
- Improved team member logs handling and metadata extraction for better task tracking.

These changes aim to streamline task management and improve team collaboration efficiency.
2026-02-22 18:32:30 +02:00
iliya
0867966d17 feat: enhance team member management with color coding and improved prompts
- Added member color assignment using a new utility function for better visual representation in the UI.
- Updated team member prompts to encourage brief introductions, aligning with project guidelines.
- Introduced a draft persistence mechanism for message and task creation dialogs to enhance user experience.
- Refactored team configuration handling to support new member structures and improve data integrity.

This update aims to streamline team interactions and improve the overall user experience in team management features.
2026-02-22 16:41:16 +02:00
Psypeal Gwai
258dc6d82f fix: prevent Ctrl+R page reload and show platform-aware shortcuts (#58)
Intercept Ctrl+R/Cmd+R in before-input-event to prevent Electron's default page reload. Replace hardcoded macOS shortcut symbols with platform-aware helpers that show Ctrl+ on Windows/Linux.
2026-02-22 06:05:44 -08:00
iliya
3ce0ba098a Merge upstream/main 2026-02-22 15:53:02 +02:00
Paul Holstein
114ea36df9 fix(report): guard against empty tool call IDs in session analyzer
Skip indexing and lookup when tool call/result IDs are missing to
prevent collisions on the empty-string key in toolCallIndex.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 08:49:19 -05:00
iliya
9b64576377 Merge remote-tracking branch 'upstream/main' into agent_teams_features 2026-02-22 15:46:58 +02:00
Paul Holstein
586cb00174 fix(report): address CodeRabbit review — pricing match, sidechain filter, UX guards
- getPricing: use tokenized order-insensitive matching so Claude 3 era
  models (e.g. "claude-3-opus-20240229") correctly match pricing key "opus-3"
- sessionAnalyzer: skip isSidechain messages in parentCost loop to prevent
  double-counting with processSubagentCost
- CostSection: disable row expansion when token stats are missing
- tabSlice: guard against undefined sessionId/projectId in openSessionReport

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 08:43:33 -05:00
iliya
8b5e1db527 feat: use agent teams 2026-02-22 15:41:18 +02:00
Psypeal Gwai
a7d7bacf3b fix: guard Notification.isSupported for standalone/Docker (#42)
Add typeof checks before calling Notification.isSupported() to prevent crashes in environments where the Notification API is unavailable.
2026-02-22 05:40:39 -08:00
Paul Holstein
4fda90bc3e feat(report): address PR feedback — threshold tooltips, cost clarity, progressive disclosure
- Add AssessmentBadge component with hover tooltips explaining thresholds
- Add Key Takeaways summary section surfacing top actionable findings
- Add cost attribution stacked bar and per-token calculation breakdowns
- Add clickable navigation from takeaways and tool errors to detail sections
- Add theme-aware assessment colors via CSS variables for light/dark mode
- Collapse lower-priority sections by default for progressive disclosure
- Replace all hardcoded color hex values with CSS variable references
- Fix missing Fragment key in CostSection model table
- Add defensive division-by-zero guard in stacked bar calculation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 08:29:08 -05:00
matt
9c04e90fdd
Merge pull request #57 from proxikal/fix/settings-http-server-status-ipc
fix: wrap HTTP_SERVER_GET_STATUS response in IpcResult envelope
2026-02-22 19:50:05 +09:00
KaustubhPatange
5932009c3b fix: lint issues 2026-02-22 16:14:05 +05:30
matt
94a6599acc
Merge pull request #55 from proxikal/fix/perf-regression-agent-configs-and-search-stat
fix: resolve performance regression in transcript loading and session search
2026-02-22 19:32:13 +09:00
matt
40a467666f
Merge pull request #56 from proxikal/feat/sidebar-auto-open-on-project-select
fix: auto-expand sidebar when a project is selected
2026-02-22 19:31:37 +09:00
matt
39916f47bc
Merge pull request #64 from matt1398/dependabot/npm_and_yarn/npm_and_yarn-c59ac7ae80
chore(deps): bump the npm_and_yarn group across 1 directory with 4 updates
2026-02-22 19:28:00 +09:00
KaustubhPatange
723760938e feat: add session cost in session header 2026-02-22 15:44:04 +05:30
KaustubhPatange
2bb95db596 feat: add tests for cost calculation 2026-02-22 14:49:30 +05:30
KaustubhPatange
a039fdd573 feat: add cost calculation metric 2026-02-22 14:39:20 +05:30
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
matt
6f59ccdf38
Merge pull request #63 from matt1398/chore/issue-templates
Update issue templates
2026-02-22 14:31:58 +09:00
matt
3288831c7d
Update issue templates 2026-02-22 14:31:49 +09:00
Paul Holstein
1ad2eca8f0 fix: safe stringification of skill args to satisfy no-base-to-string lint rule
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 18:05:35 -05:00
Paul Holstein
820bb124d5 feat(report): add threshold-based assessment badges to all report sections
Add interpretive assessment layer to session reports. Every metric section
now shows color-coded severity badges (green/amber/red) computed from
configurable thresholds, replacing raw numbers with instant signal.

Includes centralized reportAssessments utility, model mismatch detection,
switch pattern recognition, and 44 new tests.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 18:01:43 -05:00
Paul Holstein
ab1ad071fe feat: add missing analysis sections to session report
Add 7 missing sections and fix 4 incomplete ones that the Python
analyzer generates but the TypeScript port was missing:

New sections: skillsInvoked, bashCommands, lifecycleTasks,
userQuestions, outOfScopeFindings, agentTree, subagentsList

Fixed: compaction (was just count, now has summaryCount + note),
serviceTiers removed (not available in parsed types),
compactionCount replaced with compaction object

Adds InsightsSection UI component and 8 new tests.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 17:10:20 -05:00
Paul Holstein
3f479dcf07 test(report): add session analyzer tests
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 16:56:26 -05:00
Paul Holstein
644d66eae1 feat(report): wire up toolbar button and report tab routing
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 16:55:04 -05:00