- Added isProgrammaticUpdate flag to track when config changes are made programmatically
- Modified debounceConfigChange to skip file watcher triggers during programmatic updates
- Updated updateServerToolList to set the flag when writing config changes
- Updated updateServerConfig to handle minor updates (alwaysAllow, disabledTools, timeout) without triggering restarts
- Added small delay after programmatic writes to ensure file watchers process the flag
This prevents unnecessary server restarts when users toggle the 'Always allow' checkbox
for MCP tools, improving the user experience by maintaining active connections.
Fixes#8231
* fix: apply tiered pricing for Gemini models via Vertex AI
- Modified calculateCost method to handle models where cacheReadsPrice is only defined in tiers
- Added comprehensive tests for Vertex AI tiered pricing calculation
- Fixes issue where local cost calculation always showed highest tier rates
Fixes#8017
* Delete src/api/providers/__tests__/vertex-tiered-pricing.spec.ts
---------
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com>
* Updating the privacy policy to allow us to send onboarding and occasional marketing emails.
* docs: Clarified unsubscribe behavior and updated the Last Updated date
* docs: update Last Updated date in Privacy Policy page
- Updated regex pattern to support optional dash prefix (e.g., "- [ ] Task")
- Added comprehensive test coverage for both formats
- Fixes issue where todo lists with dash prefixes were not being parsed correctly
Fixes#8054
Co-authored-by: Roo Code <roomote@roocode.com>
* fix: transform keybindings command references in nightly build
The keybindings section was not being transformed during the nightly build process, causing command+y keybinding to reference the wrong command name (roo-cline.addToContext instead of roo-code-nightly.addToContext).
- Added keybindings schema to types.ts
- Updated generatePackageJson to transform keybindings command references
- This ensures keybindings work correctly in the nightly build
* fix: only include keybindings in output when they exist
Updated generatePackageJson to conditionally add keybindings to avoid including undefined values in the generated package.json. Fixed eslint-disable comment placement.
---------
Co-authored-by: Roo Code <roomote@roocode.com>
feat: add organizationFeaturesSchema with roomoteControlEnabled
- Add organizationFeaturesSchema with optional roomoteControlEnabled boolean
- Integrate features property into organizationSettingsSchema as optional
- Add comprehensive tests for new schema validation
- Maintain backward compatibility with existing organization settings
Co-authored-by: Roo Code <roomote@roocode.com>
* docs: overhaul README for clarity and impact
* fix: update badge links and styles in README for improved visibility
* docs(README): stronger CTAs for Discord/Reddit; restore Modes/Roles incl. cloud agents
* docs(readme): add support CTA; refine modes section; clarify custom modes wording
- add centered help/links CTA under badges: [README.md](README.md:8-10)
- expand feature list to explicitly include modes: [README.md](README.md:45)
- rename section header “Modes and Roles” → “Modes”: [README.md](README.md:52)
- update wording to “Custom Modes: build specialized modes for your team or workflow”: [README.md](README.md:60)
* docs: implement @jdilla1277 suggestions for English README
- Updated header to "Your AI-Powered Dev Team, Right in Your Editor" (removed Cline reference)
- Changed line 44 to "Generate Code from natural language descriptions and specs" for better SEO
- Removed "not the other way around" phrase from line 54
- Replaced "Cloud Agents" with "Roomote Control" on line 61
As requested by @hannesrudolph, these changes are only applied to the English README.
* docs: clarify Roomote Control description and update related links in README
* Reworked the contributor list. Made translastion corrections.
---------
Co-authored-by: Roo Code <roomote@roocode.com>
* feat(cloud): Add telemetry retry queue for network resilience
- Implement RetryQueue class with workspace-scoped persistence
- Queue failed telemetry events for automatic retry
- Retry events every 60 seconds with fresh auth tokens
- FIFO eviction when queue reaches 100 events
- Persist queue across VS Code restarts
This ensures telemetry data isn't lost during network failures or temporary server issues.
Migrated from RooCodeInc/Roo-Code-Cloud#744
* fix: address PR review feedback for retry queue
- Fix retry order to use consistent FIFO processing
- Add retry limit enforcement with max retries check
- Add configurable request timeout (default 30s)
- Add comprehensive tests for retryAll() method
- Add request-max-retries-exceeded event
- Fix timeout test to avoid timing issues
* fix: resolve TypeScript errors in RetryQueue tests
* fix(cloud): Address PR feedback for telemetry retry queue
- Handle HTTP error status codes (500s, 401/403, 429) as failures that trigger retry
- Remove queuing of backfill operations since they're user-initiated
- Fix race condition in concurrent retry processing with isProcessing flag
- Add specialized retry logic for 429 with Retry-After header support
- Clean up unnecessary comments
- Add comprehensive tests for new status code handling
- Add temporary debug logs with emojis for testing
* refactor: address PR feedback for telemetry retry queue
- Remove unused X-Organization-Id header from auth header provider
- Simplify enqueue() API by removing operation parameter
- Fix error retry logic: only retry 5xx, 429, and network failures
- Stop retrying 4xx client errors (400, 401, 403, 404, 422)
- Implement queue-wide pause for 429 rate limiting
- Add auth state management integration:
- Pause queue when not in active-session
- Clear queue on logout or user change
- Preserve queue when same user logs back in
- Remove debug comments
- Fix ESLint no-case-declarations error with proper block scope
- Update tests for all new behaviors