Commit graph

6643 commits

Author SHA1 Message Date
Toray Altas
ecadf2c6b5 fix: include line totals in aggregatedCosts message
Align extension->webview message contract with extended AggregatedCosts/SubtaskDetail (added/removed + totals), fixing check-types and enabling line deltas in UI.
2026-01-18 23:19:29 -05:00
Toray Altas
235cffad3b feat: track line changes for delegated subtasks
Compute per-task lines added/removed from tool diffStats, persist on history items, and aggregate recursively across descendants.\n\nRender +/− in todo rows, task header, and expanded task details with diff-like green/red styling. Update i18n labels across locales and adjust layout/alignment.\n\nRelates to PR #10765
2026-01-18 23:01:19 -05:00
Toray Altas
3445ca1ecd fix: await subtask usage persistence before roll-up
Ensure delegation roll-up reads final persisted cost/tokens by awaiting background usage collection before reopening parent.

Add regression test covering late usage persistence ordering.
2026-01-18 19:03:12 -05:00
Toray Altas
788a21a192 feat(webview): add edit toggle for todo updates
Extract SubtaskDetail into a shared type and remove the unused SubtaskCostList component.
2026-01-18 03:20:07 -05:00
Toray Altas
188a1c6e8e fix: preserve todo metadata on updateTodoList
Prefer history todos when they contain subtaskId/tokens/cost so updateTodoList preserves injected metadata.

Adds regression test covering history-vs-memory selection.
2026-01-18 00:34:45 -05:00
Toray Altas
5bead50ced fix: hide system_update_todos messages from chat UI
System-generated todo updates (e.g. cost syncs) will now be processed
silently without showing a 'Todo List Updated' notification, reducing
chat noise. User edits remain visible.
2026-01-17 18:34:38 -05:00
Toray Altas
25848e6df6 fix: compute subtask tooltip total from todos
Use todo list costs (source of truth) to derive subtasks total in
TaskHeader tooltip, de-duping by subtaskId and falling back to
history-derived subtaskDetails when needed.
2026-01-17 17:52:59 -05:00
Toray Altas
0a245c49a7 fix: eliminate spurious user edits and remove edit button from notifications
- Add system_update_todos message type to distinguish system-generated
  todo updates from actual user edits
- Remove unnecessary edit button from todo list update notifications
- Update UI rendering logic to handle system updates appropriately
- Update tests to reflect new message type behavior
2026-01-17 17:01:24 -05:00
Toray Altas
4c9dd28d40 fix: improve todo-subtask linking reliability with fallback anchors
Enhance the direct todo-subtask linking mechanism to handle edge cases
where subtaskId links may be missing during history resume or delegation.

Changes:
- UpdateTodoListTool: Use dual-strategy metadata matching (ID-first,
  then content-based fallback) to preserve tokens/cost across updates
- ClineProvider: Add deterministic fallback anchor selection
  (in_progress > pending > last completed > synthetic) for both
  delegation-time linking and cost write-back on resume
- ClineProvider: Create synthetic anchor todo when no todos exist
- Clean up excessive logging statements

Tests:
- Add fallback anchor tests for reopenParentFromDelegation
- Add delegation-time linking tests with various todo states
2026-01-17 15:47:52 -05:00
Toray Altas
6b3ec95ce3 Add task cost breakdown utilities 2026-01-16 11:21:04 -05:00
Toray Altas
e18382d9ff feat: link delegated subtasks to todos for cost breakdown 2026-01-16 10:04:19 -05:00
Toray Altas
774a8f9471 feat: display per-subtask cost breakdown in todos list
- Add SubtaskDetail interface with id, name, tokens, cost, status fields
- Add buildSubtaskDetails() function to aggregate task costs
- Pass childDetails in taskWithAggregatedCosts message
- Integrate subtask cost display into TodoListDisplay component
- Add fuzzy matching to match todo items with subtask details
- Display token count and cost next to matching todo items
- Add 16 tests for TodoListDisplay with subtask cost functionality

