Fix Roomote Control Stop/Continue bug #10774
Draft
+40
−6
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes issue where Continue button does not work after stopping a task via Roomote Control.
Problem
After stopping a task via Roomote Control, clicking Continue or sending messages does not work. The root cause was that Task.dispose() unconditionally unsubscribed the extension from the task Socket.IO room, so subsequent commands sent to that room were never received.
Solution
Added a
_shouldUnsubscribeOnDisposeflag that captures the intent synchronously whenabortTask()is called, before any async operations can allow external code to modify state. This prevents a race condition where theabandonedflag was set afterabortTask()yielded.Changes
_shouldUnsubscribeOnDisposeprivate property to Task classabortTask()to set flag before any async operationsdispose()to check flag before unsubscribing from task roomTesting
View task on Roo Code Cloud
Important
Fixes Roomote Control Continue button issue by adding a flag to manage task room subscription during disposal in the
Taskclass.Continuebutton in Roomote Control doesn't work after stopping a task._shouldUnsubscribeOnDisposeflag toTaskclass to manage subscription behavior.abortTask()to set_shouldUnsubscribeOnDisposeflag before async operations.dispose()to check_shouldUnsubscribeOnDisposeflag before unsubscribing from task room.This description was created by
for 9e476d9. You can customize this summary. It will automatically update as commits are pushed.