Roo-Code/webview-ui
google-labs-jules[bot] f12302b526 Refactor: Optimize React component rendering and improve robustness
This commit introduces several changes aimed at improving UI rendering performance and overall robustness, potentially addressing "grey screen" or unresponsiveness issues.

1.  **Optimized Memoization for Chat Rows:**
    *   Replaced generic `deepEqual` with custom comparison functions for `React.memo` in `ChatRow.tsx` and `BrowserSessionRow.tsx`. These custom functions perform more targeted comparisons of props, focusing only on fields relevant to rendering, which should reduce the overhead of memoization and prevent unnecessary re-renders.
    *   The internal `ChatRowContentComponent` in `ChatRow.tsx` was also wrapped with `React.memo`.

2.  **Increased Robustness:**
    *   Added `try-catch` blocks around `JSON.parse` calls within `BrowserSessionRow.tsx` to prevent runtime errors from malformed JSON in message text.

3.  **Code Analysis Confirmations:**
    *   Analysis of `ChatView.tsx` indicated that its `useEffect` dependency arrays were already in a reasonably optimized state.
    *   Review of `ClineProvider.ts` confirmed that its `dispose` method is comprehensive and correctly wired to the `onDidDispose` event of webview panels, ensuring cleanup of tab-specific provider instances.
    *   Review of `ShadowCheckpointService.ts` confirmed that the `renameNestedGitRepos` method and its usage in `stageAll` include appropriate `try...catch` and `try...finally` blocks for robust handling of file system operations.

These changes collectively aim to make the UI more efficient and the extension more stable.
2025-05-21 03:59:21 +00:00
..
.storybook Additional @shadcn/ui components 2025-02-14 23:41:39 -08:00
audio feat: move play audio to webview to ensure cross-platform (#3659) 2025-05-20 01:15:05 -04:00
public Remove CRA cruft 2025-01-30 14:38:41 -08:00
src Refactor: Optimize React component rendering and improve robustness 2025-05-21 03:59:21 +00:00
.eslintrc.json fix: command validation failing on shell array indexing (#3530) 2025-05-12 21:31:54 -07:00
.gitignore PR cleanup 2025-03-12 11:23:06 -04:00
.npmrc Improved logic for auto-approving chained commands 2024-12-26 22:45:09 -08:00
components.json Remove lucide 2025-01-30 14:47:59 -08:00
index.html Fix linter warning + run prettier on everything (#3581) 2025-05-13 15:16:24 -07:00
jest.config.cjs Fix linter warning + run prettier on everything (#3581) 2025-05-13 15:16:24 -07:00
package-lock.json feat: move play audio to webview to ensure cross-platform (#3659) 2025-05-20 01:15:05 -04:00
package.json feat: move play audio to webview to ensure cross-platform (#3659) 2025-05-20 01:15:05 -04:00
tsconfig.json build: enable source maps for improved debugging (#3596) 2025-05-14 13:46:53 -04:00
vite.config.ts feat: move play audio to webview to ensure cross-platform (#3659) 2025-05-20 01:15:05 -04:00