daniel-lxs
58cbc690e4
refactor: centralize abort/streaming state reset logic and use safe JSON parsing
...
- Extract duplicated abort/streaming state reset logic into private helper method resetAbortAndStreamingState()
- Update resumeTaskFromHistory() and presentResumableAsk() to use the helper method
- Replace unsafe JSON.parse() with safeJsonParse() in ClineProvider.ts for better error handling
Addresses review feedback from @mrubens on PR #8986
2025-11-03 15:23:27 -05:00
daniel-lxs
638ca0e09b
fix: prevent UI flicker and enable resumption after task cancellation
...
Problem:
- Clicking Terminate during streaming caused the entire chat view to blink
- Task would close, user pushed to home, then back into the task
- Cancel → Resume flow would grey the Resume button but not restart the loop
- Input would become disabled and messages couldn't be sent
Root causes:
1. Hard abort (abandoned=true) was disposing the task instance immediately
2. Provider was rehydrating a new task instance from disk after abort
3. Abort flags stayed set (abort=true) preventing loop resumption
4. No deterministic spinner stopping on cancellation
5. Streaming state wasn't reset on resume
Solution:
- Soft-interrupt: Cancel now uses abortTask(false) to keep instance alive
- No rehydration: Provider skips task recreation for user_cancelled aborts
- Resume pipeline: Added presentResumableAsk() for in-place resume flow
- Abort state reset: Clear abort flags and streaming state before resuming
- Spinner determinism: Inject cancelReason into last api_req_started
- Transactional UI: Pause state updates during checkpoint operations
Changes:
- Task.presentResumableAsk(): New method for soft-interrupt resume
- Task.resumeTaskFromHistory(): Reset abort/streaming state after user confirms
- Task.abortTask(): Distinguish soft (keep alive) vs hard abort (dispose)
- ClineProvider.cancelTask(): Soft abort + schedule presentResumableAsk()
- ClineProvider.onTaskAborted: Skip rehydration for user_cancelled
- ChatView: Handle cancelReason for deterministic streaming state
Tests:
- Task.presentResumableAsk.abort-reset.spec.ts: Verify abort flag reset
- ClineProvider.cancelTask.present-ask.spec.ts: Verify soft-interrupt flow
- Task.spec.ts: Updated abort semantics (soft vs hard)
Result:
- No UI flicker or navigation on Cancel
- Resume button successfully restarts the agent loop
- Input remains enabled throughout cancel/resume cycle
- Spinner stops deterministically on cancellation
- Task history stable, no duplicate entries
2025-11-02 18:56:23 -05:00
Matt Rubens
416fa5727e
Fix cost and token tracking between provider styles ( #8954 )
2025-10-31 15:14:29 -04:00
roomote[bot]
81d5f63b72
fix: remove search_and_replace tool from codebase ( #8892 )
...
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
Co-authored-by: Hannes Rudolph <hrudolph@gmail.com>
2025-10-30 22:51:29 -04:00
roomote[bot]
b284eddf40
fix: prevent infinite loop when canceling during auto-retry ( #8902 )
...
* fix: prevent infinite loop when canceling during auto-retry
- Add abort check after backoffAndAnnounce in first-chunk retry logic
- Add abort check after backoffAndAnnounce in mid-stream retry logic
- Properly handle task abortion to break retry loops
Fixes #8901
* docs: add critical comments explaining abort checks
- Document the importance of abort checks after backoff
- Explain how these checks prevent infinite loops
- Add context for future maintainability
---------
Co-authored-by: Roo Code <roomote@roocode.com>
2025-10-30 19:12:30 -04:00
Dicha Zelianivan Arkana
f583be3c30
fix(context): truncate type definition to match max read line ( #8509 )
...
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
2025-10-30 16:55:55 -04:00
Seth Miller
f9d6fe7985
Fix: Enhanced codebase index recovery and reuse ('Start Indexing' button now reuses existing Qdrant index) ( #8588 )
...
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
2025-10-30 15:59:51 -04:00
Dicha Zelianivan Arkana
06af804c2e
fix(modes): custom modes under custom path not showing ( #8499 )
2025-10-28 19:36:56 -04:00
Chris Estreich
520b2f63da
Prevent a noisy cloud agent exception ( #8577 )
2025-10-28 19:35:31 -04:00
Daniel
be119bcc5a
Add exponential backoff for mid-stream retry failures ( #8888 )
...
* Add exponential backoff for mid-stream retry failures
- Extend StackItem with retryAttempt counter
- Extract shared backoffAndAnnounce helper for consistent retry UX
- Apply exponential backoff to mid-stream failures when auto-approval enabled
- Add debug throw for testing mid-stream retry path
* Add abort check in retry countdown loop
Allows early exit from exponential backoff if task is cancelled during delay
2025-10-28 12:55:13 -04:00
Matt Rubens
0d3817505e
Focus textbox and add newlines after adding to context ( #8877 )
2025-10-27 23:26:34 -04:00
roomote[bot]
3cbdbc2af6
feat: add settings to configure time and cost in system prompt ( #8451 )
...
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-10-27 18:40:16 -04:00
Christiaan Arnoldus
c232057e54
Use monotonic clock for rate limiting ( #8456 )
2025-10-27 17:01:54 -04:00
roomote[bot]
13d20bbe8b
fix: process queued messages after context condensing completes ( #8478 )
...
Co-authored-by: Roo Code <roomote@roocode.com>
2025-10-27 16:57:34 -04:00
Matt Rubens
6428d099fa
chore: add changeset for v3.29.0 ( #8806 )
...
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-10-24 17:46:06 -04:00
Dicha Zelianivan Arkana
aae255d1b8
fix(export): exclude max tokens field for models that don't support it ( #8464 )
2025-10-24 16:20:31 -04:00
Matt Rubens
19e06900ee
Fix checkpoints test ( #8803 )
2025-10-24 10:18:19 -04:00
roomote[bot]
ad56791c3e
fix: preserve trailing newlines in stripLineNumbers for apply_diff ( #8227 )
...
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-10-24 10:16:00 -04:00
Daniel
485b551cf3
Improve checkpoint menu translations for PR #7841 ( #8796 )
...
Co-authored-by: Bruno Bergher <me@brunobergher.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: NaccOll <wuyoubin0504@gmail.com>
2025-10-24 10:03:03 -04:00
roomote[bot]
ab9a48578c
feat: add dynamic model loading for Roo Code Cloud provider ( #8728 )
...
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-10-24 00:58:34 -04:00
NaccOll
f4121e2568
Add checkpoint initialization timeout settings and fix checkpoint timeout warnings ( #8019 )
...
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-10-23 22:18:58 -04:00
Daniel
4f084f89e4
fix: retry API requests on stream failures instead of aborting task ( #8794 )
2025-10-23 16:54:51 -05:00
Chris Estreich
ac88d66194
Remove a very verbose error for cloud agents ( #8795 )
2025-10-23 12:37:45 -07:00
Daniel
93c13e2d13
feat: add token-budget based file reading with intelligent preview ( #8789 )
...
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-10-23 15:35:43 -04:00
roomote[bot]
d9ed33db67
Enable browser-use tool for all image-capable models ( #8121 )
...
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Hannes Rudolph <hrudolph@gmail.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-10-21 22:23:42 -04:00
Hannes Rudolph
6ffdd440ce
Remove GPT‑5 instructions/reasoning_summary from UI message metadata to prevent ui_messages.json bloat ( #8756 )
...
chore(gpt5): stop persisting instructions/reasoning_summary in UI message metadata
Problem: ui_messages.json was getting bloated with unused or duplicated content (system 'instructions' and 'reasoning_summary') that we do not read back. Root cause: earlier OpenAI Responses API implementation persisted these fields to per-message metadata; however, 'instructions' are already sent as top-level request instructions and 'reasoning_summary' is surfaced live via streaming events. Neither field is consumed from storage. Changes: (1) Task.persistGpt5Metadata now stores only previous_response_id; (2) removed instructions and reasoning_summary from types; (3) updated Zod schema; (4) persistence layer writes messages as-is (no sanitizer); (5) tests green. Impact: smaller ui_messages.json, no runtime behavior change for requests. Migration: old metadata fields will be ignored by schema.
2025-10-21 14:55:29 -06:00
Chris Estreich
4e6c717915
Try a 5s status mutation timeout ( #8734 )
2025-10-20 15:36:05 -07:00
Matt Rubens
236957b818
Revert cloud agents for now ( #8713 )
2025-10-17 16:59:16 -04:00
Christiaan Arnoldus
3aa9762d04
Update image generation model selection ( #8698 )
2025-10-17 10:07:27 -04:00
Matt Rubens
4405f5a0b3
Remove request content from UI messages ( #8696 )
2025-10-17 07:34:27 -04:00
Bruno Bergher
0978ba3996
feat: Cloud agents in extension ( #8470 )
...
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-10-17 00:18:16 -04:00
Chris Estreich
b011b63c93
Identify cloud tasks in the extension bridge ( #8539 )
2025-10-08 20:54:08 -07:00
Matt Rubens
eeaafef786
Revert "feat: Experiment: Show a bit of stats in Cloud tab to help users discover there's more in Cloud" ( #8559 )
2025-10-07 21:37:10 -04:00
Bruno Bergher
cd8036d2d8
feat: Experiment: Show a bit of stats in Cloud tab to help users discover there's more in Cloud ( #8415 )
...
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: SannidhyaSah <sah_sannidhya@outlook.com>
Co-authored-by: John Richmond <5629+jr@users.noreply.github.com>
2025-10-07 17:48:23 -04:00
Matt Rubens
28b642d28c
Add the parent task ID in telemetry ( #8532 )
2025-10-06 11:30:01 -04:00
roomote[bot]
38c8028528
fix: properly reset cost limit tracking when user clicks "Reset and Continue" ( #6890 )
...
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
2025-10-03 09:56:34 -04:00
Matt Rubens
c552027960
Include reasoning messages in cloud tasks ( #8401 )
2025-09-30 15:49:30 -04:00
SannidhyaSah
e33efc6242
chore: Remove unsupported Gemini 2.5 Flash Image Preview free model ( #8359 )
2025-09-30 15:33:01 -04:00
Matt Rubens
b5c58b64aa
Track when telemetry settings change ( #8339 )
2025-09-26 22:48:33 -04:00
Matt Rubens
8a7d90e43b
Upgrade Supernova ( #8330 )
2025-09-26 15:37:36 -04:00
roomote[bot]
5e218febdb
fix: remove <thinking> tags from prompts for cleaner output and fewer tokens ( #8319 )
...
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Hannes Rudolph <hrudolph@gmail.com>
2025-09-26 10:30:09 -04:00
Hannes Rudolph
ab0644d367
Correct tool use suggestion to improve model adherence to suggestion ( #8315 )
...
* Correct tool use suggestion to improve model adherence to suggestion
* tweak
2025-09-25 11:53:31 -06:00
roomote[bot]
43c1de0d7e
feat: log out from cloud when resetting extension state ( #8312 )
...
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-09-25 12:24:46 -04:00
Hannes Rudolph
798801d582
Fix frequent "No tool used" errors by clarifying tool-use rules ( #8292 )
2025-09-25 09:24:46 -04:00
Hannes Rudolph
2f1b94f430
fix: include initial ask in condense summarization ( #8293 ) ( #8298 )
...
* fix: include initial ask in condense summarization (#8293 )
---------
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-09-24 23:14:44 -06:00
Bruno Bergher
d8dd19a6ed
ux: Collapse thinking blocks by default (but control all of them with a keyboard shortcut) ( #8254 )
...
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: Matt Rubens <mrubens@users.noreply.github.com>
2025-09-23 18:48:04 -04:00
Matt Rubens
0682629ac8
Cloud account switcher ( #8223 )
...
* Cloud account switcher
* Bare metal evals fixes (#8224 )
Co-authored-by: Roo Code <roomote@roocode.com>
* Rounded icons in chat account switcher
* Visual tweaks to CloudView
* Remove hardcoded timeout
* Safer check
* PR feedback
* Fix test
* Check for org mismatches in handleCredentialsChange
* Cloud: use the existing auth event flow to handle org switching
* Cleanup: broadcast() might be confusingly named.
---------
Co-authored-by: Chris Estreich <cestreich@gmail.com>
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Bruno Bergher <bruno@roocode.com>
Co-authored-by: John Richmond <5629+jr@users.noreply.github.com>
2025-09-23 18:18:28 -04:00
Daniel
9dabb85007
Fix: Improve reasoning block formatting for better readability ( #7868 )
2025-09-22 23:02:11 -04:00
Bruno Bergher
6c2aa63cfd
feat: Add keyboard shortcut for toggling auto-approve (Cmd/Ctrl+Alt+A) ( #8214 )
...
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: Matt Rubens <mrubens@users.noreply.github.com>
2025-09-22 11:26:29 -04:00
Matt Rubens
32d7e6f2ad
Add an announcement for Supernova ( #8197 )
...
* Add an announcement for Supernova
* Remove duplicate keys
2025-09-20 16:28:28 -04:00