Commit graph

1376 commits

Author SHA1 Message Date
google-labs-jules[bot]
917bf6a3e4 Fix: Improve webview rendering robustness and error handling
This change addresses potential grey/blank screen or crashing issues in the webview by:

1.  **Adding an ErrorBoundary:** I introduced an `ErrorBoundary` component at the root of `webview-ui/src/App.tsx`. This component catches JavaScript rendering errors in its children, displaying a user-friendly fallback UI instead of a blank or broken screen. It also logs the error to the console for easier debugging.

2.  **Implementing Loading/Timeout Logic:** I modified `webview-ui/src/App.tsx` to:
    *   Display a "Loading..." message while the initial extension state (`didHydrateState`) is being processed.
    *   Implement a 10-second timeout. If state hydration doesn't complete within this period, an error message is shown, guiding you to try reloading or checking for updates. This provides better feedback than a persistent blank screen.

3.  **Adding Unit Tests:**
    *   I created tests for the `ErrorBoundary` to ensure it correctly catches errors and renders the fallback UI or child components as expected.
    *   I created tests for the `App.tsx` loading and timeout logic to verify that loading indicators and error messages are displayed appropriately under different hydration scenarios.

These changes aim to make the webview more resilient to rendering errors and provide better feedback to you during initialization, improving the overall user experience and aiding in diagnosing future issues.
2025-05-21 04:11:02 +00:00
KJ7LNW
9317765fb1
Fix: Missing or inconsistent syntax highlighting across UI components (#3656)
* fix: Missing or inconsistent syntax highlighting across UI components

- Change file listings to use 'shellsession' for terminal-like highlighting
- Use 'markdown' for code definitions and instructions
- Add file extension-based language detection for new files
- Ensure consistent 'diff' highlighting for all diff content
- Use 'xml' language for error messages
- Make language property required in CodeAccordian
- Set default fallback to 'txt' instead of undefined

Fixes: #3655
Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

* chore: make language property required in CodeBlock

- Updated CodeBlockProps interface to make language property required
- Updated mock implementation to match the interface change
- Ensured CodeAccordian always provides a fallback language value

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

---------

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
Co-authored-by: Eric Wheeler <roo-code@z.ewheeler.org>
2025-05-20 22:29:57 -04:00
Canyon Robins
e86884c4d1
[Condense] Show indicator message when context is condensing (#3765)
* [Condense] Show indicator message when context is condensing

* changeset

* translations
2025-05-20 21:19:24 -04:00
Canyon Robins
7a4ce14901
[Condense] Change condense icon (#3768)
* [Condense] Change condense icon

* change to fold
2025-05-20 18:01:13 -07:00
Chris Estreich
f274a150c4
Get package publisher and name from package.json + command type safety (#3766) 2025-05-20 16:41:03 -07:00
Canyon Robins
c3716f1107
[Condense] Add a button to condense the task context (#3623)
* [Condense] Add a button to condense the task context

* wip

* wip

* wip

* bring back delete size

* account for the system prompt in the context

* update tests to use systemPrompt

* add type

* translations

* nit

* update tests

* filter to the current task

* nit

* refactor

* nit

* non interactive option

* simplify chat summary UI

* changeset

* nit

* fix check-types

* throw
2025-05-20 13:47:02 -07:00
Matt Rubens
7368fa9288
Moved repo to new org (#3756) 2025-05-20 16:42:18 -04:00
ChuKhaLi
42832629a9
feat: use template variables for version numbers in announcement strings (#3755) 2025-05-20 11:35:27 -07:00
Chris Hasson
25cd57e157
feat(settings): Add allowedMaxRequests feature inspired by Cline (#3631)
* feat(settings): Introduce the "auto-approve request count" feature from Cline

This is the first minor UI feature I've added, so please let me know if I'm missing anything! (translations, organization, etc!)

Please see commits for details

introduce allowedMaxRequests to globalSettingsSchema
update ExtensionState and its context with allowedMaxRequests
implement UI for setting max requests in AutoApproveMenu component
prompt user when auto-approval limit is reached with i18n support
increment consecutiveAutoApprovedRequestsCount and reset upon user approval
add translations for auto-approved request limit reached prompt in multiple languages
add new UI for "auto_approval_max_req_reached" in ChatRowContent
display prompt with title, description, and button for user action

🔧 chore(gitignore): add .idea to .gitignore to exclude IDE-specific files
- remove .idea/workspace.xml to clean up repository

* 🔧 chore(gitignore): add IDE configuration files to ignore list

- add .idea directory to ignore JetBrains IDE configurations

* 🌐 i18n(chat): add translation keys for api request limit

- introduce translation keys for "title" and "unlimited" in multiple languages
- update description for api request limit in various languages

* 🌐 i18n(chat): migrate auto-approved request limit translations

- move translations from common.json to chat.json across locales
- update component to use Trans for dynamic text rendering

* Update the UI for setting max requests

* Hide the auto-approve limit warning once clicked

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-05-20 11:30:27 -04:00
Noritaka Kobayashi
6a6df08fbd
refactor: import multiple times (#3745) 2025-05-20 09:19:44 -04:00
மனோஜ்குமார் பழனிச்சாமி
628661c5c5
feat: move play audio to webview to ensure cross-platform (#3659)
Co-authored-by: sam hoang <samhv.ict@gmail.com>
2025-05-20 01:15:05 -04:00
Matt Rubens
a0735bb414
Make prompt input textareas resizable (#3691) (#3739) 2025-05-20 01:08:57 -04:00
Canyon Robins
7df703f34f rm test :/ 2025-05-19 21:41:31 -07:00
Canyon Robins
a1a8654cdb non default export 2025-05-19 21:08:17 -07:00
Canyon Robins
671c3b7f14 use tailwind 2025-05-19 20:57:43 -07:00
Canyon Robins
1f301495b6 use Markdown for summary 2025-05-19 20:52:16 -07:00
Canyon Robins
bc94dba12d add tests for ContextCondenseRow 2025-05-19 20:17:41 -07:00
Canyon Robins
5318a2fbc5 add translations 2025-05-19 20:03:23 -07:00
Canyon Robins
fe883e32c7 use chat.json 2025-05-19 19:58:09 -07:00
Canyon Robins
7c3f799a7e fix 2025-05-19 19:21:19 -07:00
Canyon Robins
70535471c6 refactor 2025-05-19 19:20:12 -07:00
Canyon Robins
585023a667 add header 2025-05-19 18:50:40 -07:00
Canyon Robins
95bd6cb87f Add UI component 2025-05-19 18:20:04 -07:00
Canyon Robins
603d2eface [Condense Context] Track metrics around context condensing and show in UI 2025-05-19 17:36:17 -07:00
pugazhendhi-m
d851586042
Adds refresh models button for Unbound provider (#3663)
* Adds refresh models button for Unbound provider

* Adds changeset

* Optimizes code to prevent memory leak, add error messages

* Adds unbound messages to all supported languages

---------

Co-authored-by: Pugazhendhi <pugazhendhi@unboundsecurity.ai>
2025-05-17 18:09:39 -07:00
Chris Estreich
95da34d3da
Fix command display in the approval required case (#3636) 2025-05-15 12:31:25 -07:00
Daniel
8447670499
Fix incorrect reserved tokens calculation on OpenRouter (#3626)
fix: improve token reservation logic in calculateTokenDistribution
2025-05-15 07:22:07 -04:00
Matt Rubens
669b239c22
v3.17.0 (#3622) 2025-05-14 17:33:55 -04:00
Canyon Robins
7c1185ed33
[Condense] Condense messages with an LLM rather than truncating (#3582)
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-05-14 16:44:01 -04:00
KJ7LNW
afc82b851d
build: enable source maps for improved debugging (#3596)
Co-authored-by: Eric Wheeler <roo-code@z.ewheeler.org>
2025-05-14 13:46:53 -04:00
Hannes Rudolph
ead5d2a838
feat: add buildDocLink utility and 21 Internal Links to Docs (#3418)
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-05-14 13:15:05 -04:00
Chris Estreich
35fd4e68cd
Use a shadcn dialog for the announcement (#3604) 2025-05-14 09:00:55 -07:00
renovate[bot]
a4e2b66351
fix(deps): update dependency posthog-js to v1.242.1 (#3602)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-14 08:49:23 -07:00
Matt Rubens
751afaa6ac
Add a 'when to use' section to mode definitions (#3571)
* Add a 'when to use' section to mode definitions

* Remove defaults for now
2025-05-13 18:39:02 -04:00
Chris Estreich
cd07b7faeb
Fix linter warning + run prettier on everything (#3581) 2025-05-13 15:16:24 -07:00
renovate[bot]
9f83ed32c9
fix(deps): update tailwindcss monorepo to v4.1.6 (#3565)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-13 10:47:50 -07:00
renovate[bot]
7a8613c34e
fix(deps): update dependency posthog-js to v1.242.0 (#3562)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-13 09:47:51 -07:00
Chris Estreich
d3c469391f
Show LLM streaming file write content (#3241) 2025-05-13 09:47:33 -07:00
Chris Estreich
9a358ab0f5
Focus improvements (#3539) 2025-05-13 09:41:03 -07:00
Chris Estreich
0f9691ab27
Revert "Accidental execution of tool syntax fix" (#3560) 2025-05-13 09:36:23 -07:00
xyOz
07db3c8824
Accidental execution of tool syntax fix (#3456)
Co-authored-by: cte <cestreich@gmail.com>
2025-05-13 09:20:32 -07:00
renovate[bot]
26ea660af4
fix(deps): update dependency shiki to v3.4.0 (#3548)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-13 08:16:50 -07:00
renovate[bot]
236da113b2
fix(deps): update dependency posthog-js to v1.241.1 (#3544)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-13 08:16:38 -07:00
renovate[bot]
1007a9557b
fix(deps): update dependency react-markdown to v9.1.0 (#3545)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-13 08:16:31 -07:00
KJ7LNW
7f8362f2e1
fix: command validation failing on shell array indexing (#3530)
Co-authored-by: Eric Wheeler <roo-code@z.ewheeler.org>
2025-05-12 21:31:54 -07:00
renovate[bot]
78a685a092
fix(deps): update dependency react-i18next to v15.5.1 (#3535)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-12 21:28:11 -07:00
renovate[bot]
b8d96b0352
fix(deps): update dependency @tanstack/react-query to v5.76.0 (#3527)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-12 21:14:38 -07:00
renovate[bot]
284232bef2
fix(deps): update dependency posthog-js to v1.240.6 (#3531)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-12 21:14:12 -07:00
Daniel
9ffdc7879e
Use the provider-specific model info for the OpenRouter provider (#3430) 2025-05-12 18:23:32 -07:00
Chris Estreich
20fab97b4d
Gemini implicit caching (#3515) 2025-05-12 14:16:27 -07:00