Skip to content

Conversation

@jr
Copy link
Collaborator

@jr jr commented Sep 8, 2025

Update / cleanup of #7634


Important

This PR introduces task synchronization functionality, updates remote control to depend on task sync, and modifies UI components and tests to support these changes.

  • Behavior:
    • Adds isTaskSyncEnabled() to CloudService.ts and CloudSettingsService.ts to check task sync status based on user and organization settings.
    • Updates TelemetryClient.ts to use isTaskSyncEnabled() for task message telemetry.
    • Modifies ClineProvider.ts to use taskSyncEnabled instead of remoteControlEnabled.
  • UI Components:
    • Updates CloudView.tsx to include task sync toggle and manage its state based on user and organization settings.
    • Adds task sync and remote control descriptions to multiple language files in i18n.
  • Tests:
    • Adds tests for task sync and remote control toggles in CloudView.spec.tsx.
    • Updates ExtensionStateContext.spec.tsx to test new state properties for task sync.
  • Misc:
    • Removes remoteControlEnabled from global-settings.ts and related files.
    • Updates ExtensionMessage.ts and WebviewMessage.ts to include taskSyncEnabled.

This description was created by Ellipsis for f4334b1. You can customize this summary. It will automatically update as commits are pushed.

@jr jr requested review from cte and mrubens as code owners September 8, 2025 23:08
@dosubot dosubot bot added the size:XL This PR changes 500-999 lines, ignoring generated files. label Sep 8, 2025
@jr jr requested a review from brunobergher September 8, 2025 23:10
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo: The property name 'featureRoomoteControlEnabled' appears to be misspelled. It likely should be 'featureRemoteControlEnabled'.

Suggested change
featureRoomoteControlEnabled: false,
featureRemoteControlEnabled: false,

Copy link
Contributor

@roomote roomote bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for this PR that separates Task Sync and Roomote Control functionality!

I've reviewed the changes and have a few observations:

Positive Changes ✅

  • Good separation of concerns between Task Sync and Roomote Control
  • Proper dependency management (Roomote Control requires Task Sync)
  • Comprehensive test updates for the new isTaskSyncEnabled() methods
  • UI properly reflects the relationship between the two features

Questions/Suggestions 🤔

  1. BridgeOrchestrator.isEnabled() parameter change: I noticed the calls to BridgeOrchestrator.isEnabled() were changed from using remoteControlEnabled to taskSyncEnabled (lines 887 and 2493 in ClineProvider.ts). Is this intentional? It seems like the bridge should be enabled based on remote control status rather than task sync status, since the bridge is for remote control functionality.

  2. Null safety in CloudSettingsService: The isTaskSyncEnabled() method in CloudSettingsService.ts (line 271) calls this.authService.getStoredOrganizationId() without checking if authService exists. While the constructor ensures it's initialized, adding a defensive check might prevent potential runtime errors.

  3. Test coverage: Consider adding a test for StaticSettingsService.isTaskSyncEnabled() to match the test coverage of the other services.

  4. Naming consistency: Throughout the codebase, I see both 'Roomote Control' and 'Remote Control'. Should we standardize on one spelling?

  5. Documentation: It would be helpful to add a comment explaining why Roomote Control depends on Task Sync, as this relationship might not be immediately obvious to future maintainers.

Overall, this is a well-structured change that properly separates these two features while maintaining their relationship. The code is clean and the tests are comprehensive.

@hannesrudolph hannesrudolph added the Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. label Sep 8, 2025
@jr jr force-pushed the jr/feat/separate-task-sync-roomote-control branch 3 times, most recently from 399fe93 to 578acc2 Compare September 9, 2025 17:19
@daniel-lxs daniel-lxs marked this pull request as draft September 9, 2025 21:22
@daniel-lxs daniel-lxs moved this from Triage to PR [Draft / In Progress] in Roo Code Roadmap Sep 9, 2025
roomote and others added 4 commits September 9, 2025 14:26
- Add new taskSyncEnabled setting to control task content syncing
- Keep remoteControlEnabled for Roomote Control functionality
- Task Sync controls whether task content is sent to cloud
- Roomote Control controls whether cloud can send instructions back
- Roomote Control now depends on Task Sync being enabled
- Usage metrics (tokens, cost) always reported regardless of settings
- Update UI with two separate toggles and clear descriptions
- Add info text explaining usage metrics are always reported
…ings

- Added taskSync, taskSyncDescription, remoteControlRequiresTaskSync, and usageMetricsAlwaysReported keys to all non-English cloud.json files
- Updated cloudBenefit keys to match English structure
- Ensured all languages have consistent translation keys for the new Task Sync and Roomote Control features
@jr jr force-pushed the jr/feat/separate-task-sync-roomote-control branch from 578acc2 to f4334b1 Compare September 9, 2025 21:27
@hannesrudolph hannesrudolph added PR - Draft / In Progress and removed Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. labels Sep 9, 2025
@jr jr marked this pull request as ready for review September 10, 2025 02:04
@dosubot dosubot bot added the Enhancement New feature or request label Sep 10, 2025
@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Sep 10, 2025
@jr jr merged commit 80af39d into main Sep 10, 2025
24 of 25 checks passed