Related to: #5376
2026-01-15 22:35:05 -05:00
T
f48ea389df
Feat/issue 5376 aggregate subtask costs (#10757) 2026-01-15 16:44:55 -05:00
Hannes Rudolph
f2b16d400d
fix: handle missing tool identity in OpenAI Native streams (#10719) 2026-01-15 11:42:34 -07:00
Matt Rubens
4ee494b08c
Release: v1.106.0 (#10749) 2026-01-15 01:44:14 -05:00
roomote[bot]
724571c7bd
feat: clarify Slack and Linear are Cloud Team only features (#10748)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2026-01-15 01:16:30 -05:00
github-actions[bot]
5183be22a4
Changeset version bump (#10747)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2026-01-15 00:44:59 -05:00
Matt Rubens
afc588b8d3
Release v3.41.0 (#10746) 2026-01-15 00:39:13 -05:00
Archimedes
dba76f51e7
fix(e2e): add alwaysAllow config for MCP time server tools (#10733) 2026-01-14 23:50:17 -05:00
Daniel
d7b7e17a21
fix(litellm): inject dummy thought signatures on ALL tool calls for Gemini (#10743) 2026-01-14 23:49:22 -05:00
Hannes Rudolph
4ebbca08b0
feat: add OpenAI Codex provider with OAuth subscription authentication (#10736)
Co-authored-by: Roo Code <roomote@roocode.com>
2026-01-14 23:48:51 -05:00
Hannes Rudolph
739b91ec40
Clear terminal output buffers to prevent memory leaks (#7666) 2026-01-14 21:24:14 -07:00
Archimedes
dbf206f06b
feat(e2e): Enable E2E tests - 39 passing tests (#10720)
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
2026-01-14 12:15:54 -08:00
Hannes Rudolph
b04597faa6
feat(providers): add gpt-5.2-codex model to openai-native provider (#10731) 2026-01-14 13:02:56 -07:00
Matt Rubens
4b17f985b4
Release: v1.105.0 (#10722) 2026-01-14 10:01:05 -05:00
github-actions[bot]
d689de34f8
Changeset version bump (#10714)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2026-01-14 00:00:52 -05:00
Matt Rubens
8fdd96be3c
Release v3.40.1 (#10713) 2026-01-13 23:55:39 -05:00
Hannes Rudolph
9b1c8500d9
feat(gemini): add allowedFunctionNames support to prevent mode switch errors (#10708)
Co-authored-by: Roo Code <roomote@roocode.com>
2026-01-13 23:49:57 -05:00
github-actions[bot]
d74bad9121
Changeset version bump (#10706)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2026-01-13 18:35:32 -05:00
Matt Rubens
fdc6104031
chore: add changeset for v3.40.0 (#10705) 2026-01-13 18:24:15 -05:00
Daniel
440924ad62
fix: clear approval buttons when API request starts (ROO-526) (#10702) 2026-01-13 18:15:04 -05:00
Bruno Bergher
83037104c6
ux: improve stop button visibility and streamline error handling (#10696)
* Restores the send button in the message edit mode

* Makes the stop button more prominent
2026-01-13 18:14:08 +00:00
Bruno Bergher
749026a44b
ux: Further improve error display (#10692)
* Ensures error details are shown for all errors (except diff, which has its own case)

* More details

* litellm is a proxy
2026-01-13 15:43:51 +00:00
Daniel
78821a3951
fix: use placeholder for empty tool result content to fix Gemini API validation (#10672) 2026-01-13 01:39:25 -05:00
Daniel
2d4dba0286
fix: omit parallel_tool_calls when not explicitly enabled (COM-406) (#10671) 2026-01-13 01:37:41 -05:00
Bruno Bergher
a12163d762
ux: Standard stop button 🟥 (#10639)
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
2026-01-13 01:25:17 -05:00
Daniel
b514996208
fix(path): return empty string from getReadablePath when path is empty - ROO-437 (#10638) 2026-01-12 18:49:37 -05:00
Daniel
621d9500de
fix: sanitize tool_use IDs to match API validation pattern (#10649) 2026-01-12 18:04:58 -05:00
Patrick Decat
a682908a25
fix: encode hyphens in MCP tool names before sanitization (#10644) 2026-01-12 17:06:40 -05:00
Daniel
f439496147
fix: correct Gemini 3 thought signature injection format via OpenRouter (#10640) 2026-01-12 17:05:00 -05:00
Archimedes
55b732485b
perf: optimize message block cloning in presentAssistantMessage (#10616) 2026-01-12 10:22:50 -08:00
Daniel
4c2d1f0c68
feat: display edit_file errors in UI after consecutive failures (#10581) 2026-01-12 10:35:43 -05:00
Bruno Bergher
e23e1ecc94
ux: UI improvements to search settings (#10633)
* UI changs

* Update webview-ui/src/components/marketplace/MarketplaceView.tsx

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

* i18n

---------

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
2026-01-12 06:59:49 -05:00
Matt Rubens
632b86cfbe
Basic settings search (#10619)
* Prototype of a simpler searchable settings

* Fix tests

* UI improvements

* Input tweaks

* Update webview-ui/src/components/settings/SettingsSearch.tsx

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

* fix: remove duplicate Escape key handler dead code

* Cleanup

* Fix tests

---------

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: Roo Code <roomote@roocode.com>
2026-01-11 14:57:41 -05:00
github-actions[bot]
611bb70166
Changeset version bump (#10609)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2026-01-10 13:35:16 -05:00
Matt Rubens
f1bbd29bda
Update router name in types (#10610) 2026-01-10 13:34:25 -05:00
Matt Rubens
9c91fb3304
chore: add changeset for v3.39.3 (#10608) 2026-01-10 13:20:44 -05:00
Matt Rubens
352616a6de
Update Roo Code Router service name (#10607) 2026-01-10 13:14:42 -05:00
Matt Rubens
fa5fe75b3b
Update router name in types (#10605) 2026-01-10 12:52:41 -05:00
Matt Rubens
f99d116ec7
chore: bump version to v1.102.0 (#10604) 2026-01-10 11:41:09 -05:00