Skip to content

Conversation

@daniel-lxs
Copy link
Member

@daniel-lxs daniel-lxs commented Oct 23, 2025

Problem

Files can fill the entire context window, and tiktoken crashes with RuntimeError: unreachable on files >5MB.

Solution

Token-budget based file reading with multi-layer protection against context overflow and tokenizer crashes.

How It Works

File Read Request
       ↓
Check file size
       ↓
   < 100KB? → Read normally (fast path)
       ↓
   > 5MB? → Preview first 100KB (crash prevention)
       ↓
Count tokens → Within budget? → Full content
                     ↓
                Exceeds budget? → Truncate to fit

Implementation

Layer 1: Fast Path (< 100KB)

  • Skip validation for small files - zero overhead ⚡

Layer 2: Token Validation (100KB - 5MB)

  • Dynamic budget: (contextWindow - currentTokens) * 0.6
  • Real token counting, smart truncation if needed 🎯

Layer 3: Preview Mode (> 5MB)

  • Return 100KB preview to prevent crashes
  • Suggests using line_range for targeted reading 👁️

Layer 4: Error Recovery

  • Catch tokenizer unreachable errors gracefully
  • Fallback to 100KB preview instead of crashing 🛡️

Benefits

✅ Dynamic budget based on actual context (no magic numbers)
✅ Real token counting using existing tokenizer
✅ 100KB previews for large files
✅ Graceful error handling prevents conversation crashes
✅ Simple (~160 lines) vs complex heuristics
✅ 17 comprehensive tests covering all scenarios

Testing

All 17 tests passing: fast path, budget validation, preview mode, error recovery, edge cases, unicode support.

Related

Closes #6667


Important

Introduces token-budget based file reading in readFileTool.ts to handle large files efficiently, with new functions for budget validation and content truncation, and comprehensive tests.

  • Behavior:
    • Implements token-budget based file reading in readFileTool.ts to prevent context overflow and tokenizer crashes.
    • Introduces validateFileTokenBudget and truncateFileContent in fileTokenBudget.ts for handling large files.
    • Handles files <100KB normally, previews first 100KB for files >5MB, and truncates content if it exceeds token budget.
  • Testing:
    • Adds fileTokenBudget.spec.ts with 17 tests covering scenarios like small files, large files, budget validation, and error handling.
    • Updates line-counter.spec.ts to test line and token counting with error handling.
  • Misc:
    • Updates line-counter.ts to include token estimation alongside line counting.
    • Modifies readFileTool.spec.ts to test new file reading behavior.

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

Implements a simple, token-budget based file reading system that prevents
context window overflow and tokenizer crashes.

Problem:
- Files could fill entire context window causing issues
- tiktoken crashes with 'unreachable' error on files >5MB
- PR #6667's approach was too complex with magic numbers

Solution - Multi-Layer Defense:
1. Fast path: Files <100KB skip validation (no overhead)
2. Token validation: 100KB-5MB files use real token counting
   - Budget: (contextWindow - currentTokens) * 0.6
   - Smart truncation if exceeds budget
3. Preview mode: Files >5MB get 100KB preview (prevents crashes)
4. Error recovery: Catch tokenizer 'unreachable' errors gracefully

Key Features:
- No magic numbers - dynamic based on actual context
- Real token counting using existing tokenizer
- 100KB previews for large files (perfect size for structure visibility)
- Graceful error handling prevents conversation crashes
- Simple implementation (~160 lines vs complex heuristics)

Testing:
- 17 comprehensive tests covering all scenarios
- All tests passing including edge cases and error conditions

Files:
- src/core/tools/helpers/fileTokenBudget.ts: Core validation logic
- src/core/tools/helpers/__tests__/fileTokenBudget.spec.ts: Test suite
- src/core/tools/readFileTool.ts: Integration into read file tool
@daniel-lxs daniel-lxs requested review from cte, jr and mrubens as code owners October 23, 2025 14:15
@dosubot dosubot bot added size:XL This PR changes 500-999 lines, ignoring generated files. enhancement New feature or request labels Oct 23, 2025
@roomote
Copy link

roomote bot commented Oct 23, 2025

Starting my review of this PR—comments incoming soon! 🚀

Follow Along on Roo Code Cloud


Issues to Address

All previously flagged issues have been resolved:

  • The lines attribute shows totalLines from the original file even after content is truncated (see inline comment on readFileTool.ts:619)
  • Empty lines are being filtered out when counting displayed lines, causing incorrect line count in the lines attribute (see inline comment on readFileTool.ts:620-621)
  • Line counting logic has off-by-one error for files ending with newline characters (see inline comment on readFileTool.ts:620)

Latest Review: No new issues found. All previous concerns have been properly addressed.

@hannesrudolph hannesrudolph added the Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. label Oct 23, 2025
Improvements:
- Preview files (>5MB) now use token counting to respect budget
- Read only 100KB preview initially, then validate with tokenizer
- If preview exceeds budget, truncate accordingly
- Better error handling with conservative character-based estimation
- All 17 tests passing
- Added getTokenUsage mock to createMockCline for readFileTool tests
- Added contextWindow to model info mock
- Updated fileTokenBudget test expectations for error handling
- All 59 tests now passing (42 readFileTool + 17 fileTokenBudget)
…ncation

- Previously used original file totalLines, causing mismatch after truncation
- Now computes displayedLines from truncated content and sets lines="1-N"
- Prevents LLM referencing non-existent line numbers
- All tests passing (59/59)
@daniel-lxs daniel-lxs moved this from Triage to PR [Needs Review] in Roo Code Roadmap Oct 23, 2025
…ation

- Count all lines (including empty) when computing lines="1-N"
- Prevents under-reporting when truncated preview contains blank lines
- Tests remain green (42/42 readFileTool, 17/17 fileTokenBudget)
@RooCodeInc RooCodeInc deleted a comment from roomote bot Oct 23, 2025
@hannesrudolph hannesrudolph added PR - Needs Review and removed Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. labels Oct 23, 2025
@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Oct 23, 2025
Integrated countFileLinesAndTokens into validateFileTokenBudget:
- Streams file once with chunked token estimation (256-line chunks)
- Early exits when budget exceeded (saves I/O and memory)
- Preserves all existing safety checks:
  - Fast path for <100KB files
  - Preview mode for >5MB files
  - Error handling for tokenizer crashes
  - Fallback to full read if streaming fails

Benefits:
- Single file pass with early exit vs full read + tokenize
- Prevents loading large files into memory unnecessarily
- Conservative fallback on tokenizer errors (2 chars = 1 token)
- All existing tests passing (59/59)

