Commit graph

5475 commits

Author SHA1 Message Date
daniel-lxs
a897849ac3
refactor: remove debug and info console logs from telemetry package
- Removed all console.info and console.log statements that were used for debugging
- Kept console.error statements for actual error reporting
- Fixed ESLint warnings for unused error variables
- Telemetry debug logs are now completely removed to prevent console spam
2025-08-15 15:29:01 -05:00
daniel-lxs
1f0890919a
fix: address PR review comments
- Remove unused _isNetworkError variable in PostHogTelemetryClient
- Add TelemetryQueueManager.resetInstance() call in extension deactivation to prevent memory leaks and stale data when switching workspaces
2025-08-15 15:07:21 -05:00
daniel-lxs
4dbb5eae1d
fix: resolve race condition in telemetry queue persist operations
- Move pendingPersist flag clearing inside persistQueue() method
- Implement loop-based draining to handle concurrent persist requests
- Add comprehensive tests for concurrent operations
- Ensures no telemetry events are lost during rapid enqueue operations

The previous implementation had a lost-notification bug where the pendingPersist
flag was cleared in the setImmediate callback before calling persistQueue().
This could cause events enqueued during an in-flight persist to remain unpersisted.

The fix implements Option A: clearing the flag inside persistQueue() and using
a while loop to drain all pending requests, ensuring any enqueue that happens
during a persist operation triggers another persist pass immediately after.
2025-08-15 13:55:55 -05:00
daniel-lxs
ef3aeb3c58
fix: address PR review feedback for telemetry queue persistence
- Make console.log statements conditional based on debug flag
- Add singleton reset method for TelemetryQueueManager
- Fix race condition in persistQueue with debouncing and promise tracking
- Improve error handling in PostHogTelemetryClient to differentiate error types
- Make retry interval configurable in QueuedTelemetryClient
- Update tests to reflect 24-hour event expiration instead of retry-based removal
- Add test for handling corrupted JSON queue files
- Fix test expectations for retry count and event filtering
2025-08-15 12:33:29 -05:00
daniel-lxs
fe70368202
fix: update PostHogTelemetryClient tests to include context parameter 2025-08-15 11:33:45 -05:00
daniel-lxs
c1d4b9ad55
feat: add telemetry queue persistence system
- Implement TelemetryQueueManager for persistent event storage
- Add QueuedTelemetryClient base class with retry logic
- Update PostHogTelemetryClient to use queuing system
- Store queue per-workspace to avoid conflicts
- Add exponential backoff retry (1s to 60s max)
- Events persist for 24 hours before expiring
- Queue limited to 100 events to manage file size
- Add comprehensive tests for queue functionality
- Disable PostHog's internal queue for better control

This ensures telemetry events are not lost during network
outages or server downtime, with events persisted to disk
and retried automatically when connectivity is restored.
2025-08-15 11:28:11 -05:00
Chris Estreich
44086e4a86
Add support for task page event population (#7117) 2025-08-14 23:17:05 -07:00
roomote[bot]
0d0bba2eb7
fix: add type check before calling .match() on diffItem.content (#6905) (#6906)
* fix: add type check before calling .match() on diffItem.content

Fixes #6905 - Error during diff application "v.content.match is not a function"

- Added type check to ensure diffItem.content is a string before calling .match()
- Added comprehensive tests for handling non-string content values
- Prevents runtime errors when content is null, undefined, or other non-string types

* fix: validate content type earlier in diff parsing

- Move type check to where content is first extracted from XML
- Remove redundant check since content is now guaranteed to be string
- Add test for early content validation

* chore: remove comments

* fix: add TelemetryService mock to multiApplyDiffTool tests

* fix: add captureDiffApplicationError to TelemetryService mock

---------

Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com>
2025-08-14 20:05:45 -04:00
Daniel
bfdd158129
Fix: Enable save button for provider dropdown and checkbox changes (#7113)
* fix: enable save button for provider dropdown and checkbox changes

The save button wasn't enabling when users changed provider settings like
dropdowns and checkboxes because setApiConfigurationField was treating all
changes from undefined to a defined value as 'initial sync' and not marking
the form as dirty.

Added an optional isUserAction parameter (defaults to true) to distinguish:
- User actions (should enable save button) - the default
- Automatic initialization (shouldn't enable save button) - pass false

This fixes the issue where changing provider dropdowns, checkboxes with
default values, and other settings wouldn't enable the save button.

* fix: remove incorrect isUserAction=false from apiModelId sync

The useEffect that syncs apiModelId with selectedModelId was incorrectly
passing isUserAction=false, which prevented the save button from enabling
when users selected a different model. Since this effect responds to all
selectedModelId changes (including user selections), it should use the
default isUserAction=true behavior.

* test: fix ThinkingBudget test to expect isUserAction parameter

The test now correctly expects setApiConfigurationField to be called
with three arguments including the isUserAction=false parameter for
automatic thinking token adjustments.
2025-08-14 19:48:25 -04:00
NaccOll
3f4af18bf7
fix: Use cline.cwd as primary source for workspace path in codebaseSearchTool (#6902)
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com>
2025-08-14 18:17:14 -04:00
NaccOll
57389bff36
Hotfix multiple folder workspace checkpoint (#6903) 2025-08-14 18:16:54 -04:00
roomote[bot]
6540f2be5c
fix: prevent XML entity decoding in diff tools (#7107) (#7108)
* fix: prevent XML entity decoding in diff tools

- Add parseXmlForDiff function with processEntities: false to preserve exact content
- Update multiApplyDiffTool to use parseXmlForDiff instead of parseXml
- Add comprehensive tests for entity handling in parseXmlForDiff

This fixes the issue where fast-xml-parser was decoding HTML entities like &
causing mismatches in diff tools when comparing against original file content.

Fixes #7107

* refactor: eliminate code duplication between parseXml and parseXmlForDiff

- Refactored parseXml to accept optional ParseXmlOptions parameter
- parseXmlForDiff now delegates to parseXml with processEntities: false
- Added explanatory comment in multiApplyDiffTool.ts about why parseXmlForDiff is used
- Improved JSDoc documentation with specific use cases for parseXmlForDiff

This maintains backward compatibility while eliminating code duplication.
parseXml continues to be used for general XML parsing (file reads, follow-up questions),
while parseXmlForDiff is specifically for diff operations where entity processing must be disabled.

---------

Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
2025-08-14 17:46:52 -04:00
Catriel Müller
342123d351
Refactor task execution system: improve call stack management (#7035) 2025-08-14 15:43:44 -04:00
github-actions[bot]
2a105a5881
Changeset version bump (#7104)
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-14 12:52:06 -04:00
Dicha Zelianivan Arkana
62d023d016
feat(web): fill missing SEO-related values (#7096)
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-08-14 12:51:13 -04:00
github-actions[bot]
1ee9e01d6c
Update contributors list (#6883)
Co-authored-by: mrubens <2600+mrubens@users.noreply.github.com>
2025-08-14 12:50:55 -04:00
Matt Rubens
a6feb27093
Release v3.25.15 (#7103) 2025-08-14 12:49:21 -04:00
Daniel
253d5acc09
fix: add /evals page to sitemap generation (#7102)
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
2025-08-14 12:48:32 -04:00
Abdullah Hilson
3d2673bb28
feat: implement sitemap generation in TypeScript and remove XML file (#6206)
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com>
2025-08-14 11:53:16 -04:00
f14XuanLv
e5d93f2bca
fix: reset condensing state when switching tasks (#6922)
Previously, when users initiated context condensing and switched to another task before completion, the 'condensing context' indicator would persist on the new task.

This fix ensures the condensing state is properly reset in the task switching effect, preventing the indicator from appearing incorrectly on different tasks.
2025-08-14 10:21:31 -04:00
Chris Estreich
48af73dba9
Fix publish-npm script (#7093) 2025-08-14 03:17:56 -07:00
Chris Estreich
c56b95bc60
Task metadata (#7092) 2025-08-14 03:14:17 -07:00
roomote[bot]
dcbb7a673f
fix: remove 500-message limit to prevent scrollbar jumping in long conversations (#7064)
- Removed array slicing logic that limited messages to 500
- This eliminates array index shifting that caused Virtuoso to lose scroll position
- Virtuoso is designed to efficiently handle large lists through virtualization
- Fixes the scrollbar jumping issue reported in #7063 and #7052

Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-13 21:21:32 -04:00
Christiaan Arnoldus
a203a90bb7
Fix allowedMaxRequests and allowedMaxCost values not showing in the settings UI (#6925) 2025-08-13 21:07:05 -04:00
github-actions[bot]
ca6f261cce
Changeset version bump (#7061)
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-13 16:09:47 -04:00
Matt Rubens
46085581d5
Release v3.25.14 (#7060) 2025-08-13 15:42:13 -04:00
roomote[bot]
23afdfca03
fix: only include verbosity parameter for models that support it (#7055)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-13 15:33:18 -04:00
Daniel
7ed833cb5d
Fix: AWS Bedrock 1M context - Move anthropic_beta to additionalModelRequestFields (#7056) 2025-08-13 15:26:50 -04:00
Chris Estreich
962df868bd
Fix webview in dev mode (#7044) 2025-08-13 01:40:00 -07:00
Chris Estreich
9ffc2b0a36
Move cloud types from @roo-code/types to @roo-code/cloud (#7038) 2025-08-13 00:10:29 -07:00
Matt Rubens
6f81b775c7
Revert "Fix token usage / cost often being underreported" (#7039) 2025-08-13 01:33:57 -04:00
github-actions[bot]
140310f055
Changeset version bump (#7034)
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-12 23:11:43 -04:00
roomote[bot]
667773be10
fix: add i18n support for Account button title (#6978)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-12 22:59:01 -04:00
Matt Rubens
49020da566
Release v3.25.13 (#7033) 2025-08-12 22:57:54 -04:00
Matt Rubens
13d1a5bc8f
Add Sonnet 1M context checkbox (#7032) 2025-08-12 22:51:30 -04:00
Peter Dave Hello
4c018663de
Remove deprecated GPT-4.5 Preview model (#6948) 2025-08-12 22:45:00 -04:00
roomote[bot]
8bd8f5dc59
feat: add support for AGENT.md alongside AGENTS.md (#6913)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-12 21:20:59 -04:00
roomote[bot]
7b0f489ea2
fix: add --no-messages flag to ripgrep to suppress file access errors (#6757)
Fixes #6756

When ripgrep encounters file access errors (e.g., permission denied), it would cause the search_files tool to return empty results. Adding the --no-messages flag suppresses these error messages while still showing pattern syntax errors, allowing the search to continue and return valid results from accessible files.

Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-12 17:51:06 -04:00
github-actions[bot]
245bc2a2e6
Changeset version bump (#7019)
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-12 16:15:51 -04:00
Matt Rubens
2083d11586
chore: add changeset for v3.25.12 (#7018) 2025-08-12 16:11:51 -04:00
roomote[bot]
f6f5fa3ede
feat: add OpenAI gpt-oss models to Amazon Bedrock dropdown (#6783)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-12 15:50:06 -04:00
Daniel
8e7a2e7bdb
feat: Update Claude Sonnet 4 context window to 1 million tokens (#7005)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-08-12 14:40:42 -04:00
roomote[bot]
bbe3362359
fix: ensure JSON files respect .rooignore during indexing (#6691)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com>
2025-08-12 12:52:08 -04:00
roomote[bot]
f9e85a5e84
feat: add configurable API request timeout for local providers (#6531)
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: daniel-lxs <ricciodaniel98@gmail.com>
Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com>
2025-08-12 11:48:45 -04:00
Matt Rubens
cee7c9894c
Add minimal reasoning support to OpenRouter (#6998)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
2025-08-12 11:46:31 -04:00
Peter Dave Hello
01e417e0e5
Update and improve zh-TW Traditional Chinese locale (#6946) 2025-08-12 11:42:49 -04:00
roomote[bot]
1d8b51d7c9
fix: truncate long model names in model selector to prevent overflow (#6985)
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-08-12 10:08:36 -04:00
Matt Rubens
3acb3ba21e
Adding requesty base url (#6992)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: John Costa <john@requesty.ai>
Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-12 10:04:35 -04:00
NaccOll
2730ef96b8
fix: improve checkpoint service initialization handling (#6860) 2025-08-12 09:57:25 -04:00
Chris Estreich
12d1959bbd
Switch to the UnifiedBridgeService (#6976) 2025-08-12 03:39:11 -07:00