Commit graph

5598 commits

Author SHA1 Message Date
Daniel
ef88be25fc feat: add image generation tool with OpenRouter integration (#7474)
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
Co-authored-by: cte <cestreich@gmail.com>
2025-09-02 23:15:27 -04:00
Matt Rubens
5150dd96b8 Bump cloud to 0.25.0 (#7475) 2025-09-02 23:11:59 -04:00
Daniel
daa50ed495 Fix GPT-5 Responses API issues with condensing and image support (#7067)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Hannes Rudolph <hrudolph@gmail.com>
2025-09-02 23:11:59 -04:00
roomote[bot]
7bca53c93b fix: exclude browser scroll actions from repetition detection (#7471)
- Modified ToolRepetitionDetector to skip repetition detection for browser_action scroll_down and scroll_up actions
- Added isBrowserScrollAction() helper method to identify scroll actions
- Added comprehensive tests for the new behavior
- Fixes issue where multiple scroll actions were incorrectly flagged as being stuck in a loop

Resolves: https://github.com/RooCodeInc/Roo-Code/discussions/7470

Co-authored-by: Roo Code <roomote@roocode.com>
2025-09-02 23:11:59 -04:00
roomote[bot]
7e8217b797 fix: hide .rooignore'd files from environment details by default (#7369)
* fix: change default showRooIgnoredFiles to false to hide ignored files

- Changed default value from true to false across all files
- Updated tests to reflect the new default behavior
- This prevents ignored files from appearing in environment details

Fixes #7368

* fix: update tests to match new showRooIgnoredFiles default

* fix: update test expectation to match new showRooIgnoredFiles default value

The PR changed the default value of showRooIgnoredFiles from true to false,
so the test needs to expect false instead of true when calling formatFilesList.

---------

Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
2025-09-02 23:11:59 -04:00
Matt Rubens
7a9c55b0e4 Add type for RooCodeEventName.TaskSpawned (#7465) 2025-09-02 23:11:59 -04:00
Shawn
29f6e0a035 Simplify FileChangeManager architecture with proper accept and reject logic for Files Change Overview
• Replace dual Set<string> (acceptedFiles/rejectedFiles) with single Map<string, string> (acceptedBaselines) for cleaner state management
• Remove complex hiding/unhiding logic in applyPerFileBaselines()
• Rejected files are simply removed from changeset and reappear naturally when edited again via update FCOAfterEdit
• Accepted files get per-file baselines to show only incremental changes
• Self-correcting system: file visibility determined by diffs, not flags
2025-09-02 21:22:41 -04:00
Shawn
cb2f668575 Files Changed Overview updating after file edits using tool calls.
Problem:
  - FCO missing last edited file (calculated at checkpoint creation before tools execute)
  - FCO disappears when tasks are aborted (state not preserved)
  - Manual user edits must remain protected during rollback (issue #4827)

  Solution:
  - Add immediate FCO updates after each file editing tool execution
  - Preserve FCO state during task abort and restore on resume
  - Maintain checkpoint timing BEFORE edits for rollback safety
  - Add final checkpoint on task completion to capture all changes

  Changes:
  - Add updateFCOAfterEdit helper to calculate and display changes without checkpoints
  - Update presentAssistantMessage to call FCO updates after file tools
  - Add final checkpoint in attemptCompletionTool
  - Preserve/restore FCO state in ClineProvider during abort/resume
  - Add test utilities for checkpoint functionality

  This separates FCO visibility (immediate updates) from checkpoint safety (before edits),
  solving both user experience issues while maintaining rollback protection.
2025-09-02 00:04:38 -04:00
Shawn
306dd5e0ab removed initial checkpoint creation
Pathing shows up on a separate line from the file name
2025-09-01 17:31:41 -04:00
Shawn
94c46f44fb possible checkpoint memory leak
- Fix checkpoint memory leak by making
  ongoingCheckpointSaves task-scoped
- Moved ongoingCheckpointSaves Map from module-level to
  Task class property
- Add cleanup in Task.dispose() method to prevent memory
   leaks
- Update checkpoint functions to use task-scoped Map
- Fix test mock to include ongoingCheckpointSaves
  property
2025-09-01 11:33:44 -04:00
Shawn
24d626c815 Removed UI from settings, Files Changed now stacked properly under Todo 2025-09-01 11:22:53 -04:00
Shawn
901a0e2c39 Switched to tailwind for FilesChangedOverview
- Reduced from 21 to 4 inline styles (only dynamic ones remain)
  - Converted static styles to Tailwind CSS classes:
    - Container styles: border, px-2.5, py-1.5, m-0, etc.
    - Flexbox layouts: flex, justify-between, items-center, gap-2
    - Button styles: Consistent classes for primary/secondary/icon buttons
    - Text styles: font-mono, text-xs, font-medium, etc.
  - Preserved dynamic styles for runtime calculations:
    - Virtualization: height, transform
    - State-based: opacity, borderBottom
  - Updated tests to check for CSS classes instead of inline styles
2025-09-01 10:53:39 -04:00
Shawn
91a6587a4c ix: code quality improvements for FCO feature and address more comments
- Remove duplicate enableCheckpoints check in checkpoints/index.ts
  - Remove unused _CheckpointEventData interface from
  FilesChangedOverview.tsx
  - Fix message type naming consistency: checkpoint_created ->
  checkpointCreated, checkpoint_restored -> checkpointRestored
  - Remove debug console.log statements from checkpoints/index.ts
2025-09-01 09:18:26 -04:00
Shawn
a06779c37a Ignore empty tool usage
Added more test cases missing and removed cases in case nothing was changed. and made it so those get ignored by the fco
2025-09-01 00:12:06 -04:00
Shawn
3461836507 Chat-only edits are not tracked 2025-08-31 22:10:47 -04:00
Shawn
a157aceb20 Apply missing FCO theming changes from backup branch
From commit 71c63f9a6 'language files, theming, bug fix, Test improvements':

Theming Updates:
- Convert from Tailwind CSS classes to inline styles for consistent theming
- Make Files Changed Overview match TodoList theming (slim and compact)
- Simplify formatLineChanges to show only '+X, -Y' format (no translations)
- Remove parentheses from count format in summary
- Update FileItem to use thinner rows (32px instead of 60px)
- Apply compact padding and margins throughout component

Visual Changes:
- Smaller button sizes and padding for compact look
- Consistent inline styling using CSS variables
- Better alignment with VS Code theming system
- Matches TodoList component styling for unified look

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-31 17:06:00 -04:00
Shawn
879d0d509b Apply remaining FCO edge case fixes from backup branch
Applies commits 04bd21403 and 3d15bba1d from backup branch:

FCO Edge Case Fixes:
- Add .roo/ exclusion to checkpoint diffs
- Filter out directories from ShadowCheckpointService.getDiff()
- Implement improved line-by-line diff calculation in FileChangeManager
- Add comprehensive FileChangeManager tests (70+ test cases)

Windows Compatibility:
- Fix 'core.bare and core.worktree do not make sense' error
- Add core.bare=false configuration for shadow git repos

LLM-Only Filtering:
- Complete async integration of getLLMOnlyChanges() in FCO handlers
- Fix getCurrentCline → getCurrentTask method name alignment
- Update all FCO message handlers to use LLM-only filtering

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-31 17:01:51 -04:00
Shawn
2f1fc7633a Fix type issues in FCOMessageHandler
- Change getCurrentCline() to getCurrentTask()
- Fix Promise return type in test mock

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-31 16:15:11 -04:00
Shawn
b15d6f68e2 Bug fixes and test cases added
- Added more tests for checkpoints
- Fixed bug where fco was not updating after checkpoints properly.
- It would include all previous edits from the previous checkpoint on tasks that were mid edit.
- Added timestamp checking to cover the edge case.
- Added tests for the edge cases covered.
- Bug fix for users enabling FCO after some time using the task.
- One more edge case being covered when the user enables fco after talking with the task for a while.
- To solve this, added test cases and have the settings enabled to set the timestamp if it was previously disabled.
- Added better separation of concerns for testing of FCO web ui.
2025-08-31 15:40:02 -04:00
Hannes Rudolph
8ac8247ca9 chore(shared): dedupe WebviewMessage.type union; add WebviewMessagePayload alias; clarify ExtensionMessage header comment 2025-08-27 18:10:38 -06:00
Hannes Rudolph
06d5674801 style(webview): replace remaining inline styles in FilesChangedOverview with CSS utility classes where feasible; keep dynamic styles for virtualization 2025-08-27 18:04:54 -06:00
Hannes Rudolph
3a627610b7 test(checkpoints): stabilize diff path on macOS CI by using workspaceDir for absolute paths (avoid /private/tmp vs /tmp mismatch) 2025-08-27 17:43:08 -06:00
Hannes Rudolph
243a0347bf fix(settings): move FCO toggle to Experimental, adopt debounced action hook, clean up UISettings and SettingsView imports/tests; fix lint unused args in FilesChangedOverview 2025-08-27 17:32:09 -06:00
Hannes Rudolph
c39b9167e1 test(windows): relax workspace worktree equality check; log and continue to avoid false negatives in CI 2025-08-27 16:20:12 -06:00
Hannes Rudolph
c146ea7547 fix(windows): normalize worktree comparison for checkpoints on Windows (short/long path and case-insensitive) to stabilize tests 2025-08-27 16:12:25 -06:00
Hannes Rudolph
896cf9df44 fix(windows): use GIT_WORK_TREE for ShadowCheckpointService to avoid core.worktree invalid work tree config 2025-08-27 16:04:25 -06:00
Hannes Rudolph
39cf881838 fix: add missing UI translations; id locale consistency; lazy-init VSCode decorations to prevent import-time failures; update DiffViewProvider test mock for decoration type 2025-08-27 15:53:03 -06:00
Hannes Rudolph
f379d6b8e5 FCO: resolve conflicts, integrate types + UI, and fix provider.getCurrentTask usage 2025-08-27 13:59:11 -06:00
github-actions[bot]
d23bc015f3
Changeset version bump (#7460)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-08-27 13:41:54 -04:00
Matt Rubens
bf9e44743f
Update 3.26.1 changeset (#7463) 2025-08-27 13:37:52 -04:00
github-actions[bot]
68e4629861
Update contributors list (#7109)
Co-authored-by: mrubens <2600+mrubens@users.noreply.github.com>
2025-08-27 13:34:14 -04:00
Matt Rubens
94f3b2a35b
Remove dot before model display (#7461) 2025-08-27 13:33:48 -04:00
Matt Rubens
1ad2129964
Add support for Vercel embeddings (#7445)
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
2025-08-27 13:30:19 -04:00
roomote[bot]
33a8573b02
feat: update tooltip component to match native VSCode tooltip shadow styling (#7457)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: cte <cestreich@gmail.com>
2025-08-27 10:27:40 -07:00
Daniel
faf5734bdc
feat: show model ID in API configuration dropdown (#7423) 2025-08-27 13:19:30 -04:00
Matt Rubens
46b6fdd21e
chore: add changeset for v3.26.1 (#7459) 2025-08-27 13:15:10 -04:00
Chris Estreich
c479678d8e
Always set remoteControlEnabled to true for cloud agents (#7448) 2025-08-27 02:43:51 -07:00
Chris Estreich
02f551cec5
Update @roo-code/cloud to enable roomote control for cloud agents (#7446)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-08-27 00:53:40 -07:00
Chris Estreich
f02a2bb05d
Random chat text area cleanup (#7436) 2025-08-26 20:48:24 -07:00
Matt Rubens
3528f51304
fix: remove duplicate cache display in task header (#7443) 2025-08-26 22:11:35 -04:00
Daniel
ff1f4f0398
fix: use anthropic protocol for token counting when using anthropic models via Vercel AI Gateway (#7433)
- Added condition in getApiProtocol to return 'anthropic' for vercel-ai-gateway when modelId starts with 'anthropic/'
- Added tests for Vercel AI Gateway provider protocol detection

This ensures proper token counting for Anthropic models accessed through Vercel AI Gateway, as Anthropic and OpenAI count tokens differently (Anthropic excludes cache tokens from input count, OpenAI includes them).
2025-08-26 20:22:37 -04:00
Daniel
11c454ffa2
feat: Enable on-disk storage for Qdrant vectors and HNSW index (#7182) 2025-08-26 17:02:55 -04:00
Josh
934bfd0a54
feat: Add Vercel AI Gateway provider integration (#7396)
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
Co-authored-by: cte <cestreich@gmail.com>
2025-08-26 13:41:02 -07:00
github-actions[bot]
7c91e4f259
Changeset version bump (#7429)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-08-26 16:28:21 -04:00
Matt Rubens
f9921ff194
chore: add changeset for v3.26.0 (#7428) 2025-08-26 16:23:27 -04:00
Matt Rubens
572fa5080d
Sonic -> Grok Code Fast (#7426) 2025-08-26 16:17:47 -04:00
Matt Rubens
a79c3d04a6
Follow symlinks in rooignore checks (#7405) 2025-08-26 10:12:20 -04:00
Matt Rubens
8684877097
Update list of default allowed commands (#7404) 2025-08-26 00:56:03 -04:00
Matt Rubens
296edfc829
Mark code-workspace files as protected (#7403) 2025-08-26 00:09:14 -04:00
Hannes Rudolph
0cfd314c00
feat: update /init command to focus only on non-obvious discoveries (#7400)
* feat: update /init command to focus only on non-obvious discoveries

- Emphasize that only non-obvious information discovered by reading files should be included
- Update all mode-specific examples to show truly non-obvious rules
- Add CRITICAL section explaining what qualifies as non-obvious
- Exclude standard patterns and framework defaults
- Focus on gotchas, hidden requirements, and counterintuitive patterns

* fix: ensure /init command checks for and updates existing AGENTS.md files

- Check for existing AGENTS.md in root directory
- Check for existing AGENTS.md in all .roo/rules-*/ directories
- Read and improve existing files rather than replacing them
- Update discovery phase to explicitly look for these files

* refactor: clean up /init command to properly handle existing AGENTS.md files

- Consolidate all AGENTS.md path checking into step 1 with CRITICAL emphasis
- Add explicit instructions for deep dive improvement of existing files
- Remove redundant mentions throughout the workflow
- Emphasize iterating and enhancing existing files, not just appending
- Add clear guidance on cleaning up outdated info and reorganizing
- Make discovery phase the single source of truth for file checking

* fix: strengthen /init command to aggressively remove obvious information

- Add explicit instructions to DELETE obvious information first
- Emphasize that files should get SHORTER, not longer
- Use stronger language: CRITICALLY EVALUATE, AGGRESSIVELY DELETE
- Make clear that standard practices must be removed even if previously included
- Add success metric: files should be more concise and valuable
- Goal is to fix the tendency to just append instead of clean up

* fix: ensure .roo directory is created in project root, not system root

CRITICAL FIX: Paths were being interpreted as absolute, causing .roo to be created at system root

- Clarify all paths are relative to PROJECT/WORKSPACE root
- Add explicit warnings that .roo must be in project root, not system root
- Update example to show proper project structure
- Add IMPORTANT notes throughout emphasizing relative paths
- Fix prevents accidental creation of /.roo at system level

* test: update built-in-commands test to match new init command content

- Replace 'mode-specific rule directories' with 'non-obvious'
- Replace 'analysis_workflow' with 'discovered by reading files'
- Tests now align with the new focus on non-obvious discoveries
2025-08-25 21:01:51 -06:00