Files:
- src/integrations/misc/line-counter.ts: Added countFileLinesAndTokens()
- src/core/tools/helpers/fileTokenBudget.ts: Integrated streaming
- src/integrations/misc/__tests__/line-counter.spec.ts: Basic tests
Two fixes:
1. Line counting off-by-one: Files ending with \n now count correctly
   - "line1\nline2\n" now correctly shows lines="1-2" not lines="1-3"
   - Consistent with countFileLines() behavior
   - Prevents LLM confusion about line numbers

2. Fixed line-counter.spec.ts mocking:
   - Use proper Readable stream instead of mock object
   - Properly mock fs.createReadStream with stream interface
   - All 63 tests passing (42 readFileTool + 17 fileTokenBudget + 4 line-counter)

Files changed:
- src/core/tools/readFileTool.ts: Handle trailing newline in line count
- src/integrations/misc/__tests__/line-counter.spec.ts: Fix stream mocking
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
@mrubens mrubens merged commit 93c13e2 into main Oct 23, 2025
9 checks passed
@github-project-automation github-project-automation bot moved this from New to Done in Roo Code Roadmap Oct 23, 2025
@github-project-automation github-project-automation bot moved this from PR [Needs Review] to Done in Roo Code Roadmap Oct 23, 2025
@mrubens mrubens deleted the feat/token-budget-file-reading branch October 23, 2025 19:35
mini2s added a commit to zgsm-ai/costrict that referenced this pull request Oct 24, 2025
* fix: skip flaky Windows test in custom-system-prompt.spec.ts (RooCodeInc#8023)

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

* feat: add GDPR-compliant cookie consent banner (RooCodeInc#8022)

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

* Release: v1.76.0 (RooCodeInc#8030)

* Types 1.77.0 (RooCodeInc#8031)

* feat(web): update homepage headline and tagline for remote control capabilities (RooCodeInc#7911)

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

* ux: Responsive Auto-Approve (RooCodeInc#8032)

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>

* feat(cloud): Add telemetry retry queue for network resilience (RooCodeInc#7597)

* feat(cloud): Add telemetry retry queue for network resilience

- Implement RetryQueue class with workspace-scoped persistence
- Queue failed telemetry events for automatic retry
- Retry events every 60 seconds with fresh auth tokens
- FIFO eviction when queue reaches 100 events
- Persist queue across VS Code restarts

This ensures telemetry data isn't lost during network failures or temporary server issues.
Migrated from RooCodeInc/Roo-Code-Cloud#744

* fix: address PR review feedback for retry queue

- Fix retry order to use consistent FIFO processing
- Add retry limit enforcement with max retries check
- Add configurable request timeout (default 30s)
- Add comprehensive tests for retryAll() method
- Add request-max-retries-exceeded event
- Fix timeout test to avoid timing issues

* fix: resolve TypeScript errors in RetryQueue tests

* fix(cloud): Address PR feedback for telemetry retry queue

- Handle HTTP error status codes (500s, 401/403, 429) as failures that trigger retry
- Remove queuing of backfill operations since they're user-initiated
- Fix race condition in concurrent retry processing with isProcessing flag
- Add specialized retry logic for 429 with Retry-After header support
- Clean up unnecessary comments
- Add comprehensive tests for new status code handling
- Add temporary debug logs with emojis for testing

* refactor: address PR feedback for telemetry retry queue

- Remove unused X-Organization-Id header from auth header provider
- Simplify enqueue() API by removing operation parameter
- Fix error retry logic: only retry 5xx, 429, and network failures
- Stop retrying 4xx client errors (400, 401, 403, 404, 422)
- Implement queue-wide pause for 429 rate limiting
- Add auth state management integration:
  - Pause queue when not in active-session
  - Clear queue on logout or user change
  - Preserve queue when same user logs back in
- Remove debug comments
- Fix ESLint no-case-declarations error with proper block scope
- Update tests for all new behaviors

* Docs: Overhaul README (RooCodeInc#8005)

* docs: overhaul README for clarity and impact

* fix: update badge links and styles in README for improved visibility

* docs(README): stronger CTAs for Discord/Reddit; restore Modes/Roles incl. cloud agents

* docs(readme): add support CTA; refine modes section; clarify custom modes wording

- add centered help/links CTA under badges: [README.md](README.md:8-10)
- expand feature list to explicitly include modes: [README.md](README.md:45)
- rename section header “Modes and Roles” → “Modes”: [README.md](README.md:52)
- update wording to “Custom Modes: build specialized modes for your team or workflow”: [README.md](README.md:60)

* docs: implement @jdilla1277 suggestions for English README

- Updated header to "Your AI-Powered Dev Team, Right in Your Editor" (removed Cline reference)
- Changed line 44 to "Generate Code from natural language descriptions and specs" for better SEO
- Removed "not the other way around" phrase from line 54
- Replaced "Cloud Agents" with "Roomote Control" on line 61

As requested by @hannesrudolph, these changes are only applied to the English README.

* docs: clarify Roomote Control description and update related links in README

* Reworked the contributor list. Made translastion corrections.

---------

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

* Add organizationFeaturesSchema with roomoteControlEnabled (RooCodeInc#8085)

feat: add organizationFeaturesSchema with roomoteControlEnabled

- Add organizationFeaturesSchema with optional roomoteControlEnabled boolean
- Integrate features property into organizationSettingsSchema as optional
- Add comprehensive tests for new schema validation
- Maintain backward compatibility with existing organization settings

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

* Release: v1.78.0 (RooCodeInc#8089)

chore: bump version to v1.78.0

* Get the model id property for a given provider (RooCodeInc#8009)

* Fix: Transform keybindings in nightly build to fix command+y shortcut (RooCodeInc#8070)

* fix: transform keybindings command references in nightly build

The keybindings section was not being transformed during the nightly build process, causing command+y keybinding to reference the wrong command name (roo-cline.addToContext instead of roo-code-nightly.addToContext).

- Added keybindings schema to types.ts
- Updated generatePackageJson to transform keybindings command references
- This ensures keybindings work correctly in the nightly build

* fix: only include keybindings in output when they exist

Updated generatePackageJson to conditionally add keybindings to avoid including undefined values in the generated package.json. Fixed eslint-disable comment placement.

---------

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

* Add a list of sub-processors (RooCodeInc#8163)

* Add cookie policy (RooCodeInc#8165)

* ux: Redesigned Message Feed (RooCodeInc#7985)

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

* Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main

* bug: Incorrect copy for "Run" command when approving execution (RooCodeInc#8179)

* test: set default language to English in prompt tests

* Supernova (RooCodeInc#8175)

Co-authored-by: Chris Estreich <[email protected]>

* chore: add changeset for v3.28.4 (RooCodeInc#8182)

* Changeset version bump (RooCodeInc#8183)

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

* feat(chat): enhance user info display and file path highlighting

* fix: support dash prefix in parseMarkdownChecklist for todo lists (RooCodeInc#8055)

- Updated regex pattern to support optional dash prefix (e.g., "- [ ] Task")
- Added comprehensive test coverage for both formats
- Fixes issue where todo lists with dash prefixes were not being parsed correctly

Fixes RooCodeInc#8054

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

* Updating the privacy policy to allow us to send occasional emails (RooCodeInc#8180)

* Updating the privacy policy to allow us to send onboarding and occasional marketing emails.

* docs: Clarified unsubscribe behavior and updated the Last Updated date

* docs: update Last Updated date in Privacy Policy page

* fix: apply tiered pricing for Gemini models via Vertex AI (RooCodeInc#8018)

* fix: apply tiered pricing for Gemini models via Vertex AI

- Modified calculateCost method to handle models where cacheReadsPrice is only defined in tiers
- Added comprehensive tests for Vertex AI tiered pricing calculation
- Fixes issue where local cost calculation always showed highest tier rates

Fixes RooCodeInc#8017

* Delete src/api/providers/__tests__/vertex-tiered-pricing.spec.ts

---------

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

* update sambanova models (RooCodeInc#8186)

* update sambanova models

* fix typo

* Fix duplicate rehydrate during reasoning; centralize rehydrate and preserve cancel metadata (RooCodeInc#8171)

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

* Wrap code blocks by default (RooCodeInc#8194)

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

* Add an announcement for Supernova (RooCodeInc#8197)

* Add an announcement for Supernova

* Remove duplicate keys

* refactor(chat): optimize ChatRow rendering and user info handling

* Release v3.28.5 (RooCodeInc#8198)

chore: add changeset for v3.28.5

* Changeset version bump (RooCodeInc#8199)

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

* Remove language selection and word wrap toggle from CodeBlock (RooCodeInc#8208)

* feat: Add keyboard shortcut for toggling auto-approve (Cmd/Ctrl+Alt+A) (RooCodeInc#8214)

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

* Bare metal evals fixes (RooCodeInc#8224)

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

* Fix: Improve reasoning block formatting for better readability (RooCodeInc#7868)

* fix: prevent checkpoint text from wrapping in non-English languages (RooCodeInc#8207)

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

* fix: respect Ollama Modelfile num_ctx configuration (RooCodeInc#7798)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Hannes Rudolph <[email protected]>
Co-authored-by: daniel-lxs <[email protected]>

* feat: add package.nls.json checking to find-missing-translations script (RooCodeInc#8255)

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

* feat(types): add GPT-5-Codex model (RooCodeInc#8260)

* chore: add changeset for v3.28.6 (RooCodeInc#8261)

* Follow-up questions should trigger the "interactive" state (RooCodeInc#8259)

* chore: add changeset for v3.28.6 (RooCodeInc#8263)

* Changeset version bump (RooCodeInc#8262)

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

* Add image for 3.28.5 (RooCodeInc#8266)

* feat: add zai-org/GLM-4.5-turbo model to Chutes provider (RooCodeInc#8157)

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

* Cloud account switcher (RooCodeInc#8223)

* Cloud account switcher

* Bare metal evals fixes (RooCodeInc#8224)

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

* 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 <[email protected]>
Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Bruno Bergher <[email protected]>
Co-authored-by: John Richmond <[email protected]>

* fix: checkpoint restore popover positioning issue (RooCodeInc#8219) (RooCodeInc#8220)

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

* ux: Collapse thinking blocks by default (but control all of them with a keyboard shortcut) (RooCodeInc#8254)

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

* Remove org switcher tooltip (RooCodeInc#8269)

* chore: add changeset for v3.28.7 (RooCodeInc#8268)

* Changeset version bump (RooCodeInc#8271)

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

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

* fix(i18n):  spelling mistake in zh-CN chat.json

* web: Opengraph image (RooCodeInc#8285)

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

* Set port 3446 for web-evals in production mode (RooCodeInc#8288)

* Show cloud switcher and option to add a team when logged in (RooCodeInc#8291)

* fix: include initial ask in condense summarization (RooCodeInc#8293) (RooCodeInc#8298)

* fix: include initial ask in condense summarization (RooCodeInc#8293)

---------

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

* Fix frequent "No tool used" errors by clarifying tool-use rules (RooCodeInc#8292)

* Add a couple more free models to the Roo provider (RooCodeInc#8304)

* Release v3.28.8 (RooCodeInc#8305)

* Changeset version bump (RooCodeInc#8306)

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

* feat: log out from cloud when resetting extension state (RooCodeInc#8312)

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

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

* feat: Add telemetry tracking to DismissibleUpsell component (RooCodeInc#8309)

* feat: add telemetry tracking to DismissibleUpsell component

- Added UPSELL_DISMISSED and UPSELL_CLICKED events to TelemetryEventName enum
- Updated DismissibleUpsell component to track clicks and dismissals with telemetry
- Added telemetry tests to DismissibleUpsell test suite
- Events include upsellId in the payload for tracking specific upsells

* refactor(webview): make handleDismiss synchronous in DismissibleUpsell

test(webview): add scenario where dismissOnClick=true without onClick tracks only UPSELL_DISMISSED; update tests; all tests passing locally

---------

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

* Correct tool use suggestion to improve model adherence to suggestion (RooCodeInc#8315)

* Correct tool use suggestion to improve model adherence to suggestion

* tweak

* removing user hint when refreshing models (RooCodeInc#7710)

* feat(zgsm): add quota info display and periodic updates

* Show the Roo provider on the welcome screen (RooCodeInc#8317)

* wip: Website Improvements (RooCodeInc#8303)

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

* refactor: remove pr-reviewer mode (RooCodeInc#8222)

* feat: add animated quota display with staggered transitions

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

* web: More website copy tweaks (RooCodeInc#8326)

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

* fix: remove <thinking> tags from prompts for cleaner output and fewer tokens (RooCodeInc#8319)

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

* Upgrade Supernova (RooCodeInc#8330)

* chore: add changeset for v3.28.9 (RooCodeInc#8336)

* Changeset version bump (RooCodeInc#8337)

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

* Track when telemetry settings change (RooCodeInc#8339)

* fix: use max_completion_tokens for GPT-5 models in LiteLLM provider (RooCodeInc#6980)

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

* Make chat icons shrink-0 (RooCodeInc#8343)

* web: Testimonials (RooCodeInc#8360)

* Adds lots of testimonials, 5-stars from marketplace

* Fits more testimonials in one page

* Testimonial heading tweak

* ci: refresh contrib.rocks cache workflow (RooCodeInc#8083)

* feat: add Claude 4.5 Sonnet model across all providers (RooCodeInc#8368)

* chore: add changeset for v3.28.10 (RooCodeInc#8369)

* Changeset version bump (RooCodeInc#8370)

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

* fix: correct AWS Bedrock Claude Sonnet 4.5 model identifier (RooCodeInc#8372)

Fixes RooCodeInc#8371 - Updates the model ID from anthropic.claude-4.5-sonnet-v1:0
to anthropic.claude-sonnet-4-5-20250929-v1:0 to match AWS Bedrock naming convention

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

* fix: correct Claude Sonnet 4.5 model ID format (RooCodeInc#8373)

* chore: add changeset for v3.28.11 (RooCodeInc#8374)

* Changeset version bump (RooCodeInc#8375)

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

* fix: Anthropic Sonnet 4.5 model id + Bedrock 1M context checkbox (RooCodeInc#8384)

fix(anthropic): use claude-sonnet-4-5 id
fix(bedrock): enable 1M context checkbox for Sonnet 4.5 via shared list
closes RooCodeInc#8379
closes RooCodeInc#8381

* chore: add changeset for v3.28.12 (RooCodeInc#8385)

* Changeset version bump (RooCodeInc#8376)

* changeset version bump

* Revise changelog for version 3.28.12

Updated version number and consolidated patch notes.

---------

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

* Fix Vertex Sonnet 4.5 (RooCodeInc#8391)

* fix: remove topP parameter from Bedrock inference config (RooCodeInc#8388)

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

* chore: add changeset for v3.28.13 (RooCodeInc#8393)

* Changeset version bump (RooCodeInc#8394)

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

* feat: add GLM-4.6 model support for z.ai provider (RooCodeInc#8408)

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

* chore: add changeset for v3.28.14 (RooCodeInc#8413)

* Changeset version bump (RooCodeInc#8414)

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

* A couple more sonnet 4.5 fixes (RooCodeInc#8421)

* chore: Remove unsupported Gemini 2.5 Flash Image Preview free model (RooCodeInc#8359)

* Include reasoning messages in cloud tasks (RooCodeInc#8401)

* fix: show send button when only images are selected in chat textarea (RooCodeInc#8423)

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

* Add structured data to the homepage (RooCodeInc#8427)

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

* fix(ui): disable send button when no input content and update tests

* fix: Addresses overeager 'there are unsaved changes' dialog in settings (RooCodeInc#8410)

Fixes overeager 'there are unsaved changes' dialog in settings

* feat: add UsageStats schema and type (RooCodeInc#8441)

feat: add UsageStats schema and type to cloud.ts

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

* Release: v1.80.0 (RooCodeInc#8442)

chore: bump version to v1.80.0

* feat: add new DeepSeek and GLM models with detailed descriptions to the Chutes provider (RooCodeInc#8467)

* Deprecate free grok 4 fast (RooCodeInc#8481)

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

* fix: improve save button activation in prompts settings (RooCodeInc#5780) (RooCodeInc#8267)

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

* fix: properly reset cost limit tracking when user clicks "Reset and Continue" (RooCodeInc#6890)

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

* chore(deps): update dependency vite to v6.3.6 [security] (RooCodeInc#7838)

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

* chore(deps): update dependency glob to v11.0.3 (RooCodeInc#7767)

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

* chore: add changeset for v3.28.15 (RooCodeInc#8491)

* Changeset version bump (RooCodeInc#8492)

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

* Clamp GPT-5 max output tokens to 20% of context window (RooCodeInc#8495)

* fix: add ollama and lmstudio to MODELS_BY_PROVIDER (RooCodeInc#8511)

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

* Release: v1.81.0 (RooCodeInc#8519)

* Add the parent task ID in telemetry (RooCodeInc#8532)

* Release: v1.82.0 (RooCodeInc#8535)

* feat: Experiment: Show a bit of stats in Cloud tab to help users discover there's more in Cloud (RooCodeInc#8415)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: SannidhyaSah <[email protected]>
Co-authored-by: John Richmond <[email protected]>

* Revert "feat: Experiment: Show a bit of stats in Cloud tab to help users discover there's more in Cloud" (RooCodeInc#8559)

* Identify cloud tasks in the extension bridge (RooCodeInc#8539)

* Revert "Clamp GPT-5 max output tokens to 20% of context window" (RooCodeInc#8582)

* feat: Add Claude Sonnet 4.5 1M context window support for Claude Code… (RooCodeInc#8586)

feat: Add Claude Sonnet 4.5 1M context window support for Claude Code provider

* chore: add changeset for v3.28.16 (RooCodeInc#8592)

* Changeset version bump (RooCodeInc#8593)

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

* fix(i18n): Update zh-TW run command title (RooCodeInc#8631)

* feat(commands, webview): Add TDD built-in command; Refactor welcome tips and test guide definition

* refactor(project-wiki): separate command from subtask initialization

* feat(command): update built-in commands count and names in tests

* Add Claude Haiku 4.5 (RooCodeInc#8673)

* Release v3.28.17 (RooCodeInc#8674)

* Changeset version bump (RooCodeInc#8675)

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

* fix(editor): prevent file editing issues when git diff views are open (RooCodeInc#8676)

* fix(editor): prevent file editing issues when git diff views are open

Add scheme checks to ensure only file:// URIs are matched when finding editors,
avoiding issues with git diffs and other schemes. Includes error logging for
failed editor lookups.

* Remove the warnings

* fix(editor): enforce file:// scheme in editor lookups to prevent git diff issues

---------

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

* web: Cloud page and updates to Pricing to explain Cloud Agent Credits (RooCodeInc#8605)

* Adds mention of Cloud agents to /pricing

* Credit pricing FAQ

* Skeleton of a /cloud page and more pricing page tweaks

* Lint

* Update apps/web-roo-code/src/app/cloud/page.tsx

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

* Code review

* Updates copy to new credit system

* Moves Terms of Service to be backed by a markdown file, easier to read/edit/diff

* Updated ToS

* Twerm copy tweaks

* Cloud screenshot and style adjustments

* Style tweaks

* Styles

---------

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

* feat: Add userAgent to Bedrock client for version tracking (RooCodeInc#8663)

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

* feat: Cloud agents in extension (RooCodeInc#8470)

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

* feat: Z AI: only two coding endpoints (RooCodeInc#8687) (RooCodeInc#8693)

* Remove request content from UI messages (RooCodeInc#8696)

* Left align the welcome title (RooCodeInc#8700)

* Update image generation model selection (RooCodeInc#8698)

* feat(core): enhance client ID validation and CSP configuration

* web: Mobile image in /cloud (RooCodeInc#8705)

* feat(ui): add option to hide API request details by default

* Revert cloud agents for now (RooCodeInc#8713)

* chore: add changeset for v3.28.18 (RooCodeInc#8715)

* fix(task): adjust API request handling and error message assignment

* Changeset version bump (RooCodeInc#8716)

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

* test: update telemetry client mocks and fix test id typo

* Normalize docs-extractor audience tags; remove admin/stakeholder; strip tool invocations (RooCodeInc#8717)

docs(extractor): normalize audience to type="user"; remove admin/stakeholder; strip tool invocation examples

* Add Intercom as a subprocessor (RooCodeInc#8718)

* web: Leftover white bg (RooCodeInc#8719)

Leftover white bg

* feat(zgsm): add supportsMaxTokens flag and adjust max token handling

* docs: update Configuring Profiles video link (RooCodeInc#8189)

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

* Fix link text for Roomote Control in README (RooCodeInc#8742)

* Try a 5s status mutation timeout (RooCodeInc#8734)

* web: Landing page for the reviewerFirst pass (RooCodeInc#8740)

* First pass

* SEO

* Update apps/web-roo-code/src/app/reviewer/page.tsx

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

---------

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

* Remove GPT‑5 instructions/reasoning_summary from UI message metadata to prevent ui_messages.json bloat (RooCodeInc#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.

* Z.ai: add GLM-4.5-X, AirX, Flash (expand model coverage) (RooCodeInc#8745)

* feat(zai): add GLM-4.5-X, AirX, Flash; sync with Z.ai docs; keep canonical api line keys

* feat(zai): add GLM-4.5V vision model (supportsImages, pricing, 16K max output); add tests

* feat(types,zai): sync Z.AI international model map and tests
- Update pricing, context window, and capabilities for:
  glm-4.5-x, glm-4.5-airx, glm-4.5-flash, glm-4.5v, glm-4.6
- Add glm-4-32b-0414-128k
- Align tests with new model specs

* fix(zai): align handler generics with expanded model ids to satisfy CI compile step

* chore(zai): remove tier pricing blocks for Z.ai models

* fix(zai): simplify names in zaiApiLineConfigs for clarity

* chore(zai): set default temperature to 0.6

---------

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

* Enable browser-use tool for all image-capable models (RooCodeInc#8121)

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

* Skip failing tools tests (RooCodeInc#8767)

* Update text for clarity in reviewer page (RooCodeInc#8753)

* feat: add GLM-4.6-turbo model to chutes ai provider (RooCodeInc#8502)

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

* web: Dynamic OpenGraph images (RooCodeInc#8773)

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

* web: Updates CTA link in /reviewer to send people to /cloud-agents/welcome (RooCodeInc#8774)

* feat: add 'anthropic/claude-haiku-4.5' to prompt caching models (RooCodeInc#8764)

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

* refactor(core): consolidate global custom instructions and improve shell handling

* fix: update X/Twitter username from roo_code to roocode (RooCodeInc#8780)

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

* fix(zgsm): safely pass optional language metadata to avoid runtime errors

* test: update test expectations for shell handling and prompt enhancement

* fix: always show checkpoint restore options regardless of change detection (RooCodeInc#8758)

* feat: add token-budget based file reading with intelligent preview (RooCodeInc#8789)

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

* Remove a very verbose error for cloud agents (RooCodeInc#8795)

* fix: retry API requests on stream failures instead of aborting task (RooCodeInc#8794)

* feat: improve auto-approve button responsiveness (RooCodeInc#8798)

- Add responsive breakpoint at 300px for compact view
- Icon correctly reflects state (X when off, ✓ when on) at all screen sizes
- Show abbreviated labels on very narrow screens (< 300px)
- Add triggerLabelOffShort translation key to all locales

Fixes issues from PR RooCodeInc#8152:
- Icon always showing checkmark on narrow screens
- Breakpoint activating too early (was 400px)
- Incorrect Tailwind class ordering

* Add checkpoint initialization timeout settings and fix checkpoint timeout warnings (RooCodeInc#8019)

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

* feat: add dynamic model loading for Roo Code Cloud provider (RooCodeInc#8728)

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

* refactor(tools): move imageHelpers to tools directory and update imports

---------

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Matt Rubens <[email protected]>
Co-authored-by: Bruno Bergher <[email protected]>
Co-authored-by: James Edward Dillard <[email protected]>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Daniel <[email protected]>
Co-authored-by: Hannes Rudolph <[email protected]>
Co-authored-by: John Richmond <[email protected]>
Co-authored-by: Chris Estreich <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jorge Piedrahita Ortiz <[email protected]>
Co-authored-by: daniel-lxs <[email protected]>
Co-authored-by: Bruno Bergher <[email protected]>
Co-authored-by: John Costa <[email protected]>
Co-authored-by: SannidhyaSah <[email protected]>
Co-authored-by: Mohammad Danaee nia <[email protected]>
Co-authored-by: MuriloFP <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Colby Serpa <[email protected]>
Co-authored-by: Peter Dave Hello <[email protected]>
Co-authored-by: Chris Hasson <[email protected]>
Co-authored-by: Christiaan Arnoldus <[email protected]>
Co-authored-by: laz-001 <[email protected]>
Co-authored-by: NaccOll <[email protected]>
mini2s added a commit to zgsm-ai/costrict that referenced this pull request Oct 25, 2025
* Docs: Overhaul README (RooCodeInc#8005)

* docs: overhaul README for clarity and impact

* fix: update badge links and styles in README for improved visibility

* docs(README): stronger CTAs for Discord/Reddit; restore Modes/Roles incl. cloud agents

* docs(readme): add support CTA; refine modes section; clarify custom modes wording

- add centered help/links CTA under badges: [README.md](README.md:8-10)
- expand feature list to explicitly include modes: [README.md](README.md:45)
- rename section header “Modes and Roles” → “Modes”: [README.md](README.md:52)
- update wording to “Custom Modes: build specialized modes for your team or workflow”: [README.md](README.md:60)

* docs: implement @jdilla1277 suggestions for English README

- Updated header to "Your AI-Powered Dev Team, Right in Your Editor" (removed Cline reference)
- Changed line 44 to "Generate Code from natural language descriptions and specs" for better SEO
- Removed "not the other way around" phrase from line 54
- Replaced "Cloud Agents" with "Roomote Control" on line 61

As requested by @hannesrudolph, these changes are only applied to the English README.

* docs: clarify Roomote Control description and update related links in README

* Reworked the contributor list. Made translastion corrections.

---------

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

* Add organizationFeaturesSchema with roomoteControlEnabled (RooCodeInc#8085)

feat: add organizationFeaturesSchema with roomoteControlEnabled

- Add organizationFeaturesSchema with optional roomoteControlEnabled boolean
- Integrate features property into organizationSettingsSchema as optional
- Add comprehensive tests for new schema validation
- Maintain backward compatibility with existing organization settings

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

* Release: v1.78.0 (RooCodeInc#8089)

chore: bump version to v1.78.0

* Get the model id property for a given provider (RooCodeInc#8009)

* Fix: Transform keybindings in nightly build to fix command+y shortcut (RooCodeInc#8070)

* fix: transform keybindings command references in nightly build

The keybindings section was not being transformed during the nightly build process, causing command+y keybinding to reference the wrong command name (roo-cline.addToContext instead of roo-code-nightly.addToContext).

- Added keybindings schema to types.ts
- Updated generatePackageJson to transform keybindings command references
- This ensures keybindings work correctly in the nightly build

* fix: only include keybindings in output when they exist

Updated generatePackageJson to conditionally add keybindings to avoid including undefined values in the generated package.json. Fixed eslint-disable comment placement.

---------

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

* Add a list of sub-processors (RooCodeInc#8163)

* Add cookie policy (RooCodeInc#8165)

* ux: Redesigned Message Feed (RooCodeInc#7985)

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

* Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main

* bug: Incorrect copy for "Run" command when approving execution (RooCodeInc#8179)

* test: set default language to English in prompt tests

* Supernova (RooCodeInc#8175)

Co-authored-by: Chris Estreich <[email protected]>

* chore: add changeset for v3.28.4 (RooCodeInc#8182)

* Changeset version bump (RooCodeInc#8183)

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

* feat(chat): enhance user info display and file path highlighting

* fix: support dash prefix in parseMarkdownChecklist for todo lists (RooCodeInc#8055)

- Updated regex pattern to support optional dash prefix (e.g., "- [ ] Task")
- Added comprehensive test coverage for both formats
- Fixes issue where todo lists with dash prefixes were not being parsed correctly

Fixes RooCodeInc#8054

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

* Updating the privacy policy to allow us to send occasional emails (RooCodeInc#8180)

* Updating the privacy policy to allow us to send onboarding and occasional marketing emails.

* docs: Clarified unsubscribe behavior and updated the Last Updated date

* docs: update Last Updated date in Privacy Policy page

* fix: apply tiered pricing for Gemini models via Vertex AI (RooCodeInc#8018)

* fix: apply tiered pricing for Gemini models via Vertex AI

- Modified calculateCost method to handle models where cacheReadsPrice is only defined in tiers
- Added comprehensive tests for Vertex AI tiered pricing calculation
- Fixes issue where local cost calculation always showed highest tier rates

Fixes RooCodeInc#8017

* Delete src/api/providers/__tests__/vertex-tiered-pricing.spec.ts

---------

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

* update sambanova models (RooCodeInc#8186)

* update sambanova models

* fix typo

* Fix duplicate rehydrate during reasoning; centralize rehydrate and preserve cancel metadata (RooCodeInc#8171)

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

* Wrap code blocks by default (RooCodeInc#8194)

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

* Add an announcement for Supernova (RooCodeInc#8197)

* Add an announcement for Supernova

* Remove duplicate keys

* refactor(chat): optimize ChatRow rendering and user info handling

* Release v3.28.5 (RooCodeInc#8198)

chore: add changeset for v3.28.5

* Changeset version bump (RooCodeInc#8199)

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

* Remove language selection and word wrap toggle from CodeBlock (RooCodeInc#8208)

* feat: Add keyboard shortcut for toggling auto-approve (Cmd/Ctrl+Alt+A) (RooCodeInc#8214)

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

* Bare metal evals fixes (RooCodeInc#8224)

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

* Fix: Improve reasoning block formatting for better readability (RooCodeInc#7868)

* fix: prevent checkpoint text from wrapping in non-English languages (RooCodeInc#8207)

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

* fix: respect Ollama Modelfile num_ctx configuration (RooCodeInc#7798)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Hannes Rudolph <[email protected]>
Co-authored-by: daniel-lxs <[email protected]>

* feat: add package.nls.json checking to find-missing-translations script (RooCodeInc#8255)

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

* feat(types): add GPT-5-Codex model (RooCodeInc#8260)

* chore: add changeset for v3.28.6 (RooCodeInc#8261)

* Follow-up questions should trigger the "interactive" state (RooCodeInc#8259)

* chore: add changeset for v3.28.6 (RooCodeInc#8263)

* Changeset version bump (RooCodeInc#8262)

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

* Add image for 3.28.5 (RooCodeInc#8266)

* feat: add zai-org/GLM-4.5-turbo model to Chutes provider (RooCodeInc#8157)

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

* Cloud account switcher (RooCodeInc#8223)

* Cloud account switcher

* Bare metal evals fixes (RooCodeInc#8224)

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

* 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 <[email protected]>
Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Bruno Bergher <[email protected]>
Co-authored-by: John Richmond <[email protected]>

* fix: checkpoint restore popover positioning issue (RooCodeInc#8219) (RooCodeInc#8220)

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

* ux: Collapse thinking blocks by default (but control all of them with a keyboard shortcut) (RooCodeInc#8254)

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

* Remove org switcher tooltip (RooCodeInc#8269)

* chore: add changeset for v3.28.7 (RooCodeInc#8268)

* Changeset version bump (RooCodeInc#8271)

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

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

* fix(i18n):  spelling mistake in zh-CN chat.json

* web: Opengraph image (RooCodeInc#8285)

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

* Set port 3446 for web-evals in production mode (RooCodeInc#8288)

* Show cloud switcher and option to add a team when logged in (RooCodeInc#8291)

* fix: include initial ask in condense summarization (RooCodeInc#8293) (RooCodeInc#8298)

* fix: include initial ask in condense summarization (RooCodeInc#8293)

---------

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

* Fix frequent "No tool used" errors by clarifying tool-use rules (RooCodeInc#8292)

* Add a couple more free models to the Roo provider (RooCodeInc#8304)

* Release v3.28.8 (RooCodeInc#8305)

* Changeset version bump (RooCodeInc#8306)

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

* feat: log out from cloud when resetting extension state (RooCodeInc#8312)

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

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

* feat: Add telemetry tracking to DismissibleUpsell component (RooCodeInc#8309)

* feat: add telemetry tracking to DismissibleUpsell component

- Added UPSELL_DISMISSED and UPSELL_CLICKED events to TelemetryEventName enum
- Updated DismissibleUpsell component to track clicks and dismissals with telemetry
- Added telemetry tests to DismissibleUpsell test suite
- Events include upsellId in the payload for tracking specific upsells

* refactor(webview): make handleDismiss synchronous in DismissibleUpsell

test(webview): add scenario where dismissOnClick=true without onClick tracks only UPSELL_DISMISSED; update tests; all tests passing locally

---------

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

* Correct tool use suggestion to improve model adherence to suggestion (RooCodeInc#8315)

* Correct tool use suggestion to improve model adherence to suggestion

* tweak

* removing user hint when refreshing models (RooCodeInc#7710)

* feat(zgsm): add quota info display and periodic updates

* Show the Roo provider on the welcome screen (RooCodeInc#8317)

* wip: Website Improvements (RooCodeInc#8303)

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

* refactor: remove pr-reviewer mode (RooCodeInc#8222)

* feat: add animated quota display with staggered transitions

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

* web: More website copy tweaks (RooCodeInc#8326)

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

* fix: remove <thinking> tags from prompts for cleaner output and fewer tokens (RooCodeInc#8319)

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

* Upgrade Supernova (RooCodeInc#8330)

* chore: add changeset for v3.28.9 (RooCodeInc#8336)

* Changeset version bump (RooCodeInc#8337)

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

* Track when telemetry settings change (RooCodeInc#8339)

* fix: use max_completion_tokens for GPT-5 models in LiteLLM provider (RooCodeInc#6980)

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

* Make chat icons shrink-0 (RooCodeInc#8343)

* web: Testimonials (RooCodeInc#8360)

* Adds lots of testimonials, 5-stars from marketplace

* Fits more testimonials in one page

* Testimonial heading tweak

* ci: refresh contrib.rocks cache workflow (RooCodeInc#8083)

* feat: add Claude 4.5 Sonnet model across all providers (RooCodeInc#8368)

* chore: add changeset for v3.28.10 (RooCodeInc#8369)

* Changeset version bump (RooCodeInc#8370)

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

* fix: correct AWS Bedrock Claude Sonnet 4.5 model identifier (RooCodeInc#8372)

Fixes RooCodeInc#8371 - Updates the model ID from anthropic.claude-4.5-sonnet-v1:0
to anthropic.claude-sonnet-4-5-20250929-v1:0 to match AWS Bedrock naming convention

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

* fix: correct Claude Sonnet 4.5 model ID format (RooCodeInc#8373)

* chore: add changeset for v3.28.11 (RooCodeInc#8374)

* Changeset version bump (RooCodeInc#8375)

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

* fix: Anthropic Sonnet 4.5 model id + Bedrock 1M context checkbox (RooCodeInc#8384)

fix(anthropic): use claude-sonnet-4-5 id
fix(bedrock): enable 1M context checkbox for Sonnet 4.5 via shared list
closes RooCodeInc#8379
closes RooCodeInc#8381

* chore: add changeset for v3.28.12 (RooCodeInc#8385)

* Changeset version bump (RooCodeInc#8376)

* changeset version bump

* Revise changelog for version 3.28.12

Updated version number and consolidated patch notes.

---------

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

* Fix Vertex Sonnet 4.5 (RooCodeInc#8391)

* fix: remove topP parameter from Bedrock inference config (RooCodeInc#8388)

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

* chore: add changeset for v3.28.13 (RooCodeInc#8393)

* Changeset version bump (RooCodeInc#8394)

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

* feat: add GLM-4.6 model support for z.ai provider (RooCodeInc#8408)

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

* chore: add changeset for v3.28.14 (RooCodeInc#8413)

* Changeset version bump (RooCodeInc#8414)

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

* A couple more sonnet 4.5 fixes (RooCodeInc#8421)

* chore: Remove unsupported Gemini 2.5 Flash Image Preview free model (RooCodeInc#8359)

* Include reasoning messages in cloud tasks (RooCodeInc#8401)

* fix: show send button when only images are selected in chat textarea (RooCodeInc#8423)

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

* Add structured data to the homepage (RooCodeInc#8427)

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

* fix(ui): disable send button when no input content and update tests

* fix: Addresses overeager 'there are unsaved changes' dialog in settings (RooCodeInc#8410)

Fixes overeager 'there are unsaved changes' dialog in settings

* feat: add UsageStats schema and type (RooCodeInc#8441)

feat: add UsageStats schema and type to cloud.ts

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

* Release: v1.80.0 (RooCodeInc#8442)

chore: bump version to v1.80.0

* feat: add new DeepSeek and GLM models with detailed descriptions to the Chutes provider (RooCodeInc#8467)

* Deprecate free grok 4 fast (RooCodeInc#8481)

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

* fix: improve save button activation in prompts settings (RooCodeInc#5780) (RooCodeInc#8267)

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

* fix: properly reset cost limit tracking when user clicks "Reset and Continue" (RooCodeInc#6890)

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

* chore(deps): update dependency vite to v6.3.6 [security] (RooCodeInc#7838)

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

* chore(deps): update dependency glob to v11.0.3 (RooCodeInc#7767)

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

* chore: add changeset for v3.28.15 (RooCodeInc#8491)

* Changeset version bump (RooCodeInc#8492)

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

* Clamp GPT-5 max output tokens to 20% of context window (RooCodeInc#8495)

* fix: add ollama and lmstudio to MODELS_BY_PROVIDER (RooCodeInc#8511)

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

* Release: v1.81.0 (RooCodeInc#8519)

* Add the parent task ID in telemetry (RooCodeInc#8532)

* Release: v1.82.0 (RooCodeInc#8535)

* feat: Experiment: Show a bit of stats in Cloud tab to help users discover there's more in Cloud (RooCodeInc#8415)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: SannidhyaSah <[email protected]>
Co-authored-by: John Richmond <[email protected]>

* Revert "feat: Experiment: Show a bit of stats in Cloud tab to help users discover there's more in Cloud" (RooCodeInc#8559)

* Identify cloud tasks in the extension bridge (RooCodeInc#8539)

* Revert "Clamp GPT-5 max output tokens to 20% of context window" (RooCodeInc#8582)

* feat: Add Claude Sonnet 4.5 1M context window support for Claude Code… (RooCodeInc#8586)

feat: Add Claude Sonnet 4.5 1M context window support for Claude Code provider

* chore: add changeset for v3.28.16 (RooCodeInc#8592)

* Changeset version bump (RooCodeInc#8593)

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

* fix(i18n): Update zh-TW run command title (RooCodeInc#8631)

* feat(commands, webview): Add TDD built-in command; Refactor welcome tips and test guide definition

* refactor(project-wiki): separate command from subtask initialization

* feat(command): update built-in commands count and names in tests

* Add Claude Haiku 4.5 (RooCodeInc#8673)

* Release v3.28.17 (RooCodeInc#8674)

* Changeset version bump (RooCodeInc#8675)

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

* fix(editor): prevent file editing issues when git diff views are open (RooCodeInc#8676)

* fix(editor): prevent file editing issues when git diff views are open

Add scheme checks to ensure only file:// URIs are matched when finding editors,
avoiding issues with git diffs and other schemes. Includes error logging for
failed editor lookups.

* Remove the warnings

* fix(editor): enforce file:// scheme in editor lookups to prevent git diff issues

---------

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

* web: Cloud page and updates to Pricing to explain Cloud Agent Credits (RooCodeInc#8605)

* Adds mention of Cloud agents to /pricing

* Credit pricing FAQ

* Skeleton of a /cloud page and more pricing page tweaks

* Lint

* Update apps/web-roo-code/src/app/cloud/page.tsx

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

* Code review

* Updates copy to new credit system

* Moves Terms of Service to be backed by a markdown file, easier to read/edit/diff

* Updated ToS

* Twerm copy tweaks

* Cloud screenshot and style adjustments

* Style tweaks

* Styles

---------

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

* feat: Add userAgent to Bedrock client for version tracking (RooCodeInc#8663)

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

* feat: Cloud agents in extension (RooCodeInc#8470)

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

* feat: Z AI: only two coding endpoints (RooCodeInc#8687) (RooCodeInc#8693)

* Remove request content from UI messages (RooCodeInc#8696)

* Left align the welcome title (RooCodeInc#8700)

* Update image generation model selection (RooCodeInc#8698)

* feat(core): enhance client ID validation and CSP configuration

* web: Mobile image in /cloud (RooCodeInc#8705)

* feat(ui): add option to hide API request details by default

* Revert cloud agents for now (RooCodeInc#8713)

* chore: add changeset for v3.28.18 (RooCodeInc#8715)

* fix(task): adjust API request handling and error message assignment

* Changeset version bump (RooCodeInc#8716)

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

* test: update telemetry client mocks and fix test id typo

* Normalize docs-extractor audience tags; remove admin/stakeholder; strip tool invocations (RooCodeInc#8717)

docs(extractor): normalize audience to type="user"; remove admin/stakeholder; strip tool invocation examples

* Add Intercom as a subprocessor (RooCodeInc#8718)

* web: Leftover white bg (RooCodeInc#8719)

Leftover white bg

* feat(zgsm): add supportsMaxTokens flag and adjust max token handling

* docs: update Configuring Profiles video link (RooCodeInc#8189)

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

* Fix link text for Roomote Control in README (RooCodeInc#8742)

* Try a 5s status mutation timeout (RooCodeInc#8734)

* web: Landing page for the reviewerFirst pass (RooCodeInc#8740)

* First pass

* SEO

* Update apps/web-roo-code/src/app/reviewer/page.tsx

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

---------

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

* Remove GPT‑5 instructions/reasoning_summary from UI message metadata to prevent ui_messages.json bloat (RooCodeInc#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.

* Z.ai: add GLM-4.5-X, AirX, Flash (expand model coverage) (RooCodeInc#8745)

* feat(zai): add GLM-4.5-X, AirX, Flash; sync with Z.ai docs; keep canonical api line keys

* feat(zai): add GLM-4.5V vision model (supportsImages, pricing, 16K max output); add tests

* feat(types,zai): sync Z.AI international model map and tests
- Update pricing, context window, and capabilities for:
  glm-4.5-x, glm-4.5-airx, glm-4.5-flash, glm-4.5v, glm-4.6
- Add glm-4-32b-0414-128k
- Align tests with new model specs

* fix(zai): align handler generics with expanded model ids to satisfy CI compile step

* chore(zai): remove tier pricing blocks for Z.ai models

* fix(zai): simplify names in zaiApiLineConfigs for clarity

* chore(zai): set default temperature to 0.6

---------

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

* Enable browser-use tool for all image-capable models (RooCodeInc#8121)

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

* Skip failing tools tests (RooCodeInc#8767)

* Update text for clarity in reviewer page (RooCodeInc#8753)

* feat: add GLM-4.6-turbo model to chutes ai provider (RooCodeInc#8502)

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

* web: Dynamic OpenGraph images (RooCodeInc#8773)

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

* web: Updates CTA link in /reviewer to send people to /cloud-agents/welcome (RooCodeInc#8774)

* feat: add 'anthropic/claude-haiku-4.5' to prompt caching models (RooCodeInc#8764)

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

* refactor(core): consolidate global custom instructions and improve shell handling

* fix: update X/Twitter username from roo_code to roocode (RooCodeInc#8780)

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

* fix(zgsm): safely pass optional language metadata to avoid runtime errors

* test: update test expectations for shell handling and prompt enhancement

* fix: always show checkpoint restore options regardless of change detection (RooCodeInc#8758)

* feat: add token-budget based file reading with intelligent preview (RooCodeInc#8789)

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

* Remove a very verbose error for cloud agents (RooCodeInc#8795)

* fix: retry API requests on stream failures instead of aborting task (RooCodeInc#8794)

* feat: improve auto-approve button responsiveness (RooCodeInc#8798)

- Add responsive breakpoint at 300px for compact view
- Icon correctly reflects state (X when off, ✓ when on) at all screen sizes
- Show abbreviated labels on very narrow screens (< 300px)
- Add triggerLabelOffShort translation key to all locales

Fixes issues from PR RooCodeInc#8152:
- Icon always showing checkmark on narrow screens
- Breakpoint activating too early (was 400px)
- Incorrect Tailwind class ordering

* Add checkpoint initialization timeout settings and fix checkpoint timeout warnings (RooCodeInc#8019)

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

* feat: add dynamic model loading for Roo Code Cloud provider (RooCodeInc#8728)

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

* refactor(tools): move imageHelpers to tools directory and update imports

* Improve checkpoint menu translations for PR RooCodeInc#7841 (RooCodeInc#8796)

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

* Handle Roo provider pricing correctly (RooCodeInc#8802)

* fix: preserve trailing newlines in stripLineNumbers for apply_diff (RooCodeInc#8227)

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

* Fix checkpoints test (RooCodeInc#8803)

* Chore: Update magistral-medium-latest in mistral.ts (RooCodeInc#8364)

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

* fix: respect nested .gitignore files in search_files (RooCodeInc#8804)

* fix(export): exclude max tokens field for models that don't support it (RooCodeInc#8464)

* chore: add changeset for v3.29.0 (RooCodeInc#8806)

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

* Changeset version bump (RooCodeInc#8807)

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

---------

Co-authored-by: Hannes Rudolph <[email protected]>
Co-authored-by: Roo Code <[email protected]>
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: John Richmond <[email protected]>
Co-authored-by: Chris Estreich <[email protected]>
Co-authored-by: Matt Rubens <[email protected]>
Co-authored-by: Bruno Bergher <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: James Edward Dillard <[email protected]>
Co-authored-by: Daniel <[email protected]>
Co-authored-by: Jorge Piedrahita Ortiz <[email protected]>
Co-authored-by: daniel-lxs <[email protected]>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Bruno Bergher <[email protected]>
Co-authored-by: John Costa <[email protected]>
Co-authored-by: SannidhyaSah <[email protected]>
Co-authored-by: Mohammad Danaee nia <[email protected]>
Co-authored-by: MuriloFP <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Colby Serpa <[email protected]>
Co-authored-by: Peter Dave Hello <[email protected]>
Co-authored-by: Chris Hasson <[email protected]>
Co-authored-by: Christiaan Arnoldus <[email protected]>
Co-authored-by: laz-001 <[email protected]>
Co-authored-by: NaccOll <[email protected]>
Co-authored-by: Drake Thomsen <[email protected]>
Co-authored-by: Dicha Zelianivan Arkana <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request lgtm This PR has been approved by a maintainer PR - Needs Review size:XL This PR changes 500-999 lines, ignoring generated files.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants