Skip to content

Conversation

@mrubens
Copy link
Collaborator

@mrubens mrubens commented Nov 27, 2025

Screenshot 2025-11-27 at 10 27 05 AM

Important

Adds a 'taking you to cloud' screen in WelcomeViewProvider.tsx with localization updates and manual URL entry handling.

  • Behavior:
    • Adds a 'taking you to cloud' screen in WelcomeViewProvider.tsx with a progress ring and manual URL entry option.
    • Triggers cloud sign-in without saving API configuration until authentication completes.
    • Handles manual URL entry and auto-triggers authentication if a valid URL is pasted.
  • Localization:
    • Updates welcome.json in multiple locales to include new strings for the 'waiting for cloud' screen.
  • Misc:
    • Adds useEffect hooks to manage authentication state and focus behavior for manual URL input.

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

@mrubens mrubens requested review from cte and jr as code owners November 27, 2025 15:27
@dosubot dosubot bot added size:L This PR changes 100-499 lines, ignoring generated files. UI/UX UI/UX related or focused labels Nov 27, 2025
@roomote
Copy link
Contributor

roomote bot commented Nov 27, 2025

Rooviewer Clock   See task on Roo Cloud

All previously identified issues have been resolved.

  • Hardcoded English text at line 165 breaks internationalization pattern
  • Grammatical error in translation: "If completed" should be "If you've completed"
Previous reviews

Mention @roomote in a comment to request specific changes to this pull request or fix all unresolved issues.

@hannesrudolph hannesrudolph added the Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. label Nov 27, 2025
@mrubens mrubens merged commit 520d4fb into main Nov 27, 2025
10 checks passed
@mrubens mrubens deleted the welcome_waiting_for_cloud branch November 27, 2025 15:44
@github-project-automation github-project-automation bot moved this from Triage to Done in Roo Code Roadmap Nov 27, 2025
@github-project-automation github-project-automation bot moved this from New to Done in Roo Code Roadmap Nov 27, 2025
mrubens added a commit that referenced this pull request Nov 27, 2025
mini2s added a commit to zgsm-ai/costrict that referenced this pull request Nov 29, 2025
* fix: Filter native tools by mode restrictions (RooCodeInc#9246)

* fix: filter native tools by mode restrictions

Native tools are now filtered based on mode restrictions before being sent to the API, matching the behavior of XML tools. Previously, all native tools were sent to the API regardless of mode, causing the model to attempt using disallowed tools.

Changes:
- Created filterNativeToolsForMode() and filterMcpToolsForMode() utility functions
- Extracted filtering logic from Task.ts into dedicated module
- Applied same filtering approach used for XML tools in system prompt
- Added comprehensive test coverage (10 tests)

Impact:
- Model only sees tools allowed by current mode
- No more failed tool attempts due to mode restrictions
- Consistent behavior between XML and Native protocols
- Better UX with appropriate tool suggestions per mode

* refactor: eliminate repetitive tool checking using group-based approach

- Add getAvailableToolsInGroup() helper to check tools by group instead of individually
- Refactor filterNativeToolsForMode() to reuse getToolsForMode() instead of duplicating logic
- Simplify capabilities.ts by using group-based checks (60% reduction)
- Refactor rules.ts to use group helper (56% reduction)
- Remove debug console.log statements
- Update tests and snapshots

Benefits:
- Eliminates code duplication
- Leverages existing TOOL_GROUPS structure
- More maintainable - new tools in groups work automatically
- All tests passing (26/26)

* fix: add fallback to default mode when mode config not found

Ensures the agent always has functional tools even if:
- A custom mode is deleted while tasks still reference it
- Mode configuration becomes corrupted
- An invalid mode slug is provided

Without this fallback, the agent would have zero tools (not even
ask_followup_question or attempt_completion), completely breaking it.

* Fix broken share button (RooCodeInc#9253)

fix(webview-ui): make Share button popover work by forwarding ref in LucideIconButton

- Convert LucideIconButton to forwardRef so Radix PopoverTrigger(asChild) receives a focusable element
- Enables Share popover and shareCurrentTask flow
- Verified with ShareButton/TaskActions Vitest suites

* Add GPT-5.1 models and clean up reasoning effort logic (RooCodeInc#9252)

* Reasoning effort: capability-driven; add disable/none/minimal; remove GPT-5 minimal special-casing; document UI semantics; remove temporary logs

* Remove Unused supportsReasoningNone

* Roo reasoning: omit field on 'disable'; UI: do not flip enableReasoningEffort when selecting 'disable'

* Update packages/types/src/model.ts

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

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

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

---------

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

* fix: make line_ranges optional in read_file tool schema (RooCodeInc#9254)

The OpenAI tool schema required both 'path' and 'line_ranges' in FileEntry,
but the TypeScript type definition marks lineRanges as optional. This caused
the AI to fail when trying to read files without specifying line_ranges.

Changes:
- Updated read_file tool schema to only require 'path' parameter
- line_ranges remains available but optional, matching TypeScript types
- Aligns with implementation which treats lineRanges as optional throughout

Fixes issue where read_file tool kept failing with missing parameters.

* fix: prevent consecutive user messages on streaming retry (RooCodeInc#9249)

* feat(openai): OpenAI Responses: model-driven prompt caching and generic reasoning options refactor (RooCodeInc#9259)

* revert out of scope changes from RooCodeInc#9252 (RooCodeInc#9258)

* Revert "refactor(task): switch to <feedback> wrapper to prevent focus drift after context-management event (condense/truncate)" (RooCodeInc#9261)

* Release v3.32.0 (RooCodeInc#9264)

* Changeset version bump (RooCodeInc#9265)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* [FIX] Fix OpenAI Native handling of encrypted reasoning blocks to prevent error when condensing (RooCodeInc#9263)

* fix: prevent duplicate tool_result blocks in native protocol mode for read_file (RooCodeInc#9272)

When read_file encountered errors (e.g., file not found), it would call
handleError() which internally calls pushToolResult(), then continue to
call pushToolResult() again with the final XML. In native protocol mode,
this created two tool_result blocks with the same tool_call_id, causing
400 errors on subsequent API calls.

This fix replaces handleError() with task.say() for error notifications.
The agent still receives error details through the XML in the single
final pushToolResult() call.

This change works for both protocols:
- Native: Only one tool_result per tool_call_id (fixes duplicate issue)
- XML: Only one text block with complete XML (cleaner than before)

Agent visibility preserved: Errors are included in the XML response
sent to the agent via pushToolResult().

Tests: All 44 tests passing. Updated test to verify say() is called.

* Fix duplicate tool blocks causing 'tool has already been used' error (RooCodeInc#9275)

* feat(openai-native): add abort controller for request cancellation (RooCodeInc#9276)

* Disable XML parser for native tool protocol (RooCodeInc#9277)

* Release v3.32.1 (RooCodeInc#9278)

* Changeset version bump (RooCodeInc#9280)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* refactor: centralize toolProtocol configuration checks (RooCodeInc#9279)

* refactor: centralize toolProtocol configuration checks

- Created src/utils/toolProtocol.ts with getToolProtocolFromSettings() utility
- Replaced all direct vscode.workspace.getConfiguration() calls with centralized utility
- Updated 6 files to use the new utility function
- All tests pass and TypeScript compilation succeeds

* refactor: use isNativeProtocol function from types package

* fix: format tool responses for native protocol (RooCodeInc#9270)

* fix: format tool responses for native protocol

- Add toolResultFormatting utilities for protocol detection
- ReadFileTool now builds both XML and native formats
- Native format returns clean, readable text without XML tags
- Legacy conversation history conversion is protocol-aware
- All tests passing (55 total)

* refactor: use isNativeProtocol from @roo-code/types

Remove duplicate implementation and import from types package instead

* fix: prevent duplicate tool_result blocks in native tool protocol (RooCodeInc#9248)

* Merge remote-tracking branch 'upstream/main' into roo-to-main

* Fix duplicate import (RooCodeInc#9281)

* chore(core): remove unused TelemetryEventName import

* feat: implement dynamic tool protocol resolution with proper precedence hierarchy (RooCodeInc#9286)

Co-authored-by: Roo Code <[email protected]>

* web: Roo Code Cloud Provider pricing page and changes elsewhere (RooCodeInc#9195)

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* feat(zgsm): add abort signal handling for streaming responses

* Move the native tool call toggle to experimental settings (RooCodeInc#9297)

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: daniel-lxs <[email protected]>

* fix: Replace broken badgen.net badges with shields.io (RooCodeInc#9318)

Co-authored-by: Roo Code <[email protected]>

* fix: preserve tool blocks for native protocol in conversation history (RooCodeInc#9319)

* feat: add git status to environment details (RooCodeInc#9310)

* feat: Move Import/Export to Modes view toolbar (RooCodeInc#8686) Cleanup of Mode Edit view (RooCodeInc#9077)

* Add max git status files to evals settings (RooCodeInc#9322)

* Release: v1.86.0 (RooCodeInc#9323)

* fix: prevent infinite loop when attempt_completion succeeds (RooCodeInc#9325)

* feat: add tool protocol selector to advanced settings (RooCodeInc#9324)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Matt Rubens <[email protected]>

* Remove experimental setting for native tool calls (RooCodeInc#9333)

* Fix the type of the list files recursive parameter (RooCodeInc#9337)

* fix: use VSCode theme color for outline button borders (RooCodeInc#9336)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Bruno Bergher <[email protected]>

* feat: update cloud agent CTA to point to setup page (RooCodeInc#9338)

Co-authored-by: Roo Code <[email protected]>

* Improve Google Gemini defaults, temperature, and cost reporting (RooCodeInc#9327)

* fix: sync parser state with profile/model changes (RooCodeInc#9355)

* feat: enable native tool calling for openai-native provider (RooCodeInc#9348)

Co-authored-by: daniel-lxs <[email protected]>

* Add Gemini 3 Pro Preview model (RooCodeInc#9357)

* fix: pass tool protocol parameter to lineCountTruncationError (RooCodeInc#9358)

* Remove the Roo model defaults (RooCodeInc#9340)

* chore: add changeset and announcement for v3.33.0 (RooCodeInc#9360)

* Changeset version bump (RooCodeInc#9362)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* fix: resolve native tool protocol race condition causing 400 errors (RooCodeInc#9363)

* Retry eval tasks if API instability detected (RooCodeInc#9365)

* fix: exclude XML tool examples from MODES section when native protocol enabled (RooCodeInc#9367)

* Add native tool calling support to OpenAI-compatible (RooCodeInc#9369)

* Add native tool calling support to OpenAI-compatible

* Fix OpenAI strict mode schema validation by adding converter methods to BaseProvider

- Add convertToolsForOpenAI() and convertToolSchemaForOpenAI() methods to BaseProvider
- These methods ensure all properties are in required array and convert nullable types
- Remove line_ranges from required array in read_file tool (converter handles it)
- Update OpenAiHandler and BaseOpenAiCompatibleProvider to use helper methods
- Eliminates code duplication across multiple tool usage sites
- Fixes: OpenAI completion error: 400 Invalid schema for function 'read_file'

---------

Co-authored-by: daniel-lxs <[email protected]>

* fix: ensure no XML parsing when protocol is native (RooCodeInc#9371)

* fix: ensure no XML parsing when protocol is native

* refactor: remove redundant non-null assertions

* fix: gemini maxOutputTokens and reasoning config (RooCodeInc#9375)

* fix: gemini maxOutputTokens and reasoning config

* test: tighten gemini reasoning typings

* fix: Update tools to return structured JSON for native protocol (RooCodeInc#9373)

* feat: add toolProtocol property to PostHog tool usage telemetry (RooCodeInc#9374)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Matt Rubens <[email protected]>
Co-authored-by: daniel-lxs <[email protected]>

* fix: Include nativeArgs in tool repetition detection (RooCodeInc#9377)

* fix: Include nativeArgs in tool repetition detection

Fixes false positive 'stuck in a loop' error for native protocol tools
like read_file that store parameters in nativeArgs instead of params.

Previously, the ToolRepetitionDetector only compared the params object,
which was empty for native protocol tools. This caused all read_file
calls to appear identical, triggering false loop detection even when
reading different files.

Changes:
- Updated serializeToolUse() to include nativeArgs in comparison
- Added comprehensive tests for native protocol scenarios
- Maintains backward compatibility with XML protocol tools

Closes: Issue reported in Discord about read_file loop detection

* Try to use safe-stable-stringify in the tool repetition detector

---------

Co-authored-by: Matt Rubens <[email protected]>

* Fix Gemini thought signature validation and token counting errors (RooCodeInc#9380)

Co-authored-by: Matt Rubens <[email protected]>

* Release v3.33.1 (RooCodeInc#9383)

* Changeset version bump (RooCodeInc#9384)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* fix: preserve user images in native tool call results (RooCodeInc#9401)

* feat: migrate PostHog client to ph.roocode.com (RooCodeInc#9402)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Matt Rubens <[email protected]>

* feat: enable native tool calling for gemini provider (RooCodeInc#9343)

Co-authored-by: daniel-lxs <[email protected]>

* Add a RCC credit balance display (RooCodeInc#9386)

* Add a RCC credit balance display

* Replace the provider docs with the balance when logged in

* PR feedback

---------

Co-authored-by: Matt Rubens <[email protected]>

* perf: reduce excessive getModel() calls & implement disk cache fallback (